diff --git a/.changeset/clever-sheep-taste.md b/.changeset/clever-sheep-taste.md deleted file mode 100644 index 6e845b0..0000000 --- a/.changeset/clever-sheep-taste.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@chttp/router": minor -"@chttp/unplugin": minor -"@chttp/stream": minor ---- - -feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream diff --git a/.changeset/ctx-res-view.md b/.changeset/ctx-res-view.md deleted file mode 100644 index 0d1a3bb..0000000 --- a/.changeset/ctx-res-view.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@chttp/router": minor ---- - -feat(ctx): typed `c.res` response view on both surfaces — `.status`, `.header(name)`, `.headers` (plus `statusCode`/`nodeRes()` escape hatches for the Node surface). `use()` middleware now also wraps the notFound chain, and `c.req.url` reports the absolute URL on `app.fetch` (Hono parity for hono/logger's outbound `-->` line). diff --git a/.changeset/early-roses-stand.md b/.changeset/early-roses-stand.md deleted file mode 100644 index 04a1562..0000000 --- a/.changeset/early-roses-stand.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@chttp/static": patch ---- - -Add an end-to-end ELF smoke (serve + SPA + embedded) so runtime-only fences on older scriptc versions can't slip through diff --git a/.changeset/header-missing-key-guard.md b/.changeset/header-missing-key-guard.md deleted file mode 100644 index 663b2bf..0000000 --- a/.changeset/header-missing-key-guard.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@chttp/router": patch ---- - -fix(req): `c.req.header(name)` no longer crashes on absent headers in single-graph (vendored/program-code) scriptc builds — `_headers`/`_headersDistinct` are probed with `hasOwnProperty` before indexing instead of a bare record read that throws "record has no key". diff --git a/.changeset/ledger.yaml b/.changeset/ledger.yaml index dd6485e..fd680a7 100644 --- a/.changeset/ledger.yaml +++ b/.changeset/ledger.yaml @@ -1,7 +1,21 @@ +"@chttp/auth@0.4.0": + dir: packages/auth + intents: + - move-auth-mcp-in "@chttp/html@0.2.0": dir: packages/html intents: - polite-rings-walk +"@chttp/html@0.4.0": + dir: packages/html + intents: + - pages-ssr-slice +"@chttp/mcp@0.4.0": + dir: packages/mcp + intents: + - move-auth-mcp-in + - soft-kings-repeat + - val-std-schema-compat "@chttp/router@0.2.0": dir: packages/router intents: @@ -18,10 +32,25 @@ - fix-elf-963-narrowing - fix-sc9001 - short-pigs-push +"@chttp/router@0.4.0": + dir: packages/router + intents: + - clever-sheep-taste + - ctx-res-view + - header-missing-key-guard + - lite-fetch-bridge + - silent-camels-smell + - soft-grapes-dig + - typed-client + - ws-handshake-hardening "@chttp/static@0.2.0": dir: packages/static intents: - quiet-assets-serve +"@chttp/static@0.4.0": + dir: packages/static + intents: + - early-roses-stand "@chttp/stream@0.2.0": dir: packages/stream intents: @@ -30,6 +59,10 @@ dir: packages/stream intents: - add-backpressure +"@chttp/stream@0.4.0": + dir: packages/stream + intents: + - clever-sheep-taste "@chttp/unplugin@0.2.0": dir: packages/unplugin intents: @@ -38,11 +71,20 @@ dir: packages/unplugin intents: - short-pigs-push +"@chttp/unplugin@0.4.0": + dir: packages/unplugin + intents: + - clever-sheep-taste + - silent-camels-smell "@chttp/val@0.2.0": dir: packages/val intents: - bright-carrots-rest - clever-moose-move +"@chttp/val@0.4.0": + dir: packages/val + intents: + - val-std-schema-compat "@chttp/ws@0.2.0": dir: packages/ws intents: @@ -52,3 +94,7 @@ intents: - add-backpressure - add-ffi-docs +"@chttp/ws@0.4.0": + dir: packages/ws + intents: + - ws-handshake-hardening diff --git a/.changeset/lite-fetch-bridge.md b/.changeset/lite-fetch-bridge.md deleted file mode 100644 index a471db2..0000000 --- a/.changeset/lite-fetch-bridge.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@chttp/router": minor ---- - -feat(router): lite Node fetch bridge (issue #89) — `app.fetchBridge()`/`app.serveFetch()` drive the fetch dispatch arm over `LiteRequest` (`WebReqView` over `IncomingMessage`) and `LiteResponse` (a `FetchResponseSink` writing straight to `ServerResponse`), skipping per-request undici `Request`/`Headers`/`Response` construction; `WebReqView.headers` narrows to the structural `WebHeadersView`. `c.req.raw` on the lite surface returns the `LiteRequest`; `lite.request()` materializes a real undici `Request` lazily for `fetch(c.req.raw)`-style consumers. Bench: `chttp-fetch-lite-node` runs at 86–101% of `chttp-node` vs the undici bridge's 50–56% (bench/RESULTS-v2.md). diff --git a/.changeset/move-auth-mcp-in.md b/.changeset/move-auth-mcp-in.md deleted file mode 100644 index 62120cf..0000000 --- a/.changeset/move-auth-mcp-in.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@chttp/auth": minor -"@chttp/mcp": minor ---- - -Move `@chttp/auth` and `@chttp/mcp` into the chttp monorepo from sigilco/cutils (where they shipped as 0.2.0). Both packages join the fixed versioning group and publish at chttp's shared version going forward. No source changes in the move — session/JWT/OAuth/CSRF/TOTP primitives and the JSON-RPC 2.0 MCP server land as-is, with gates wired into `scripts/scriptc-gate.sh` and docs pages added to the site nav. diff --git a/.changeset/pages-ssr-slice.md b/.changeset/pages-ssr-slice.md deleted file mode 100644 index 303a019..0000000 --- a/.changeset/pages-ssr-slice.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@chttp/html": minor ---- - -Add `page(head, body)` full-document shell and `IsrPage` revalidate cache: the pages/SSG/ISR slice of issue #14. SSG is render-once-at-startup; ISR re-renders lazily after the TTL (blocking semantics, no background refresh). See `examples/pages`. diff --git a/.changeset/silent-camels-smell.md b/.changeset/silent-camels-smell.md deleted file mode 100644 index 60e6a3b..0000000 --- a/.changeset/silent-camels-smell.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@chttp/router": patch -"@chttp/unplugin": patch ---- - -empty-body responses send no content-type (Hono parity); default text/plain charset is UTF-8 diff --git a/.changeset/soft-grapes-dig.md b/.changeset/soft-grapes-dig.md deleted file mode 100644 index a59473b..0000000 --- a/.changeset/soft-grapes-dig.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@chttp/router": minor ---- - -fetch(app.fetch) passthrough contract: capture the Web Request into c.req.raw, adopt handler-returned Response objects (incl. streams), and stop eager body buffering on undeclared routes diff --git a/.changeset/soft-kings-repeat.md b/.changeset/soft-kings-repeat.md deleted file mode 100644 index 188814e..0000000 --- a/.changeset/soft-kings-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@chttp/mcp": minor ---- - -Typed client on a new `./client` subpath (`@chttp/mcp/client`): `Client` plus `toolDef`/`resourceDef`/`promptDef` schema-first descriptors that register on the server via `server.toolDef`, three transports (`fetch`, `node:net`/`node:tls` HTTP/1.1+SSE for the ELF path, stdio), `callTool`/`call`/`listTools`/`readResource`/`getPrompt`, progress-notification handlers, and `JsonRpcError` passthrough. Ported from sigilco/cutils PR #19. diff --git a/.changeset/thick-frogs-invent.md b/.changeset/thick-frogs-invent.md deleted file mode 100644 index 7d598ef..0000000 --- a/.changeset/thick-frogs-invent.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"bench": none ---- - -bench: chttp-fetch-node/chttp-fetch-bun/chttp-elf-fetch/chttp-scriptc cells + RESULTS-v2 re-baseline diff --git a/.changeset/typed-client.md b/.changeset/typed-client.md deleted file mode 100644 index 88267e7..0000000 --- a/.changeset/typed-client.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@chttp/router": minor ---- - -Typed HTTP client at `@chttp/router/client`: `createClient(baseUrl)` + `get`/`post`/`put`/`patch`/`delete`/`request` over a minimal HTTP/1.1 transport on `node:net`/`node:tls` — no `fetch`, so the same source compiles into an app ELF. `ClientInput

` checks `params` keys against `ParamKey

` on Node.js (`.d.ts` surface only — compiled apps bind a `ClientCore` receiver and get the concrete signatures); response types are caller-declared per call. One request per connection (`Connection: close`), chunked responses decoded, no redirects/streaming in v1. diff --git a/.changeset/val-std-schema-compat.md b/.changeset/val-std-schema-compat.md deleted file mode 100644 index 7030f9f..0000000 --- a/.changeset/val-std-schema-compat.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@chttp/val": patch -"@chttp/mcp": patch ---- - -Fix Standard Schema v1 type compatibility for the mcp+val pairing (sigilco/cutils#27): `StdProps.version` is now the literal `1`, each concrete schema class merges a `StdTyped` interface so `InferInput`/`InferOutput` resolve real types in `tool()` handlers, and `toJsonSchema`/`toOpenApiSchema` accept the `{"~standard": unknown}` structural minimum instead of requiring `VSchema`. In `@chttp/mcp`, response/listing records are built from `{}` open records or single full literals so expanding writes survive scriptc lowering of the packed dist. `pnpm smoke:pack` now packs `@chttp/mcp`, type-checks the pairing under tsc, and runs tools/list + tools/call through `Server.handleRequest` on the built ELF. diff --git a/.changeset/ws-handshake-hardening.md b/.changeset/ws-handshake-hardening.md deleted file mode 100644 index 5bda8f8..0000000 --- a/.changeset/ws-handshake-hardening.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@chttp/ws": minor -"@chttp/router": patch ---- - -feat(ws): post-merge audit hardening for issue #13 — `allowOrigin` exact-match allowlist (403), `Sec-WebSocket-Key` base64/16-byte format check, peer close-reason UTF-8 validation (1007); `upgradeHandler()` catches a throwing dispatch and destroys the socket; `UpgradeFn` re-exported diff --git a/CHANGELOG.md b/CHANGELOG.md index bbea436..08dadc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,28 @@ ## Unreleased +## 0.4.0 + +### Features + +- **@chttp/auth, @chttp/mcp:** Move `@chttp/auth` and `@chttp/mcp` into the chttp monorepo from sigilco/cutils (where they shipped as 0.2.0). Both packages join the fixed versioning group and publish at chttp's shared version going forward. No source changes in the move — session/JWT/OAuth/CSRF/TOTP primitives and the JSON-RPC 2.0 MCP server land as-is, with gates wired into `scripts/scriptc-gate.sh` and docs pages added to the site nav. +- **@chttp/html:** Add `page(head, body)` full-document shell and `IsrPage` revalidate cache: the pages/SSG/ISR slice of issue #14. SSG is render-once-at-startup; ISR re-renders lazily after the TTL (blocking semantics, no background refresh). See `examples/pages`. +- **@chttp/mcp:** Typed client on a new `./client` subpath (`@chttp/mcp/client`): `Client` plus `toolDef`/`resourceDef`/`promptDef` schema-first descriptors that register on the server via `server.toolDef`, three transports (`fetch`, `node:net`/`node:tls` HTTP/1.1+SSE for the ELF path, stdio), `callTool`/`call`/`listTools`/`readResource`/`getPrompt`, progress-notification handlers, and `JsonRpcError` passthrough. Ported from sigilco/cutils PR #19. +- **@chttp/router, @chttp/stream, @chttp/unplugin:** feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream +- **@chttp/router:** feat(ctx): typed `c.res` response view on both surfaces — `.status`, `.header(name)`, `.headers` (plus `statusCode`/`nodeRes()` escape hatches for the Node surface). `use()` middleware now also wraps the notFound chain, and `c.req.url` reports the absolute URL on `app.fetch` (Hono parity for hono/logger's outbound `-->` line). +- **@chttp/router:** feat(router): lite Node fetch bridge (issue #89) — `app.fetchBridge()`/`app.serveFetch()` drive the fetch dispatch arm over `LiteRequest` (`WebReqView` over `IncomingMessage`) and `LiteResponse` (a `FetchResponseSink` writing straight to `ServerResponse`), skipping per-request undici `Request`/`Headers`/`Response` construction; `WebReqView.headers` narrows to the structural `WebHeadersView`. `c.req.raw` on the lite surface returns the `LiteRequest`; `lite.request()` materializes a real undici `Request` lazily for `fetch(c.req.raw)`-style consumers. Bench: `chttp-fetch-lite-node` runs at 86–101% of `chttp-node` vs the undici bridge's 50–56% (bench/RESULTS-v2.md). +- **@chttp/router:** fetch(app.fetch) passthrough contract: capture the Web Request into c.req.raw, adopt handler-returned Response objects (incl. streams), and stop eager body buffering on undeclared routes +- **@chttp/router:** Typed HTTP client at `@chttp/router/client`: `createClient(baseUrl)` + `get`/`post`/`put`/`patch`/`delete`/`request` over a minimal HTTP/1.1 transport on `node:net`/`node:tls` — no `fetch`, so the same source compiles into an app ELF. `ClientInput

` checks `params` keys against `ParamKey

` on Node.js (`.d.ts` surface only — compiled apps bind a `ClientCore` receiver and get the concrete signatures); response types are caller-declared per call. One request per connection (`Connection: close`), chunked responses decoded, no redirects/streaming in v1. +- **@chttp/ws:** feat(ws): post-merge audit hardening for issue #13 — `allowOrigin` exact-match allowlist (403), `Sec-WebSocket-Key` base64/16-byte format check, peer close-reason UTF-8 validation (1007); `upgradeHandler()` catches a throwing dispatch and destroys the socket; `UpgradeFn` re-exported + +### Fixes + +- **@chttp/mcp, @chttp/val:** Fix Standard Schema v1 type compatibility for the mcp+val pairing (sigilco/cutils#27): `StdProps.version` is now the literal `1`, each concrete schema class merges a `StdTyped` interface so `InferInput`/`InferOutput` resolve real types in `tool()` handlers, and `toJsonSchema`/`toOpenApiSchema` accept the `{"~standard": unknown}` structural minimum instead of requiring `VSchema`. In `@chttp/mcp`, response/listing records are built from `{}` open records or single full literals so expanding writes survive scriptc lowering of the packed dist. `pnpm smoke:pack` now packs `@chttp/mcp`, type-checks the pairing under tsc, and runs tools/list + tools/call through `Server.handleRequest` on the built ELF. +- **@chttp/router:** fix(req): `c.req.header(name)` no longer crashes on absent headers in single-graph (vendored/program-code) scriptc builds — `_headers`/`_headersDistinct` are probed with `hasOwnProperty` before indexing instead of a bare record read that throws "record has no key". +- **@chttp/router, @chttp/unplugin:** empty-body responses send no content-type (Hono parity); default text/plain charset is UTF-8 +- **@chttp/static:** Add an end-to-end ELF smoke (serve + SPA + embedded) so runtime-only fences on older scriptc versions can't slip through + + ## 0.3.0 The Web Standards release: `app.fetch(req, env?, ctx?) → Promise` is now the canonical entry, multipart/form-data uploads ship as a per-route opt-in, and the compiled ELF is healthy again under scriptc 0.3.x. @@ -22,7 +44,6 @@ Companion utility packages that work with chttp and the scriptc subset — `@cut - **@chttp/router:** Fix a runtime failure of the compiled ELF under scriptc 0.3.x (upstream: vercel-labs/scriptc#963). Two root causes, both removed from the router surface. First, generic classes lower to methodless instances: `Ctx

` and `ReqView

` compile to objects whose fields read but whose every method call throws (`c.json is not a function` on 0.3.1/0.3.2, `rv._setBody is not a function` on 0.3.3). Second, class-typed unions are unrepresentable: `ResponseSink | ServerResponse` and `IncomingMessage | NodeReqStub` cannot sit in constructor or parameter positions, and `typeof x.method === "function"` discrimination demotes method names into `prototypeMethodAccesses`, which removes the fallback entirely. The fix narrows the surface so the same source lowers to a working ELF: - `Ctx`/`ReqView` become non-generic `CtxCore`/`ReqViewCore` classes; `interface Ctx

extends CtxCore` plus `const Ctx = CtxCore` aliases keep `new Ctx(...)`, `Ctx` annotations and `Ctx<'/path'>` working under tsc with no source change for users. - The `Ctx` constructor, `_guard` and `_buffer` take a `ResponseSink` only; callers with a raw `ServerResponse` wrap it: `new Ctx(rv, new NodeResponseSink(res))`. `ROUTE_CONTRACT_VERSION` bumps 1→2 and the generated dispatch is regenerated to match. - `ReqViewCore` takes `IncomingMessage | null` plus optional stub arguments; the `app.fetch` arm passes `null` instead of a record union. `c.req.raw` is now `IncomingMessage | null` (`null` on the fetch path). - `ResponseSink` gains `nodeRes(): ServerResponse | null` for sink-flavor reads without casts. ELF-verified under scriptc 0.3.3: `chttp.ts` and `chttp-fast.ts` serve real 200s (`/json`, `/user/42`, `POST /echo`, `/files`, `/missing` 404, `GET /echo` 405), and a fetch-surface probe (`_dispatchPrim` + `FetchResponseSink` + `toResponse()`) serves 200s including `c.set`/`c.get`, append headers and middleware. - **@chttp/router:** Fix scriptc 0.3.x build fence (SC9001 "live dynFrom of unsupported type httpReq") in `ReqView.header()`. The prior implementation read `this.raw.headersDistinct` through a chained `as unknown as Record<...>` cast on a class-typed field; scriptc 0.3.x cannot lower the indexed field read on the `IncomingMessage` (httpReq) arm of the union and emits SC9001 as an internal compiler error. The fix materializes `raw.headers` and `raw.headersDistinct` into Record-typed locals (`_headers` and `_headersDistinct`) at construction; `header()` reads from these locals, both indexed field reads lower cleanly, and the cost is O(headers) once per request (same as the prior single-value lookups). The same materialization also gives the `app.fetch` Web Standards surface a single shared lookup shape (Web Headers are joined with `, ` per RFC 7230 before `copyHeaders`). **This is a known fence in the published v0.2.0 and v0.2.1 tarballs** (introduced by the 0.2.8→0.3.x scriptc pin bump in commit `273f209`). Consumers on those versions that try to `scriptc build` their app will hit SC9001 on the chttp router. The next release re-enables the `chttp-scriptc` and `chttp-fast-scriptc` bench cells under 0.3.x and unblocks any downstream `scriptc build` of an app that imports `@chttp/router`. No source change is required on the consumer side beyond bumping the @chttp/router version. Defense-in-depth: even if a future scriptc release fixes SC9001 directly, the materialization is the right shape (Record locals + O(headers) copy at construction) and stays. The fix is small (~80 LOC net in `packages/router/src/index.ts`) and backports cleanly onto the v0.2.x line if a backport release is needed. **Partial fix.** This entry fixes two of three known SC9001 sites (`index.ts` `ReqView.header()` `headers` and `headersDistinct` arms). A third site in the `ReqView` constructor's URL read remains open and is tracked in issue #62; it will land in v0.2.3. - ## 0.2.1 diff --git a/examples/integrations/csr-react/main.baked.ll b/examples/integrations/csr-react/main.baked.ll new file mode 100644 index 0000000..4868908 --- /dev/null +++ b/examples/integrations/csr-react/main.baked.ll @@ -0,0 +1,228465 @@ +; Generated by scriptc (LLVM backend) from /home/ubuntu/repos/chttp/examples/integrations/csr-react/src/main.baked.ts. Do not edit. + +%ScrStr = type { i64, i64, i64 } +%ScrLogArg = type { i32, i64 } +%ScrVt = type { i64, i64, ptr } +%ScrUnion = type { i64, i32, ptr, ptr, ptr, i64 } +%ScrClosure = type { i64, ptr, i64, ptr, i32, i32, ptr, ptr } +%ScrFfiTable = type { ptr, i64, i64, ptr, i8, ptr, ptr, i64, i64, i64, ptr, ptr } +%ScrRegex = type { i64, ptr, ptr, ptr, double, ptr, ptr, ptr } +%ScrArr = type { i64, i64, i64, i8, i8, i16, i32, ptr, ptr, ptr, ptr } +%ScrArrOps = type { ptr, ptr, ptr } +%ScrMapRc = type { i64, i8, i8, i8 } +%ScrError = type { i64, ptr, ptr, ptr, ptr, ptr, i8, i8, i8, i8, i8, ptr, ptr } +%ScrClassObj = type { i64, i64, i64, ptr, ptr, i64, i64, ptr, ptr } +%ScrEmitter = type { i64, ptr, ptr, ptr } +%ScrStream = type { i64, ptr, ptr, ptr, ptr } +%ScrCaught = type { i64, i32, double, i8, ptr, ptr, ptr, ptr } +%ScrBytes = type { i64, i64, i32, ptr, ptr, i8, i8, i8, i8, ptr } +%ScrBox = type { i64, i32, ptr, ptr, ptr, i64 } +%ScrJsonBuf = type { ptr, i64, i64, ptr, i64, i64 } +%ScrDynPath = type { ptr, ptr, i64 } +%ScrIslandModule = type { ptr, ptr, i64, i64, i32, ptr, i64, i64 } +%ScrIslandEdge = type { ptr, ptr, ptr, i32 } +%sc_rs_r0 = type { i64, ptr } ; record r0 { ; [key: string] } +%sc_rs_r1 = type { i64, ptr, ptr, double } ; record r1 { body; headers; status } +%sc_rs_r2 = type { i64, ptr, ptr } ; record r2 { close; enqueue } +%sc_rs_r3 = type { i64, ptr } ; record r3 { ; [key: string] } +%sc_rs_r4 = type { i64, { i32, i64 } } ; record r4 { append } +%sc_rs_r5 = type { i64, ptr, ptr, ptr, double, ptr } ; record r5 { children; hf; hm; kind; seg } +%sc_rs_r6 = type { i64, { i32, i64 }, { i32, i64 }, { i32, i64 }, ptr } ; record r6 { maxFieldBytes; maxFileBytes; maxFiles; storage } +%sc_rs_r7 = type { i64, { i32, i64 }, ptr } ; record r7 { body; multipart } +%sc_rs_r8 = type { i64, ptr, double } ; record r8 { host; port } +%sc_rs_r9 = type { i64, ptr, ptr, double } ; record r9 { idxs; names; splat } +%sc_rs_r10 = type { i64, ptr, ptr, ptr } ; record r10 { body; enc; etag } +%sc_rs_r11 = type { i64, ptr, ptr, ptr, i8, double, double, ptr } ; record r11 { body; encodings; etag; immutable; mtimeMs; size; type } +%sc_rs_r12 = type { i64, ptr } ; record r12 { ; [key: string] } +%sc_rs_r13 = type { i64, ptr, ptr, ptr } ; record r13 { b64; enc; etag } +%sc_rs_r14 = type { i64, ptr, ptr, ptr, i8, double, ptr, ptr } ; record r14 { b64; encs; etag; immutable; mtimeMs; path; type } +%sc_rs_r15 = type { i64, ptr, ptr, ptr, { i32, i64 } } ; record r15 { api; cacheControl; index; spa } +%sc_rs_r16 = type { i64, ptr, double } ; record r16 { node; pos } +%sc_rs_r17 = type { i64, ptr, double } ; record r17 { a; i } +%sc_rs_r18 = type { i64, ptr, ptr } ; record r18 { 0; 1 } +%sc_rs_r19 = type { i64, ptr } ; record r19 { forEach } +%sc_rs_r20 = type { i64, double } ; record r20 { port } +%sc_rs_r21 = type { i64, ptr } ; record r21 { message } +%sc_rs_r23 = type { i64, i8, ptr } ; record r23 { done; value } +%sc_rs_r25 = type { i64, ptr, { i32, i64 } } ; record r25 { a; i } +%sc_rs_r26 = type { i64, ptr } ; record r26 { ; [key: string] } +%sc_rs_r27 = type { i64, ptr } ; record r27 { headers } +%sc_rs_r28 = type { i64, ptr, double } ; record r28 { headers; status } +%sc_rs_r31 = type { i64, ptr, double } ; record r31 { node; pos } +%sc_rs_r32 = type { i64, ptr } ; record r32 { ; [key: string] } +%sc_rs_r33 = type { i64, ptr } ; record r33 { error } +%sc_o__x25_m0_GenDispatch = type { i64, double, ptr } ; class %m0.GenDispatch { ROUTE_CONTRACT_VERSION; %dynProperties } +%sc_o__x25_m0_GenFetch = type { i64, double, ptr } ; class %m0.GenFetch { ROUTE_CONTRACT_VERSION; %dynProperties } +%sc_o__x25_m1_UpgradeDispatch = type { i64, ptr } ; class %m1.UpgradeDispatch { %dynProperties } +%sc_o__x25_m2_ResponseSink = type { i64, ptr, ptr } ; class %m2.ResponseSink (vt at 1) { %dynProperties } +%sc_o__x25_m2_NodeResponseSink = type { i64, ptr, ptr, ptr, double, ptr } ; class %m2.NodeResponseSink (vt at 1) { %dynProperties; res; _status; _set } +%sc_o__x25_m2_FetchResponseSink = type { i64, ptr, ptr, double, ptr, ptr, ptr, ptr, i8, i8, ptr, i8, ptr, i8 } ; class %m2.FetchResponseSink (vt at 1) { %dynProperties; status; hdrKeys; hdrVals; hdrList; chunks; sent; headersSent; adopted; _streaming; _ctl; _endSeen } +%sc_o__x25_m3_LiteHeaders = type { i64, ptr, ptr } ; class %m3.LiteHeaders { _im; %dynProperties } +%sc_o__x25_m3_LiteRequest = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, double, ptr } ; class %m3.LiteRequest { method; url; headers; _im; _hs; _t; _chunks; _ended; %dynProperties } +%sc_o__x25_m3_LiteResponse = type { i64, ptr, ptr, double, ptr, ptr, ptr, ptr, i8, i8, ptr, i8, ptr, i8, ptr } ; class %m3.LiteResponse (vt at 1) { %dynProperties; status; hdrKeys; hdrVals; hdrList; chunks; sent; headersSent; adopted; _streaming; _ctl; _endSeen; _res } +%sc_o__x25_m4_UploadedFile = type { i64, ptr, ptr, ptr, double, ptr, ptr, ptr } ; class %m4.UploadedFile { field; filename; mimeType; size; path; bytes; %dynProperties } +%sc_o__x25_m4_MultipartFileSink = type { i64, ptr, ptr } ; class %m4.MultipartFileSink (vt at 1) { %dynProperties } +%sc_o__x25_m4_MultipartStorage = type { i64, ptr, ptr } ; class %m4.MultipartStorage (vt at 1) { %dynProperties } +%sc_o__x25_m4_MemoryFileSink = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, double } ; class %m4.MemoryFileSink (vt at 1) { %dynProperties; _field; _filename; _mime; _chunks; _size } +%sc_o__x25_m4_MemoryStorage = type { i64, ptr, ptr } ; class %m4.MemoryStorage (vt at 1) { %dynProperties } +%sc_o__x25_m4_DiskFileSink = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, double, double, i8 } ; class %m4.DiskFileSink (vt at 1) { %dynProperties; _field; _filename; _mime; _path; _fd; _size; _open } +%sc_o__x25_m4_DiskStorage = type { i64, ptr, ptr, ptr, double } ; class %m4.DiskStorage (vt at 1) { %dynProperties; dir; _n } +%sc_o__x25_m4_DispositionParams = type { i64, i8, ptr, ptr } ; class %m4.DispositionParams { formData; name; filename } +%sc_o__x25_m4_MultipartParser = type { i64, ptr, ptr, double, ptr, ptr, double, double, double, i8, i8, ptr, ptr, ptr, ptr, ptr, double, double, double, ptr, ptr, ptr } ; class %m4.MultipartParser { _delim; _cterm; _st; _pend; _storage; _maxFileB; _maxFiles; _maxFieldB; _skip; _isFile; _field; _filename; _mime; _sink; _fbytes; _fsize; _nfiles; err; files; fields; %dynProperties } +%sc_o__x25_m5_ReqViewCore = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, double, ptr, ptr, ptr, ptr } ; class %m5.ReqViewCore { _raw; _web; _headers; _headersDistinct; method; url; path; _qs; _qp; _pm; _pn; _pi; _sp; _body; _mpFiles; _mpFields; %dynProperties } +%sc_o__x25_m5_CtxResCore = type { i64, ptr, ptr } ; class %m5.CtxResCore { _sink; %dynProperties } +%sc_o__x25_m5_CtxCore = type { i64, ptr, ptr, ptr, double, i8, ptr, ptr, ptr } ; class %m5.CtxCore { req; sink; _resView; _status; sent; _vars; _nodeRes; %dynProperties } +%sc_o__x25_m5_MpCfg = type { i64, double, ptr, double, double, double, ptr } ; class %m5.MpCfg { on; storage; maxFB; maxNF; maxFldB; %dynProperties } +%sc_o__x25_m5_MethodNotAllowedError = type { i64, ptr, ptr, ptr, ptr, ptr, i8, i8, i8, i8, i8, ptr, ptr, double, ptr, ptr, ptr, ptr, ptr, i8, i8, ptr, ptr } ; class %m5.MethodNotAllowedError (vt at 1) { name; message; %code; %cause; %causeEnumerable; %messagePresent; %messageEnumerable; %namePresent; %nameEnumerable; %stackFrames; %stack; %systemErrno; %systemCall; %systemPath; %systemDest; %systemMessage; %systemCode; %nativePlain; %errnoOrder; allow; %dynProperties } +%sc_o__x25_m5_App = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } ; class %m5.App { _nodes; _mw; _fns; _mws; _nf; _nfmw; _oef; _chains; _nfchain; _pn; _pi; _sp; _bodyF; _mp; _gen; _genFetch; _up; %dynProperties } +%sc_o__x25_m6_AssetSource = type { i64, ptr, ptr } ; class %m6.AssetSource (vt at 1) { %dynProperties } +%sc_o__x25_m8_DiskAssets = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } ; class %m8.DiskAssets (vt at 1) { %dynProperties; root; rroot; _idx; _assets; _mtimes; _sizes } +%sc_o__x25_m9_EmbeddedAssets = type { i64, ptr, ptr, ptr, ptr } ; class %m9.EmbeddedAssets (vt at 1) { %dynProperties; _idx; _assets } +%sc_o__x25_m11_StaticServer = type { i64, ptr, i8, ptr, ptr, ptr, ptr } ; class %m11.StaticServer { src; spa; api; index; cc; %dynProperties } +%sc_o__x25_m14_BakedAssets = type { i64, ptr, ptr, ptr, ptr } ; class %m14.BakedAssets (vt at 1) { %dynProperties; _idx; _assets } +%sc_vtt__x25_m2_ResponseSink = type { %ScrVt, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } ; vtable: hierarchy rooted at %m2.ResponseSink [setStatus, setHeader, appendHeader, writeBody, bodyBytes, redirect, write, writeHead, endStream, adopt, isSent, isHeadersSent, destroy, statusOf, headerOf, headersMap, nodeRes] +%sc_vtt__x25_m4_MultipartFileSink = type { %ScrVt, ptr, ptr } ; vtable: hierarchy rooted at %m4.MultipartFileSink [write, file] +%sc_vtt__x25_m4_MultipartStorage = type { %ScrVt, ptr } ; vtable: hierarchy rooted at %m4.MultipartStorage [begin] +%sc_vtt__x25_Error = type { %ScrVt } ; vtable: hierarchy rooted at %Error +%sc_vtt__x25_m6_AssetSource = type { %ScrVt, ptr } ; vtable: hierarchy rooted at %m6.AssetSource [get] + +@scr_error_vts = external global [11 x %ScrVt] +declare void @scr_init() +declare void @scr_lib_init(i32, ptr) +declare void @scr_stack_guard_init() +declare void @scr_runtime_abi_v22() +declare double @scr_str_utf16_len(ptr) +declare double @scr_str_char_code_at(ptr, double) +declare void @scr_str_release(ptr) +declare ptr @llvm.stacksave.p0() +declare i1 @llvm.expect.i1(i1, i1) +declare void @scr_stack_overflow() +@scr_stack_guard = external global ptr +declare ptr @scr_bytes_new(i32, double) +@scr_exc_active = external global ptr +declare void @scr_bytes_release(ptr) +declare ptr @scr_arr_peek_ref(ptr, double) memory(read) +declare void @scr_throw_node_coded(double, ptr, ptr) +declare ptr @scr_bytes_retain_v(ptr) +declare void @scr_bytes_release_v(ptr) +declare void @scr_arr_release(ptr) +declare ptr @scr_buffer_from_bytes(ptr) +declare ptr @scr_bytes_as_buffer(ptr) +declare ptr @scr_bytes_to_str(ptr, ptr) +; uses @sc_str_char_code_at_int +declare ptr @scr_str_slice(ptr, double, double) +declare ptr @scr_str_to_lower(ptr) +declare double @scr_str_index_of(ptr, ptr, double) +declare ptr @scr_str_split_limit(ptr, ptr, double) +declare ptr @scr_str_char_at(ptr, double) +declare ptr @scr_arr_new_small(i32) +declare ptr @scr_str_concat_move(ptr, ptr) +declare double @scr_arr_push_ref(ptr, ptr) +declare zeroext i1 @scr_dyn_for_in_stable(ptr) +declare void @scr_dyn_release(ptr) +declare void @scr_cyc_on_release(ptr) +declare void @scr_dyn_release_survivor(ptr) +declare ptr @scr_arr_get_ref(ptr, double) +declare zeroext i1 @scr_dyn_has_own(ptr, ptr) +declare void @scr_dyn_check_fail(ptr, ptr, ptr) +declare ptr @scr_dyn_typed_ref_unbox(ptr) +declare zeroext i1 @scr_dyn_typed_ref_is(ptr, ptr, i64) +declare ptr @scr_dyn_typed_ref_materialize(ptr) +declare ptr @scr_dyn_typed_ref_cached_cast(ptr, ptr, i64) +declare void @scr_dyn_typed_ref_cache_cast(ptr, ptr, i64, ptr, ptr, ptr, i1) +declare void @scr_dyn_release_v(ptr) +declare ptr @scr_str_retain_v(ptr) +declare void @scr_str_release_v(ptr) +declare void @scr_map_set_str_ref(ptr, ptr, ptr) +declare zeroext i1 @scr_dyn_ref_is_array(ptr) +declare ptr @scr_arr_retain_v(ptr) +declare void @scr_arr_release_v(ptr) +declare void @scr_arr_outline(ptr) +declare void @scr_arr_swap_indexed_ext(ptr, ptr) +declare ptr @scr_arr_new(i32, i64) +declare zeroext i1 @scr_dyn_arr_has_index(ptr, i64) +declare void @scr_arr_set_len(ptr, double) +declare zeroext i1 @scr_union_get_bool(ptr) +declare void @scr_union_release(ptr) +declare ptr @scr_dyn_new_str(ptr) +declare ptr @scr_dyn_undefined() +declare ptr @scr_dyn_retain_v(ptr) +declare ptr @scr_error_new_options(i32, ptr, ptr) +declare void @scr_error_release(ptr) +declare ptr @scr_error_retain_v(ptr) +declare void @scr_error_release_v(ptr) +declare void @scr_throw_obj(ptr, ptr, ptr, ptr) +declare void @scr_error_trace(ptr, ptr, ptr) +declare ptr @scr_dyn_obj_get(ptr, ptr, i64) +declare ptr @scr_dyn_obj_read(ptr, ptr, i64) +declare void @scr_record_source_note(ptr, ptr, ptr, ptr, i64) +declare zeroext i1 @scr_dyn_is_callable(ptr) +declare ptr @scr_closure_retain_v(ptr) +declare void @scr_closure_release_v(ptr) +declare void @scr_closure_trace_v(ptr, ptr, ptr) +declare ptr @scr_box_get_ref(ptr) +declare ptr @scr_dyn_call(ptr, ptr, i64, ptr) +declare i32 @strcmp(ptr, ptr) +declare ptr @scr_closure_new(ptr, i64) +declare ptr @scr_box_new_obj(ptr, ptr, ptr) +declare void @scr_box_set_ref(ptr, ptr) +declare void @scr_dyn_trace_v(ptr, ptr, ptr) +declare i32 @scr_dyn_function_kind(ptr) +declare void @scr_dyn_adopt_identity(ptr, ptr) +declare ptr @scr_dyn_new_bytes(ptr) +declare ptr @scr_http_res_retain_v(ptr) +declare void @scr_http_res_release_v(ptr) +declare ptr @scr_dyn_handle_unbox(ptr, i32, ptr, ptr) +declare void @scr_http_res_release(ptr) +declare ptr @scr_dyn_new_obj() +declare ptr @scr_dyn_copy_property_descriptors(ptr, ptr) +declare ptr @scr_str_new(ptr, i64) +declare void @scr_dyn_key_delete(ptr, ptr, i1 zeroext) +declare ptr @scr_dyn_set_prototype(ptr, ptr) +declare void @scr_dyn_obj_set(ptr, ptr, i64, ptr) +declare ptr @scr_dyn_new_num(double) +declare ptr @scr_dyn_new_arr() +declare void @scr_dyn_arr_push(ptr, ptr) +declare double @scr_arr_len(ptr) +declare double @scr_arr_state(ptr, double) +declare void @scr_dyn_arr_push_hole(ptr) +declare void @scr_arr_copy_metadata(ptr, ptr) +declare void @scr_arr_set_ref(ptr, double, ptr) +declare ptr @scr_dyn_new_typed_ref_observed(ptr, ptr, ptr, ptr, i64, ptr, ptr) +declare void @scr_dyn_typed_ref_bind_array(ptr, ptr) +declare ptr @scr_dyn_new_bool(i1 zeroext) +declare ptr @scr_dyn_new_typed_ref_traced(ptr, ptr, ptr, ptr, i64, ptr, ptr) +declare void @scr_dyn_typed_ref_bind_record(ptr, ptr) +declare ptr @scr_dyn_new_null() +declare void @scr_trap(ptr) +declare zeroext i1 @scr_dyn_bytes_is(ptr, i32) +declare ptr @scr_dyn_bytes_unbox(ptr) +declare ptr @scr_dyn_new_func(ptr, ptr, i32, ptr, ptr) +declare ptr @scr_dyn_new_handle(ptr, i32) +declare i32 @memcmp(ptr, ptr, i64) +declare ptr @scr_dyn_new_obj_null_proto() +declare ptr @scr_map_keys_js_order(ptr) +declare ptr @scr_map_get_str_ref(ptr, ptr) +declare ptr @scr_dyn_mark_snapshot(ptr) +declare void @scr_dyn_this_push_dyn(ptr) +declare void @scr_dyn_this_pop() +declare ptr @scr_union_new_ref(i32, ptr, ptr, ptr, ptr) +declare ptr @scr_union_retain_v(ptr) +declare void @scr_union_release_v(ptr) +declare ptr @scr_http_req_retain_v(ptr) +declare void @scr_http_req_release_v(ptr) +declare void @scr_http_res_on_finish(ptr, ptr) +declare ptr @scr_f64_to_scrstr(double) +declare void @scr_box_release(ptr) +declare void @scr_http_req_release(ptr) +declare double @scr_arr_push_f64(ptr, double) +declare void @scr_arr_trace_v(ptr, ptr, ptr) +declare ptr @scr_arr_new_ops(ptr, i64) +@sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile = internal constant %ScrArrOps { ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_trace__x25_m4_UploadedFile } +declare double @scr_arr_get_f64(ptr, double) +declare void @scr_arr_set_f64(ptr, double, double) +declare void @scr_dyn_typed_ref_bind_class(ptr, ptr) +declare ptr @scr_box_new(i32) +declare void @scr_net_data_thunk_bytes(ptr, ptr) +declare void @scr_http_req_on_data(ptr, ptr, ptr, i1 zeroext) +declare void @scr_union_trace_v(ptr, ptr, ptr) +declare void @scr_http_req_on_end(ptr, ptr, i1 zeroext) +declare ptr @scr_bytes_from_str(ptr, ptr) +declare ptr @scr_str_concat(ptr, ptr) +declare ptr @scr_union_new_f64(i32, double) +declare double @scr_arr_get_number(ptr, double) +declare zeroext i1 @scr_str_eq(ptr, ptr) +declare void @scr_arr_set_undefined(ptr, double) +declare double @llvm.ceil.f64(double) +declare ptr @scr_arr_new_ops_small(ptr) +@sc_arrops.sc_rretain_r16.sc_rrelease_r16.null = internal constant %ScrArrOps { ptr @sc_rretain_r16, ptr @sc_rrelease_r16, ptr null } +declare zeroext i1 @scr_map_get_str_f64(ptr, ptr, ptr) +declare void @scr_map_set_str_f64(ptr, ptr, double) +declare ptr @scr_http_req_url(ptr) +declare ptr @scr_arr_join(ptr, ptr) +declare ptr @scr_dyn_from_error(ptr) +declare ptr @scr_exc_take() +declare void @scr_caught_release(ptr) +declare ptr @scr_str_decode_uri_component(ptr) +declare void @scr_throw_error_msg_code(i32, ptr, i64, ptr) +@sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v = internal constant %ScrArrOps { ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v } +declare void @scr_closure_release(ptr) +@sc_arrops.sc_rretain_r17.sc_rrelease_r17.null = internal constant %ScrArrOps { ptr @sc_rretain_r17, ptr @sc_rrelease_r17, ptr null } +@sc_arrops.sc_rretain_r5.sc_rrelease_r5.null = internal constant %ScrArrOps { ptr @sc_rretain_r5, ptr @sc_rrelease_r5, ptr null } +@sc_arrops.scr_arr_retain_v.scr_arr_release_v.scr_arr_trace_v = internal constant %ScrArrOps { ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @scr_arr_trace_v } +@sc_arrops.sc_retain__x25_m5_MpCfg.sc_release__x25_m5_MpCfg.sc_trace__x25_m5_MpCfg = internal constant %ScrArrOps { ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_trace__x25_m5_MpCfg } +declare ptr @scr_promise_retain_v(ptr) +declare void @scr_promise_release_v(ptr) +declare void @scr_promise_trace_v(ptr, ptr, ptr) +declare ptr @scr_promise_retain(ptr) +declare ptr @scr_promise_new() +declare void @scr_promise_race_add(ptr, ptr, ptr) +declare void @scr_promise_share_identity(ptr, ptr) +declare ptr @scr_promise_payload_ref(ptr) +declare void @scr_promise_reject_pending(ptr) +declare void @scr_promise_fulfill_bool(ptr, i1 zeroext) +declare void @scr_net_sock_release(ptr) +declare ptr @scr_dyn_new_promise_adapting(ptr, ptr) +declare void @scr_promise_fulfill_ref(ptr, ptr, ptr, ptr, ptr) +declare zeroext i1 @scr_promise_payload_bool(ptr) +declare void @scr_promise_release(ptr) +declare ptr @scr_net_sock_retain_v(ptr) +declare void @scr_net_sock_release_v(ptr) +declare double @scr_union_get_f64(ptr) +declare ptr @scr_str_concat_parts(ptr, i64) +declare zeroext i1 @scr_dyn_strict_eq(ptr, ptr) +declare ptr @scr_await_dyn_value(ptr) +declare ptr @scr_make_resolve(ptr, i32) +declare void @scr_promise_run_executor(ptr, ptr, ptr) +declare double @scr_str_last_index_of(ptr, ptr) +declare ptr @scr_str_concat_f64(ptr, double) +declare double @scr_date_new_ms(double) +declare double @scr_date_get_day_utc(double) +declare double @scr_date_get_month_utc(double) +declare double @scr_date_get_date_utc(double) +declare double @scr_date_get_full_year_utc(double) +declare double @scr_date_get_hours_utc(double) +declare double @scr_date_get_minutes_utc(double) +declare double @scr_date_get_seconds_utc(double) +declare ptr @scr_str_concat_mixed(ptr, ptr, ptr, i64) +declare ptr @scr_str_trim(ptr) +declare zeroext i1 @scr_str_starts_with(ptr, ptr) +declare void @scr_http_res_status_set(ptr, double) +declare void @scr_http_res_set_header(ptr, ptr, ptr) +declare void @scr_http_res_end_str(ptr, ptr) +declare void @scr_http_res_end_bytes(ptr, ptr) +declare void @scr_http_res_end(ptr) +declare void @scr_http_res_write_str(ptr, ptr) +declare void @scr_http_res_write_head_pairs(ptr, double, ptr) +declare void @scr_http_res_flush_headers(ptr) +declare zeroext i1 @scr_http_res_headers_sent(ptr) +declare void @scr_http_res_destroy(ptr) +declare ptr @scr_dyn_string_coerce_js(ptr) +@sc_arrops.sc_rretain_r18.sc_rrelease_r18.null = internal constant %ScrArrOps { ptr @sc_rretain_r18, ptr @sc_rrelease_r18, ptr null } +declare void @scr_dyn_key_set(ptr, ptr, ptr) +declare void @scr_dyn_key_set_computed(ptr, ptr, ptr) +declare ptr @scr_fetch_stream_new(ptr) +declare ptr @scr_fetch_response_new(ptr, ptr) +declare ptr @scr_dyn_obj_key_strs(ptr) +declare ptr @scr_http_req_method(ptr) +declare void @scr_child_err_thunk0(ptr, ptr) +declare void @scr_http_req_on_error(ptr, ptr, ptr, i1 zeroext) +declare ptr @scr_make_reject(ptr) +declare void @scr_promise_run_executor2(ptr, ptr, ptr, ptr) +declare ptr @scr_make_resolve_fn(ptr, ptr) +declare void @scr_resolve_ref_impl(ptr, ptr, ptr, ptr, ptr) +declare ptr @scr_fetch_headers_new(ptr) +declare ptr @scr_fetch_request_new(ptr, ptr) +declare void @scr_http_res_write_head(ptr, double) +declare ptr @scr_json_parse(ptr) +declare ptr @scr_json_stringify_replacer(ptr, ptr, ptr) +declare void @scr_jb_init(ptr) +declare ptr @scr_jb_finish(ptr) +declare void @scr_jb_putc(ptr, i8) +declare void @scr_jb_puts(ptr, ptr) +declare void @scr_dyn_proxy_unsupported(ptr) +declare ptr @scr_dyn_typed_ref_string_view(ptr) +declare void @scr_jb_write_utf8(ptr, ptr, i64) +declare ptr @scr_bigint_to_string(ptr, double) +declare void @scr_jb_put_str(ptr, ptr) +declare ptr @scr_dyn_string_coerce(ptr) +declare void @scr_jb_put_number(ptr, double) +declare ptr @scr_bytes_join(ptr, ptr) +declare ptr @scr_dyn_to_string(ptr, ptr) +declare void @scr_error_init_options(ptr, i32, ptr, ptr) +declare ptr @scr_union_new_bool(i32, i1 zeroext) +declare ptr @scr_str_to_upper(ptr) +declare void @scr_http_handler_thunk2(ptr, ptr, ptr) +declare ptr @scr_http_create_server(ptr, ptr) +declare ptr @scr_net_server_retain_v(ptr) +declare void @scr_net_server_release_v(ptr) +declare void @scr_net_listen(ptr, double, ptr) +declare void @scr_net_server_release(ptr) +declare void @scr_net_listen_opts(ptr, double, ptr, i1 zeroext, ptr) +declare ptr @scr_url_new(ptr) +declare void @scr_url_release(ptr) +declare ptr @scr_url_retain_v(ptr) +declare void @scr_url_release_v(ptr) +declare ptr @scr_url_pathname(ptr) +declare ptr @scr_url_search(ptr) +declare void @scr_dyn_this_push_typed(ptr, ptr) +declare void @scr_await_hop() +declare void @scr_await_void(ptr) +declare ptr @scr_await_str(ptr) +@sc_arrops.sc_rretain_r11.sc_rrelease_r11.null = internal constant %ScrArrOps { ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr null } +declare ptr @scr_buffer_from_str(ptr, ptr) +@sc_arrops.sc_rretain_r10.sc_rrelease_r10.null = internal constant %ScrArrOps { ptr @sc_rretain_r10, ptr @sc_rrelease_r10, ptr null } +declare double @scr_arr_push_many(ptr, i64, ptr) +@sc_arrops.sc_rretain_r13.sc_rrelease_r13.null = internal constant %ScrArrOps { ptr @sc_rretain_r13, ptr @sc_rrelease_r13, ptr null } +@sc_arrops.sc_rretain_r14.sc_rrelease_r14.null = internal constant %ScrArrOps { ptr @sc_rretain_r14, ptr @sc_rrelease_r14, ptr null } +declare ptr @scr_dyn_new_promise(ptr) +declare zeroext i1 @scr_dyn_typed_ref_is_key(ptr, ptr) memory(read) +declare ptr @scr_dyn_this_get() +declare ptr @scr_dyn_obj_create(ptr) +declare void @scr_closure_adopt_identity(ptr, ptr, i32) +declare ptr @scr_record_source_apply(ptr, ptr) +declare ptr @scr_error_new(i32, ptr) +declare void @scr_throw_str(ptr) +declare void @scr_net_sock_destroy(ptr) +declare zeroext i1 @scr_map_has_str(ptr, ptr) +declare ptr @scr_promise_payload_str(ptr) +declare void @scr_http_res_write_bytes(ptr, ptr) +declare void @scr_throw_error_named(ptr, ptr) +declare ptr @scr_await_ref(ptr) +declare ptr @scr_fetch_reader_read(ptr) +declare ptr @scr_bytes_from_dyn(i32, ptr, i1 zeroext) +declare zeroext i1 @scr_await_bool(ptr) +declare void @scr_promise_fulfill_void(ptr) +declare ptr @scr_dyn_prepare_method(ptr, ptr) +declare ptr @scr_dyn_invoke_prepared(ptr, ptr, ptr, ptr, i64, ptr) +declare zeroext i1 @scr_http_res_writable_ended(ptr) +declare void @scr_dyn_from_enter(ptr) +declare void @scr_dyn_from_leave() +declare void @scr_promise_fulfill_str(ptr, ptr) +declare ptr @scr_http_req_header_pairs(ptr) +declare void @scr_bytes_set_from_dyn(ptr, ptr, double) +declare ptr @scr_array_buffer_from_bytes(ptr) +declare void @scr_child_err_thunk_error(ptr, ptr) +declare ptr @scr_http_req_header_values(ptr, ptr) +declare zeroext i1 @scr_dyn_has_key(ptr, ptr) +declare void @scr_http_req_destroy(ptr) +declare zeroext i1 @scr_caught_instanceof(ptr, i64, i64) +declare zeroext i1 @scr_error_is(ptr) +declare ptr @scr_dyn_bag_get(ptr, ptr, ptr) +declare void @scr_throw_error(i32, ptr) +declare ptr @scr_dyn_symbol_get(ptr, ptr) +declare ptr @scr_dyn_typed_ref_key_get(ptr, ptr) +declare ptr @scr_dyn_proxy_get(ptr, ptr) +declare ptr @scr_dyn_handle_key_get(ptr, ptr) +declare ptr @scr_dyn_bytes_key_get(ptr, ptr) +declare ptr @scr_dyn_fn_get(ptr, ptr, i64) +declare ptr @scr_dyn_arr_named_get(ptr, ptr) +declare ptr @scr_dyn_obj_read_ic(ptr, ptr, ptr) +declare ptr @scr_dyn_for_in_key_strs(ptr) +declare ptr @scr_dyn_define_property(ptr, ptr, ptr) +declare void @scr_dyn_bag_set(ptr, ptr, ptr, ptr) +declare ptr @scr_arr_borrow_ref(ptr, double) +declare ptr @scr_errdyn_err_of(ptr) +declare ptr @scr_error_from_dyn(ptr) +declare ptr @scr_error_to_string(ptr) +declare void @scr_error_install_name_reader(ptr) +declare void @scr_error_install_message_reader(ptr) +declare void @scr_error_commit_dyn(ptr, ptr) +declare ptr @scr_error_dyn_fields(ptr) +declare void @scr_error_register_dyn(ptr, ptr) +declare void @scr_map_release(ptr) +@scr_sa = external global { i64, i64, i32, [40 x ptr], [40 x ptr], [40 x ptr] } +declare void @scr_rt_free(ptr) +@scr_weak_dispose_hook = external global ptr +declare void @scr_rc_destroy(ptr, ptr) +declare void @llvm.memset.p0.i64(ptr, i8, i64, i1) +declare ptr @scr_rt_calloc(i64) +declare ptr @scr_map_new(i32, i32, ptr) +@scr_cyc_live = external global i64 +@scr_cyc_old_freed = external global i64 +declare void @scr_cyc_on_dead(ptr) +declare ptr @scr_cyc_alloc(i64, ptr) +declare ptr @llvm.launder.invariant.group.p0(ptr) +declare ptr @scr_fiber_promise(ptr) +declare ptr @scr_async_spawn(ptr, ptr) +declare void @scr_promise_resolve_dyn(ptr, ptr) +declare void @scr_net_install() +declare void @scr_net_dyn_install() +declare void @scr_http_dyn_install() +declare void @scr_fetch_install() +declare i32 @scr_exit_code_hint_get() +declare void @scr_classobj_release_v(ptr) +declare zeroext i1 @scr_exit_frees() +declare zeroext i1 @scr_exc_pending() +declare zeroext i1 @scr_loop_run(ptr) +declare zeroext i1 @scr_report_unhandled_rejections() +declare void @scr_discard_unhandled_rejections() + +@sc_dyn_read_ic_0 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_1 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_2 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_3 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_4 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_5 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_6 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_7 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_8 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_9 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_10 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_11 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_12 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_13 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_14 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_15 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_16 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_17 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_18 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_19 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_20 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_21 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_22 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_23 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_24 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_25 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_26 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_27 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_28 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_29 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_30 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_31 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_32 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_33 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_34 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_35 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_36 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_37 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_38 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_39 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_40 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_41 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_42 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_43 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_44 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_45 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_46 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_47 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_48 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_49 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_50 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_51 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_52 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_53 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_54 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_55 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_56 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_57 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_58 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_59 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_60 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_61 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_62 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_63 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_64 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_65 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_66 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_67 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_68 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_69 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_70 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_71 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_72 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_73 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_74 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_75 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_76 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_77 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_78 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_79 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_80 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_dyn_read_ic_81 = internal global { ptr, i64, i64, ptr } zeroinitializer +@sc_lit_4005573543169985 = internal global { i64, i64, i64, [1 x i8] } { i64 -1, i64 0, i64 -7404650515260243968, [1 x i8] c"\00" } +@sc_lit_4107821909168032 = internal global { i64, i64, i64, [55 x i8] } { i64 -1, i64 54, i64 -3694998819738484682, [55 x i8] c"Cannot read properties of undefined (reading 'length')\00" } +@sc_lit_2020303780781407 = internal global { i64, i64, i64, [104 x i8] } { i64 -1, i64 103, i64 -1949212987508129689, [104 x i8] c"undefined is not representable in the target union (a value narrowed or asserted past it still held it)\00" } +@sc_lit_2605532998565466 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -3660853000806596604, [5 x i8] c"utf8\00" } +@sc_lit_1841737023330611 = internal global { i64, i64, i64, [20 x i8] } { i64 -1, i64 19, i64 -7893483575264149485, [20 x i8] c"multipart/form-data\00" } +@sc_lit_1156138064653313 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -3893401930579312639, [2 x i8] c";\00" } +@sc_lit_4134463689533233 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -1641439114295246839, [10 x i8] c"undefined\00" } +@sc_lit_985787530504786 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 1742002805708685313, [2 x i8] c"=\00" } +@sc_lit_2587508618302557 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 8442843848433991688, [9 x i8] c"boundary\00" } +@sc_lit_2431234921623602 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -2079933521207492607, [2 x i8] c"\22\00" } +@sc_lit_3440635113177870 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 2847162581766897673, [10 x i8] c"form-data\00" } +@sc_lit_2298207874780604 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4159225165995048956, [5 x i8] c"name\00" } +@sc_lit_4388468866828680 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -1447303461484888056, [9 x i8] c"filename\00" } +@sc_lit_1429160018462538 = internal global { i64, i64, i64, [85 x i8] } { i64 -1, i64 84, i64 -149219060922449836, [85 x i8] c"chttp: body and multipart are mutually exclusive \E2\80\94 multipart owns the request body\00" } +@sc_lit_2725580638052193 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 5457393737179070468, [5 x i8] c"POST\00" } +@sc_lit_2541794298493390 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2964098237541122045, [4 x i8] c"PUT\00" } +@sc_lit_2494668324074259 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4695132669585915909, [6 x i8] c"PATCH\00" } +@sc_lit_1791854776991212 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -59260891450834938, [7 x i8] c"DELETE\00" } +@sc_lit_127274431826284 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -4059416620026560506, [7 x i8] c"status\00" } +@sc_lit_616655122974952 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4178549482285170692, [5 x i8] c"body\00" } +@sc_lit_977412068193087 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 2617251895785291783, [8 x i8] c"headers\00" } +@sc_lit_3739322700708094 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 717552590493057031, [8 x i8] c"enqueue\00" } +@sc_lit_863112869792180 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 3573632411277197317, [6 x i8] c"close\00" } +@sc_lit_3158732916179886 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -3329590295049273334, [11 x i8] c"connection\00" } +@sc_lit_2329537264393449 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 3204576780748849164, [13 x i8] c"content-type\00" } +@sc_lit_266676967674785 = internal global { i64, i64, i64, [26 x i8] } { i64 -1, i64 25, i64 4190957724407693337, [26 x i8] c"text/plain; charset=UTF-8\00" } +@sc_lit_1821151629374802 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 -5437581568438697970, [15 x i8] c"content-length\00" } +@sc_lit_4006719217465510 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 -735375811418259445, [12 x i8] c"constructor\00" } +@sc_lit_2855033600191636 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 3294304797955457036, [13 x i8] c"UploadedFile\00" } +@sc_lit_3781840126626301 = internal global { i64, i64, i64, [29 x i8] } { i64 -1, i64 28, i64 -5585948602338901988, [29 x i8] c"Expected multipart/form-data\00" } +@sc_lit_4115635896617439 = internal global { i64, i64, i64, [56 x i8] } { i64 -1, i64 55, i64 -7192256389538906057, [56 x i8] c"Cannot read properties of undefined (reading 'storage')\00" } +@sc_lit_4404486281179211 = internal global { i64, i64, i64, [54 x i8] } { i64 -1, i64 53, i64 -7612524625989205963, [54 x i8] c"Cannot read properties of undefined (reading 'maxFB')\00" } +@sc_lit_2221506895226493 = internal global { i64, i64, i64, [54 x i8] } { i64 -1, i64 53, i64 -8620781762231926731, [54 x i8] c"Cannot read properties of undefined (reading 'maxNF')\00" } +@sc_lit_4219913910401315 = internal global { i64, i64, i64, [56 x i8] } { i64 -1, i64 55, i64 7108637130087202871, [56 x i8] c"Cannot read properties of undefined (reading 'maxFldB')\00" } +@sc_lit_4062729090063393 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 2202875461111906309, [6 x i8] c"begin\00" } +@sc_lit_2124241381879535 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 8886550000591437835, [12 x i8] c"DiskStorage\00" } +@sc_lit_298897322184109 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4528900122217545733, [6 x i8] c"write\00" } +@sc_lit_952059176356082 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 3678520297239085059, [4 x i8] c"end\00" } +@sc_lit_1026109439396001 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 6510957611548934149, [6 x i8] c"abort\00" } +@sc_lit_1048673592241930 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 5014509783495999492, [5 x i8] c"file\00" } +@sc_lit_1045032922576089 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 52577922338258956, [13 x i8] c"DiskFileSink\00" } +@sc_lit_2434240011052594 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 6296885218766749697, [2 x i8] c"/\00" } +@sc_lit_1079256549531276 = internal global { i64, i64, i64, [36 x i8] } { i64 -1, i64 35, i64 -7823891185079943133, [36 x i8] c"chttp: route path must start with /\00" } +@sc_lit_1834571860458263 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -2660512404118437887, [2 x i8] c"*\00" } +@sc_lit_109329900898828 = internal global { i64, i64, i64, [48 x i8] } { i64 -1, i64 47, i64 4498651071278743599, [48 x i8] c"chttp: * wildcard must be the last path segment\00" } +@sc_lit_4075616746236128 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -8100878621045948415, [2 x i8] c":\00" } +@sc_lit_3545740730868640 = internal global { i64, i64, i64, [29 x i8] } { i64 -1, i64 28, i64 7778726576010559516, [29 x i8] c"chttp: empty :param name in \00" } +@sc_lit_3084778991795209 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 8147135861205499956, [53 x i8] c"Cannot read properties of undefined (reading 'kind')\00" } +@sc_lit_180082455986257 = internal global { i64, i64, i64, [52 x i8] } { i64 -1, i64 51, i64 8823669759527616563, [52 x i8] c"Cannot read properties of undefined (reading 'seg')\00" } +@sc_lit_2399462614592355 = internal global { i64, i64, i64, [57 x i8] } { i64 -1, i64 56, i64 7824491329450147896, [57 x i8] c"Cannot read properties of undefined (reading 'children')\00" } +@sc_lit_2156830633837320 = internal global { i64, i64, i64, [51 x i8] } { i64 -1, i64 50, i64 6652432472774541362, [51 x i8] c"Cannot read properties of undefined (reading 'hf')\00" } +@sc_lit_1390182173853979 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 -6834477805531561932, [53 x i8] c"Cannot read properties of undefined (reading 'node')\00" } +@sc_lit_1639075665038257 = internal global { i64, i64, i64, [52 x i8] } { i64 -1, i64 51, i64 -8463407791069986765, [52 x i8] c"Cannot read properties of undefined (reading 'pos')\00" } +@sc_lit_4226955055047009 = internal global { i64, i64, i64, [51 x i8] } { i64 -1, i64 50, i64 -7667072136577548238, [51 x i8] c"Cannot read properties of undefined (reading 'hm')\00" } +@sc_lit_3185835515143599 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4305643079311818756, [5 x i8] c"HEAD\00" } +@sc_lit_367446482893939 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 5815915286104113155, [4 x i8] c"GET\00" } +@sc_lit_1778054279894 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -5959337283638263799, [10 x i8] c"Not Found\00" } +@sc_lit_1613346130462307 = internal global { i64, i64, i64, [39 x i8] } { i64 -1, i64 38, i64 6753914514095210534, [39 x i8] c"GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS\00" } +@sc_lit_2437473434951379 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -7739841015854399487, [2 x i8] c"?\00" } +@sc_lit_3662817572149066 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 912161157857411073, [2 x i8] c",\00" } +@sc_lit_1143527378875226 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 8057298872088657925, [6 x i8] c"allow\00" } +@sc_lit_176469025513879 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 1403018212609622018, [3 x i8] c", \00" } +@sc_lit_1386027184562237 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -2111464194682388478, [3 x i8] c"18\00" } +@sc_lit_4003541287264371 = internal global { i64, i64, i64, [19 x i8] } { i64 -1, i64 18, i64 520624577580105746, [19 x i8] c"Method Not Allowed\00" } +@sc_lit_1957914011051515 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 1200522749554982914, [3 x i8] c"21\00" } +@sc_lit_4012553578658412 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 -694806164520566763, [22 x i8] c"Internal Server Error\00" } +@sc_lit_2869227738459631 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 3568042747564654593, [2 x i8] c"+\00" } +@sc_lit_961653900088760 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 2416086386533728257, [2 x i8] c" \00" } +@sc_lit_2573344890364836 = internal global { i64, i64, i64, [21 x i8] } { i64 -1, i64 20, i64 6798688027737587732, [21 x i8] c"mw is not a function\00" } +@sc_lit_1410221948126323 = internal global { i64, i64, i64, [50 x i8] } { i64 -1, i64 49, i64 -518393762976628687, [50 x i8] c"Cannot read properties of undefined (reading 'i')\00" } +@sc_lit_4291706737594396 = internal global { i64, i64, i64, [50 x i8] } { i64 -1, i64 49, i64 1384050163856703537, [50 x i8] c"Cannot read properties of undefined (reading 'a')\00" } +@sc_lit_4121162754829271 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -6593906804562853885, [4 x i8] c"seg\00" } +@sc_lit_196246007442230 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 3336346123987058692, [5 x i8] c"kind\00" } +@sc_lit_291439443305035 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 6743991649287798792, [9 x i8] c"children\00" } +@sc_lit_3240132313272141 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -117344762146586622, [3 x i8] c"hm\00" } +@sc_lit_1774234212108265 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -652560471060119550, [3 x i8] c"hf\00" } +@sc_lit_2780507335947153 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 2844528302230601733, [6 x i8] c"MpCfg\00" } +@sc_lit_3073289709162707 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -8808522492206383099, [6 x i8] c"names\00" } +@sc_lit_621103891786213 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 5460321354391748612, [5 x i8] c"idxs\00" } +@sc_lit_2193851355834945 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -4276385787861270523, [6 x i8] c"splat\00" } +@sc_lit_1988484489435674 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -5887676243930775529, [24 x i8] c"chain is not a function\00" } +@sc_lit_3618831577556636 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -7234068875418009599, [2 x i8] c".\00" } +@sc_lit_1687538661063814 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -6793499934877286399, [2 x i8] c"0\00" } +@sc_lit_2009709968767209 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -6070542761549889532, [5 x i8] c" GMT\00" } +@sc_lit_2975638646761949 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -7011171067871887359, [2 x i8] c"\5C\00" } +@sc_lit_1938716995091255 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -3476220779182424063, [2 x i8] c"\00\00" } +@sc_lit_1666994892967735 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -3538545655205068798, [3 x i8] c"..\00" } +@sc_lit_2770123098238102 = internal global { i64, i64, i64, [55 x i8] } { i64 -1, i64 54, i64 -3771844340238778314, [55 x i8] c"Cannot read properties of undefined (reading 'charAt')\00" } +@sc_lit_438854160789283 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 848961779248660491, [12 x i8] c".well-known\00" } +@sc_lit_1511482959134555 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 8723638072828231732, [53 x i8] c"Cannot read properties of undefined (reading 'trim')\00" } +@sc_lit_3124163672232319 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 7426952820139491330, [3 x i8] c"W/\00" } +@sc_lit_1344306789531462 = internal global { i64, i64, i64, [56 x i8] } { i64 -1, i64 55, i64 4802429658538704951, [56 x i8] c"Cannot read properties of undefined (reading 'indexOf')\00" } +@sc_lit_1153253657065408 = internal global { i64, i64, i64, [54 x i8] } { i64 -1, i64 53, i64 -6137634853702598603, [54 x i8] c"Cannot read properties of undefined (reading 'slice')\00" } +@sc_lit_2459074672043502 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 8279321610112991234, [3 x i8] c"q=\00" } +@sc_lit_2083437452017534 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 5241175810664038402, [3 x i8] c"/*\00" } +@sc_lit_2431203152239253 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 4345341736906653706, [11 x i8] c"/api/hello\00" } +@sc_lit_2988681134725684 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 2929588484555407366, [7 x i8] c"SC2020\00" } +@sc_lit_575912859096207 = internal global { i64, i64, i64, [74 x i8] } { i64 -1, i64 73, i64 6671814930036949065, [74 x i8] c"repeated super() calls require a fresh receiver and are not supported yet\00" } +@sc_lit_2754504371456911 = internal global { i64, i64, i64, [107 x i8] } { i64 -1, i64 106, i64 8712711684617142378, [107 x i8] c"Must call super constructor in derived class before accessing 'this' or returning from derived constructor\00" } +@sc_lit_4062345987786846 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 732243959920721928, [9 x i8] c"location\00" } +@sc_lit_3120000046228632 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -924298121255583734, [11 x i8] c"hs.forEach\00" } +@sc_lit_3343942521330690 = internal global { i64, i64, i64, [60 x i8] } { i64 -1, i64 59, i64 5872187719983038523, [60 x i8] c"Cannot read properties of undefined (reading 'toLowerCase')\00" } +@sc_lit_3605103414985721 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -7058678766284832763, [6 x i8] c"start\00" } +@sc_lit_799419648406123 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -7746054901523808255, [2 x i8] c"x\00" } +@sc_lit_2472641820270753 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 3717691094763307015, [8 x i8] c"http://\00" } +@sc_lit_516698931398762 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 8923322488377573387, [12 x i8] c"lit.forEach\00" } +@sc_lit_1609576561362083 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 6311548378849214470, [7 x i8] c"method\00" } +@sc_lit_1063589473929964 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 7040350680543920134, [7 x i8] c"duplex\00" } +@sc_lit_2834188894379107 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 2213179426957426692, [5 x i8] c"half\00" } +@sc_lit_2009491016346793 = internal global { i64, i64, i64, [21 x i8] } { i64 -1, i64 20, i64 2987212213929902100, [21 x i8] c"view.headers.forEach\00" } +@sc_lit_3801384199701540 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -7348724504853479422, [3 x i8] c"--\00" } +@sc_lit_2818555132652292 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7524787132850765820, [5 x i8] c"\0D\0A--\00" } +@sc_lit_3864033475009977 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4317690471167033348, [5 x i8] c"\0D\0A\0D\0A\00" } +@sc_lit_537030291697444 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 -2644458950237356008, [25 x i8] c"application/octet-stream\00" } +@sc_lit_2229191734301658 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -8327049026167898110, [3 x i8] c"\0D\0A\00" } +@sc_lit_1256688351795902 = internal global { i64, i64, i64, [20 x i8] } { i64 -1, i64 19, i64 6948560275876347923, [20 x i8] c"content-disposition\00" } +@sc_lit_3079743157731287 = internal global { i64, i64, i64, [50 x i8] } { i64 -1, i64 49, i64 2172091862838411313, [50 x i8] c"Cannot read properties of undefined (reading '0')\00" } +@sc_lit_2785427721493019 = internal global { i64, i64, i64, [54 x i8] } { i64 -1, i64 53, i64 6033060732281552949, [54 x i8] c"Cannot read properties of undefined (reading 'field')\00" } +@sc_lit_2623284121860687 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 4734749340550037505, [2 x i8] c"&\00" } +@sc_lit_1197604288682806 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 6018769353158164482, [3 x i8] c"{}\00" } +@sc_lit_2043119860907636 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 2549517525633204228, [5 x i8] c"null\00" } +@sc_lit_2488658682239846 = internal global { i64, i64, i64, [32 x i8] } { i64 -1, i64 31, i64 -466470623435030497, [32 x i8] c"application/json; charset=utf-8\00" } +@sc_lit_1657010753210616 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 4413148799380226072, [25 x i8] c"text/html; charset=utf-8\00" } +@sc_lit_4450054087841968 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 -4211222629945704427, [22 x i8] c"MethodNotAllowedError\00" } +@sc_lit_1295387805544367 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 9159764810299080711, [8 x i8] c"storage\00" } +@sc_lit_2659449979257915 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 4807041375377817612, [13 x i8] c"maxFileBytes\00" } +@sc_lit_2882770253409103 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -4041209270111305720, [9 x i8] c"maxFiles\00" } +@sc_lit_2857538079689091 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -1512494330529447923, [14 x i8] c"maxFieldBytes\00" } +@sc_lit_2277266704045385 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -9124327103859261431, [10 x i8] c"multipart\00" } +@sc_lit_3671383252271314 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -3094627078260129785, [8 x i8] c"OPTIONS\00" } +@sc_lit_2214377447145268 = internal global { i64, i64, i64, [85 x i8] } { i64 -1, i64 84, i64 7007855685979340884, [85 x i8] c"chttp: route contract version mismatch \E2\80\94 dispatch was generated against contract v\00" } +@sc_lit_4475575820732057 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 -5430888244159971306, [23 x i8] c", runtime implements v\00" } +@sc_lit_3865233613737149 = internal global { i64, i64, i64, [86 x i8] } { i64 -1, i64 85, i64 -5479711001429409707, [86 x i8] c". Regenerate .chttp/*.gen.ts (upgrade @chttp/unplugin to match chttp) or align chttp.\00" } +@sc_lit_1244221778433949 = internal global { i64, i64, i64, [91 x i8] } { i64 -1, i64 90, i64 768823416844189786, [91 x i8] c"chttp: route contract version mismatch \E2\80\94 fetch dispatch was generated against contract v\00" } +@sc_lit_1405960170658013 = internal global { i64, i64, i64, [92 x i8] } { i64 -1, i64 91, i64 953981022490329179, [92 x i8] c". Regenerate .chttp/*.gen.fetch.ts (upgrade @chttp/unplugin to match chttp) or align chttp.\00" } +@sc_lit_3133033490855518 = internal global { i64, i64, i64, [99 x i8] } { i64 -1, i64 98, i64 66643377591943266, [99 x i8] c"null is not representable in the target union (a value narrowed or asserted past it still held it)\00" } +@sc_lit_4363421500237166 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 4435869404009332747, [12 x i8] c"webReq.text\00" } +@sc_lit_2357048268411583 = internal global { i64, i64, i64, [51 x i8] } { i64 -1, i64 50, i64 2755471292059615282, [51 x i8] c"Cannot read properties of undefined (reading 'on')\00" } +@sc_lit_857116979092563 = internal global { i64, i64, i64, [52 x i8] } { i64 -1, i64 51, i64 8424962430701928499, [52 x i8] c"Cannot read properties of undefined (reading 'b64')\00" } +@sc_lit_969367790913322 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -8679678099006160890, [7 x i8] c"base64\00" } +@sc_lit_4183713241952410 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 4547310667035574324, [53 x i8] c"Cannot read properties of undefined (reading 'type')\00" } +@sc_lit_3442096346492231 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 -8675589049622200268, [53 x i8] c"Cannot read properties of undefined (reading 'etag')\00" } +@sc_lit_2826121043263175 = internal global { i64, i64, i64, [56 x i8] } { i64 -1, i64 55, i64 -7321874615586783177, [56 x i8] c"Cannot read properties of undefined (reading 'mtimeMs')\00" } +@sc_lit_353569185054010 = internal global { i64, i64, i64, [58 x i8] } { i64 -1, i64 57, i64 -1517246595878354887, [58 x i8] c"Cannot read properties of undefined (reading 'immutable')\00" } +@sc_lit_3568813316433808 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 8127539222513975348, [53 x i8] c"Cannot read properties of undefined (reading 'encs')\00" } +@sc_lit_1931307417657380 = internal global { i64, i64, i64, [52 x i8] } { i64 -1, i64 51, i64 -6044314341166022605, [52 x i8] c"Cannot read properties of undefined (reading 'enc')\00" } +@sc_lit_1683535768246717 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2135127557517869053, [4 x i8] c"enc\00" } +@sc_lit_4445240590403708 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4764587852744884220, [5 x i8] c"etag\00" } +@sc_lit_334509345124372 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7926286954923032572, [5 x i8] c"type\00" } +@sc_lit_3603975379547098 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 784495986583011332, [5 x i8] c"size\00" } +@sc_lit_2067668976369489 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -3780952020253409273, [8 x i8] c"mtimeMs\00" } +@sc_lit_1096813006725504 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -5612894346685710327, [10 x i8] c"immutable\00" } +@sc_lit_2538166612030291 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -7625554800851025911, [10 x i8] c"encodings\00" } +@sc_lit_1717987091626096 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 5167487383184080948, [53 x i8] c"Cannot read properties of undefined (reading 'path')\00" } +@sc_lit_1973266751196475 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 2648535196323807236, [5 x i8] c"/api\00" } +@sc_lit_258747939448200 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 3505845105653186570, [11 x i8] c"index.html\00" } +@sc_lit_2351619124253283 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -5911298508224200696, [9 x i8] c"no-cache\00" } +@sc_lit_731773075116702 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -446187378386665469, [4 x i8] c"get\00" } +@sc_lit_411633604077632 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -8943945564123299831, [10 x i8] c"_variants\00" } +@sc_lit_1662472325369337 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 8036725978740817930, [11 x i8] c"DiskAssets\00" } +@sc_lit_1113611553843547 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 2307355119022243848, [9 x i8] c"c.status\00" } +@sc_lit_2461881476274202 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 1508034775791697929, [10 x i8] c"not_found\00" } +@sc_lit_3553689444499593 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -6616887400742256635, [6 x i8] c"error\00" } +@sc_lit_2114647021869682 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -162151733584199671, [10 x i8] c"Forbidden\00" } +@sc_lit_3397890422060549 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 8537748478053318662, [7 x i8] c"accept\00" } +@sc_lit_3294648205618267 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -9162758784756482039, [10 x i8] c"text/html\00" } +@sc_lit_4492336914082182 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 5354838314811654196, [53 x i8] c"Cannot read properties of undefined (reading 'body')\00" } +@sc_lit_4362671655600605 = internal global { i64, i64, i64, [58 x i8] } { i64 -1, i64 57, i64 -4083743074272935879, [58 x i8] c"Cannot read properties of undefined (reading 'encodings')\00" } +@sc_lit_2518473127799707 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4711578142311972868, [5 x i8] c"vary\00" } +@sc_lit_978543277017983 = internal global { i64, i64, i64, [16 x i8] } { i64 -1, i64 15, i64 -1440999458811674609, [16 x i8] c"accept-encoding\00" } +@sc_lit_1338885626691992 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 7469228556896174088, [9 x i8] c"c.header\00" } +@sc_lit_1574667939558669 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 3145244062412439568, [17 x i8] c"content-encoding\00" } +@sc_lit_2035483511006422 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -3987360679551041523, [14 x i8] c"cache-control\00" } +@sc_lit_2740571518511302 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -2817507851222646771, [14 x i8] c"last-modified\00" } +@sc_lit_2869691414151891 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 63473008827695117, [14 x i8] c"if-none-match\00" } +@sc_lit_100328930987147 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 7439370567024640007, [8 x i8] c"c.bytes\00" } +@sc_lit_2398049524360159 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -7285012783890956286, [3 x i8] c"br\00" } +@sc_lit_3533245170682650 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4172465652520452092, [5 x i8] c"gzip\00" } +@sc_lit_2359144980483679 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 2278828045026459651, [4 x i8] c"b64\00" } +@sc_lit_2826818497658723 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -8351607168130088956, [5 x i8] c"path\00" } +@sc_lit_448384591214783 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 6444486429933305860, [5 x i8] c"encs\00" } +@sc_lit_957191718306074 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 -6233750835898089451, [22 x i8] c"SunMonTueWedThuFriSat\00" } +@sc_lit_2120526926710519 = internal global { i64, i64, i64, [37 x i8] } { i64 -1, i64 36, i64 -6717467541880438748, [37 x i8] c"JanFebMarAprMayJunJulAugSepOctNovDec\00" } +@sc_lit_291619741538004 = internal global { i64, i64, i64, [36 x i8] } { i64 -1, i64 35, i64 -567459576740315101, [36 x i8] c"public, max-age=31536000, immutable\00" } +@sc_lit_300426198248490 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 328619855613788184, [25 x i8] c"assets/index-BF3SA29v.js\00" } +@sc_lit_1698807508669189 = internal global { i64, i64, i64, [31 x i8] } { i64 -1, i64 30, i64 8867024830155718686, [31 x i8] c"text/javascript; charset=utf-8\00" } +@sc_lit_840587331166583 = internal global { i64, i64, i64, [296497 x i8] } { i64 -1, i64 296496, i64 284580102774490672, [296497 x i8] c"KGZ1bmN0aW9uKCl7Y29uc3QgZ2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpLnJlbExpc3Q7aWYoZ2wmJmdsLnN1cHBvcnRzJiZnbC5zdXBwb3J0cygibW9kdWxlcHJlbG9hZCIpKXJldHVybjtmb3IoY29uc3QgZmwgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9Im1vZHVsZXByZWxvYWQiXScpKVMoZmwpO25ldyBNdXRhdGlvbk9ic2VydmVyKGZsPT57Zm9yKGNvbnN0IHNsIG9mIGZsKWlmKHNsLnR5cGU9PT0iY2hpbGRMaXN0Iilmb3IoY29uc3QgSmwgb2Ygc2wuYWRkZWROb2RlcylKbC50YWdOYW1lPT09IkxJTksiJiZKbC5yZWw9PT0ibW9kdWxlcHJlbG9hZCImJlMoSmwpfSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTtmdW5jdGlvbiB0bChmbCl7Y29uc3Qgc2w9e307cmV0dXJuIGZsLmludGVncml0eSYmKHNsLmludGVncml0eT1mbC5pbnRlZ3JpdHkpLGZsLnJlZmVycmVyUG9saWN5JiYoc2wucmVmZXJyZXJQb2xpY3k9ZmwucmVmZXJyZXJQb2xpY3kpLGZsLmNyb3NzT3JpZ2luPT09InVzZS1jcmVkZW50aWFscyI/c2wuY3JlZGVudGlhbHM9ImluY2x1ZGUiOmZsLmNyb3NzT3JpZ2luPT09ImFub255bW91cyI/c2wuY3JlZGVudGlhbHM9Im9taXQiOnNsLmNyZWRlbnRpYWxzPSJzYW1lLW9yaWdpbiIsc2x9ZnVuY3Rpb24gUyhmbCl7aWYoZmwuZXApcmV0dXJuO2ZsLmVwPSEwO2NvbnN0IHNsPXRsKGZsKTtmZXRjaChmbC5ocmVmLHNsKX19KSgpO3ZhciBoMD17ZXhwb3J0czp7fX0sWD17fTt2YXIgd207ZnVuY3Rpb24gSXMoKXtpZih3bSlyZXR1cm4gWDt3bT0xO3ZhciBEPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IiksZ2w9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksdGw9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksZmw9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxzbD1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLEpsPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxkdT1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLEVsPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksSGw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLFk9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLFQ9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxIPVN5bWJvbC5mb3IoInJlYWN0LnZpZXdfdHJhbnNpdGlvbiIpLE5sPVN5bWJvbC5pdGVyYXRvcjtmdW5jdGlvbiBsdChvKXtyZXR1cm4gbz09PW51bGx8fHR5cGVvZiBvIT0ib2JqZWN0Ij9udWxsOihvPU5sJiZvW05sXXx8b1siQEBpdGVyYXRvciJdLHR5cGVvZiBvPT0iZnVuY3Rpb24iP286bnVsbCl9dmFyIHdsPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSx2bD1PYmplY3QuYXNzaWduLGh0PXt9O2Z1bmN0aW9uIHR0KG8seixVKXt0aGlzLnByb3BzPW8sdGhpcy5jb250ZXh0PXosdGhpcy5yZWZzPWh0LHRoaXMudXBkYXRlcj1VfHx3bH10dC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSx0dC5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24obyx6KXtpZih0eXBlb2YgbyE9Im9iamVjdCImJnR5cGVvZiBvIT0iZnVuY3Rpb24iJiZvIT1udWxsKXRocm93IEVycm9yKCJ0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsbyx6LCJzZXRTdGF0ZSIpfSx0dC5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24obyl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLG8sImZvcmNlVXBkYXRlIil9O2Z1bmN0aW9uIHh1KCl7fXh1LnByb3RvdHlwZT10dC5wcm90b3R5cGU7ZnVuY3Rpb24gcXQobyx6LFUpe3RoaXMucHJvcHM9byx0aGlzLmNvbnRleHQ9eix0aGlzLnJlZnM9aHQsdGhpcy51cGRhdGVyPVV8fHdsfXZhciBCdD1xdC5wcm90b3R5cGU9bmV3IHh1O0J0LmNvbnN0cnVjdG9yPXF0LHZsKEJ0LHR0LnByb3RvdHlwZSksQnQuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHV0PUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gVigpe312YXIgRj17SDpudWxsLEE6bnVsbCxUOm51bGwsUzpudWxsfSxHdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGd0KG8seixVKXt2YXIgQz1VLnJlZjtyZXR1cm57JCR0eXBlb2Y6RCx0eXBlOm8sa2V5OnoscmVmOkMhPT12b2lkIDA/QzpudWxsLHByb3BzOlV9fWZ1bmN0aW9uIFN0KG8seil7cmV0dXJuIGd0KG8udHlwZSx6LG8ucHJvcHMpfWZ1bmN0aW9uIGF0KG8pe3JldHVybiB0eXBlb2Ygbz09Im9iamVjdCImJm8hPT1udWxsJiZvLiQkdHlwZW9mPT09RH1mdW5jdGlvbiBzdShvKXt2YXIgej17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitvLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihVKXtyZXR1cm4geltVXX0pfXZhciBLdT0vXC8rL2c7ZnVuY3Rpb24gRGwobyx6KXtyZXR1cm4gdHlwZW9mIG89PSJvYmplY3QiJiZvIT09bnVsbCYmby5rZXkhPW51bGw/c3UoIiIrby5rZXkpOnoudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIF8obyl7c3dpdGNoKG8uc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIG8udmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgby5yZWFzb247ZGVmYXVsdDpzd2l0Y2godHlwZW9mIG8uc3RhdHVzPT0ic3RyaW5nIj9vLnRoZW4oVixWKTooby5zdGF0dXM9InBlbmRpbmciLG8udGhlbihmdW5jdGlvbih6KXtvLnN0YXR1cz09PSJwZW5kaW5nIiYmKG8uc3RhdHVzPSJmdWxmaWxsZWQiLG8udmFsdWU9eil9LGZ1bmN0aW9uKHope28uc3RhdHVzPT09InBlbmRpbmciJiYoby5zdGF0dXM9InJlamVjdGVkIixvLnJlYXNvbj16KX0pKSxvLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiBvLnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IG8ucmVhc29ufX10aHJvdyBvfWZ1bmN0aW9uIHEobyx6LFUsQyx3KXt2YXIgVz10eXBlb2YgbzsoVz09PSJ1bmRlZmluZWQifHxXPT09ImJvb2xlYW4iKSYmKG89bnVsbCk7dmFyIEk9ITE7aWYobz09PW51bGwpST0hMDtlbHNlIHN3aXRjaChXKXtjYXNlImJpZ2ludCI6Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpJPSEwO2JyZWFrO2Nhc2Uib2JqZWN0Ijpzd2l0Y2goby4kJHR5cGVvZil7Y2FzZSBEOmNhc2UgZ2w6ST0hMDticmVhaztjYXNlIFk6cmV0dXJuIEk9by5faW5pdCxxKEkoby5fcGF5bG9hZCkseixVLEMsdyl9fWlmKEkpcmV0dXJuIHc9dyhvKSxJPUM9PT0iIj8iLiIrRGwobywwKTpDLHV0KHcpPyhVPSIiLEkhPW51bGwmJihVPUkucmVwbGFjZShLdSwiJCYvIikrIi8iKSxxKHcseixVLCIiLGZ1bmN0aW9uKEl0KXtyZXR1cm4gSXR9KSk6dyE9bnVsbCYmKGF0KHcpJiYodz1TdCh3LFUrKHcua2V5PT1udWxsfHxvJiZvLmtleT09PXcua2V5PyIiOigiIit3LmtleSkucmVwbGFjZShLdSwiJCYvIikrIi8iKStJKSksei5wdXNoKHcpKSwxO0k9MDt2YXIgTj1DPT09IiI/Ii4iOkMrIjoiO2lmKHV0KG8pKWZvcih2YXIgRz0wO0c8by5sZW5ndGg7RysrKUM9b1tHXSxXPU4rRGwoQyxHKSxJKz1xKEMseixVLFcsdyk7ZWxzZSBpZihHPWx0KG8pLHR5cGVvZiBHPT0iZnVuY3Rpb24iKWZvcihvPUcuY2FsbChvKSxHPTA7IShDPW8ubmV4dCgpKS5kb25lOylDPUMudmFsdWUsVz1OK0RsKEMsRysrKSxJKz1xKEMseixVLFcsdyk7ZWxzZSBpZihXPT09Im9iamVjdCIpe2lmKHR5cGVvZiBvLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIHEoXyhvKSx6LFUsQyx3KTt0aHJvdyB6PVN0cmluZyhvKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKyh6PT09IltvYmplY3QgT2JqZWN0XSI/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMobykuam9pbigiLCAiKSsifSI6eikrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKX1yZXR1cm4gSX1mdW5jdGlvbiBCKG8seixVKXtpZihvPT1udWxsKXJldHVybiBvO3ZhciBDPVtdLHc9MDtyZXR1cm4gcShvLEMsIiIsIiIsZnVuY3Rpb24oVyl7cmV0dXJuIHouY2FsbChVLFcsdysrKX0pLEN9ZnVuY3Rpb24gY2wobyl7aWYoby5fc3RhdHVzPT09LTEpe3ZhciB6PW8uX3Jlc3VsdCxVPXooKTtVLnRoZW4oZnVuY3Rpb24oQyl7KG8uX3N0YXR1cz09PTB8fG8uX3N0YXR1cz09PS0xKSYmKG8uX3N0YXR1cz0xLG8uX3Jlc3VsdD1DLFUuc3RhdHVzPT09dm9pZCAwJiYoVS5zdGF0dXM9ImZ1bGZpbGxlZCIsVS52YWx1ZT1DKSl9LGZ1bmN0aW9uKEMpeyhvLl9zdGF0dXM9PT0wfHxvLl9zdGF0dXM9PT0tMSkmJihvLl9zdGF0dXM9MixvLl9yZXN1bHQ9QyxVLnN0YXR1cz09PXZvaWQgMCYmKFUuc3RhdHVzPSJyZWplY3RlZCIsVS5yZWFzb249QykpfSksby5fc3RhdHVzPT09LTEmJihvLl9zdGF0dXM9MCxvLl9yZXN1bHQ9VSl9aWYoby5fc3RhdHVzPT09MSlyZXR1cm4gby5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgby5fcmVzdWx0fXZhciBQPXR5cGVvZiByZXBvcnRFcnJvcj09ImZ1bmN0aW9uIj9yZXBvcnRFcnJvcjpmdW5jdGlvbihvKXtpZih0eXBlb2Ygd2luZG93PT0ib2JqZWN0IiYmdHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50PT0iZnVuY3Rpb24iKXt2YXIgej1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6dHlwZW9mIG89PSJvYmplY3QiJiZvIT09bnVsbCYmdHlwZW9mIG8ubWVzc2FnZT09InN0cmluZyI/U3RyaW5nKG8ubWVzc2FnZSk6U3RyaW5nKG8pLGVycm9yOm99KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQoeikpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT0iZnVuY3Rpb24iKXtwcm9jZXNzLmVtaXQoInVuY2F1Z2h0RXhjZXB0aW9uIixvKTtyZXR1cm59Y29uc29sZS5lcnJvcihvKX07ZnVuY3Rpb24gRHQobyl7dmFyIHo9Ri5ULFU9e307VS50eXBlcz16IT09bnVsbD96LnR5cGVzOm51bGwsRi5UPVU7dHJ5e3ZhciBDPW8oKSx3PUYuUzt3IT09bnVsbCYmdyhVLEMpLHR5cGVvZiBDPT0ib2JqZWN0IiYmQyE9PW51bGwmJnR5cGVvZiBDLnRoZW49PSJmdW5jdGlvbiImJkMudGhlbihWLFApfWNhdGNoKFcpe1AoVyl9ZmluYWxseXt6IT09bnVsbCYmVS50eXBlcyE9PW51bGwmJih6LnR5cGVzPVUudHlwZXMpLEYuVD16fX1mdW5jdGlvbiBGdChvKXt2YXIgej1GLlQ7aWYoeiE9PW51bGwpe3ZhciBVPXoudHlwZXM7VT09PW51bGw/ei50eXBlcz1bb106VS5pbmRleE9mKG8pPT09LTEmJlUucHVzaChvKX1lbHNlIER0KEZ0LmJpbmQobnVsbCxvKSl9dmFyIEp1PXttYXA6Qixmb3JFYWNoOmZ1bmN0aW9uKG8seixVKXtCKG8sZnVuY3Rpb24oKXt6LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sVSl9LGNvdW50OmZ1bmN0aW9uKG8pe3ZhciB6PTA7cmV0dXJuIEIobyxmdW5jdGlvbigpe3orK30pLHp9LHRvQXJyYXk6ZnVuY3Rpb24obyl7cmV0dXJuIEIobyxmdW5jdGlvbih6KXtyZXR1cm4gen0pfHxbXX0sb25seTpmdW5jdGlvbihvKXtpZighYXQobykpdGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpO3JldHVybiBvfX07cmV0dXJuIFguQWN0aXZpdHk9VCxYLkNoaWxkcmVuPUp1LFguQ29tcG9uZW50PXR0LFguRnJhZ21lbnQ9dGwsWC5Qcm9maWxlcj1mbCxYLlB1cmVDb21wb25lbnQ9cXQsWC5TdHJpY3RNb2RlPVMsWC5TdXNwZW5zZT1FbCxYLlZpZXdUcmFuc2l0aW9uPUgsWC5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREU9RixYLl9fQ09NUElMRVJfUlVOVElNRT17X19wcm90b19fOm51bGwsYzpmdW5jdGlvbihvKXtyZXR1cm4gRi5ILnVzZU1lbW9DYWNoZShvKX19LFguYWRkVHJhbnNpdGlvblR5cGU9RnQsWC5jYWNoZT1mdW5jdGlvbihvKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gby5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxYLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LFguY2xvbmVFbGVtZW50PWZ1bmN0aW9uKG8seixVKXtpZihvPT1udWxsKXRocm93IEVycm9yKCJUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrbysiLiIpO3ZhciBDPXZsKHt9LG8ucHJvcHMpLHc9by5rZXk7aWYoeiE9bnVsbClmb3IoVyBpbiB6LmtleSE9PXZvaWQgMCYmKHc9IiIrei5rZXkpLHopIUd0LmNhbGwoeixXKXx8Vz09PSJrZXkifHxXPT09Il9fc2VsZiJ8fFc9PT0iX19zb3VyY2UifHxXPT09InJlZiImJnoucmVmPT09dm9pZCAwfHwoQ1tXXT16W1ddKTt2YXIgVz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoVz09PTEpQy5jaGlsZHJlbj1VO2Vsc2UgaWYoMTxXKXtmb3IodmFyIEk9QXJyYXkoVyksTj0wO048VztOKyspSVtOXT1hcmd1bWVudHNbTisyXTtDLmNoaWxkcmVuPUl9cmV0dXJuIGd0KG8udHlwZSx3LEMpfSxYLmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24obyl7cmV0dXJuIG89eyQkdHlwZW9mOkpsLF9jdXJyZW50VmFsdWU6byxfY3VycmVudFZhbHVlMjpvLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbH0sby5Qcm92aWRlcj1vLG8uQ29uc3VtZXI9eyQkdHlwZW9mOnNsLF9jb250ZXh0Om99LG99LFguY3JlYXRlRWxlbWVudD1mdW5jdGlvbihvLHosVSl7dmFyIEMsdz17fSxXPW51bGw7aWYoeiE9bnVsbClmb3IoQyBpbiB6LmtleSE9PXZvaWQgMCYmKFc9IiIrei5rZXkpLHopR3QuY2FsbCh6LEMpJiZDIT09ImtleSImJkMhPT0iX19zZWxmIiYmQyE9PSJfX3NvdXJjZSImJih3W0NdPXpbQ10pO3ZhciBJPWFyZ3VtZW50cy5sZW5ndGgtMjtpZihJPT09MSl3LmNoaWxkcmVuPVU7ZWxzZSBpZigxPEkpe2Zvcih2YXIgTj1BcnJheShJKSxHPTA7RzxJO0crKylOW0ddPWFyZ3VtZW50c1tHKzJdO3cuY2hpbGRyZW49Tn1pZihvJiZvLmRlZmF1bHRQcm9wcylmb3IoQyBpbiBJPW8uZGVmYXVsdFByb3BzLEkpd1tDXT09PXZvaWQgMCYmKHdbQ109SVtDXSk7cmV0dXJuIGd0KG8sVyx3KX0sWC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sWC5mb3J3YXJkUmVmPWZ1bmN0aW9uKG8pe3JldHVybnskJHR5cGVvZjpkdSxyZW5kZXI6b319LFguaXNWYWxpZEVsZW1lbnQ9YXQsWC5sYXp5PWZ1bmN0aW9uKG8pe3JldHVybnskJHR5cGVvZjpZLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6b30sX2luaXQ6Y2x9fSxYLm1lbW89ZnVuY3Rpb24obyx6KXtyZXR1cm57JCR0eXBlb2Y6SGwsdHlwZTpvLGNvbXBhcmU6ej09PXZvaWQgMD9udWxsOnp9fSxYLnN0YXJ0VHJhbnNpdGlvbj1EdCxYLnVuc3RhYmxlX3VzZUNhY2hlUmVmcmVzaD1mdW5jdGlvbigpe3JldHVybiBGLkgudXNlQ2FjaGVSZWZyZXNoKCl9LFgudXNlPWZ1bmN0aW9uKG8pe3JldHVybiBGLkgudXNlKG8pfSxYLnVzZUFjdGlvblN0YXRlPWZ1bmN0aW9uKG8seixVKXtyZXR1cm4gRi5ILnVzZUFjdGlvblN0YXRlKG8seixVKX0sWC51c2VDYWxsYmFjaz1mdW5jdGlvbihvLHope3JldHVybiBGLkgudXNlQ2FsbGJhY2sobyx6KX0sWC51c2VDb250ZXh0PWZ1bmN0aW9uKG8pe3JldHVybiBGLkgudXNlQ29udGV4dChvKX0sWC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxYLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24obyx6KXtyZXR1cm4gRi5ILnVzZURlZmVycmVkVmFsdWUobyx6KX0sWC51c2VFZmZlY3Q9ZnVuY3Rpb24obyx6KXtyZXR1cm4gRi5ILnVzZUVmZmVjdChvLHopfSxYLnVzZUVmZmVjdEV2ZW50PWZ1bmN0aW9uKG8pe3JldHVybiBGLkgudXNlRWZmZWN0RXZlbnQobyl9LFgudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gRi5ILnVzZUlkKCl9LFgudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihvLHosVSl7cmV0dXJuIEYuSC51c2VJbXBlcmF0aXZlSGFuZGxlKG8seixVKX0sWC51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24obyx6KXtyZXR1cm4gRi5ILnVzZUluc2VydGlvbkVmZmVjdChvLHopfSxYLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihvLHope3JldHVybiBGLkgudXNlTGF5b3V0RWZmZWN0KG8seil9LFgudXNlTWVtbz1mdW5jdGlvbihvLHope3JldHVybiBGLkgudXNlTWVtbyhvLHopfSxYLnVzZU9wdGltaXN0aWM9ZnVuY3Rpb24obyx6KXtyZXR1cm4gRi5ILnVzZU9wdGltaXN0aWMobyx6KX0sWC51c2VSZWR1Y2VyPWZ1bmN0aW9uKG8seixVKXtyZXR1cm4gRi5ILnVzZVJlZHVjZXIobyx6LFUpfSxYLnVzZVJlZj1mdW5jdGlvbihvKXtyZXR1cm4gRi5ILnVzZVJlZihvKX0sWC51c2VTdGF0ZT1mdW5jdGlvbihvKXtyZXR1cm4gRi5ILnVzZVN0YXRlKG8pfSxYLnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKG8seixVKXtyZXR1cm4gRi5ILnVzZVN5bmNFeHRlcm5hbFN0b3JlKG8seixVKX0sWC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEYuSC51c2VUcmFuc2l0aW9uKCl9LFgudmVyc2lvbj0iMTkuMy4xIixYfXZhciBXbTtmdW5jdGlvbiB6MCgpe3JldHVybiBXbXx8KFdtPTEsaDAuZXhwb3J0cz1JcygpKSxoMC5leHBvcnRzfXZhciBFMD16MCgpLGcwPXtleHBvcnRzOnt9fSx0bj17fSxTMD17ZXhwb3J0czp7fX0scjA9e307dmFyICRtO2Z1bmN0aW9uIGtzKCl7cmV0dXJuICRtfHwoJG09MSwoZnVuY3Rpb24oRCl7ZnVuY3Rpb24gZ2woXyxxKXt2YXIgQj1fLmxlbmd0aDtfLnB1c2gocSk7bDpmb3IoOzA8Qjspe3ZhciBjbD1CLTE+Pj4xLFA9X1tjbF07aWYoMDxmbChQLHEpKV9bY2xdPXEsX1tCXT1QLEI9Y2w7ZWxzZSBicmVhayBsfX1mdW5jdGlvbiB0bChfKXtyZXR1cm4gXy5sZW5ndGg9PT0wP251bGw6X1swXX1mdW5jdGlvbiBTKF8pe2lmKF8ubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt2YXIgcT1fWzBdLEI9Xy5wb3AoKTtpZihCIT09cSl7X1swXT1CO2w6Zm9yKHZhciBjbD0wLFA9Xy5sZW5ndGgsRHQ9UD4+PjE7Y2w8RHQ7KXt2YXIgRnQ9MiooY2wrMSktMSxKdT1fW0Z0XSxvPUZ0KzEsej1fW29dO2lmKDA+ZmwoSnUsQikpbzxQJiYwPmZsKHosSnUpPyhfW2NsXT16LF9bb109QixjbD1vKTooX1tjbF09SnUsX1tGdF09QixjbD1GdCk7ZWxzZSBpZihvPFAmJjA+ZmwoeixCKSlfW2NsXT16LF9bb109QixjbD1vO2Vsc2UgYnJlYWsgbH19cmV0dXJuIHF9ZnVuY3Rpb24gZmwoXyxxKXt2YXIgQj1fLnNvcnRJbmRleC1xLnNvcnRJbmRleDtyZXR1cm4gQiE9PTA/QjpfLmlkLXEuaWR9aWYoRC51bnN0YWJsZV9ub3c9dm9pZCAwLHR5cGVvZiBwZXJmb3JtYW5jZT09Im9iamVjdCImJnR5cGVvZiBwZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiIpe3ZhciBzbD1wZXJmb3JtYW5jZTtELnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBzbC5ub3coKX19ZWxzZXt2YXIgSmw9RGF0ZSxkdT1KbC5ub3coKTtELnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBKbC5ub3coKS1kdX19dmFyIEVsPVtdLEhsPVtdLFk9MSxUPW51bGwsSD0zLE5sPSExLGx0PSExLHdsPSExLHZsPSExLGh0PXR5cGVvZiBzZXRUaW1lb3V0PT0iZnVuY3Rpb24iP3NldFRpbWVvdXQ6bnVsbCx0dD10eXBlb2YgY2xlYXJUaW1lb3V0PT0iZnVuY3Rpb24iP2NsZWFyVGltZW91dDpudWxsLHh1PXR5cGVvZiBzZXRJbW1lZGlhdGU8InUiP3NldEltbWVkaWF0ZTpudWxsO2Z1bmN0aW9uIHF0KF8pe2Zvcih2YXIgcT10bChIbCk7cSE9PW51bGw7KXtpZihxLmNhbGxiYWNrPT09bnVsbClTKEhsKTtlbHNlIGlmKHEuc3RhcnRUaW1lPD1fKVMoSGwpLHEuc29ydEluZGV4PXEuZXhwaXJhdGlvblRpbWUsZ2woRWwscSk7ZWxzZSBicmVhaztxPXRsKEhsKX19ZnVuY3Rpb24gQnQoXyl7aWYod2w9ITEscXQoXyksIWx0KWlmKHRsKEVsKSE9PW51bGwpbHQ9ITAsdXR8fCh1dD0hMCxhdCgpKTtlbHNle3ZhciBxPXRsKEhsKTtxIT09bnVsbCYmRGwoQnQscS5zdGFydFRpbWUtXyl9fXZhciB1dD0hMSxWPS0xLEY9NSxHdD0tMTtmdW5jdGlvbiBndCgpe3JldHVybiB2bD8hMDohKEQudW5zdGFibGVfbm93KCktR3Q8Ril9ZnVuY3Rpb24gU3QoKXtpZih2bD0hMSx1dCl7dmFyIF89RC51bnN0YWJsZV9ub3coKTtHdD1fO3ZhciBxPSEwO3RyeXtsOntsdD0hMSx3bCYmKHdsPSExLHR0KFYpLFY9LTEpLE5sPSEwO3ZhciBCPUg7dHJ5e3Q6e2ZvcihxdChfKSxUPXRsKEVsKTtUIT09bnVsbCYmIShULmV4cGlyYXRpb25UaW1lPl8mJmd0KCkpOyl7dmFyIGNsPVQuY2FsbGJhY2s7aWYodHlwZW9mIGNsPT0iZnVuY3Rpb24iKXtULmNhbGxiYWNrPW51bGwsSD1ULnByaW9yaXR5TGV2ZWw7dmFyIFA9Y2woVC5leHBpcmF0aW9uVGltZTw9Xyk7aWYoXz1ELnVuc3RhYmxlX25vdygpLHR5cGVvZiBQPT0iZnVuY3Rpb24iKXtULmNhbGxiYWNrPVAscXQoXykscT0hMDticmVhayB0fVQ9PT10bChFbCkmJlMoRWwpLHF0KF8pfWVsc2UgUyhFbCk7VD10bChFbCl9aWYoVCE9PW51bGwpcT0hMDtlbHNle3ZhciBEdD10bChIbCk7RHQhPT1udWxsJiZEbChCdCxEdC5zdGFydFRpbWUtXykscT0hMX19YnJlYWsgbH1maW5hbGx5e1Q9bnVsbCxIPUIsTmw9ITF9cT12b2lkIDB9fWZpbmFsbHl7cT9hdCgpOnV0PSExfX19dmFyIGF0O2lmKHR5cGVvZiB4dT09ImZ1bmN0aW9uIilhdD1mdW5jdGlvbigpe3h1KFN0KX07ZWxzZSBpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWw8InUiKXt2YXIgc3U9bmV3IE1lc3NhZ2VDaGFubmVsLEt1PXN1LnBvcnQyO3N1LnBvcnQxLm9ubWVzc2FnZT1TdCxhdD1mdW5jdGlvbigpe0t1LnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIGF0PWZ1bmN0aW9uKCl7aHQoU3QsMCl9O2Z1bmN0aW9uIERsKF8scSl7Vj1odChmdW5jdGlvbigpe18oRC51bnN0YWJsZV9ub3coKSl9LHEpfUQudW5zdGFibGVfSWRsZVByaW9yaXR5PTUsRC51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eT0xLEQudW5zdGFibGVfTG93UHJpb3JpdHk9NCxELnVuc3RhYmxlX05vcm1hbFByaW9yaXR5PTMsRC51bnN0YWJsZV9Qcm9maWxpbmc9bnVsbCxELnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5PTIsRC51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihfKXtfLmNhbGxiYWNrPW51bGx9LEQudW5zdGFibGVfZm9yY2VGcmFtZVJhdGU9ZnVuY3Rpb24oXyl7MD5ffHwxMjU8Xz9jb25zb2xlLmVycm9yKCJmb3JjZUZyYW1lUmF0ZSB0YWtlcyBhIHBvc2l0aXZlIGludCBiZXR3ZWVuIDAgYW5kIDEyNSwgZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWQiKTpGPTA8Xz9NYXRoLmZsb29yKDFlMy9fKTo1fSxELnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIEh9LEQudW5zdGFibGVfbmV4dD1mdW5jdGlvbihfKXtzd2l0Y2goSCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIHE9MzticmVhaztkZWZhdWx0OnE9SH12YXIgQj1IO0g9cTt0cnl7cmV0dXJuIF8oKX1maW5hbGx5e0g9Qn19LEQudW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7dmw9ITB9LEQudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5PWZ1bmN0aW9uKF8scSl7c3dpdGNoKF8pe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOmNhc2UgNDpjYXNlIDU6YnJlYWs7ZGVmYXVsdDpfPTN9dmFyIEI9SDtIPV87dHJ5e3JldHVybiBxKCl9ZmluYWxseXtIPUJ9fSxELnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s9ZnVuY3Rpb24oXyxxLEIpe3ZhciBjbD1ELnVuc3RhYmxlX25vdygpO3N3aXRjaCh0eXBlb2YgQj09Im9iamVjdCImJkIhPT1udWxsPyhCPUIuZGVsYXksQj10eXBlb2YgQj09Im51bWJlciImJjA8Qj9jbCtCOmNsKTpCPWNsLF8pe2Nhc2UgMTp2YXIgUD0tMTticmVhaztjYXNlIDI6UD0yNTA7YnJlYWs7Y2FzZSA1OlA9MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6UD0xZTQ7YnJlYWs7ZGVmYXVsdDpQPTVlM31yZXR1cm4gUD1CK1AsXz17aWQ6WSsrLGNhbGxiYWNrOnEscHJpb3JpdHlMZXZlbDpfLHN0YXJ0VGltZTpCLGV4cGlyYXRpb25UaW1lOlAsc29ydEluZGV4Oi0xfSxCPmNsPyhfLnNvcnRJbmRleD1CLGdsKEhsLF8pLHRsKEVsKT09PW51bGwmJl89PT10bChIbCkmJih3bD8odHQoViksVj0tMSk6d2w9ITAsRGwoQnQsQi1jbCkpKTooXy5zb3J0SW5kZXg9UCxnbChFbCxfKSxsdHx8Tmx8fChsdD0hMCx1dHx8KHV0PSEwLGF0KCkpKSksX30sRC51bnN0YWJsZV9zaG91bGRZaWVsZD1ndCxELnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihfKXt2YXIgcT1IO3JldHVybiBmdW5jdGlvbigpe3ZhciBCPUg7SD1xO3RyeXtyZXR1cm4gXy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtIPUJ9fX19KShyMCkpLHIwfXZhciBGbTtmdW5jdGlvbiBQcygpe3JldHVybiBGbXx8KEZtPTEsUzAuZXhwb3J0cz1rcygpKSxTMC5leHBvcnRzfXZhciBUMD17ZXhwb3J0czp7fX0sWmw9e307dmFyIEltO2Z1bmN0aW9uIGxoKCl7aWYoSW0pcmV0dXJuIFpsO0ltPTE7dmFyIEQ9ejAoKTtmdW5jdGlvbiBnbChZKXt2YXIgVD0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIrWTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe1QrPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBIPTI7SDxhcmd1bWVudHMubGVuZ3RoO0grKylUKz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbSF0pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitZKyI7IHZpc2l0ICIrVCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIHRsKCl7fXZhciBTPXtkOntmOnRsLHI6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihnbCg1MjIpKX0sRDp0bCxDOnRsLEw6dGwsbTp0bCxYOnRsLFM6dGwsTTp0bH0scDowLGZpbmRET01Ob2RlOm51bGx9LGZsPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHNsPVN5bWJvbC5mb3IoInJlYWN0LnJlY292ZXJhYmxlIiksSmw9U3ltYm9sLmZvcigicmVhY3Qub3B0aW1pc3RpY19rZXkiKTtmdW5jdGlvbiBkdShZLFQsSCl7dmFyIE5sPTM8YXJndW1lbnRzLmxlbmd0aCYmYXJndW1lbnRzWzNdIT09dm9pZCAwP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjpmbCxrZXk6Tmw9PW51bGw/bnVsbDpObD09PUpsP0psOiIiK05sLGNoaWxkcmVuOlksY29udGFpbmVySW5mbzpULGltcGxlbWVudGF0aW9uOkh9fXZhciBFbD1ELl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBIbChZLFQpe2lmKFk9PT0iZm9udCIpcmV0dXJuIiI7aWYodHlwZW9mIFQ9PSJzdHJpbmciKXJldHVybiBUPT09InVzZS1jcmVkZW50aWFscyI/VDoiIn1yZXR1cm4gWmwuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPVMsWmwuYnJvd3Nlcj1mdW5jdGlvbihZKXtyZXR1cm57JCR0eXBlb2Y6c2wsX3JlYXNvbjpZfX0sWmwuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKFksVCl7dmFyIEg9Mjxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOm51bGw7aWYoIVR8fFQubm9kZVR5cGUhPT0xJiZULm5vZGVUeXBlIT09OSYmVC5ub2RlVHlwZSE9PTExKXRocm93IEVycm9yKGdsKDI5OSkpO3JldHVybiBkdShZLFQsbnVsbCxIKX0sWmwuZmx1c2hTeW5jPWZ1bmN0aW9uKFkpe3ZhciBUPUVsLlQsSD1TLnA7dHJ5e2lmKEVsLlQ9bnVsbCxTLnA9MixZKXJldHVybiBZKCl9ZmluYWxseXtFbC5UPVQsUy5wPUgsUy5kLmYoKX19LFpsLnByZWNvbm5lY3Q9ZnVuY3Rpb24oWSxUKXt0eXBlb2YgWT09InN0cmluZyImJihUPyhUPVQuY3Jvc3NPcmlnaW4sVD10eXBlb2YgVD09InN0cmluZyI/VD09PSJ1c2UtY3JlZGVudGlhbHMiP1Q6IiI6dm9pZCAwKTpUPW51bGwsUy5kLkMoWSxUKSl9LFpsLnByZWZldGNoRE5TPWZ1bmN0aW9uKFkpe3R5cGVvZiBZPT0ic3RyaW5nIiYmUy5kLkQoWSl9LFpsLnByZWluaXQ9ZnVuY3Rpb24oWSxUKXtpZih0eXBlb2YgWT09InN0cmluZyImJlQmJnR5cGVvZiBULmFzPT0ic3RyaW5nIil7dmFyIEg9VC5hcyxObD1IbChILFQuY3Jvc3NPcmlnaW4pLGx0PXR5cGVvZiBULmludGVncml0eT09InN0cmluZyI/VC5pbnRlZ3JpdHk6dm9pZCAwLHdsPXR5cGVvZiBULmZldGNoUHJpb3JpdHk9PSJzdHJpbmciP1QuZmV0Y2hQcmlvcml0eTp2b2lkIDA7SD09PSJzdHlsZSI/Uy5kLlMoWSx0eXBlb2YgVC5wcmVjZWRlbmNlPT0ic3RyaW5nIj9ULnByZWNlZGVuY2U6dm9pZCAwLHtjcm9zc09yaWdpbjpObCxpbnRlZ3JpdHk6bHQsZmV0Y2hQcmlvcml0eTp3bH0pOkg9PT0ic2NyaXB0IiYmUy5kLlgoWSx7Y3Jvc3NPcmlnaW46TmwsaW50ZWdyaXR5Omx0LGZldGNoUHJpb3JpdHk6d2wsbm9uY2U6dHlwZW9mIFQubm9uY2U9PSJzdHJpbmciP1Qubm9uY2U6dm9pZCAwfSl9fSxabC5wcmVpbml0TW9kdWxlPWZ1bmN0aW9uKFksVCl7aWYodHlwZW9mIFk9PSJzdHJpbmciKWlmKHR5cGVvZiBUPT0ib2JqZWN0IiYmVCE9PW51bGwpe2lmKFQuYXM9PW51bGx8fFQuYXM9PT0ic2NyaXB0Iil7dmFyIEg9SGwoVC5hcyxULmNyb3NzT3JpZ2luKTtTLmQuTShZLHtjcm9zc09yaWdpbjpILGludGVncml0eTp0eXBlb2YgVC5pbnRlZ3JpdHk9PSJzdHJpbmciP1QuaW50ZWdyaXR5OnZvaWQgMCxub25jZTp0eXBlb2YgVC5ub25jZT09InN0cmluZyI/VC5ub25jZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgVC5mZXRjaFByaW9yaXR5PT0ic3RyaW5nIj9ULmZldGNoUHJpb3JpdHk6dm9pZCAwfSl9fWVsc2UgVD09bnVsbCYmUy5kLk0oWSl9LFpsLnByZWxvYWQ9ZnVuY3Rpb24oWSxUKXtpZih0eXBlb2YgWT09InN0cmluZyImJnR5cGVvZiBUPT0ib2JqZWN0IiYmVCE9PW51bGwmJnR5cGVvZiBULmFzPT0ic3RyaW5nIil7dmFyIEg9VC5hcyxObD1IbChILFQuY3Jvc3NPcmlnaW4pO1MuZC5MKFksSCx7Y3Jvc3NPcmlnaW46TmwsaW50ZWdyaXR5OnR5cGVvZiBULmludGVncml0eT09InN0cmluZyI/VC5pbnRlZ3JpdHk6dm9pZCAwLG5vbmNlOnR5cGVvZiBULm5vbmNlPT0ic3RyaW5nIj9ULm5vbmNlOnZvaWQgMCx0eXBlOnR5cGVvZiBULnR5cGU9PSJzdHJpbmciP1QudHlwZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgVC5mZXRjaFByaW9yaXR5PT0ic3RyaW5nIj9ULmZldGNoUHJpb3JpdHk6dm9pZCAwLHJlZmVycmVyUG9saWN5OnR5cGVvZiBULnJlZmVycmVyUG9saWN5PT0ic3RyaW5nIj9ULnJlZmVycmVyUG9saWN5OnZvaWQgMCxpbWFnZVNyY1NldDp0eXBlb2YgVC5pbWFnZVNyY1NldD09InN0cmluZyI/VC5pbWFnZVNyY1NldDp2b2lkIDAsaW1hZ2VTaXplczp0eXBlb2YgVC5pbWFnZVNpemVzPT0ic3RyaW5nIj9ULmltYWdlU2l6ZXM6dm9pZCAwLG1lZGlhOnR5cGVvZiBULm1lZGlhPT0ic3RyaW5nIj9ULm1lZGlhOnZvaWQgMH0pfX0sWmwucHJlbG9hZE1vZHVsZT1mdW5jdGlvbihZLFQpe2lmKHR5cGVvZiBZPT0ic3RyaW5nIilpZihUKXt2YXIgSD1IbChULmFzLFQuY3Jvc3NPcmlnaW4pO1MuZC5tKFkse2FzOnR5cGVvZiBULmFzPT0ic3RyaW5nIiYmVC5hcyE9PSJzY3JpcHQiP1QuYXM6dm9pZCAwLGNyb3NzT3JpZ2luOkgsaW50ZWdyaXR5OnR5cGVvZiBULmludGVncml0eT09InN0cmluZyI/VC5pbnRlZ3JpdHk6dm9pZCAwLG5vbmNlOnR5cGVvZiBULm5vbmNlPT0ic3RyaW5nIj9ULm5vbmNlOnZvaWQgMCxmZXRjaFByaW9yaXR5OnR5cGVvZiBULmZldGNoUHJpb3JpdHk9PSJzdHJpbmciP1QuZmV0Y2hQcmlvcml0eTp2b2lkIDB9KX1lbHNlIFMuZC5tKFkpfSxabC5yZXF1ZXN0Rm9ybVJlc2V0PWZ1bmN0aW9uKFkpe1MuZC5yKFkpfSxabC51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1mdW5jdGlvbihZLFQpe3JldHVybiBZKFQpfSxabC51c2VGb3JtU3RhdGU9ZnVuY3Rpb24oWSxULEgpe3JldHVybiBFbC5ILnVzZUZvcm1TdGF0ZShZLFQsSCl9LFpsLnVzZUZvcm1TdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gRWwuSC51c2VIb3N0VHJhbnNpdGlvblN0YXR1cygpfSxabC52ZXJzaW9uPSIxOS4zLjEiLFpsfXZhciBrbTtmdW5jdGlvbiB0aCgpe2lmKGttKXJldHVybiBUMC5leHBvcnRzO2ttPTE7ZnVuY3Rpb24gRCgpe2lmKCEodHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXz4idSJ8fHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UhPSJmdW5jdGlvbiIpKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoRCl9Y2F0Y2goZ2wpe2NvbnNvbGUuZXJyb3IoZ2wpfX1yZXR1cm4gRCgpLFQwLmV4cG9ydHM9bGgoKSxUMC5leHBvcnRzfXZhciBQbTtmdW5jdGlvbiB1aCgpe2lmKFBtKXJldHVybiB0bjtQbT0xO3ZhciBEPVBzKCksZ2w9ejAoKSx0bD10aCgpO2Z1bmN0aW9uIFMobCl7dmFyIHQ9Imh0dHBzOi8vcmVhY3QuZGV2L2Vycm9ycy8iK2w7aWYoMTxhcmd1bWVudHMubGVuZ3RoKXt0Kz0iP2FyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbMV0pO2Zvcih2YXIgdT0yO3U8YXJndW1lbnRzLmxlbmd0aDt1KyspdCs9IiZhcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW3VdKX1yZXR1cm4iTWluaWZpZWQgUmVhY3QgZXJyb3IgIyIrbCsiOyB2aXNpdCAiK3QrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuIn1mdW5jdGlvbiBmbChsKXtyZXR1cm4hKCFsfHxsLm5vZGVUeXBlIT09MSYmbC5ub2RlVHlwZSE9PTkmJmwubm9kZVR5cGUhPT0xMSl9ZnVuY3Rpb24gc2wobCl7Zm9yKHZhciB0PWwsdT10O3UmJiF1LmFsdGVybmF0ZTspdD11LCh0LmZsYWdzJjQwOTgpIT09MCYmKGw9dC5yZXR1cm4pLHU9dC5yZXR1cm47Zm9yKDt0LnJldHVybjspdD10LnJldHVybjtyZXR1cm4gdC50YWc9PT0zP2w6bnVsbH1mdW5jdGlvbiBKbChsKXtpZihsLnRhZz09PTEzKXt2YXIgdD1sLm1lbW9pemVkU3RhdGU7aWYodD09PW51bGwmJihsPWwuYWx0ZXJuYXRlLGwhPT1udWxsJiYodD1sLm1lbW9pemVkU3RhdGUpKSx0IT09bnVsbClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIGR1KGwpe2lmKGwudGFnPT09MzEpe3ZhciB0PWwubWVtb2l6ZWRTdGF0ZTtpZih0PT09bnVsbCYmKGw9bC5hbHRlcm5hdGUsbCE9PW51bGwmJih0PWwubWVtb2l6ZWRTdGF0ZSkpLHQhPT1udWxsKXJldHVybiB0LmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gRWwobCl7aWYoc2wobCkhPT1sKXRocm93IEVycm9yKFMoMTg4KSl9ZnVuY3Rpb24gSGwobCl7dmFyIHQ9bC5hbHRlcm5hdGU7aWYoIXQpe2lmKHQ9c2wobCksdD09PW51bGwpdGhyb3cgRXJyb3IoUygxODgpKTtyZXR1cm4gdCE9PWw/bnVsbDpsfWZvcih2YXIgdT1sLGE9dDs7KXt2YXIgZT11LnJldHVybjtpZihlPT09bnVsbClicmVhazt2YXIgbj1lLmFsdGVybmF0ZTtpZihuPT09bnVsbCl7aWYoYT1lLnJldHVybixhIT09bnVsbCl7dT1hO2NvbnRpbnVlfWJyZWFrfWlmKGUuY2hpbGQ9PT1uLmNoaWxkKXtmb3Iobj1lLmNoaWxkO247KXtpZihuPT09dSlyZXR1cm4gRWwoZSksbDtpZihuPT09YSlyZXR1cm4gRWwoZSksdDtuPW4uc2libGluZ310aHJvdyBFcnJvcihTKDE4OCkpfWlmKHUucmV0dXJuIT09YS5yZXR1cm4pdT1lLGE9bjtlbHNle2Zvcih2YXIgZj0hMSxjPWUuY2hpbGQ7Yzspe2lmKGM9PT11KXtmPSEwLHU9ZSxhPW47YnJlYWt9aWYoYz09PWEpe2Y9ITAsYT1lLHU9bjticmVha31jPWMuc2libGluZ31pZighZil7Zm9yKGM9bi5jaGlsZDtjOyl7aWYoYz09PXUpe2Y9ITAsdT1uLGE9ZTticmVha31pZihjPT09YSl7Zj0hMCxhPW4sdT1lO2JyZWFrfWM9Yy5zaWJsaW5nfWlmKCFmKXRocm93IEVycm9yKFMoMTg5KSl9fWlmKHUuYWx0ZXJuYXRlIT09YSl0aHJvdyBFcnJvcihTKDE5MCkpfWlmKHUudGFnIT09Myl0aHJvdyBFcnJvcihTKDE4OCkpO3JldHVybiB1LnN0YXRlTm9kZS5jdXJyZW50PT09dT9sOnR9ZnVuY3Rpb24gWShsKXt2YXIgdD1sLnRhZztpZih0PT09NXx8dD09PTI2fHx0PT09Mjd8fHQ9PT02KXJldHVybiBsO2ZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtpZih0PVkobCksdCE9PW51bGwpcmV0dXJuIHQ7bD1sLnNpYmxpbmd9cmV0dXJuIG51bGx9ZnVuY3Rpb24gVChsLHQsdSxhLGUsbil7Zm9yKDtsIT09bnVsbDspe2lmKChsLnRhZz09PTV8fGwudGFnPT09Mjd8fGwudGFnPT09NikmJnUobCxhLGUsbil8fChsLnRhZyE9PTIyfHxsLm1lbW9pemVkU3RhdGU9PT1udWxsKSYmKHR8fGwudGFnIT09NSYmbC50YWchPT0yNykmJlQobC5jaGlsZCx0LHUsYSxlLG4pKXJldHVybiEwO2w9bC5zaWJsaW5nfXJldHVybiExfWZ1bmN0aW9uIEgobCl7Zm9yKGw9bC5yZXR1cm47bCE9PW51bGw7KXtpZihsLnRhZz09PTN8fGwudGFnPT09NXx8bC50YWc9PT0yNylyZXR1cm4gbDtsPWwucmV0dXJufXJldHVybiBudWxsfWZ1bmN0aW9uIE5sKGwpe3ZhciB0PSExO2ZvcihsPWwucmV0dXJuO2whPT1udWxsJiYobC50YWc9PT00JiYodD0hMCksIShsLnRhZz09PTN8fGwudGFnPT09NXx8bC50YWc9PT0yNykpOylsPWwucmV0dXJuO3JldHVybiB0fWZ1bmN0aW9uIGx0KGwpe3ZhciB0PVtudWxsLG51bGxdLHU9SChsKTtyZXR1cm4gdT09PW51bGx8fHdsKHQsbCx1LmNoaWxkLHtmb3VuZFNlbGY6ITF9KSx0fWZ1bmN0aW9uIHdsKGwsdCx1LGEpe2Zvcig7dSE9PW51bGw7KXtpZih1PT09dClhLmZvdW5kU2VsZj0hMDtlbHNlIGlmKHUudGFnPT09NXx8dS50YWc9PT0yN3x8dS50YWc9PT02KXtpZihhLmZvdW5kU2VsZilyZXR1cm4gbFsxXT11LCEwO2xbMF09dX1lbHNlIGlmKCh1LnRhZyE9PTIyfHx1Lm1lbW9pemVkU3RhdGU9PT1udWxsKSYmd2wobCx0LHUuY2hpbGQsYSkpcmV0dXJuITA7dT11LnNpYmxpbmd9cmV0dXJuITF9ZnVuY3Rpb24gdmwobCl7c3dpdGNoKGwudGFnKXtjYXNlIDU6Y2FzZSAyNzpjYXNlIDY6cmV0dXJuIGwuc3RhdGVOb2RlO2Nhc2UgMzpyZXR1cm4gbC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztkZWZhdWx0OnRocm93IEVycm9yKFMoNTU5KSl9fXZhciBodD1udWxsLHR0PW51bGw7ZnVuY3Rpb24geHUobCx0LHUpe3JldHVybiBsPT09dT8hMDpsPT09dD8oaHQ9bCwhMCk6ITF9ZnVuY3Rpb24gcXQobCx0LHUpe3JldHVybiBsPT09dT8odHQ9bCwhMSk6bD09PXQ/KHR0IT09bnVsbCYmKGh0PWwpLCEwKTohMX1mdW5jdGlvbiBCdChsKXtpZihsPT09bnVsbClyZXR1cm4gbnVsbDtkbyBsPWw9PT1udWxsP251bGw6bC5yZXR1cm47d2hpbGUobCYmbC50YWchPT01JiZsLnRhZyE9PTI3JiZsLnRhZyE9PTMpO3JldHVybiBsfHxudWxsfWZ1bmN0aW9uIHV0KGwsdCx1KXtmb3IodmFyIGE9MCxlPWw7ZTtlPXUoZSkpYSsrO2U9MDtmb3IodmFyIG49dDtuO249dShuKSllKys7Zm9yKDswPGEtZTspbD11KGwpLGEtLTtmb3IoOzA8ZS1hOyl0PXUodCksZS0tO2Zvcig7YS0tOyl7aWYobD09PXR8fHQhPT1udWxsJiZsPT09dC5hbHRlcm5hdGUpcmV0dXJuIGw7bD11KGwpLHQ9dSh0KX1yZXR1cm4gbnVsbH12YXIgVj1PYmplY3QuYXNzaWduLEY9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLEd0PVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IiksZ3Q9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksU3Q9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxhdD1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLHN1PVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksS3U9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxEbD1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0IiksXz1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLHE9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxCPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlX2xpc3QiKSxjbD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksRHQ9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxGdD1TeW1ib2wuZm9yKCJyZWFjdC5sZWdhY3lfaGlkZGVuIiksSnU9U3ltYm9sLmZvcigicmVhY3QubWVtb19jYWNoZV9zZW50aW5lbCIpLG89U3ltYm9sLmZvcigicmVhY3Qudmlld190cmFuc2l0aW9uIiksej1TeW1ib2wuZm9yKCJyZWFjdC5yZWNvdmVyYWJsZSIpLFU9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEMobCl7cmV0dXJuIGw9PT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCI/bnVsbDoobD1VJiZsW1VdfHxsWyJAQGl0ZXJhdG9yIl0sdHlwZW9mIGw9PSJmdW5jdGlvbiI/bDpudWxsKX12YXIgdz1TeW1ib2wuZm9yKCJyZWFjdC5jbGllbnQucmVmZXJlbmNlIik7ZnVuY3Rpb24gVyhsKXtpZihsPT1udWxsKXJldHVybiBudWxsO2lmKHR5cGVvZiBsPT0iZnVuY3Rpb24iKXJldHVybiBsLiQkdHlwZW9mPT09dz9udWxsOmwuZGlzcGxheU5hbWV8fGwubmFtZXx8bnVsbDtpZih0eXBlb2YgbD09InN0cmluZyIpcmV0dXJuIGw7c3dpdGNoKGwpe2Nhc2UgU3Q6cmV0dXJuIkZyYWdtZW50IjtjYXNlIHN1OnJldHVybiJQcm9maWxlciI7Y2FzZSBhdDpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBxOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBCOnJldHVybiJTdXNwZW5zZUxpc3QiO2Nhc2UgRHQ6cmV0dXJuIkFjdGl2aXR5IjtjYXNlIG86cmV0dXJuIlZpZXdUcmFuc2l0aW9uIn1pZih0eXBlb2YgbD09Im9iamVjdCIpc3dpdGNoKGwuJCR0eXBlb2Ype2Nhc2UgZ3Q6cmV0dXJuIlBvcnRhbCI7Y2FzZSBEbDpyZXR1cm4gbC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiO2Nhc2UgS3U6cmV0dXJuKGwuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBfOnZhciB0PWwucmVuZGVyO3JldHVybiBsPWwuZGlzcGxheU5hbWUsbHx8KGw9dC5kaXNwbGF5TmFtZXx8dC5uYW1lfHwiIixsPWwhPT0iIj8iRm9yd2FyZFJlZigiK2wrIikiOiJGb3J3YXJkUmVmIiksbDtjYXNlIGNsOnJldHVybiB0PWwuZGlzcGxheU5hbWV8fG51bGwsdCE9PW51bGw/dDpXKGwudHlwZSl8fCJNZW1vIjtjYXNlIFA6dD1sLl9wYXlsb2FkLGw9bC5faW5pdDt0cnl7cmV0dXJuIFcobCh0KSl9Y2F0Y2h7fX1yZXR1cm4gbnVsbH12YXIgST1BcnJheS5pc0FycmF5LE49Z2wuX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLEc9dGwuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLEl0PXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0scWY9W10sZ2E9LTE7ZnVuY3Rpb24gWHQobCl7cmV0dXJue2N1cnJlbnQ6bH19ZnVuY3Rpb24gWWwobCl7MD5nYXx8KGwuY3VycmVudD1xZltnYV0scWZbZ2FdPW51bGwsZ2EtLSl9ZnVuY3Rpb24gb2wobCx0KXtnYSsrLHFmW2dhXT1sLmN1cnJlbnQsbC5jdXJyZW50PXR9dmFyIFF0PVh0KG51bGwpLGNlPVh0KG51bGwpLGh1PVh0KG51bGwpLHVuPVh0KG51bGwpO2Z1bmN0aW9uIGFuKGwsdCl7c3dpdGNoKG9sKGh1LHQpLG9sKGNlLGwpLG9sKFF0LG51bGwpLHQubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOmw9KGw9dC5kb2N1bWVudEVsZW1lbnQpJiYobD1sLm5hbWVzcGFjZVVSSSk/dW0obCk6MDticmVhaztkZWZhdWx0OmlmKGw9dC50YWdOYW1lLHQ9dC5uYW1lc3BhY2VVUkkpdD11bSh0KSxsPWFtKHQsbCk7ZWxzZSBzd2l0Y2gobCl7Y2FzZSJzdmciOmw9MTticmVhaztjYXNlIm1hdGgiOmw9MjticmVhaztkZWZhdWx0Omw9MH19WWwoUXQpLG9sKFF0LGwpfWZ1bmN0aW9uIFNhKCl7WWwoUXQpLFlsKGNlKSxZbChodSl9ZnVuY3Rpb24gQmYobCl7dmFyIHQ9bC5tZW1vaXplZFN0YXRlO3QhPT1udWxsJiYoZWUuX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsb2wodW4sbCkpLHQ9UXQuY3VycmVudDt2YXIgdT1hbSh0LGwudHlwZSk7dCE9PXUmJihvbChjZSxsKSxvbChRdCx1KSl9ZnVuY3Rpb24gZW4obCl7Y2UuY3VycmVudD09PWwmJihZbChRdCksWWwoY2UpKSx1bi5jdXJyZW50PT09bCYmKFlsKHVuKSxlZS5fY3VycmVudFZhbHVlPUl0KX12YXIgR2YsYjA7ZnVuY3Rpb24gZ3UobCl7aWYoR2Y9PT12b2lkIDApdHJ5e3Rocm93IEVycm9yKCl9Y2F0Y2godSl7dmFyIHQ9dS5zdGFjay50cmltKCkubWF0Y2goL1xuKCAqKGF0ICk/KS8pO0dmPXQmJnRbMV18fCIiLGIwPS0xPHUuc3RhY2suaW5kZXhPZihgCiAgICBhdGApPyIgKDxhbm9ueW1vdXM+KSI6LTE8dS5zdGFjay5pbmRleE9mKCJAIik/IkB1bmtub3duOjA6MCI6IiJ9cmV0dXJuYApgK0dmK2wrYjB9dmFyIFhmPSExO2Z1bmN0aW9uIFFmKGwsdCl7aWYoIWx8fFhmKXJldHVybiIiO1hmPSEwO3ZhciB1PUVycm9yLnByZXBhcmVTdGFja1RyYWNlO0Vycm9yLnByZXBhcmVTdGFja1RyYWNlPXZvaWQgMDt0cnl7dmFyIGE9e0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdDpmdW5jdGlvbigpe3RyeXtpZih0KXt2YXIgRT1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9O2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChFLFtdKX1jYXRjaChiKXt2YXIgeT1ifVJlZmxlY3QuY29uc3RydWN0KGwsW10sRSl9ZWxzZXt0cnl7RS5jYWxsKCl9Y2F0Y2goYil7eT1ifUU9ITE7dHJ5e3ZhciBoPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobC5wcm90b3R5cGUsInByb3BzIik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGwucHJvdG90eXBlLCJwcm9wcyIse2NvbmZpZ3VyYWJsZTohMCxzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLEU9ITAsbmV3IGx9ZmluYWxseXtFJiYoaCE9PXZvaWQgMD9PYmplY3QuZGVmaW5lUHJvcGVydHkobC5wcm90b3R5cGUsInByb3BzIixoKTpkZWxldGUgbC5wcm90b3R5cGUucHJvcHMpfX19ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChiKXt5PWJ9KEU9bCgpKSYmdHlwZW9mIEUuY2F0Y2g9PSJmdW5jdGlvbiImJkUuY2F0Y2goZnVuY3Rpb24oKXt9KX19Y2F0Y2goYil7aWYoYiYmeSYmdHlwZW9mIGIuc3RhY2s9PSJzdHJpbmciKXJldHVybltiLnN0YWNrLHkuc3RhY2tdfXJldHVybltudWxsLG51bGxdfX07YS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWU9IkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCI7dmFyIGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIpO2UmJmUuY29uZmlndXJhYmxlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsIm5hbWUiLHt2YWx1ZToiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290In0pO3ZhciBuPWEuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290KCksZj1uWzBdLGM9blsxXTtpZihmJiZjKXt2YXIgaT1mLnNwbGl0KGAKYCksZD1jLnNwbGl0KGAKYCk7Zm9yKGU9YT0wO2E8aS5sZW5ndGgmJiFpW2FdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspYSsrO2Zvcig7ZTxkLmxlbmd0aCYmIWRbZV0uaW5jbHVkZXMoIkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCIpOyllKys7aWYoYT09PWkubGVuZ3RofHxlPT09ZC5sZW5ndGgpZm9yKGE9aS5sZW5ndGgtMSxlPWQubGVuZ3RoLTE7MTw9YSYmMDw9ZSYmaVthXSE9PWRbZV07KWUtLTtmb3IoOzE8PWEmJjA8PWU7YS0tLGUtLSlpZihpW2FdIT09ZFtlXSl7aWYoYSE9PTF8fGUhPT0xKWRvIGlmKGEtLSxlLS0sMD5lfHxpW2FdIT09ZFtlXSl7dmFyIGc9YApgK2lbYV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGwuZGlzcGxheU5hbWUmJmcuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihnPWcucmVwbGFjZSgiPGFub255bW91cz4iLGwuZGlzcGxheU5hbWUpKSxnfXdoaWxlKDE8PWEmJjA8PWUpO2JyZWFrfX19ZmluYWxseXtYZj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT11fXJldHVybih1PWw/bC5kaXNwbGF5TmFtZXx8bC5uYW1lOiIiKT9ndSh1KToiIn1mdW5jdGlvbiB0MShsLHQpe3N3aXRjaChsLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZ3UobC50eXBlKTtjYXNlIDE2OnJldHVybiBndSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGwuY2hpbGQhPT10JiZ0IT09bnVsbD9ndSgiU3VzcGVuc2UgRmFsbGJhY2siKTpndSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBndSgiU3VzcGVuc2VMaXN0Iik7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIFFmKGwudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gUWYobC50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBRZihsLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGd1KCJBY3Rpdml0eSIpO2Nhc2UgMzA6cmV0dXJuIGd1KCJWaWV3VHJhbnNpdGlvbiIpO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIF8wKGwpe3RyeXt2YXIgdD0iIix1PW51bGw7ZG8gdCs9dDEobCx1KSx1PWwsbD1sLnJldHVybjt3aGlsZShsKTtyZXR1cm4gdH1jYXRjaChhKXtyZXR1cm5gCkVycm9yIGdlbmVyYXRpbmcgc3RhY2s6IGArYS5tZXNzYWdlK2AKYCthLnN0YWNrfX12YXIgamY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxaZj1ELnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssVmY9RC51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayx1MT1ELnVuc3RhYmxlX3Nob3VsZFlpZWxkLGExPUQudW5zdGFibGVfcmVxdWVzdFBhaW50LGV0PUQudW5zdGFibGVfbm93LGUxPUQudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsTzA9RC51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxBMD1ELnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LG5uPUQudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksbjE9RC51bnN0YWJsZV9Mb3dQcmlvcml0eSxOMD1ELnVuc3RhYmxlX0lkbGVQcmlvcml0eSxmMT1ELmxvZyxjMT1ELnVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlLGllPW51bGwsbnQ9bnVsbDtmdW5jdGlvbiBTdShsKXtpZih0eXBlb2YgZjE9PSJmdW5jdGlvbiImJmMxKGwpLG50JiZ0eXBlb2YgbnQuc2V0U3RyaWN0TW9kZT09ImZ1bmN0aW9uIil0cnl7bnQuc2V0U3RyaWN0TW9kZShpZSxsKX1jYXRjaHt9fXZhciBmdD1NYXRoLmNsejMyP01hdGguY2x6MzI6bzEsaTE9TWF0aC5sb2csdjE9TWF0aC5MTjI7ZnVuY3Rpb24gbzEobCl7cmV0dXJuIGw+Pj49MCxsPT09MD8zMjozMS0oaTEobCkvdjF8MCl8MH12YXIgZm49MjU2LGNuPTI2MjE0NCx2bj00MTk0MzA0O2Z1bmN0aW9uIHd1KGwpe3ZhciB0PWwmNDI7aWYodCE9PTApcmV0dXJuIHQ7c3dpdGNoKGwmLWwpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OnJldHVybiA2NDtjYXNlIDEyODpyZXR1cm4gMTI4O2Nhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpyZXR1cm4gbCYtbDtjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBsJjM5MzIxNjA7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuIGwmNjI5MTQ1NjA7Y2FzZSA2NzEwODg2NDpyZXR1cm4gNjcxMDg4NjQ7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIGx9fWZ1bmN0aW9uIG9uKGwsdCx1KXt2YXIgYT1sLnBlbmRpbmdMYW5lcztpZihhPT09MClyZXR1cm4gMDt2YXIgZT0wLG49bC5zdXNwZW5kZWRMYW5lcyxmPWwucGluZ2VkTGFuZXM7bD1sLndhcm1MYW5lczt2YXIgYz1hJjEzNDIxNzcyNztyZXR1cm4gYyE9PTA/KGE9YyZ+bixhIT09MD9lPXd1KGEpOihmJj1jLGYhPT0wP2U9d3UoZik6dXx8KHU9YyZ+bCx1IT09MCYmKGU9d3UodSkpKSkpOihjPWEmfm4sYyE9PTA/ZT13dShjKTpmIT09MD9lPXd1KGYpOnV8fCh1PWEmfmwsdSE9PTAmJihlPXd1KHUpKSkpLGU9PT0wPzA6dCE9PTAmJnQhPT1lJiYodCZuKT09PTAmJihuPWUmLWUsdT10Ji10LG4+PXV8fG49PT0zMiYmKHUmNDE5NDA0OCkhPT0wKT90OmV9ZnVuY3Rpb24gdmUobCx0KXtyZXR1cm4obC5wZW5kaW5nTGFuZXMmfihsLnN1c3BlbmRlZExhbmVzJn5sLnBpbmdlZExhbmVzKSZ0KT09PTB9ZnVuY3Rpb24gRDAobCx0KXsodCY4KSE9PTAmJih0fD10JjMyKTt2YXIgdT1sLmVudGFuZ2xlZExhbmVzO2lmKHUhPT0wKWZvcihsPWwuZW50YW5nbGVtZW50cyx1Jj10OzA8dTspe3ZhciBhPTMxLWZ0KHUpLGU9MTw8YTt0fD1sW2FdLHUmPX5lfXJldHVybiB0fWZ1bmN0aW9uIHkxKGwsdCl7c3dpdGNoKGwpe2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OmNhc2UgODpjYXNlIDY0OnJldHVybiB0KzI1MDtjYXNlIDE2OmNhc2UgMzI6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIHQrNWUzO2Nhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOnJldHVybi0xO2Nhc2UgNjcxMDg4NjQ6Y2FzZSAxMzQyMTc3Mjg6Y2FzZSAyNjg0MzU0NTY6Y2FzZSA1MzY4NzA5MTI6Y2FzZSAxMDczNzQxODI0OnJldHVybi0xO2RlZmF1bHQ6cmV0dXJuLTF9fWZ1bmN0aW9uIE0wKCl7dmFyIGw9dm47cmV0dXJuIHZuPDw9MSwodm4mNjI5MTQ1NjApPT09MCYmKHZuPTQxOTQzMDQpLGx9ZnVuY3Rpb24gTGYobCl7Zm9yKHZhciB0PVtdLHU9MDszMT51O3UrKyl0LnB1c2gobCk7cmV0dXJuIHR9ZnVuY3Rpb24gb2UobCx0KXtsLnBlbmRpbmdMYW5lc3w9dCx0IT09MjY4NDM1NDU2JiYobC5zdXNwZW5kZWRMYW5lcz0wLGwucGluZ2VkTGFuZXM9MCxsLndhcm1MYW5lcz0wKX1mdW5jdGlvbiBtMShsLHQsdSxhLGUsbil7dmFyIGY9bC5wZW5kaW5nTGFuZXM7bC5wZW5kaW5nTGFuZXM9dSxsLnN1c3BlbmRlZExhbmVzPTAsbC5waW5nZWRMYW5lcz0wLGwud2FybUxhbmVzPTAsbC5leHBpcmVkTGFuZXMmPXUsbC5lbnRhbmdsZWRMYW5lcyY9dSxsLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzJj11LGwuc2hlbGxTdXNwZW5kQ291bnRlcj0wO3ZhciBjPWwuZW50YW5nbGVtZW50cyxpPWwuZXhwaXJhdGlvblRpbWVzLGQ9bC5oaWRkZW5VcGRhdGVzO2Zvcih1PWYmfnU7MDx1Oyl7dmFyIGc9MzEtZnQodSksRT0xPDxnO2NbZ109MCxpW2ddPS0xO3ZhciB5PWRbZ107aWYoeSE9PW51bGwpZm9yKGRbZ109bnVsbCxnPTA7Zzx5Lmxlbmd0aDtnKyspe3ZhciBoPXlbZ107aCE9PW51bGwmJihoLmxhbmUmPS01MzY4NzA5MTMpfXUmPX5FfWEhPT0wJiZVMChsLGEsMCksbiE9PTAmJmU9PT0wJiZsLnRhZyE9PTAmJihsLnN1c3BlbmRlZExhbmVzfD1uJn4oZiZ+dCkpfWZ1bmN0aW9uIFUwKGwsdCx1KXtsLnBlbmRpbmdMYW5lc3w9dCxsLnN1c3BlbmRlZExhbmVzJj1+dDt2YXIgYT0zMS1mdCh0KTtsLmVudGFuZ2xlZExhbmVzfD10LGwuZW50YW5nbGVtZW50c1thXT1sLmVudGFuZ2xlbWVudHNbYV18MTA3Mzc0MTgyNHx1JjI2MTkzMH1mdW5jdGlvbiBDMChsLHQpe3ZhciB1PWwuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGw9bC5lbnRhbmdsZW1lbnRzO3U7KXt2YXIgYT0zMS1mdCh1KSxlPTE8PGE7ZSZ0fGxbYV0mdCYmKGxbYV18PXQpLHUmPX5lfX1mdW5jdGlvbiBSMChsLHQpe3ZhciB1PXQmLXQ7cmV0dXJuIHU9KHUmNDIpIT09MD8xOnBmKHUpLCh1JihsLnN1c3BlbmRlZExhbmVzfHQpKSE9PTA/MDp1fWZ1bmN0aW9uIHBmKGwpe3N3aXRjaChsKXtjYXNlIDI6bD0xO2JyZWFrO2Nhc2UgODpsPTQ7YnJlYWs7Y2FzZSAzMjpsPTE2O2JyZWFrO2Nhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOmNhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmw9MTI4O2JyZWFrO2Nhc2UgMjY4NDM1NDU2Omw9MTM0MjE3NzI4O2JyZWFrO2RlZmF1bHQ6bD0wfXJldHVybiBsfWZ1bmN0aW9uIHhmKGwpe3JldHVybiBsJj0tbCwyPGw/ODxsPyhsJjEzNDIxNzcyNykhPT0wPzMyOjI2ODQzNTQ1Njo4OjJ9ZnVuY3Rpb24gSDAoKXt2YXIgbD1HLnA7cmV0dXJuIGwhPT0wP2w6KGw9d2luZG93LmV2ZW50LGw9PT12b2lkIDA/MzI6Wm0obC50eXBlKSl9ZnVuY3Rpb24gWTAobCx0KXt2YXIgdT1HLnA7dHJ5e3JldHVybiBHLnA9bCx0KCl9ZmluYWxseXtHLnA9dX19dmFyIGt0PU1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpLHFsPSJfX3JlYWN0RmliZXIkIitrdCxXbD0iX19yZWFjdFByb3BzJCIra3QscmE9Il9fcmVhY3RDb250YWluZXIkIitrdCxxMD0iX19yZWFjdEV2ZW50cyQiK2t0LGQxPSJfX3JlYWN0TGlzdGVuZXJzJCIra3QsczE9Il9fcmVhY3RIYW5kbGVzJCIra3QsQjA9Il9fcmVhY3RSZXNvdXJjZXMkIitrdCx5ZT0iX19yZWFjdE1hcmtlciQiK2t0LHluPSJfX3JlYWN0TG9hZCQiK2t0O2Z1bmN0aW9uIG1uKGwpe2RlbGV0ZSBsW3FsXSxkZWxldGUgbFtXbF0sZGVsZXRlIGxbZDFdLGRlbGV0ZSBsW3MxXX1mdW5jdGlvbiBXdShsKXt2YXIgdDtpZih0PWxbcWxdKXJldHVybiB0O2Zvcih2YXIgdT1sLnBhcmVudE5vZGU7dTspe2lmKHQ9dVtyYV18fHVbcWxdKXtpZih1PXQuYWx0ZXJuYXRlLHQuY2hpbGQhPT1udWxsfHx1IT09bnVsbCYmdS5jaGlsZCE9PW51bGwpZm9yKGw9RW0obCk7bCE9PW51bGw7KXtpZih1PWxbcWxdKXJldHVybiB1O2w9RW0obCl9cmV0dXJuIHR9bD11LHU9bC5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIFRhKGwpe2lmKGw9bFtxbF18fGxbcmFdKXt2YXIgdD1sLnRhZztpZih0PT09NXx8dD09PTZ8fHQ9PT0xM3x8dD09PTMxfHx0PT09MjZ8fHQ9PT0yN3x8dD09PTMpcmV0dXJuIGx9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbWUobCl7dmFyIHQ9bC50YWc7aWYodD09PTV8fHQ9PT0yNnx8dD09PTI3fHx0PT09NilyZXR1cm4gbC5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IoUygzMykpfWZ1bmN0aW9uIEVhKGwpe3ZhciB0PWxbQjBdO3JldHVybiB0fHwodD1sW0IwXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBNbChsKXtsW3llXT0hMH1mdW5jdGlvbiBHMChsKXtsW3luXT12b2lkIDB9dmFyIFgwPW5ldyBTZXQsUTA9e307ZnVuY3Rpb24gJHUobCx0KXt6YShsLHQpLHphKGwrIkNhcHR1cmUiLHQpfWZ1bmN0aW9uIHphKGwsdCl7Zm9yKFEwW2xdPXQsbD0wO2w8dC5sZW5ndGg7bCsrKVgwLmFkZCh0W2xdKX12YXIgaDE9UmVnRXhwKCJeWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXVs6QS1aX2EtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRFxcLS4wLTlcXHUwMEI3XFx1MDMwMC1cXHUwMzZGXFx1MjAzRi1cXHUyMDQwXSokIiksajA9e30sWjA9e307ZnVuY3Rpb24gZzEobCl7cmV0dXJuIGpmLmNhbGwoWjAsbCk/ITA6amYuY2FsbChqMCxsKT8hMTpoMS50ZXN0KGwpP1owW2xdPSEwOihqMFtsXT0hMCwhMSl9dmFyICQ9ITE7ZnVuY3Rpb24gVjAoKXt2YXIgbD0kO3JldHVybiAkPSExLGx9ZnVuY3Rpb24gZG4obCx0LHUpe2lmKGcxKHQpKWlmKHU9PT1udWxsKWwucmVtb3ZlQXR0cmlidXRlKHQpO2Vsc2V7c3dpdGNoKHR5cGVvZiB1KXtjYXNlInVuZGVmaW5lZCI6Y2FzZSJmdW5jdGlvbiI6Y2FzZSJzeW1ib2wiOmwucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybjtjYXNlImJvb2xlYW4iOnZhciBhPXQudG9Mb3dlckNhc2UoKS5zbGljZSgwLDUpO2lmKGEhPT0iZGF0YS0iJiZhIT09ImFyaWEtIil7bC5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJufX1sLnNldEF0dHJpYnV0ZSh0LHUpfX1mdW5jdGlvbiBzbihsLHQsdSl7aWYodT09PW51bGwpbC5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIHUpe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6Y2FzZSJib29sZWFuIjpsLnJlbW92ZUF0dHJpYnV0ZSh0KTtyZXR1cm59bC5zZXRBdHRyaWJ1dGUodCx1KX19ZnVuY3Rpb24gUHQobCx0LHUsYSl7aWYoYT09PW51bGwpbC5yZW1vdmVBdHRyaWJ1dGUodSk7ZWxzZXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6Y2FzZSJib29sZWFuIjpsLnJlbW92ZUF0dHJpYnV0ZSh1KTtyZXR1cm59bC5zZXRBdHRyaWJ1dGVOUyh0LHUsYSl9fWZ1bmN0aW9uIGN0KGwpe3N3aXRjaCh0eXBlb2YgbCl7Y2FzZSJiaWdpbnQiOmNhc2UiYm9vbGVhbiI6Y2FzZSJudW1iZXIiOmNhc2Uic3RyaW5nIjpjYXNlInVuZGVmaW5lZCI6cmV0dXJuIGw7Y2FzZSJvYmplY3QiOnJldHVybiBsO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIEwwKGwpe3ZhciB0PWwudHlwZTtyZXR1cm4obD1sLm5vZGVOYW1lKSYmbC50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmKHQ9PT0iY2hlY2tib3gifHx0PT09InJhZGlvIil9ZnVuY3Rpb24gUzEobCx0LHUpe3ZhciBhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobC5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWwuaGFzT3duUHJvcGVydHkodCkmJnR5cGVvZiBhPCJ1IiYmdHlwZW9mIGEuZ2V0PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYS5zZXQ9PSJmdW5jdGlvbiIpe3ZhciBlPWEuZ2V0LG49YS5zZXQ7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLHQse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMpfSxzZXQ6ZnVuY3Rpb24oZil7dT0iIitmLG4uY2FsbCh0aGlzLGYpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLHQse2VudW1lcmFibGU6YS5lbnVtZXJhYmxlfSkse2dldFZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LHNldFZhbHVlOmZ1bmN0aW9uKGYpe3U9IiIrZn0sc3RvcFRyYWNraW5nOmZ1bmN0aW9uKCl7bC5fdmFsdWVUcmFja2VyPW51bGwsZGVsZXRlIGxbdF19fX19ZnVuY3Rpb24gS2YobCl7aWYoIWwuX3ZhbHVlVHJhY2tlcil7dmFyIHQ9TDAobCk/ImNoZWNrZWQiOiJ2YWx1ZSI7bC5fdmFsdWVUcmFja2VyPVMxKGwsdCwiIitsW3RdKX19ZnVuY3Rpb24gcDAobCl7aWYoIWwpcmV0dXJuITE7dmFyIHQ9bC5fdmFsdWVUcmFja2VyO2lmKCF0KXJldHVybiEwO3ZhciB1PXQuZ2V0VmFsdWUoKSxhPSIiO3JldHVybiBsJiYoYT1MMChsKT9sLmNoZWNrZWQ/InRydWUiOiJmYWxzZSI6bC52YWx1ZSksbD1hLGwhPT11Pyh0LnNldFZhbHVlKGwpLCEwKTohMX12YXIgcjE9L1tcbiJcXF0vZztmdW5jdGlvbiBydChsKXtyZXR1cm4gbC5yZXBsYWNlKHIxLGZ1bmN0aW9uKHQpe3JldHVybiJcXCIrdC5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSsiICJ9KX1mdW5jdGlvbiBKZihsLHQsdSxhLGUsbixmLGMpe2wubmFtZT0iIixmIT1udWxsJiZ0eXBlb2YgZiE9ImZ1bmN0aW9uIiYmdHlwZW9mIGYhPSJzeW1ib2wiJiZ0eXBlb2YgZiE9ImJvb2xlYW4iP2wudHlwZT1mOmwucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksdCE9bnVsbD9mPT09Im51bWJlciI/KHQ9PT0wJiZsLnZhbHVlPT09IiJ8fGwudmFsdWUhPXQpJiYobC52YWx1ZT0iIitjdCh0KSk6bC52YWx1ZSE9PSIiK2N0KHQpJiYobC52YWx1ZT0iIitjdCh0KSk6ZiE9PSJzdWJtaXQiJiZmIT09InJlc2V0Inx8bC5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksdCE9bnVsbD9mPT09Im51bWJlciImJmwudmFsdWU9PXQ/d2YobCxjdChsLnZhbHVlKSk6d2YobCxjdCh0KSk6dSE9bnVsbD93ZihsLGN0KHUpKTphIT1udWxsJiZsLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKSxlPT1udWxsJiZuIT1udWxsJiYobC5kZWZhdWx0Q2hlY2tlZD0hIW4pLGUhPW51bGwmJihsLmNoZWNrZWQ9ZSYmdHlwZW9mIGUhPSJmdW5jdGlvbiImJnR5cGVvZiBlIT0ic3ltYm9sIiksYyE9bnVsbCYmdHlwZW9mIGMhPSJmdW5jdGlvbiImJnR5cGVvZiBjIT0ic3ltYm9sIiYmdHlwZW9mIGMhPSJib29sZWFuIj9sLm5hbWU9IiIrY3QoYyk6bC5yZW1vdmVBdHRyaWJ1dGUoIm5hbWUiKX1mdW5jdGlvbiB4MChsLHQsdSxhLGUsbixmLGMpe2lmKG4hPW51bGwmJnR5cGVvZiBuIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbiE9InN5bWJvbCImJnR5cGVvZiBuIT0iYm9vbGVhbiImJihsLnR5cGU9biksdCE9bnVsbHx8dSE9bnVsbCl7aWYoIShuIT09InN1Ym1pdCImJm4hPT0icmVzZXQifHx0IT1udWxsKSl7S2YobCk7cmV0dXJufXU9dSE9bnVsbD8iIitjdCh1KToiIix0PXQhPW51bGw/IiIrY3QodCk6dSxjfHx0PT09bC52YWx1ZXx8KGwudmFsdWU9dCksbC5kZWZhdWx0VmFsdWU9dH1hPWE/P2UsYT10eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiJiYhIWEsbC5jaGVja2VkPWM/bC5jaGVja2VkOiEhYSxsLmRlZmF1bHRDaGVja2VkPSEhYSxmIT1udWxsJiZ0eXBlb2YgZiE9ImZ1bmN0aW9uIiYmdHlwZW9mIGYhPSJzeW1ib2wiJiZ0eXBlb2YgZiE9ImJvb2xlYW4iJiYobC5uYW1lPWYpLEtmKGwpfWZ1bmN0aW9uIHdmKGwsdCl7bC5kZWZhdWx0VmFsdWUhPT0iIit0JiYobC5kZWZhdWx0VmFsdWU9IiIrdCl9ZnVuY3Rpb24gYmEobCx0LHUsYSl7aWYobD1sLm9wdGlvbnMsdCl7dD17fTtmb3IodmFyIGU9MDtlPHUubGVuZ3RoO2UrKyl0WyIkIit1W2VdXT0hMDtmb3IodT0wO3U8bC5sZW5ndGg7dSsrKWU9dC5oYXNPd25Qcm9wZXJ0eSgiJCIrbFt1XS52YWx1ZSksbFt1XS5zZWxlY3RlZCE9PWUmJihsW3VdLnNlbGVjdGVkPWUpLGUmJmEmJihsW3VdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodT0iIitjdCh1KSx0PW51bGwsZT0wO2U8bC5sZW5ndGg7ZSsrKXtpZihsW2VdLnZhbHVlPT09dSl7bFtlXS5zZWxlY3RlZD0hMCxhJiYobFtlXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn10IT09bnVsbHx8bFtlXS5kaXNhYmxlZHx8KHQ9bFtlXSl9dCE9PW51bGwmJih0LnNlbGVjdGVkPSEwKX19ZnVuY3Rpb24gSzAobCx0LHUpe2lmKHQhPW51bGwmJih0PSIiK2N0KHQpLHQhPT1sLnZhbHVlJiYobC52YWx1ZT10KSx1PT1udWxsKSl7bC5kZWZhdWx0VmFsdWUhPT10JiYobC5kZWZhdWx0VmFsdWU9dCk7cmV0dXJufWwuZGVmYXVsdFZhbHVlPXUhPW51bGw/IiIrY3QodSk6IiJ9ZnVuY3Rpb24gSjAobCx0LHUsYSl7aWYodD09bnVsbCl7aWYoYSE9bnVsbCl7aWYodSE9bnVsbCl0aHJvdyBFcnJvcihTKDkyKSk7aWYoSShhKSl7aWYoMTxhLmxlbmd0aCl0aHJvdyBFcnJvcihTKDkzKSk7YT1hWzBdfXU9YX11PT1udWxsJiYodT0iIiksdD11fXU9Y3QodCksbC5kZWZhdWx0VmFsdWU9dSxhPWwudGV4dENvbnRlbnQsYT09PXUmJmEhPT0iIiYmYSE9PW51bGwmJihsLnZhbHVlPWEpLEtmKGwpfWZ1bmN0aW9uIF9hKGwsdCl7aWYodCl7dmFyIHU9bC5maXJzdENoaWxkO2lmKHUmJnU9PT1sLmxhc3RDaGlsZCYmdS5ub2RlVHlwZT09PTMpe3Uubm9kZVZhbHVlPXQ7cmV0dXJufX1sLnRleHRDb250ZW50PXR9dmFyIFQxPW5ldyBTZXQoImFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IGFzcGVjdFJhdGlvIGJvcmRlckltYWdlT3V0c2V0IGJvcmRlckltYWdlU2xpY2UgYm9yZGVySW1hZ2VXaWR0aCBib3hGbGV4IGJveEZsZXhHcm91cCBib3hPcmRpbmFsR3JvdXAgY29sdW1uQ291bnQgY29sdW1ucyBmbGV4IGZsZXhHcm93IGZsZXhQb3NpdGl2ZSBmbGV4U2hyaW5rIGZsZXhOZWdhdGl2ZSBmbGV4T3JkZXIgZ3JpZEFyZWEgZ3JpZFJvdyBncmlkUm93RW5kIGdyaWRSb3dTcGFuIGdyaWRSb3dTdGFydCBncmlkQ29sdW1uIGdyaWRDb2x1bW5FbmQgZ3JpZENvbHVtblNwYW4gZ3JpZENvbHVtblN0YXJ0IGZvbnRXZWlnaHQgbGluZUNsYW1wIGxpbmVIZWlnaHQgb3BhY2l0eSBvcmRlciBvcnBoYW5zIHNjYWxlIHRhYlNpemUgd2lkb3dzIHpJbmRleCB6b29tIGZpbGxPcGFjaXR5IGZsb29kT3BhY2l0eSBzdG9wT3BhY2l0eSBzdHJva2VEYXNoYXJyYXkgc3Ryb2tlRGFzaG9mZnNldCBzdHJva2VNaXRlcmxpbWl0IHN0cm9rZU9wYWNpdHkgc3Ryb2tlV2lkdGggTW96QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgTW96Qm94RmxleCBNb3pCb3hGbGV4R3JvdXAgTW96TGluZUNsYW1wIG1zQW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgbXNGbGV4IG1zWm9vbSBtc0ZsZXhHcm93IG1zRmxleE5lZ2F0aXZlIG1zRmxleE9yZGVyIG1zRmxleFBvc2l0aXZlIG1zRmxleFNocmluayBtc0dyaWRDb2x1bW4gbXNHcmlkQ29sdW1uU3BhbiBtc0dyaWRSb3cgbXNHcmlkUm93U3BhbiBXZWJraXRBbmltYXRpb25JdGVyYXRpb25Db3VudCBXZWJraXRCb3hGbGV4IFdlYktpdEJveEZsZXhHcm91cCBXZWJraXRCb3hPcmRpbmFsR3JvdXAgV2Via2l0Q29sdW1uQ291bnQgV2Via2l0Q29sdW1ucyBXZWJraXRGbGV4IFdlYmtpdEZsZXhHcm93IFdlYmtpdEZsZXhQb3NpdGl2ZSBXZWJraXRGbGV4U2hyaW5rIFdlYmtpdExpbmVDbGFtcCIuc3BsaXQoIiAiKSk7ZnVuY3Rpb24gdzAobCx0LHUpe3ZhciBhPXQuaW5kZXhPZigiLS0iKT09PTA7dT09bnVsbHx8dHlwZW9mIHU9PSJib29sZWFuInx8dT09PSIiP2E/bC5zZXRQcm9wZXJ0eSh0LCIiKTp0PT09ImZsb2F0Ij9sLmNzc0Zsb2F0PSIiOmxbdF09IiI6YT9sLnNldFByb3BlcnR5KHQsdSk6dHlwZW9mIHUhPSJudW1iZXIifHx1PT09MHx8VDEuaGFzKHQpP3Q9PT0iZmxvYXQiP2wuY3NzRmxvYXQ9dTpsW3RdPSgiIit1KS50cmltKCk6bFt0XT11KyJweCJ9ZnVuY3Rpb24gVzAobCx0LHUpe2lmKHQhPW51bGwmJnR5cGVvZiB0IT0ib2JqZWN0Iil0aHJvdyBFcnJvcihTKDYyKSk7aWYobD1sLnN0eWxlLHUhPW51bGwpe2Zvcih2YXIgYSBpbiB1KSF1Lmhhc093blByb3BlcnR5KGEpfHx0IT1udWxsJiZ0Lmhhc093blByb3BlcnR5KGEpfHwoYS5pbmRleE9mKCItLSIpPT09MD9sLnNldFByb3BlcnR5KGEsIiIpOmE9PT0iZmxvYXQiP2wuY3NzRmxvYXQ9IiI6bFthXT0iIiwkPSEwKTtmb3IodmFyIGUgaW4gdClhPXRbZV0sdC5oYXNPd25Qcm9wZXJ0eShlKSYmdVtlXSE9PWEmJih3MChsLGUsYSksJD0hMCl9ZWxzZSBmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiZ3MChsLG4sdFtuXSl9ZnVuY3Rpb24gV2YobCl7aWYobC5pbmRleE9mKCItIik9PT0tMSlyZXR1cm4hMTtzd2l0Y2gobCl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgRTE9bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm1hc2tUeXBlIiwibWFzay10eXBlIl0sWyJvdmVybGluZVBvc2l0aW9uIiwib3ZlcmxpbmUtcG9zaXRpb24iXSxbIm92ZXJsaW5lVGhpY2tuZXNzIiwib3ZlcmxpbmUtdGhpY2tuZXNzIl0sWyJwYWludE9yZGVyIiwicGFpbnQtb3JkZXIiXSxbInBhbm9zZS0xIiwicGFub3NlLTEiXSxbInBvaW50ZXJFdmVudHMiLCJwb2ludGVyLWV2ZW50cyJdLFsicmVuZGVyaW5nSW50ZW50IiwicmVuZGVyaW5nLWludGVudCJdLFsic2hhcGVSZW5kZXJpbmciLCJzaGFwZS1yZW5kZXJpbmciXSxbInN0b3BDb2xvciIsInN0b3AtY29sb3IiXSxbInN0b3BPcGFjaXR5Iiwic3RvcC1vcGFjaXR5Il0sWyJzdHJpa2V0aHJvdWdoUG9zaXRpb24iLCJzdHJpa2V0aHJvdWdoLXBvc2l0aW9uIl0sWyJzdHJpa2V0aHJvdWdoVGhpY2tuZXNzIiwic3RyaWtldGhyb3VnaC10aGlja25lc3MiXSxbInN0cm9rZURhc2hhcnJheSIsInN0cm9rZS1kYXNoYXJyYXkiXSxbInN0cm9rZURhc2hvZmZzZXQiLCJzdHJva2UtZGFzaG9mZnNldCJdLFsic3Ryb2tlTGluZWNhcCIsInN0cm9rZS1saW5lY2FwIl0sWyJzdHJva2VMaW5lam9pbiIsInN0cm9rZS1saW5lam9pbiJdLFsic3Ryb2tlTWl0ZXJsaW1pdCIsInN0cm9rZS1taXRlcmxpbWl0Il0sWyJzdHJva2VPcGFjaXR5Iiwic3Ryb2tlLW9wYWNpdHkiXSxbInN0cm9rZVdpZHRoIiwic3Ryb2tlLXdpZHRoIl0sWyJ0ZXh0QW5jaG9yIiwidGV4dC1hbmNob3IiXSxbInRleHREZWNvcmF0aW9uIiwidGV4dC1kZWNvcmF0aW9uIl0sWyJ0ZXh0UmVuZGVyaW5nIiwidGV4dC1yZW5kZXJpbmciXSxbInRyYW5zZm9ybU9yaWdpbiIsInRyYW5zZm9ybS1vcmlnaW4iXSxbInVuZGVybGluZVBvc2l0aW9uIiwidW5kZXJsaW5lLXBvc2l0aW9uIl0sWyJ1bmRlcmxpbmVUaGlja25lc3MiLCJ1bmRlcmxpbmUtdGhpY2tuZXNzIl0sWyJ1bmljb2RlQmlkaSIsInVuaWNvZGUtYmlkaSJdLFsidW5pY29kZVJhbmdlIiwidW5pY29kZS1yYW5nZSJdLFsidW5pdHNQZXJFbSIsInVuaXRzLXBlci1lbSJdLFsidkFscGhhYmV0aWMiLCJ2LWFscGhhYmV0aWMiXSxbInZIYW5naW5nIiwidi1oYW5naW5nIl0sWyJ2SWRlb2dyYXBoaWMiLCJ2LWlkZW9ncmFwaGljIl0sWyJ2TWF0aGVtYXRpY2FsIiwidi1tYXRoZW1hdGljYWwiXSxbInZlY3RvckVmZmVjdCIsInZlY3Rvci1lZmZlY3QiXSxbInZlcnRBZHZZIiwidmVydC1hZHYteSJdLFsidmVydE9yaWdpblgiLCJ2ZXJ0LW9yaWdpbi14Il0sWyJ2ZXJ0T3JpZ2luWSIsInZlcnQtb3JpZ2luLXkiXSxbIndvcmRTcGFjaW5nIiwid29yZC1zcGFjaW5nIl0sWyJ3cml0aW5nTW9kZSIsIndyaXRpbmctbW9kZSJdLFsieG1sbnNYbGluayIsInhtbG5zOnhsaW5rIl0sWyJ4SGVpZ2h0IiwieC1oZWlnaHQiXV0pLHoxPS9eW1x1MDAwMC1cdTAwMUYgXSpqW1xyXG5cdF0qYVtcclxuXHRdKnZbXHJcblx0XSphW1xyXG5cdF0qc1tcclxuXHRdKmNbXHJcblx0XSpyW1xyXG5cdF0qaVtcclxuXHRdKnBbXHJcblx0XSp0W1xyXG5cdF0qOi9pO2Z1bmN0aW9uIGhuKGwpe3JldHVybiB6MS50ZXN0KCIiK2wpPyJqYXZhc2NyaXB0OnRocm93IG5ldyBFcnJvcignUmVhY3QgaGFzIGJsb2NrZWQgYSBqYXZhc2NyaXB0OiBVUkwgYXMgYSBzZWN1cml0eSBwcmVjYXV0aW9uLicpIjpsfWZ1bmN0aW9uIGp0KCl7fXZhciAkZj1udWxsO2Z1bmN0aW9uIEZmKGwpe3JldHVybiBsPWwudGFyZ2V0fHxsLnNyY0VsZW1lbnR8fHdpbmRvdyxsLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYobD1sLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSxsLm5vZGVUeXBlPT09Mz9sLnBhcmVudE5vZGU6bH12YXIgT2E9bnVsbCxBYT1udWxsO2Z1bmN0aW9uICQwKGwpe3ZhciB0PVRhKGwpO2lmKHQmJihsPXQuc3RhdGVOb2RlKSl7dmFyIHU9bFtXbF18fG51bGw7bDpzd2l0Y2gobD10LnN0YXRlTm9kZSx0LnR5cGUpe2Nhc2UiaW5wdXQiOmlmKEpmKGwsdS52YWx1ZSx1LmRlZmF1bHRWYWx1ZSx1LmRlZmF1bHRWYWx1ZSx1LmNoZWNrZWQsdS5kZWZhdWx0Q2hlY2tlZCx1LnR5cGUsdS5uYW1lKSx0PXUubmFtZSx1LnR5cGU9PT0icmFkaW8iJiZ0IT1udWxsKXtmb3IodT1sO3UucGFyZW50Tm9kZTspdT11LnBhcmVudE5vZGU7Zm9yKHU9dS5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dFtuYW1lPSInK3J0KCIiK3QpKyciXVt0eXBlPSJyYWRpbyJdJyksdD0wO3Q8dS5sZW5ndGg7dCsrKXt2YXIgYT11W3RdO2lmKGEhPT1sJiZhLmZvcm09PT1sLmZvcm0pe3ZhciBlPWFbV2xdfHxudWxsO2lmKCFlKXRocm93IEVycm9yKFMoOTApKTtKZihhLGUudmFsdWUsZS5kZWZhdWx0VmFsdWUsZS5kZWZhdWx0VmFsdWUsZS5jaGVja2VkLGUuZGVmYXVsdENoZWNrZWQsZS50eXBlLGUubmFtZSl9fWZvcih0PTA7dDx1Lmxlbmd0aDt0KyspYT11W3RdLGEuZm9ybT09PWwuZm9ybSYmcDAoYSl9YnJlYWsgbDtjYXNlInRleHRhcmVhIjpLMChsLHUudmFsdWUsdS5kZWZhdWx0VmFsdWUpO2JyZWFrIGw7Y2FzZSJzZWxlY3QiOnQ9dS52YWx1ZSx0IT1udWxsJiZiYShsLCEhdS5tdWx0aXBsZSx0LCExKX19fXZhciBJZj0hMTtmdW5jdGlvbiBGMChsLHQsdSl7aWYoSWYpcmV0dXJuIGwodCx1KTtJZj0hMDt0cnl7dmFyIGE9bCh0KTtyZXR1cm4gYX1maW5hbGx5e2lmKElmPSExLChPYSE9PW51bGx8fEFhIT09bnVsbCkmJihnZigpLE9hJiYodD1PYSxsPUFhLEFhPU9hPW51bGwsJDAodCksbCkpKWZvcih0PTA7dDxsLmxlbmd0aDt0KyspJDAobFt0XSl9fWZ1bmN0aW9uIGRlKGwsdCl7dmFyIHU9bC5zdGF0ZU5vZGU7aWYodT09PW51bGwpcmV0dXJuIG51bGw7dmFyIGE9dVtXbF18fG51bGw7aWYoYT09PW51bGwpcmV0dXJuIG51bGw7dT1hW3RdO2w6c3dpdGNoKHQpe2Nhc2Uib25DbGljayI6Y2FzZSJvbkNsaWNrQ2FwdHVyZSI6Y2FzZSJvbkRvdWJsZUNsaWNrIjpjYXNlIm9uRG91YmxlQ2xpY2tDYXB0dXJlIjpjYXNlIm9uTW91c2VEb3duIjpjYXNlIm9uTW91c2VEb3duQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlTW92ZSI6Y2FzZSJvbk1vdXNlTW92ZUNhcHR1cmUiOmNhc2Uib25Nb3VzZVVwIjpjYXNlIm9uTW91c2VVcENhcHR1cmUiOmNhc2Uib25Nb3VzZUVudGVyIjooYT0hYS5kaXNhYmxlZCl8fChsPWwudHlwZSxhPSEobD09PSJidXR0b24ifHxsPT09ImlucHV0Inx8bD09PSJzZWxlY3QifHxsPT09InRleHRhcmVhIikpLGw9IWE7YnJlYWsgbDtkZWZhdWx0Omw9ITF9aWYobClyZXR1cm4gbnVsbDtpZih1JiZ0eXBlb2YgdSE9ImZ1bmN0aW9uIil0aHJvdyBFcnJvcihTKDIzMSx0LHR5cGVvZiB1KSk7cmV0dXJuIHV9dmFyIGx1PSEodHlwZW9mIHdpbmRvdz4idSJ8fHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQ+InUifHx0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQ+InUiKSxrZj0hMTtpZihsdSl0cnl7dmFyIHNlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShzZSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe2tmPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixzZSxzZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHNlLHNlKX1jYXRjaHtrZj0hMX12YXIgcnU9bnVsbCxQZj1udWxsLGduPW51bGw7ZnVuY3Rpb24gSTAoKXtpZihnbilyZXR1cm4gZ247dmFyIGwsdD1QZix1PXQubGVuZ3RoLGEsZT0idmFsdWUiaW4gcnU/cnUudmFsdWU6cnUudGV4dENvbnRlbnQsbj1lLmxlbmd0aDtmb3IobD0wO2w8dSYmdFtsXT09PWVbbF07bCsrKTt2YXIgZj11LWw7Zm9yKGE9MTthPD1mJiZ0W3UtYV09PT1lW24tYV07YSsrKTtyZXR1cm4gZ249ZS5zbGljZShsLDE8YT8xLWE6dm9pZCAwKX1mdW5jdGlvbiBTbihsKXt2YXIgdD1sLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGw/KGw9bC5jaGFyQ29kZSxsPT09MCYmdD09PTEzJiYobD0xMykpOmw9dCxsPT09MTAmJihsPTEzKSwzMjw9bHx8bD09PTEzP2w6MH1mdW5jdGlvbiBybigpe3JldHVybiEwfWZ1bmN0aW9uIGswKCl7cmV0dXJuITF9ZnVuY3Rpb24gTGwobCl7ZnVuY3Rpb24gdCh1LGEsZSxuLGYpe3RoaXMuX3JlYWN0TmFtZT11LHRoaXMuX3RhcmdldEluc3Q9ZSx0aGlzLnR5cGU9YSx0aGlzLm5hdGl2ZUV2ZW50PW4sdGhpcy50YXJnZXQ9Zix0aGlzLmN1cnJlbnRUYXJnZXQ9bnVsbDtmb3IodmFyIGMgaW4gbClsLmhhc093blByb3BlcnR5KGMpJiYodT1sW2NdLHRoaXNbY109dT91KG4pOm5bY10pO3JldHVybiB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD0obi5kZWZhdWx0UHJldmVudGVkIT1udWxsP24uZGVmYXVsdFByZXZlbnRlZDpuLnJldHVyblZhbHVlPT09ITEpP3JuOmswLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9azAsdGhpc31yZXR1cm4gVih0LnByb3RvdHlwZSx7cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITA7dmFyIHU9dGhpcy5uYXRpdmVFdmVudDt1JiYodS5wcmV2ZW50RGVmYXVsdD91LnByZXZlbnREZWZhdWx0KCk6dHlwZW9mIHUucmV0dXJuVmFsdWUhPSJ1bmtub3duIiYmKHUucmV0dXJuVmFsdWU9ITEpLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPXJuKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIHU9dGhpcy5uYXRpdmVFdmVudDt1JiYodS5zdG9wUHJvcGFnYXRpb24/dS5zdG9wUHJvcGFnYXRpb24oKTp0eXBlb2YgdS5jYW5jZWxCdWJibGUhPSJ1bmtub3duIiYmKHUuY2FuY2VsQnViYmxlPSEwKSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXJuKX0scGVyc2lzdDpmdW5jdGlvbigpe30saXNQZXJzaXN0ZW50OnJufSksdH12YXIgVHU9e2V2ZW50UGhhc2U6MCxidWJibGVzOjAsY2FuY2VsYWJsZTowLHRpbWVTdGFtcDpmdW5jdGlvbihsKXtyZXR1cm4gbC50aW1lU3RhbXB8fERhdGUubm93KCl9LGRlZmF1bHRQcmV2ZW50ZWQ6MCxpc1RydXN0ZWQ6MH0sVG49TGwoVHUpLGhlPVYoe30sVHUse3ZpZXc6MCxkZXRhaWw6MH0pLGIxPUxsKGhlKSxsYyx0YyxnZSxFbj1WKHt9LGhlLHtzY3JlZW5YOjAsc2NyZWVuWTowLGNsaWVudFg6MCxjbGllbnRZOjAscGFnZVg6MCxwYWdlWTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxnZXRNb2RpZmllclN0YXRlOmFjLGJ1dHRvbjowLGJ1dHRvbnM6MCxyZWxhdGVkVGFyZ2V0OmZ1bmN0aW9uKGwpe3JldHVybiBsLnJlbGF0ZWRUYXJnZXQ9PT12b2lkIDA/bC5mcm9tRWxlbWVudD09PWwuc3JjRWxlbWVudD9sLnRvRWxlbWVudDpsLmZyb21FbGVtZW50OmwucmVsYXRlZFRhcmdldH0sbW92ZW1lbnRYOmZ1bmN0aW9uKGwpe3JldHVybiJtb3ZlbWVudFgiaW4gbD9sLm1vdmVtZW50WDoobCE9PWdlJiYoZ2UmJmwudHlwZT09PSJtb3VzZW1vdmUiPyhsYz1sLnNjcmVlblgtZ2Uuc2NyZWVuWCx0Yz1sLnNjcmVlblktZ2Uuc2NyZWVuWSk6dGM9bGM9MCxnZT1sKSxsYyl9LG1vdmVtZW50WTpmdW5jdGlvbihsKXtyZXR1cm4ibW92ZW1lbnRZImluIGw/bC5tb3ZlbWVudFk6dGN9fSksUDA9TGwoRW4pLF8xPVYoe30sRW4se2RhdGFUcmFuc2ZlcjowfSksTzE9TGwoXzEpLEExPVYoe30saGUse3JlbGF0ZWRUYXJnZXQ6MH0pLHVjPUxsKEExKSxOMT1WKHt9LFR1LHthbmltYXRpb25OYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSxEMT1MbChOMSksTTE9Vih7fSxUdSx7Y2xpcGJvYXJkRGF0YTpmdW5jdGlvbihsKXtyZXR1cm4iY2xpcGJvYXJkRGF0YSJpbiBsP2wuY2xpcGJvYXJkRGF0YTp3aW5kb3cuY2xpcGJvYXJkRGF0YX19KSxVMT1MbChNMSksQzE9Vih7fSxUdSx7ZGF0YTowfSksbHY9TGwoQzEpLFIxPXtFc2M6IkVzY2FwZSIsU3BhY2ViYXI6IiAiLExlZnQ6IkFycm93TGVmdCIsVXA6IkFycm93VXAiLFJpZ2h0OiJBcnJvd1JpZ2h0IixEb3duOiJBcnJvd0Rvd24iLERlbDoiRGVsZXRlIixXaW46Ik9TIixNZW51OiJDb250ZXh0TWVudSIsQXBwczoiQ29udGV4dE1lbnUiLFNjcm9sbDoiU2Nyb2xsTG9jayIsTW96UHJpbnRhYmxlS2V5OiJVbmlkZW50aWZpZWQifSxIMT17ODoiQmFja3NwYWNlIiw5OiJUYWIiLDEyOiJDbGVhciIsMTM6IkVudGVyIiwxNjoiU2hpZnQiLDE3OiJDb250cm9sIiwxODoiQWx0IiwxOToiUGF1c2UiLDIwOiJDYXBzTG9jayIsMjc6IkVzY2FwZSIsMzI6IiAiLDMzOiJQYWdlVXAiLDM0OiJQYWdlRG93biIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiJBcnJvd0xlZnQiLDM4OiJBcnJvd1VwIiwzOToiQXJyb3dSaWdodCIsNDA6IkFycm93RG93biIsNDU6Ikluc2VydCIsNDY6IkRlbGV0ZSIsMTEyOiJGMSIsMTEzOiJGMiIsMTE0OiJGMyIsMTE1OiJGNCIsMTE2OiJGNSIsMTE3OiJGNiIsMTE4OiJGNyIsMTE5OiJGOCIsMTIwOiJGOSIsMTIxOiJGMTAiLDEyMjoiRjExIiwxMjM6IkYxMiIsMTQ0OiJOdW1Mb2NrIiwxNDU6IlNjcm9sbExvY2siLDIyNDoiTWV0YSJ9LFkxPXtBbHQ6ImFsdEtleSIsQ29udHJvbDoiY3RybEtleSIsTWV0YToibWV0YUtleSIsU2hpZnQ6InNoaWZ0S2V5In07ZnVuY3Rpb24gcTEobCl7dmFyIHQ9dGhpcy5uYXRpdmVFdmVudDtyZXR1cm4gdC5nZXRNb2RpZmllclN0YXRlP3QuZ2V0TW9kaWZpZXJTdGF0ZShsKToobD1ZMVtsXSk/ISF0W2xdOiExfWZ1bmN0aW9uIGFjKCl7cmV0dXJuIHExfXZhciBCMT1WKHt9LGhlLHtrZXk6ZnVuY3Rpb24obCl7aWYobC5rZXkpe3ZhciB0PVIxW2wua2V5XXx8bC5rZXk7aWYodCE9PSJVbmlkZW50aWZpZWQiKXJldHVybiB0fXJldHVybiBsLnR5cGU9PT0ia2V5cHJlc3MiPyhsPVNuKGwpLGw9PT0xMz8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUobCkpOmwudHlwZT09PSJrZXlkb3duInx8bC50eXBlPT09ImtleXVwIj9IMVtsLmtleUNvZGVdfHwiVW5pZGVudGlmaWVkIjoiIn0sY29kZTowLGxvY2F0aW9uOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLHJlcGVhdDowLGxvY2FsZTowLGdldE1vZGlmaWVyU3RhdGU6YWMsY2hhckNvZGU6ZnVuY3Rpb24obCl7cmV0dXJuIGwudHlwZT09PSJrZXlwcmVzcyI/U24obCk6MH0sa2V5Q29kZTpmdW5jdGlvbihsKXtyZXR1cm4gbC50eXBlPT09ImtleWRvd24ifHxsLnR5cGU9PT0ia2V5dXAiP2wua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihsKXtyZXR1cm4gbC50eXBlPT09ImtleXByZXNzIj9TbihsKTpsLnR5cGU9PT0ia2V5ZG93biJ8fGwudHlwZT09PSJrZXl1cCI/bC5rZXlDb2RlOjB9fSksRzE9TGwoQjEpLFgxPVYoe30sRW4se3BvaW50ZXJJZDowLHdpZHRoOjAsaGVpZ2h0OjAscHJlc3N1cmU6MCx0YW5nZW50aWFsUHJlc3N1cmU6MCx0aWx0WDowLHRpbHRZOjAsdHdpc3Q6MCxwb2ludGVyVHlwZTowLGlzUHJpbWFyeTowfSksdHY9TGwoWDEpLFExPVYoe30sVHUse3N1Ym1pdHRlcjowfSksajE9TGwoUTEpLFoxPVYoe30saGUse3RvdWNoZXM6MCx0YXJnZXRUb3VjaGVzOjAsY2hhbmdlZFRvdWNoZXM6MCxhbHRLZXk6MCxtZXRhS2V5OjAsY3RybEtleTowLHNoaWZ0S2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTphY30pLFYxPUxsKFoxKSxMMT1WKHt9LFR1LHtwcm9wZXJ0eU5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pLHAxPUxsKEwxKSx4MT1WKHt9LEVuLHtkZWx0YVg6ZnVuY3Rpb24obCl7cmV0dXJuImRlbHRhWCJpbiBsP2wuZGVsdGFYOiJ3aGVlbERlbHRhWCJpbiBsPy1sLndoZWVsRGVsdGFYOjB9LGRlbHRhWTpmdW5jdGlvbihsKXtyZXR1cm4iZGVsdGFZImluIGw/bC5kZWx0YVk6IndoZWVsRGVsdGFZImluIGw/LWwud2hlZWxEZWx0YVk6IndoZWVsRGVsdGEiaW4gbD8tbC53aGVlbERlbHRhOjB9LGRlbHRhWjowLGRlbHRhTW9kZTowfSksSzE9TGwoeDEpLEoxPVYoe30sVHUse25ld1N0YXRlOjAsb2xkU3RhdGU6MCxzb3VyY2U6MH0pLHcxPUxsKEoxKSxXMT1bOSwxMywyNywzMl0sZWM9bHUmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxTZT1udWxsO2x1JiYiZG9jdW1lbnRNb2RlImluIGRvY3VtZW50JiYoU2U9ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKTt2YXIgJDE9bHUmJiJUZXh0RXZlbnQiaW4gd2luZG93JiYhU2UsdXY9bHUmJighZWN8fFNlJiY4PFNlJiYxMT49U2UpLGF2PSIgIixldj0hMTtmdW5jdGlvbiBudihsLHQpe3N3aXRjaChsKXtjYXNlImtleXVwIjpyZXR1cm4gVzEuaW5kZXhPZih0LmtleUNvZGUpIT09LTE7Y2FzZSJrZXlkb3duIjpyZXR1cm4gdC5rZXlDb2RlIT09MjI5O2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImZvY3Vzb3V0IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBmdihsKXtyZXR1cm4gbD1sLmRldGFpbCx0eXBlb2YgbD09Im9iamVjdCImJiJkYXRhImluIGw/bC5kYXRhOm51bGx9dmFyIE5hPSExO2Z1bmN0aW9uIEYxKGwsdCl7c3dpdGNoKGwpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBmdih0KTtjYXNlImtleXByZXNzIjpyZXR1cm4gdC53aGljaCE9PTMyP251bGw6KGV2PSEwLGF2KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuIGw9dC5kYXRhLGw9PT1hdiYmZXY/bnVsbDpsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIEkxKGwsdCl7aWYoTmEpcmV0dXJuIGw9PT0iY29tcG9zaXRpb25lbmQifHwhZWMmJm52KGwsdCk/KGw9STAoKSxnbj1QZj1ydT1udWxsLE5hPSExLGwpOm51bGw7c3dpdGNoKGwpe2Nhc2UicGFzdGUiOnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiB1diYmdC5sb2NhbGUhPT0ia28iP251bGw6dC5kYXRhO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXZhciBrMT17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gY3YobCl7dmFyIHQ9bCYmbC5ub2RlTmFtZSYmbC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09ImlucHV0Ij8hIWsxW2wudHlwZV06dD09PSJ0ZXh0YXJlYSJ9ZnVuY3Rpb24gaXYobCx0LHUsYSl7T2E/QWE/QWEucHVzaChhKTpBYT1bYV06T2E9YSx0PWJmKHQsIm9uQ2hhbmdlIiksMDx0Lmxlbmd0aCYmKHU9bmV3IFRuKCJvbkNoYW5nZSIsImNoYW5nZSIsbnVsbCx1LGEpLGwucHVzaCh7ZXZlbnQ6dSxsaXN0ZW5lcnM6dH0pKX12YXIgcmU9bnVsbCxUZT1udWxsO2Z1bmN0aW9uIFAxKGwpe0Z5KGwsMCl9ZnVuY3Rpb24gem4obCl7dmFyIHQ9bWUobCk7aWYocDAodCkpcmV0dXJuIGx9ZnVuY3Rpb24gdnYobCx0KXtpZihsPT09ImNoYW5nZSIpcmV0dXJuIHR9dmFyIG92PSExO2lmKGx1KXt2YXIgbmM7aWYobHUpe3ZhciBmYz0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighZmMpe3ZhciB5dj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt5di5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksZmM9dHlwZW9mIHl2Lm9uaW5wdXQ9PSJmdW5jdGlvbiJ9bmM9ZmN9ZWxzZSBuYz0hMTtvdj1uYyYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fDk8ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKX1mdW5jdGlvbiBtdigpe3JlJiYocmUuZGV0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLGR2KSxUZT1yZT1udWxsKX1mdW5jdGlvbiBkdihsKXtpZihsLnByb3BlcnR5TmFtZT09PSJ2YWx1ZSImJnpuKFRlKSl7dmFyIHQ9W107aXYodCxUZSxsLEZmKGwpKSxGMChQMSx0KX19ZnVuY3Rpb24gbGQobCx0LHUpe2w9PT0iZm9jdXNpbiI/KG12KCkscmU9dCxUZT11LHJlLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIixkdikpOmw9PT0iZm9jdXNvdXQiJiZtdigpfWZ1bmN0aW9uIHRkKGwpe2lmKGw9PT0ic2VsZWN0aW9uY2hhbmdlInx8bD09PSJrZXl1cCJ8fGw9PT0ia2V5ZG93biIpcmV0dXJuIHpuKFRlKX1mdW5jdGlvbiB1ZChsLHQpe2lmKGw9PT0iY2xpY2siKXJldHVybiB6bih0KX1mdW5jdGlvbiBhZChsLHQpe2lmKGw9PT0iaW5wdXQifHxsPT09ImNoYW5nZSIpcmV0dXJuIHpuKHQpfWZ1bmN0aW9uIGVkKGwsdCl7cmV0dXJuIGw9PT10JiYobCE9PTB8fDEvbD09PTEvdCl8fGwhPT1sJiZ0IT09dH12YXIgaXQ9dHlwZW9mIE9iamVjdC5pcz09ImZ1bmN0aW9uIj9PYmplY3QuaXM6ZWQ7ZnVuY3Rpb24gRWUobCx0KXtpZihpdChsLHQpKXJldHVybiEwO2lmKHR5cGVvZiBsIT0ib2JqZWN0Inx8bD09PW51bGx8fHR5cGVvZiB0IT0ib2JqZWN0Inx8dD09PW51bGwpcmV0dXJuITE7dmFyIHU9T2JqZWN0LmtleXMobCksYT1PYmplY3Qua2V5cyh0KTtpZih1Lmxlbmd0aCE9PWEubGVuZ3RoKXJldHVybiExO2ZvcihhPTA7YTx1Lmxlbmd0aDthKyspe3ZhciBlPXVbYV07aWYoIWpmLmNhbGwodCxlKXx8IWl0KGxbZV0sdFtlXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gY2MobCl7aWYobD1sfHwodHlwZW9mIGRvY3VtZW50PCJ1Ij9kb2N1bWVudDp2b2lkIDApLHR5cGVvZiBsPiJ1IilyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGwuYWN0aXZlRWxlbWVudHx8bC5ib2R5fWNhdGNoe3JldHVybiBsLmJvZHl9fWZ1bmN0aW9uIHN2KGwpe2Zvcig7bCYmbC5maXJzdENoaWxkOylsPWwuZmlyc3RDaGlsZDtyZXR1cm4gbH1mdW5jdGlvbiBodihsLHQpe3ZhciB1PXN2KGwpO2w9MDtmb3IodmFyIGE7dTspe2lmKHUubm9kZVR5cGU9PT0zKXtpZihhPWwrdS50ZXh0Q29udGVudC5sZW5ndGgsbDw9dCYmYT49dClyZXR1cm57bm9kZTp1LG9mZnNldDp0LWx9O2w9YX1sOntmb3IoO3U7KXtpZih1Lm5leHRTaWJsaW5nKXt1PXUubmV4dFNpYmxpbmc7YnJlYWsgbH11PXUucGFyZW50Tm9kZX11PXZvaWQgMH11PXN2KHUpfX1mdW5jdGlvbiBndihsLHQpe3JldHVybiBsJiZ0P2w9PT10PyEwOmwmJmwubm9kZVR5cGU9PT0zPyExOnQmJnQubm9kZVR5cGU9PT0zP2d2KGwsdC5wYXJlbnROb2RlKToiY29udGFpbnMiaW4gbD9sLmNvbnRhaW5zKHQpOmwuY29tcGFyZURvY3VtZW50UG9zaXRpb24/ISEobC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSYxNik6ITE6ITF9ZnVuY3Rpb24gU3YobCl7bD1sIT1udWxsJiZsLm93bmVyRG9jdW1lbnQhPW51bGwmJmwub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyE9bnVsbD9sLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6d2luZG93O2Zvcih2YXIgdD1jYyhsLmRvY3VtZW50KTt0IGluc3RhbmNlb2YgbC5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgdT10eXBlb2YgdC5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWY9PSJzdHJpbmcifWNhdGNoe3U9ITF9aWYodSlsPXQuY29udGVudFdpbmRvdztlbHNlIGJyZWFrO3Q9Y2MobC5kb2N1bWVudCl9cmV0dXJuIHR9ZnVuY3Rpb24gaWMobCl7dmFyIHQ9bCYmbC5ub2RlTmFtZSYmbC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0JiYodD09PSJpbnB1dCImJihsLnR5cGU9PT0idGV4dCJ8fGwudHlwZT09PSJzZWFyY2gifHxsLnR5cGU9PT0idGVsInx8bC50eXBlPT09InVybCJ8fGwudHlwZT09PSJwYXNzd29yZCIpfHx0PT09InRleHRhcmVhInx8bC5jb250ZW50RWRpdGFibGU9PT0idHJ1ZSIpfXZhciBuZD1sdSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmMTE+PWRvY3VtZW50LmRvY3VtZW50TW9kZSxEYT1udWxsLHZjPW51bGwsemU9bnVsbCxvYz0hMTtmdW5jdGlvbiBydihsLHQsdSl7dmFyIGE9dS53aW5kb3c9PT11P3UuZG9jdW1lbnQ6dS5ub2RlVHlwZT09PTk/dTp1Lm93bmVyRG9jdW1lbnQ7b2N8fERhPT1udWxsfHxEYSE9PWNjKGEpfHwoYT1EYSwic2VsZWN0aW9uU3RhcnQiaW4gYSYmaWMoYSk/YT17c3RhcnQ6YS5zZWxlY3Rpb25TdGFydCxlbmQ6YS5zZWxlY3Rpb25FbmR9OihhPShhLm93bmVyRG9jdW1lbnQmJmEub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24oKSxhPXthbmNob3JOb2RlOmEuYW5jaG9yTm9kZSxhbmNob3JPZmZzZXQ6YS5hbmNob3JPZmZzZXQsZm9jdXNOb2RlOmEuZm9jdXNOb2RlLGZvY3VzT2Zmc2V0OmEuZm9jdXNPZmZzZXR9KSx6ZSYmRWUoemUsYSl8fCh6ZT1hLGE9YmYodmMsIm9uU2VsZWN0IiksMDxhLmxlbmd0aCYmKHQ9bmV3IFRuKCJvblNlbGVjdCIsInNlbGVjdCIsbnVsbCx0LHUpLGwucHVzaCh7ZXZlbnQ6dCxsaXN0ZW5lcnM6YX0pLHQudGFyZ2V0PURhKSkpfWZ1bmN0aW9uIEZ1KGwsdCl7dmFyIHU9e307cmV0dXJuIHVbbC50b0xvd2VyQ2FzZSgpXT10LnRvTG93ZXJDYXNlKCksdVsiV2Via2l0IitsXT0id2Via2l0Iit0LHVbIk1veiIrbF09Im1veiIrdCx1fXZhciBNYT17YW5pbWF0aW9uZW5kOkZ1KCJBbmltYXRpb24iLCJBbmltYXRpb25FbmQiKSxhbmltYXRpb25pdGVyYXRpb246RnUoIkFuaW1hdGlvbiIsIkFuaW1hdGlvbkl0ZXJhdGlvbiIpLGFuaW1hdGlvbnN0YXJ0OkZ1KCJBbmltYXRpb24iLCJBbmltYXRpb25TdGFydCIpLHRyYW5zaXRpb25ydW46RnUoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uUnVuIiksdHJhbnNpdGlvbnN0YXJ0OkZ1KCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblN0YXJ0IiksdHJhbnNpdGlvbmNhbmNlbDpGdSgiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25DYW5jZWwiKSx0cmFuc2l0aW9uZW5kOkZ1KCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx5Yz17fSxUdj17fTtsdSYmKFR2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgTWEuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgTWEuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgTWEuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIE1hLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7ZnVuY3Rpb24gSXUobCl7aWYoeWNbbF0pcmV0dXJuIHljW2xdO2lmKCFNYVtsXSlyZXR1cm4gbDt2YXIgdD1NYVtsXSx1O2Zvcih1IGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eSh1KSYmdSBpbiBUdilyZXR1cm4geWNbbF09dFt1XTtyZXR1cm4gbH12YXIgRXY9SXUoImFuaW1hdGlvbmVuZCIpLHp2PUl1KCJhbmltYXRpb25pdGVyYXRpb24iKSxidj1JdSgiYW5pbWF0aW9uc3RhcnQiKSxmZD1JdSgidHJhbnNpdGlvbnJ1biIpLGNkPUl1KCJ0cmFuc2l0aW9uc3RhcnQiKSxpZD1JdSgidHJhbnNpdGlvbmNhbmNlbCIpLF92PUl1KCJ0cmFuc2l0aW9uZW5kIiksT3Y9bmV3IE1hcCxtYz0iYWJvcnQgYXV4Q2xpY2sgYmVmb3JlVG9nZ2xlIGNhbmNlbCBjYW5QbGF5IGNhblBsYXlUaHJvdWdoIGNsaWNrIGNsb3NlIGNvbnRleHRNZW51IGNvcHkgY3V0IGRyYWcgZHJhZ0VuZCBkcmFnRW50ZXIgZHJhZ0V4aXQgZHJhZ0xlYXZlIGRyYWdPdmVyIGRyYWdTdGFydCBkcm9wIGR1cmF0aW9uQ2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGZ1bGxzY3JlZW5DaGFuZ2UgZnVsbHNjcmVlbkVycm9yIGdvdFBvaW50ZXJDYXB0dXJlIGlucHV0IGludmFsaWQga2V5RG93biBrZXlQcmVzcyBrZXlVcCBsb2FkIGxvYWRlZERhdGEgbG9hZGVkTWV0YWRhdGEgbG9hZFN0YXJ0IGxvc3RQb2ludGVyQ2FwdHVyZSBtb3VzZURvd24gbW91c2VNb3ZlIG1vdXNlT3V0IG1vdXNlT3ZlciBtb3VzZVVwIHBhc3RlIHBhdXNlIHBsYXkgcGxheWluZyBwb2ludGVyQ2FuY2VsIHBvaW50ZXJEb3duIHBvaW50ZXJNb3ZlIHBvaW50ZXJPdXQgcG9pbnRlck92ZXIgcG9pbnRlclVwIHByb2dyZXNzIHJhdGVDaGFuZ2UgcmVzZXQgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VibWl0IHN1c3BlbmQgdGltZVVwZGF0ZSB0b3VjaENhbmNlbCB0b3VjaEVuZCB0b3VjaFN0YXJ0IHZvbHVtZUNoYW5nZSBzY3JvbGwgdG9nZ2xlIHRvdWNoTW92ZSB3YWl0aW5nIHdoZWVsIi5zcGxpdCgiICIpO21jLnB1c2goInNjcm9sbEVuZCIpO2Z1bmN0aW9uIE10KGwsdCl7T3Yuc2V0KGwsdCksJHUodCxbbF0pfXZhciB2ZD0wO2Z1bmN0aW9uIHR1KGwsdCl7aWYobC5uYW1lIT1udWxsJiZsLm5hbWUhPT0iYXV0byIpcmV0dXJuIGwubmFtZTtpZih0LmF1dG9OYW1lIT09bnVsbClyZXR1cm4gdC5hdXRvTmFtZTtsPUh0LmlkZW50aWZpZXJQcmVmaXg7dmFyIHU9dmQrKztyZXR1cm4gbD0iXyIrbCsidF8iK3UudG9TdHJpbmcoMzIpKyJfIix0LmF1dG9OYW1lPWx9ZnVuY3Rpb24gQXYobCl7aWYobD09bnVsbHx8dHlwZW9mIGw9PSJzdHJpbmciKXJldHVybiBsO3ZhciB0PW51bGwsdT1XYTtpZih1IT09bnVsbClmb3IodmFyIGE9MDthPHUubGVuZ3RoO2ErKyl7dmFyIGU9bFt1W2FdXTtpZihlIT1udWxsKXtpZihlPT09Im5vbmUiKXJldHVybiJub25lIjt0PXQ9PW51bGw/ZTp0KygiICIrZSl9fXJldHVybiB0Pz9sLmRlZmF1bHR9ZnVuY3Rpb24gdXUobCx0KXtyZXR1cm4gbD1BdihsKSx0PUF2KHQpLHQ9PW51bGw/bD09PSJhdXRvIj9udWxsOmw6dD09PSJhdXRvIj9udWxsOnR9dmFyIGJuPXR5cGVvZiByZXBvcnRFcnJvcj09ImZ1bmN0aW9uIj9yZXBvcnRFcnJvcjpmdW5jdGlvbihsKXtpZih0eXBlb2Ygd2luZG93PT0ib2JqZWN0IiYmdHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50PT0iZnVuY3Rpb24iKXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6dHlwZW9mIGw9PSJvYmplY3QiJiZsIT09bnVsbCYmdHlwZW9mIGwubWVzc2FnZT09InN0cmluZyI/U3RyaW5nKGwubWVzc2FnZSk6U3RyaW5nKGwpLGVycm9yOmx9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT0iZnVuY3Rpb24iKXtwcm9jZXNzLmVtaXQoInVuY2F1Z2h0RXhjZXB0aW9uIixsKTtyZXR1cm59Y29uc29sZS5lcnJvcihsKX0sVHQ9W10sVWE9MCxkYz0wO2Z1bmN0aW9uIF9uKCl7Zm9yKHZhciBsPVVhLHQ9ZGM9VWE9MDt0PGw7KXt2YXIgdT1UdFt0XTtUdFt0KytdPW51bGw7dmFyIGE9VHRbdF07VHRbdCsrXT1udWxsO3ZhciBlPVR0W3RdO1R0W3QrK109bnVsbDt2YXIgbj1UdFt0XTtpZihUdFt0KytdPW51bGwsYSE9PW51bGwmJmUhPT1udWxsKXt2YXIgZj1hLnBlbmRpbmc7Zj09PW51bGw/ZS5uZXh0PWU6KGUubmV4dD1mLm5leHQsZi5uZXh0PWUpLGEucGVuZGluZz1lfW4hPT0wJiZOdih1LGUsbil9fWZ1bmN0aW9uIE9uKGwsdCx1LGEpe1R0W1VhKytdPWwsVHRbVWErK109dCxUdFtVYSsrXT11LFR0W1VhKytdPWEsZGN8PWEsbC5sYW5lc3w9YSxsPWwuYWx0ZXJuYXRlLGwhPT1udWxsJiYobC5sYW5lc3w9YSl9ZnVuY3Rpb24gc2MobCx0LHUsYSl7cmV0dXJuIE9uKGwsdCx1LGEpLEFuKGwpfWZ1bmN0aW9uIGt1KGwsdCl7cmV0dXJuIE9uKGwsbnVsbCxudWxsLHQpLEFuKGwpfWZ1bmN0aW9uIE52KGwsdCx1KXtsLmxhbmVzfD11O3ZhciBhPWwuYWx0ZXJuYXRlO2EhPT1udWxsJiYoYS5sYW5lc3w9dSk7Zm9yKHZhciBlPSExLG49bC5yZXR1cm47biE9PW51bGw7KW4uY2hpbGRMYW5lc3w9dSxhPW4uYWx0ZXJuYXRlLGEhPT1udWxsJiYoYS5jaGlsZExhbmVzfD11KSxuLnRhZz09PTIyJiYobD1uLnN0YXRlTm9kZSxsPT09bnVsbHx8bC5fdmlzaWJpbGl0eSYxfHwoZT0hMCkpLGw9bixuPW4ucmV0dXJuO3JldHVybiBsLnRhZz09PTM/KG49bC5zdGF0ZU5vZGUsZSYmdCE9PW51bGwmJihlPTMxLWZ0KHUpLGw9bi5oaWRkZW5VcGRhdGVzLGE9bFtlXSxhPT09bnVsbD9sW2VdPVt0XTphLnB1c2godCksdC5sYW5lPXV8NTM2ODcwOTEyKSxuKTpudWxsfWZ1bmN0aW9uIEFuKGwpe2lmKDUwPHBlKXRocm93IHBlPTAsaGY9bnVsbCxFcnJvcihTKDE4NSkpO2Zvcih2YXIgdD1sLnJldHVybjt0IT09bnVsbDspbD10LHQ9bC5yZXR1cm47cmV0dXJuIGwudGFnPT09Mz9sLnN0YXRlTm9kZTpudWxsfXZhciBDYT17fTtmdW5jdGlvbiBvZChsLHQsdSxhKXt0aGlzLnRhZz1sLHRoaXMua2V5PXUsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWZDbGVhbnVwPXRoaXMucmVmPW51bGwsdGhpcy5wZW5kaW5nUHJvcHM9dCx0aGlzLmRlcGVuZGVuY2llcz10aGlzLm1lbW9pemVkU3RhdGU9dGhpcy51cGRhdGVRdWV1ZT10aGlzLm1lbW9pemVkUHJvcHM9bnVsbCx0aGlzLm1vZGU9YSx0aGlzLnN1YnRyZWVGbGFncz10aGlzLmZsYWdzPTAsdGhpcy5kZWxldGlvbnM9bnVsbCx0aGlzLmNoaWxkTGFuZXM9dGhpcy5sYW5lcz0wLHRoaXMuYWx0ZXJuYXRlPW51bGx9ZnVuY3Rpb24gJGwobCx0LHUsYSl7cmV0dXJuIG5ldyBvZChsLHQsdSxhKX1mdW5jdGlvbiBoYyhsKXtyZXR1cm4gbD1sLnByb3RvdHlwZSwhKCFsfHwhbC5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiBhdShsLHQpe3ZhciB1PWwuYWx0ZXJuYXRlO3JldHVybiB1PT09bnVsbD8odT0kbChsLnRhZyx0LGwua2V5LGwubW9kZSksdS5lbGVtZW50VHlwZT1sLmVsZW1lbnRUeXBlLHUudHlwZT1sLnR5cGUsdS5zdGF0ZU5vZGU9bC5zdGF0ZU5vZGUsdS5hbHRlcm5hdGU9bCxsLmFsdGVybmF0ZT11KToodS5wZW5kaW5nUHJvcHM9dCx1LnR5cGU9bC50eXBlLHUuZmxhZ3M9MCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwpLHUuZmxhZ3M9bC5mbGFncyYxMjA2OTEwOTc2LHUuY2hpbGRMYW5lcz1sLmNoaWxkTGFuZXMsdS5sYW5lcz1sLmxhbmVzLHUuY2hpbGQ9bC5jaGlsZCx1Lm1lbW9pemVkUHJvcHM9bC5tZW1vaXplZFByb3BzLHUubWVtb2l6ZWRTdGF0ZT1sLm1lbW9pemVkU3RhdGUsdS51cGRhdGVRdWV1ZT1sLnVwZGF0ZVF1ZXVlLHQ9bC5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9dD09PW51bGw/bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9LHUuc2libGluZz1sLnNpYmxpbmcsdS5pbmRleD1sLmluZGV4LHUucmVmPWwucmVmLHUucmVmQ2xlYW51cD1sLnJlZkNsZWFudXAsdX1mdW5jdGlvbiBEdihsLHQpe2wuZmxhZ3MmPTEyMDY5MTA5Nzg7dmFyIHU9bC5hbHRlcm5hdGU7cmV0dXJuIHU9PT1udWxsPyhsLmNoaWxkTGFuZXM9MCxsLmxhbmVzPXQsbC5jaGlsZD1udWxsLGwuc3VidHJlZUZsYWdzPTAsbC5tZW1vaXplZFByb3BzPW51bGwsbC5tZW1vaXplZFN0YXRlPW51bGwsbC51cGRhdGVRdWV1ZT1udWxsLGwuZGVwZW5kZW5jaWVzPW51bGwsbC5zdGF0ZU5vZGU9bnVsbCk6KGwuY2hpbGRMYW5lcz11LmNoaWxkTGFuZXMsbC5sYW5lcz11LmxhbmVzLGwuY2hpbGQ9dS5jaGlsZCxsLnN1YnRyZWVGbGFncz0wLGwuZGVsZXRpb25zPW51bGwsbC5tZW1vaXplZFByb3BzPXUubWVtb2l6ZWRQcm9wcyxsLm1lbW9pemVkU3RhdGU9dS5tZW1vaXplZFN0YXRlLGwudXBkYXRlUXVldWU9dS51cGRhdGVRdWV1ZSxsLnR5cGU9dS50eXBlLHQ9dS5kZXBlbmRlbmNpZXMsbC5kZXBlbmRlbmNpZXM9dD09PW51bGw/bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9KSxsfWZ1bmN0aW9uIE5uKGwsdCx1LGEsZSxuKXt2YXIgZj0wO2lmKGE9bCx0eXBlb2YgYT09ImZ1bmN0aW9uIiloYyhhKSYmKGY9MSk7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyIpZj1RcyhsLHUsUXQuY3VycmVudCk/MjY6bD09PSJodG1sInx8bD09PSJoZWFkInx8bD09PSJib2R5Ij8yNzo1O2Vsc2UgbDpzd2l0Y2goYSl7Y2FzZSBEdDpyZXR1cm4gbD0kbCgzMSx1LHQsZSksbC5lbGVtZW50VHlwZT1EdCxsLmxhbmVzPW4sbDtjYXNlIFN0OnJldHVybiBQdSh1LmNoaWxkcmVuLGUsbix0KTtjYXNlIGF0OmY9OCxlfD0yNDticmVhaztjYXNlIHN1OnJldHVybiBsPSRsKDEyLHUsdCxlfDIpLGwuZWxlbWVudFR5cGU9c3UsbC5sYW5lcz1uLGw7Y2FzZSBxOnJldHVybiBsPSRsKDEzLHUsdCxlKSxsLmVsZW1lbnRUeXBlPXEsbC5sYW5lcz1uLGw7Y2FzZSBCOnJldHVybiBsPSRsKDE5LHUsdCxlKSxsLmVsZW1lbnRUeXBlPUIsbC5sYW5lcz1uLGw7Y2FzZSBGdDpjYXNlIG86cmV0dXJuIGw9ZXwzMixsPSRsKDMwLHUsdCxsKSxsLmVsZW1lbnRUeXBlPW8sbC5sYW5lcz1uLGwuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSxsO2RlZmF1bHQ6aWYodHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbClzd2l0Y2goYS4kJHR5cGVvZil7Y2FzZSBEbDpmPTEwO2JyZWFrIGw7Y2FzZSBLdTpmPTk7YnJlYWsgbDtjYXNlIF86Zj0xMTticmVhayBsO2Nhc2UgY2w6Zj0xNDticmVhayBsO2Nhc2UgUDpmPTE2LGE9bnVsbDticmVhayBsfWY9MjksdT1FcnJvcihTKDEzMCxsPT09bnVsbD8ibnVsbCI6dHlwZW9mIGwsIiIpKSxhPW51bGx9cmV0dXJuIHQ9JGwoZix1LHQsZSksdC5lbGVtZW50VHlwZT1sLHQudHlwZT1hLHQubGFuZXM9bix0fWZ1bmN0aW9uIFB1KGwsdCx1LGEpe3JldHVybiBsPSRsKDcsbCxhLHQpLGwubGFuZXM9dSxsfWZ1bmN0aW9uIGdjKGwsdCx1KXtyZXR1cm4gbD0kbCg2LGwsbnVsbCx0KSxsLmxhbmVzPXUsbH1mdW5jdGlvbiBNdihsKXt2YXIgdD0kbCgxOCxudWxsLG51bGwsMCk7cmV0dXJuIHQuc3RhdGVOb2RlPWwsdH1mdW5jdGlvbiBTYyhsLHQsdSl7cmV0dXJuIHQ9JGwoNCxsLmNoaWxkcmVuIT09bnVsbD9sLmNoaWxkcmVuOltdLGwua2V5LHQpLHQubGFuZXM9dSx0LnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzpsLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246bC5pbXBsZW1lbnRhdGlvbn0sdH12YXIgVXY9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRXQobCx0KXtpZih0eXBlb2YgbD09Im9iamVjdCImJmwhPT1udWxsKXt2YXIgdT1Vdi5nZXQobCk7cmV0dXJuIHUhPT12b2lkIDA/dToodD17dmFsdWU6bCxzb3VyY2U6dCxzdGFjazpfMCh0KX0sVXYuc2V0KGwsdCksdCl9cmV0dXJue3ZhbHVlOmwsc291cmNlOnQsc3RhY2s6XzAodCl9fXZhciBSYT1bXSxIYT0wLERuPW51bGwsYmU9MCx6dD1bXSxidD0wLEV1PW51bGwsWnQ9MSxWdD0iIjtmdW5jdGlvbiBldShsLHQpe1JhW0hhKytdPWJlLFJhW0hhKytdPURuLERuPWwsYmU9dH1mdW5jdGlvbiBDdihsLHQsdSl7enRbYnQrK109WnQsenRbYnQrK109VnQsenRbYnQrK109RXUsRXU9bDt2YXIgYT1adDtsPVZ0O3ZhciBlPTMyLWZ0KGEpLTE7YSY9figxPDxlKSx1Kz0xO3ZhciBuPTMyLWZ0KHQpK2U7aWYoMzA8bil7dmFyIGY9ZS1lJTU7bj0oYSYoMTw8ZiktMSkudG9TdHJpbmcoMzIpLGE+Pj1mLGUtPWYsWnQ9MTw8MzItZnQodCkrZXx1PDxlfGEsVnQ9bitsfWVsc2UgWnQ9MTw8bnx1PDxlfGEsVnQ9bH1mdW5jdGlvbiBNbihsKXtsLnJldHVybiE9PW51bGwmJihldShsLDEpLEN2KGwsMSwwKSl9ZnVuY3Rpb24gcmMobCl7Zm9yKDtsPT09RG47KURuPVJhWy0tSGFdLFJhW0hhXT1udWxsLGJlPVJhWy0tSGFdLFJhW0hhXT1udWxsO2Zvcig7bD09PUV1OylFdT16dFstLWJ0XSx6dFtidF09bnVsbCxWdD16dFstLWJ0XSx6dFtidF09bnVsbCxadD16dFstLWJ0XSx6dFtidF09bnVsbH1mdW5jdGlvbiBSdihsLHQpe3p0W2J0KytdPVp0LHp0W2J0KytdPVZ0LHp0W2J0KytdPUV1LFp0PXQuaWQsVnQ9dC5vdmVyZmxvdyxFdT1sfXZhciBVbD1udWxsLHlsPW51bGwsWj0hMSx6dT1udWxsLF90PSExLFRjPUVycm9yKFMoNTE5KSk7ZnVuY3Rpb24gYnUobCl7dmFyIHQ9RXJyb3IoUyg0MTgsMTxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMV0hPT12b2lkIDAmJmFyZ3VtZW50c1sxXT8idGV4dCI6IkhUTUwiLCIiKSk7dGhyb3cgX2UoRXQodCxsKSksVGN9ZnVuY3Rpb24gSHYobCl7dmFyIHQ9bC5zdGF0ZU5vZGUsdT1sLnR5cGUsYT1sLm1lbW9pemVkUHJvcHM7c3dpdGNoKHRbcWxdPWwsdFtXbF09YSx1KXtjYXNlImRpYWxvZyI6cCgiY2FuY2VsIix0KSxwKCJjbG9zZSIsdCk7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpwKCJsb2FkIix0KTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IodT0wO3U8S2UubGVuZ3RoO3UrKylwKEtlW3VdLHQpO2JyZWFrO2Nhc2Uic291cmNlIjpwKCJlcnJvciIsdCk7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6cCgiZXJyb3IiLHQpLHAoImxvYWQiLHQpO2JyZWFrO2Nhc2UiZGV0YWlscyI6cCgidG9nZ2xlIix0KTticmVhaztjYXNlImlucHV0IjpwKCJpbnZhbGlkIix0KSx4MCh0LGEudmFsdWUsYS5kZWZhdWx0VmFsdWUsYS5jaGVja2VkLGEuZGVmYXVsdENoZWNrZWQsYS50eXBlLGEubmFtZSwhMCk7YnJlYWs7Y2FzZSJzZWxlY3QiOnAoImludmFsaWQiLHQpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnAoImludmFsaWQiLHQpLEowKHQsYS52YWx1ZSxhLmRlZmF1bHRWYWx1ZSxhLmNoaWxkcmVuKX11PWEuY2hpbGRyZW4sdHlwZW9mIHUhPSJzdHJpbmciJiZ0eXBlb2YgdSE9Im51bWJlciImJnR5cGVvZiB1IT0iYmlnaW50Inx8dC50ZXh0Q29udGVudD09PSIiK3V8fGEuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nPT09ITB8fGxtKHQudGV4dENvbnRlbnQsdSk/KGEucG9wb3ZlciE9bnVsbCYmKHAoImJlZm9yZXRvZ2dsZSIsdCkscCgidG9nZ2xlIix0KSksYS5vblNjcm9sbCE9bnVsbCYmcCgic2Nyb2xsIix0KSxhLm9uU2Nyb2xsRW5kIT1udWxsJiZwKCJzY3JvbGxlbmQiLHQpLGEub25DbGljayE9bnVsbCYmKHQub25jbGljaz1qdCksdD0hMCk6dD0hMSx0fHxidShsLCEwKX1mdW5jdGlvbiBVbihsKXtmb3IoVWw9bC5yZXR1cm47VWw7KXN3aXRjaChVbC50YWcpe2Nhc2UgNTpjYXNlIDMxOmNhc2UgMTM6X3Q9ITE7cmV0dXJuO2Nhc2UgMjc6Y2FzZSAzOl90PSEwO3JldHVybjtkZWZhdWx0OlVsPVVsLnJldHVybn19ZnVuY3Rpb24gWWEobCl7aWYobCE9PVVsKXJldHVybiExO2lmKCFaKXJldHVybiBVbihsKSxaPSEwLCExO3ZhciB0PWwudGFnLHU7aWYoKHU9dCE9PTMmJnQhPT0yNykmJigodT10PT09NSkmJih1PWwudHlwZSx1PSEodSE9PSJmb3JtIiYmdSE9PSJidXR0b24iKXx8JGkobC50eXBlLGwubWVtb2l6ZWRQcm9wcykpLHU9IXUpLHUmJnlsJiZidShsKSxVbihsKSx0PT09MTMpe2lmKGw9bC5tZW1vaXplZFN0YXRlLGw9bCE9PW51bGw/bC5kZWh5ZHJhdGVkOm51bGwsIWwpdGhyb3cgRXJyb3IoUygzMTcpKTt5bD1UbShsKX1lbHNlIGlmKHQ9PT0zMSl7aWYobD1sLm1lbW9pemVkU3RhdGUsbD1sIT09bnVsbD9sLmRlaHlkcmF0ZWQ6bnVsbCwhbCl0aHJvdyBFcnJvcihTKDMxNykpO3lsPVRtKGwpfWVsc2UgdD09PTI3Pyh0PXlsLFF1KGwudHlwZSk/KGw9ZTAsZTA9bnVsbCx5bD1sKTp5bD10KTp5bD1VbD9BdChsLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBsYSgpe3lsPVVsPW51bGwsWj0hMX1mdW5jdGlvbiBFYygpe3ZhciBsPXp1O3JldHVybiBsIT09bnVsbCYmKGtsPT09bnVsbD9rbD1sOmtsLnB1c2guYXBwbHkoa2wsbCksenU9bnVsbCksbH1mdW5jdGlvbiBfZShsKXt6dT09PW51bGw/enU9W2xdOnp1LnB1c2gobCl9dmFyIHpjPVh0KG51bGwpLHRhPW51bGwsbnU9bnVsbDtmdW5jdGlvbiBfdShsLHQsdSl7b2woemMsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9dX1mdW5jdGlvbiBmdShsKXtsLl9jdXJyZW50VmFsdWU9emMuY3VycmVudCxZbCh6Yyl9ZnVuY3Rpb24gQ24obCx0LHUpe2Zvcig7bCE9PW51bGw7KXt2YXIgYT1sLmFsdGVybmF0ZTtpZigobC5jaGlsZExhbmVzJnQpIT09dD8obC5jaGlsZExhbmVzfD10LGEhPT1udWxsJiYoYS5jaGlsZExhbmVzfD10KSk6YSE9PW51bGwmJihhLmNoaWxkTGFuZXMmdCkhPT10JiYoYS5jaGlsZExhbmVzfD10KSxsPT09dSlicmVhaztsPWwucmV0dXJufX1mdW5jdGlvbiBiYyhsLHQsdSxhKXt2YXIgZT1sLmNoaWxkO2ZvcihlIT09bnVsbCYmKGUucmV0dXJuPWwpO2UhPT1udWxsOyl7dmFyIG49ZS5kZXBlbmRlbmNpZXM7aWYobiE9PW51bGwpe3ZhciBmPWUuY2hpbGQ7bj1uLmZpcnN0Q29udGV4dDtsOmZvcig7biE9PW51bGw7KXt2YXIgYz1uO249ZTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylpZihjLmNvbnRleHQ9PT10W2ldKXtuLmxhbmVzfD11LGM9bi5hbHRlcm5hdGUsYyE9PW51bGwmJihjLmxhbmVzfD11KSxDbihuLnJldHVybix1LGwpLGF8fChmPW51bGwpO2JyZWFrIGx9bj1jLm5leHR9fWVsc2UgaWYoZS50YWc9PT0xOCl7aWYoZj1lLnJldHVybixmPT09bnVsbCl0aHJvdyBFcnJvcihTKDM0MSkpO2YubGFuZXN8PXUsbj1mLmFsdGVybmF0ZSxuIT09bnVsbCYmKG4ubGFuZXN8PXUpLENuKGYsdSxsKSxmPW51bGx9ZWxzZSBlLnRhZz09PTEzJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZD09PW51bGw/KGUubGFuZXN8PXUsZj1lLmFsdGVybmF0ZSxmIT09bnVsbCYmKGYubGFuZXN8PXUpLENuKGUucmV0dXJuLHUsbCksZj1lLmNoaWxkLGY9ZiE9PW51bGw/Zi5zaWJsaW5nOm51bGwpOmY9ZS5jaGlsZDtpZihmIT09bnVsbClmLnJldHVybj1lO2Vsc2UgZm9yKGY9ZTtmIT09bnVsbDspe2lmKGY9PT1sKXtmPW51bGw7YnJlYWt9aWYoZT1mLnNpYmxpbmcsZSE9PW51bGwpe2UucmV0dXJuPWYucmV0dXJuLGY9ZTticmVha31mPWYucmV0dXJufWU9Zn19ZnVuY3Rpb24gdWEobCx0LHUsYSl7bD1udWxsO2Zvcih2YXIgZT10LG49ITE7ZSE9PW51bGw7KXtpZighbil7aWYoKGUuZmxhZ3MmNTI0Mjg4KSE9PTApbj0hMDtlbHNlIGlmKChlLmZsYWdzJjI2MjE0NCkhPT0wKWJyZWFrfWlmKGUudGFnPT09MTApe3ZhciBmPWUuYWx0ZXJuYXRlO2lmKGY9PT1udWxsKXRocm93IEVycm9yKFMoMzg3KSk7aWYoZj1mLm1lbW9pemVkUHJvcHMsZiE9PW51bGwpe3ZhciBjPWUudHlwZTtpdChlLnBlbmRpbmdQcm9wcy52YWx1ZSxmLnZhbHVlKXx8KGwhPT1udWxsP2wucHVzaChjKTpsPVtjXSl9fWVsc2UgaWYoZT09PXVuLmN1cnJlbnQpe2lmKGY9ZS5hbHRlcm5hdGUsZj09PW51bGwpdGhyb3cgRXJyb3IoUygzODcpKTtmLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSE9PWUubWVtb2l6ZWRTdGF0ZS5tZW1vaXplZFN0YXRlJiYobCE9PW51bGw/bC5wdXNoKGVlKTpsPVtlZV0pfWU9ZS5yZXR1cm59cmV0dXJuIGwhPT1udWxsJiZiYyh0LGwsdSxhKSx0LmZsYWdzfD0yNjIxNDQsbCE9PW51bGx9ZnVuY3Rpb24gUm4obCl7Zm9yKGw9bC5maXJzdENvbnRleHQ7bCE9PW51bGw7KXtpZighaXQobC5jb250ZXh0Ll9jdXJyZW50VmFsdWUsbC5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtsPWwubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBhYShsKXt0YT1sLG51PW51bGwsbD1sLmRlcGVuZGVuY2llcyxsIT09bnVsbCYmKGwuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIEJsKGwpe3JldHVybiBZdih0YSxsKX1mdW5jdGlvbiBIbihsLHQpe3JldHVybiB0YT09PW51bGwmJmFhKGwpLFl2KGwsdCl9ZnVuY3Rpb24gWXYobCx0KXt2YXIgdT10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6dSxuZXh0Om51bGx9LG51PT09bnVsbCl7aWYobD09PW51bGwpdGhyb3cgRXJyb3IoUygzMDgpKTtudT10LGwuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxsLmZsYWdzfD01MjQyODh9ZWxzZSBudT1udS5uZXh0PXQ7cmV0dXJuIHV9dmFyIHlkPXR5cGVvZiBBYm9ydENvbnRyb2xsZXI8InUiP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBsPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih1LGEpe2wucHVzaChhKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsbC5mb3JFYWNoKGZ1bmN0aW9uKHUpe3JldHVybiB1KCl9KX19LG1kPUQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxkZD1ELnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHpsPXskJHR5cGVvZjpEbCxDb25zdW1lcjpudWxsLFByb3ZpZGVyOm51bGwsX2N1cnJlbnRWYWx1ZTpudWxsLF9jdXJyZW50VmFsdWUyOm51bGwsX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIF9jKCl7cmV0dXJue2NvbnRyb2xsZXI6bmV3IHlkLGRhdGE6bmV3IE1hcCxyZWZDb3VudDowfX1mdW5jdGlvbiBPZShsKXtsLnJlZkNvdW50LS0sbC5yZWZDb3VudD09PTAmJm1kKGRkLGZ1bmN0aW9uKCl7bC5jb250cm9sbGVyLmFib3J0KCl9KX1mdW5jdGlvbiBxdihsLHQpe2lmKChsLnBlbmRpbmdMYW5lcyY0MTk0MDQ4KSE9PTApe3ZhciB1PWwudHJhbnNpdGlvblR5cGVzO2Zvcih1PT09bnVsbCYmKHU9bC50cmFuc2l0aW9uVHlwZXM9W10pLGw9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGE9dFtsXTt1LmluZGV4T2YoYSk9PT0tMSYmdS5wdXNoKGEpfX19dmFyIEFlPW51bGw7ZnVuY3Rpb24gc2QobCl7dmFyIHQ9bC50cmFuc2l0aW9uVHlwZXM7cmV0dXJuIGwudHJhbnNpdGlvblR5cGVzPW51bGwsdH12YXIgTmU9bnVsbCxPYz0wLGVhPTAscWE9bnVsbDtmdW5jdGlvbiBoZChsLHQpe2lmKE5lPT09bnVsbCl7dmFyIHU9TmU9W107T2M9MCxlYT1aaSgpLHFhPXtzdGF0dXM6InBlbmRpbmciLHZhbHVlOnZvaWQgMCx0aGVuOmZ1bmN0aW9uKGEpe3UucHVzaChhKX19fXJldHVybiBPYysrLHQudGhlbihCdixCdiksdH1mdW5jdGlvbiBCdigpe2lmKC0tT2M9PT0wJiYoQWU9bnVsbCxOZSE9PW51bGwpKXtxYSE9PW51bGwmJihxYS5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBsPU5lO05lPW51bGwsZWE9MCxxYT1udWxsO2Zvcih2YXIgdD0wO3Q8bC5sZW5ndGg7dCsrKSgwLGxbdF0pKCl9fWZ1bmN0aW9uIGdkKGwsdCl7dmFyIHU9W10sYT17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oZSl7dS5wdXNoKGUpfX07cmV0dXJuIGwudGhlbihmdW5jdGlvbigpe2Euc3RhdHVzPSJmdWxmaWxsZWQiLGEudmFsdWU9dDtmb3IodmFyIGU9MDtlPHUubGVuZ3RoO2UrKykoMCx1W2VdKSh0KX0sZnVuY3Rpb24oZSl7Zm9yKGEuc3RhdHVzPSJyZWplY3RlZCIsYS5yZWFzb249ZSxlPTA7ZTx1Lmxlbmd0aDtlKyspKDAsdVtlXSkodm9pZCAwKX0pLGF9dmFyIEd2PU4uUztOLlM9ZnVuY3Rpb24obCx0KXtpZihVeT1ldCgpLHR5cGVvZiB0PT0ib2JqZWN0IiYmdCE9PW51bGwmJnR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiImJmhkKGwsdCksQWUhPT1udWxsKWZvcih2YXIgdT1rYTt1IT09bnVsbDspcXYodSxBZSksdT11Lm5leHQ7aWYodT1sLnR5cGVzLHUhPT1udWxsKXtmb3IodmFyIGE9a2E7YSE9PW51bGw7KXF2KGEsdSksYT1hLm5leHQ7aWYoZWEhPT0wKXthPUFlLGE9PT1udWxsJiYoYT1BZT1bXSk7Zm9yKHZhciBlPTA7ZTx1Lmxlbmd0aDtlKyspe3ZhciBuPXVbZV07YS5pbmRleE9mKG4pPT09LTEmJmEucHVzaChuKX19fUd2IT09bnVsbCYmR3YobCx0KX07dmFyIG5hPVh0KG51bGwpO2Z1bmN0aW9uIEFjKCl7dmFyIGw9bmEuY3VycmVudDtyZXR1cm4gbCE9PW51bGw/bDppbC5wb29sZWRDYWNoZX1mdW5jdGlvbiBZbihsLHQpe3Q9PT1udWxsP29sKG5hLG5hLmN1cnJlbnQpOm9sKG5hLHQucG9vbCl9ZnVuY3Rpb24gWHYoKXt2YXIgbD1BYygpO3JldHVybiBsPT09bnVsbD9udWxsOntwYXJlbnQ6emwuX2N1cnJlbnRWYWx1ZSxwb29sOmx9fXZhciBCYT1FcnJvcihTKDQ2MCkpLE5jPUVycm9yKFMoNDc0KSkscW49RXJyb3IoUyg1NDIpKSxCbj17dGhlbjpmdW5jdGlvbigpe319O2Z1bmN0aW9uIFF2KGwpe3JldHVybiBsPWwuc3RhdHVzLGw9PT0iZnVsZmlsbGVkInx8bD09PSJyZWplY3RlZCJ9ZnVuY3Rpb24ganYobCx0LHUpe3N3aXRjaCh1PWxbdV0sdT09PXZvaWQgMD9sLnB1c2godCk6dSE9PXQmJih0LnRoZW4oanQsanQpLHQ9dSksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gdC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBsPXQucmVhc29uLFZ2KGwpLGw9PT12b2lkIDAmJiEoInJlYXNvbiJpbiB0KT9FcnJvcihTKDYwMCkpOmw7ZGVmYXVsdDppZih0eXBlb2YgdC5zdGF0dXM9PSJzdHJpbmciKXQudGhlbihqdCxqdCk7ZWxzZXtpZihsPWlsLGwhPT1udWxsJiYxMDA8bC5zaGVsbFN1c3BlbmRDb3VudGVyKXRocm93IEVycm9yKFMoNDgyKSk7bD10LGwuc3RhdHVzPSJwZW5kaW5nIixsLnRoZW4oZnVuY3Rpb24oYSl7aWYodC5zdGF0dXM9PT0icGVuZGluZyIpe3ZhciBlPXQ7ZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT1hfX0sZnVuY3Rpb24oYSl7aWYodC5zdGF0dXM9PT0icGVuZGluZyIpe3ZhciBlPXQ7ZS5zdGF0dXM9InJlamVjdGVkIixlLnJlYXNvbj1hfX0pfXN3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiB0LnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IGw9dC5yZWFzb24sVnYobCksbH10aHJvdyBjYT10LEJhfX1mdW5jdGlvbiBmYShsKXt0cnl7dmFyIHQ9bC5faW5pdDtyZXR1cm4gdChsLl9wYXlsb2FkKX1jYXRjaCh1KXt0aHJvdyB1IT09bnVsbCYmdHlwZW9mIHU9PSJvYmplY3QiJiZ0eXBlb2YgdS50aGVuPT0iZnVuY3Rpb24iPyhjYT11LEJhKTp1fX12YXIgY2E9bnVsbDtmdW5jdGlvbiBadigpe2lmKGNhPT09bnVsbCl0aHJvdyBFcnJvcihTKDQ1OSkpO3ZhciBsPWNhO3JldHVybiBjYT1udWxsLGx9ZnVuY3Rpb24gVnYobCl7aWYobD09PUJhfHxsPT09cW4pdGhyb3cgRXJyb3IoUyg0ODMpKX12YXIgR2E9bnVsbCxEZT0wO2Z1bmN0aW9uIEduKGwpe3ZhciB0PURlO3JldHVybiBEZSs9MSxHYT09PW51bGwmJihHYT1bXSksanYoR2EsbCx0KX1mdW5jdGlvbiBPdShsLHQpe3Q9dC5wcm9wcy5yZWYsbC5yZWY9dCE9PXZvaWQgMD90Om51bGx9ZnVuY3Rpb24gWG4obCx0KXt0aHJvdyB0LiQkdHlwZW9mPT09Rj9FcnJvcihTKDUyNSkpOihsPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSxFcnJvcihTKDMxLGw9PT0iW29iamVjdCBPYmplY3RdIj8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpsKSkpfWZ1bmN0aW9uIEx2KGwpe2Z1bmN0aW9uIHQobSx2KXtpZihsKXt2YXIgcz1tLmRlbGV0aW9ucztzPT09bnVsbD8obS5kZWxldGlvbnM9W3ZdLG0uZmxhZ3N8PTE2KTpzLnB1c2godil9fWZ1bmN0aW9uIHUobSx2KXtpZighbClyZXR1cm4gbnVsbDtmb3IoO3YhPT1udWxsOyl0KG0sdiksdj12LnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gYShtKXtmb3IodmFyIHY9bmV3IE1hcDttIT09bnVsbDspbS5rZXk9PT1udWxsP3Yuc2V0KG0uaW5kZXgsbSk6di5zZXQobS5rZXksbSksbT1tLnNpYmxpbmc7cmV0dXJuIHZ9ZnVuY3Rpb24gZShtLHYpe3JldHVybiBtPWF1KG0sdiksbS5pbmRleD0wLG0uc2libGluZz1udWxsLG19ZnVuY3Rpb24gbihtLHYscyl7cmV0dXJuIG0uaW5kZXg9cyxsPyhzPW0uYWx0ZXJuYXRlLHMhPT1udWxsPyhzPXMuaW5kZXgsczx2PyhtLmZsYWdzfD0yLHYpOnMpOihtLmZsYWdzfD0xMzQyMTc3MzAsdikpOihtLmZsYWdzfD0xMDQ4NTc2LHYpfWZ1bmN0aW9uIGYobSl7cmV0dXJuIGwmJm0uYWx0ZXJuYXRlPT09bnVsbCYmKG0uZmxhZ3N8PTEzNDIxNzczMCksbX1mdW5jdGlvbiBjKG0sdixzLHIpe3JldHVybiB2PT09bnVsbHx8di50YWchPT02Pyh2PWdjKHMsbS5tb2RlLHIpLHYucmV0dXJuPW0sdik6KHY9ZSh2LHMpLHYucmV0dXJuPW0sdil9ZnVuY3Rpb24gaShtLHYscyxyKXt2YXIgTz1zLnR5cGU7cmV0dXJuIE89PT1TdD8obT1nKG0sdixzLnByb3BzLmNoaWxkcmVuLHIscy5rZXkpLE91KG0scyksbSk6diE9PW51bGwmJih2LmVsZW1lbnRUeXBlPT09T3x8dHlwZW9mIE89PSJvYmplY3QiJiZPIT09bnVsbCYmTy4kJHR5cGVvZj09PVAmJmZhKE8pPT09di50eXBlKT8odj1lKHYscy5wcm9wcyksT3UodixzKSx2LnJldHVybj1tLHYpOih2PU5uKHMudHlwZSxzLmtleSxzLnByb3BzLG51bGwsbS5tb2RlLHIpLE91KHYscyksdi5yZXR1cm49bSx2KX1mdW5jdGlvbiBkKG0sdixzLHIpe3JldHVybiB2PT09bnVsbHx8di50YWchPT00fHx2LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09cy5jb250YWluZXJJbmZvfHx2LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PXMuaW1wbGVtZW50YXRpb24/KHY9U2MocyxtLm1vZGUsciksdi5yZXR1cm49bSx2KToodj1lKHYscy5jaGlsZHJlbnx8W10pLHYucmV0dXJuPW0sdil9ZnVuY3Rpb24gZyhtLHYscyxyLE8pe3JldHVybiB2PT09bnVsbHx8di50YWchPT03Pyh2PVB1KHMsbS5tb2RlLHIsTyksdi5yZXR1cm49bSx2KToodj1lKHYscyksdi5yZXR1cm49bSx2KX1mdW5jdGlvbiBFKG0sdixzKXtpZih0eXBlb2Ygdj09InN0cmluZyImJnYhPT0iInx8dHlwZW9mIHY9PSJudW1iZXIifHx0eXBlb2Ygdj09ImJpZ2ludCIpcmV0dXJuIHY9Z2MoIiIrdixtLm1vZGUscyksdi5yZXR1cm49bSx2O2lmKHR5cGVvZiB2PT0ib2JqZWN0IiYmdiE9PW51bGwpe3N3aXRjaCh2LiQkdHlwZW9mKXtjYXNlIEd0OnJldHVybiBzPU5uKHYudHlwZSx2LmtleSx2LnByb3BzLG51bGwsbS5tb2RlLHMpLE91KHMsdikscy5yZXR1cm49bSxzO2Nhc2UgZ3Q6cmV0dXJuIHY9U2ModixtLm1vZGUscyksdi5yZXR1cm49bSx2O2Nhc2UgUDpyZXR1cm4gdj1mYSh2KSxFKG0sdixzKX1pZihJKHYpfHxDKHYpKXJldHVybiB2PVB1KHYsbS5tb2RlLHMsbnVsbCksdi5yZXR1cm49bSx2O2lmKHR5cGVvZiB2LnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIEUobSxHbih2KSxzKTtpZih2LiQkdHlwZW9mPT09RGwpcmV0dXJuIEUobSxIbihtLHYpLHMpO1huKG0sdil9cmV0dXJuIG51bGx9ZnVuY3Rpb24geShtLHYscyxyKXt2YXIgTz12IT09bnVsbD92LmtleTpudWxsO2lmKHR5cGVvZiBzPT0ic3RyaW5nIiYmcyE9PSIifHx0eXBlb2Ygcz09Im51bWJlciJ8fHR5cGVvZiBzPT0iYmlnaW50IilyZXR1cm4gTyE9PW51bGw/bnVsbDpjKG0sdiwiIitzLHIpO2lmKHR5cGVvZiBzPT0ib2JqZWN0IiYmcyE9PW51bGwpe3N3aXRjaChzLiQkdHlwZW9mKXtjYXNlIEd0OnJldHVybiBzLmtleT09PU8/aShtLHYscyxyKTpudWxsO2Nhc2UgZ3Q6cmV0dXJuIHMua2V5PT09Tz9kKG0sdixzLHIpOm51bGw7Y2FzZSBQOnJldHVybiBzPWZhKHMpLHkobSx2LHMscil9aWYoSShzKXx8QyhzKSlyZXR1cm4gTyE9PW51bGw/bnVsbDpnKG0sdixzLHIsbnVsbCk7aWYodHlwZW9mIHMudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4geShtLHYsR24ocykscik7aWYocy4kJHR5cGVvZj09PURsKXJldHVybiB5KG0sdixIbihtLHMpLHIpO1huKG0scyl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaChtLHYscyxyLE8pe2lmKHR5cGVvZiByPT0ic3RyaW5nIiYmciE9PSIifHx0eXBlb2Ygcj09Im51bWJlciJ8fHR5cGVvZiByPT0iYmlnaW50IilyZXR1cm4gbT1tLmdldChzKXx8bnVsbCxjKHYsbSwiIityLE8pO2lmKHR5cGVvZiByPT0ib2JqZWN0IiYmciE9PW51bGwpe3N3aXRjaChyLiQkdHlwZW9mKXtjYXNlIEd0OnJldHVybiBtPW0uZ2V0KHIua2V5PT09bnVsbD9zOnIua2V5KXx8bnVsbCxpKHYsbSxyLE8pO2Nhc2UgZ3Q6cmV0dXJuIG09bS5nZXQoci5rZXk9PT1udWxsP3M6ci5rZXkpfHxudWxsLGQodixtLHIsTyk7Y2FzZSBQOnJldHVybiByPWZhKHIpLGgobSx2LHMscixPKX1pZihJKHIpfHxDKHIpKXJldHVybiBtPW0uZ2V0KHMpfHxudWxsLGcodixtLHIsTyxudWxsKTtpZih0eXBlb2Ygci50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBoKG0sdixzLEduKHIpLE8pO2lmKHIuJCR0eXBlb2Y9PT1EbClyZXR1cm4gaChtLHYscyxIbih2LHIpLE8pO1huKHYscil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYihtLHYscyxyKXtmb3IodmFyIE89bnVsbCxLPW51bGwsTT12LFI9dj0wLE9sPW51bGw7TSE9PW51bGwmJlI8cy5sZW5ndGg7UisrKXtNLmluZGV4PlI/KE9sPU0sTT1udWxsKTpPbD1NLnNpYmxpbmc7dmFyIEo9eShtLE0sc1tSXSxyKTtpZihKPT09bnVsbCl7TT09PW51bGwmJihNPU9sKTticmVha31sJiZNJiZKLmFsdGVybmF0ZT09PW51bGwmJnQobSxNKSx2PW4oSix2LFIpLEs9PT1udWxsP089SjpLLnNpYmxpbmc9SixLPUosTT1PbH1pZihSPT09cy5sZW5ndGgpcmV0dXJuIHUobSxNKSxaJiZldShtLFIpLE87aWYoTT09PW51bGwpe2Zvcig7UjxzLmxlbmd0aDtSKyspTT1FKG0sc1tSXSxyKSxNIT09bnVsbCYmKHY9bihNLHYsUiksSz09PW51bGw/Tz1NOksuc2libGluZz1NLEs9TSk7cmV0dXJuIFomJmV1KG0sUiksT31mb3IoTT1hKE0pO1I8cy5sZW5ndGg7UisrKU9sPWgoTSxtLFIsc1tSXSxyKSxPbCE9PW51bGwmJihsJiYoSj1PbC5hbHRlcm5hdGUsSiE9PW51bGwmJk0uZGVsZXRlKEoua2V5PT09bnVsbD9SOkoua2V5KSksdj1uKE9sLHYsUiksSz09PW51bGw/Tz1PbDpLLnNpYmxpbmc9T2wsSz1PbCk7cmV0dXJuIGwmJk0uZm9yRWFjaChmdW5jdGlvbihwdSl7cmV0dXJuIHQobSxwdSl9KSxaJiZldShtLFIpLE99ZnVuY3Rpb24gQShtLHYscyxyKXtpZihzPT1udWxsKXRocm93IEVycm9yKFMoMTUxKSk7Zm9yKHZhciBPPW51bGwsSz1udWxsLE09dixSPXY9MCxPbD1udWxsLEo9cy5uZXh0KCk7TSE9PW51bGwmJiFKLmRvbmU7UisrLEo9cy5uZXh0KCkpe00uaW5kZXg+Uj8oT2w9TSxNPW51bGwpOk9sPU0uc2libGluZzt2YXIgcHU9eShtLE0sSi52YWx1ZSxyKTtpZihwdT09PW51bGwpe009PT1udWxsJiYoTT1PbCk7YnJlYWt9bCYmTSYmcHUuYWx0ZXJuYXRlPT09bnVsbCYmdChtLE0pLHY9bihwdSx2LFIpLEs9PT1udWxsP089cHU6Sy5zaWJsaW5nPXB1LEs9cHUsTT1PbH1pZihKLmRvbmUpcmV0dXJuIHUobSxNKSxaJiZldShtLFIpLE87aWYoTT09PW51bGwpe2Zvcig7IUouZG9uZTtSKyssSj1zLm5leHQoKSlKPUUobSxKLnZhbHVlLHIpLEohPT1udWxsJiYodj1uKEosdixSKSxLPT09bnVsbD9PPUo6Sy5zaWJsaW5nPUosSz1KKTtyZXR1cm4gWiYmZXUobSxSKSxPfWZvcihNPWEoTSk7IUouZG9uZTtSKyssSj1zLm5leHQoKSlKPWgoTSxtLFIsSi52YWx1ZSxyKSxKIT09bnVsbCYmKGwmJihPbD1KLmFsdGVybmF0ZSxPbCE9PW51bGwmJk0uZGVsZXRlKE9sLmtleT09PW51bGw/UjpPbC5rZXkpKSx2PW4oSix2LFIpLEs9PT1udWxsP089SjpLLnNpYmxpbmc9SixLPUopO3JldHVybiBsJiZNLmZvckVhY2goZnVuY3Rpb24oRnMpe3JldHVybiB0KG0sRnMpfSksWiYmZXUobSxSKSxPfWZ1bmN0aW9uIGoobSx2LHMscil7aWYodHlwZW9mIHM9PSJvYmplY3QiJiZzIT09bnVsbCYmcy50eXBlPT09U3QmJnMua2V5PT09bnVsbCYmcy5wcm9wcy5yZWY9PT12b2lkIDAmJihzPXMucHJvcHMuY2hpbGRyZW4pLHR5cGVvZiBzPT0ib2JqZWN0IiYmcyE9PW51bGwpe3N3aXRjaChzLiQkdHlwZW9mKXtjYXNlIEd0Omw6e2Zvcih2YXIgTz1zLmtleTt2IT09bnVsbDspe2lmKHYua2V5PT09Tyl7aWYoTz1zLnR5cGUsTz09PVN0KXtpZih2LnRhZz09PTcpe3UobSx2LnNpYmxpbmcpLHI9ZSh2LHMucHJvcHMuY2hpbGRyZW4pLE91KHIscyksci5yZXR1cm49bSxtPXI7YnJlYWsgbH19ZWxzZSBpZih2LmVsZW1lbnRUeXBlPT09T3x8dHlwZW9mIE89PSJvYmplY3QiJiZPIT09bnVsbCYmTy4kJHR5cGVvZj09PVAmJmZhKE8pPT09di50eXBlKXt1KG0sdi5zaWJsaW5nKSxyPWUodixzLnByb3BzKSxPdShyLHMpLHIucmV0dXJuPW0sbT1yO2JyZWFrIGx9dShtLHYpO2JyZWFrfWVsc2UgdChtLHYpO3Y9di5zaWJsaW5nfXMudHlwZT09PVN0PyhyPVB1KHMucHJvcHMuY2hpbGRyZW4sbS5tb2RlLHIscy5rZXkpLE91KHIscyksci5yZXR1cm49bSxtPXIpOihyPU5uKHMudHlwZSxzLmtleSxzLnByb3BzLG51bGwsbS5tb2RlLHIpLE91KHIscyksci5yZXR1cm49bSxtPXIpfXJldHVybiBmKG0pO2Nhc2UgZ3Q6bDp7Zm9yKE89cy5rZXk7diE9PW51bGw7KXtpZih2LmtleT09PU8paWYodi50YWc9PT00JiZ2LnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09cy5jb250YWluZXJJbmZvJiZ2LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbj09PXMuaW1wbGVtZW50YXRpb24pe3UobSx2LnNpYmxpbmcpLHI9ZSh2LHMuY2hpbGRyZW58fFtdKSxyLnJldHVybj1tLG09cjticmVhayBsfWVsc2V7dShtLHYpO2JyZWFrfWVsc2UgdChtLHYpO3Y9di5zaWJsaW5nfXI9U2MocyxtLm1vZGUsciksci5yZXR1cm49bSxtPXJ9cmV0dXJuIGYobSk7Y2FzZSBQOnJldHVybiBzPWZhKHMpLGoobSx2LHMscil9aWYoSShzKSlyZXR1cm4gYihtLHYscyxyKTtpZihDKHMpKXtpZihPPUMocyksdHlwZW9mIE8hPSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoUygxNTApKTtyZXR1cm4gcz1PLmNhbGwocyksQShtLHYscyxyKX1pZih0eXBlb2Ygcy50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBqKG0sdixHbihzKSxyKTtpZihzLiQkdHlwZW9mPT09RGwpcmV0dXJuIGoobSx2LEhuKG0scykscik7WG4obSxzKX1yZXR1cm4gdHlwZW9mIHM9PSJzdHJpbmciJiZzIT09IiJ8fHR5cGVvZiBzPT0ibnVtYmVyInx8dHlwZW9mIHM9PSJiaWdpbnQiPyhzPSIiK3MsdiE9PW51bGwmJnYudGFnPT09Nj8odShtLHYuc2libGluZykscj1lKHYscyksci5yZXR1cm49bSxtPXIpOih1KG0sdikscj1nYyhzLG0ubW9kZSxyKSxyLnJldHVybj1tLG09ciksZihtKSk6dShtLHYpfXJldHVybiBmdW5jdGlvbihtLHYscyxyKXt0cnl7RGU9MDt2YXIgTz1qKG0sdixzLHIpO3JldHVybiBHYT1udWxsLE99Y2F0Y2goTSl7aWYoTT09PUJhfHxNPT09cW4pdGhyb3cgTTt2YXIgSz0kbCgyOSxNLG51bGwsbS5tb2RlKTtyZXR1cm4gSy5sYW5lcz1yLEsucmV0dXJuPW0sS319fXZhciBpYT1MdighMCkscHY9THYoITEpLEF1PSExO2Z1bmN0aW9uIERjKGwpe2wudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTpsLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxsYW5lczowLGhpZGRlbkNhbGxiYWNrczpudWxsfSxjYWxsYmFja3M6bnVsbH19ZnVuY3Rpb24gTWMobCx0KXtsPWwudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWwmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6bC5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmwuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmwubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmwuc2hhcmVkLGNhbGxiYWNrczpudWxsfSl9ZnVuY3Rpb24gTnUobCl7cmV0dXJue2xhbmU6bCx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIER1KGwsdCx1KXt2YXIgYT1sLnVwZGF0ZVF1ZXVlO2lmKGE9PT1udWxsKXJldHVybiBudWxsO2lmKGE9YS5zaGFyZWQsKGsmMikhPT0wKXt2YXIgZT1hLnBlbmRpbmc7cmV0dXJuIGU9PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9ZS5uZXh0LGUubmV4dD10KSxhLnBlbmRpbmc9dCx0PUFuKGwpLE52KGwsbnVsbCx1KSx0fXJldHVybiBPbihsLGEsdCx1KSxBbihsKX1mdW5jdGlvbiBNZShsLHQsdSl7aWYodD10LnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYodD10LnNoYXJlZCwodSY0MTk0MDQ4KSE9PTApKXt2YXIgYT10LmxhbmVzO2EmPWwucGVuZGluZ0xhbmVzLHV8PWEsdC5sYW5lcz11LEMwKGwsdSl9fWZ1bmN0aW9uIFVjKGwsdCl7dmFyIHU9bC51cGRhdGVRdWV1ZSxhPWwuYWx0ZXJuYXRlO2lmKGEhPT1udWxsJiYoYT1hLnVwZGF0ZVF1ZXVlLHU9PT1hKSl7dmFyIGU9bnVsbCxuPW51bGw7aWYodT11LmZpcnN0QmFzZVVwZGF0ZSx1IT09bnVsbCl7ZG97dmFyIGY9e2xhbmU6dS5sYW5lLHRhZzp1LnRhZyxwYXlsb2FkOnUucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bj09PW51bGw/ZT1uPWY6bj1uLm5leHQ9Zix1PXUubmV4dH13aGlsZSh1IT09bnVsbCk7bj09PW51bGw/ZT1uPXQ6bj1uLm5leHQ9dH1lbHNlIGU9bj10O3U9e2Jhc2VTdGF0ZTphLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6ZSxsYXN0QmFzZVVwZGF0ZTpuLHNoYXJlZDphLnNoYXJlZCxjYWxsYmFja3M6YS5jYWxsYmFja3N9LGwudXBkYXRlUXVldWU9dTtyZXR1cm59bD11Lmxhc3RCYXNlVXBkYXRlLGw9PT1udWxsP3UuZmlyc3RCYXNlVXBkYXRlPXQ6bC5uZXh0PXQsdS5sYXN0QmFzZVVwZGF0ZT10fXZhciBDYz0hMTtmdW5jdGlvbiBVZSgpe2lmKENjKXt2YXIgbD1xYTtpZihsIT09bnVsbCl0aHJvdyBsfX1mdW5jdGlvbiBDZShsLHQsdSxhKXtDYz0hMTt2YXIgZT1sLnVwZGF0ZVF1ZXVlO0F1PSExO3ZhciBuPWUuZmlyc3RCYXNlVXBkYXRlLGY9ZS5sYXN0QmFzZVVwZGF0ZSxjPWUuc2hhcmVkLnBlbmRpbmc7aWYoYyE9PW51bGwpe2Uuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1jLGQ9aS5uZXh0O2kubmV4dD1udWxsLGY9PT1udWxsP249ZDpmLm5leHQ9ZCxmPWk7dmFyIGc9bC5hbHRlcm5hdGU7ZyE9PW51bGwmJihnPWcudXBkYXRlUXVldWUsYz1nLmxhc3RCYXNlVXBkYXRlLGMhPT1mJiYoYz09PW51bGw/Zy5maXJzdEJhc2VVcGRhdGU9ZDpjLm5leHQ9ZCxnLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihuIT09bnVsbCl7dmFyIEU9ZS5iYXNlU3RhdGU7Zj0wLGc9ZD1pPW51bGwsYz1uO2Rve3ZhciB5PWMubGFuZSYtNTM2ODcwOTEzLGg9eSE9PWMubGFuZTtpZihoPyh4JnkpPT09eTooYSZ5KT09PXkpe3khPT0wJiZ5PT09ZWEmJihDYz0hMCksZyE9PW51bGwmJihnPWcubmV4dD17bGFuZTowLHRhZzpjLnRhZyxwYXlsb2FkOmMucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH0pO2w6e3ZhciBiPWwsQT1jO3k9dDt2YXIgaj11O3N3aXRjaChBLnRhZyl7Y2FzZSAxOmlmKGI9QS5wYXlsb2FkLHR5cGVvZiBiPT0iZnVuY3Rpb24iKXtFPWIuY2FsbChqLEUseSk7YnJlYWsgbH1FPWI7YnJlYWsgbDtjYXNlIDM6Yi5mbGFncz1iLmZsYWdzJi02NTUzN3wxMjg7Y2FzZSAwOmlmKGI9QS5wYXlsb2FkLHk9dHlwZW9mIGI9PSJmdW5jdGlvbiI/Yi5jYWxsKGosRSx5KTpiLHk9PW51bGwpYnJlYWsgbDtFPVYoe30sRSx5KTticmVhayBsO2Nhc2UgMjpBdT0hMH19eT1jLmNhbGxiYWNrLHkhPT1udWxsJiYobC5mbGFnc3w9NjQsaCYmKGwuZmxhZ3N8PTgxOTIpLGg9ZS5jYWxsYmFja3MsaD09PW51bGw/ZS5jYWxsYmFja3M9W3ldOmgucHVzaCh5KSl9ZWxzZSBoPXtsYW5lOnksdGFnOmMudGFnLHBheWxvYWQ6Yy5wYXlsb2FkLGNhbGxiYWNrOmMuY2FsbGJhY2ssbmV4dDpudWxsfSxnPT09bnVsbD8oZD1nPWgsaT1FKTpnPWcubmV4dD1oLGZ8PXk7aWYoYz1jLm5leHQsYz09PW51bGwpe2lmKGM9ZS5zaGFyZWQucGVuZGluZyxjPT09bnVsbClicmVhaztoPWMsYz1oLm5leHQsaC5uZXh0PW51bGwsZS5sYXN0QmFzZVVwZGF0ZT1oLGUuc2hhcmVkLnBlbmRpbmc9bnVsbH19d2hpbGUoITApO2c9PT1udWxsJiYoaT1FKSxlLmJhc2VTdGF0ZT1pLGUuZmlyc3RCYXNlVXBkYXRlPWQsZS5sYXN0QmFzZVVwZGF0ZT1nLG49PT1udWxsJiYoZS5zaGFyZWQubGFuZXM9MCkscXV8PWYsbC5sYW5lcz1mLGwubWVtb2l6ZWRTdGF0ZT1FfX1mdW5jdGlvbiB4dihsLHQpe2lmKHR5cGVvZiBsIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKFMoMTkxLGwpKTtsLmNhbGwodCl9ZnVuY3Rpb24gS3YobCx0KXt2YXIgdT1sLmNhbGxiYWNrcztpZih1IT09bnVsbClmb3IobC5jYWxsYmFja3M9bnVsbCxsPTA7bDx1Lmxlbmd0aDtsKyspeHYodVtsXSx0KX12YXIgTXU9WHQobnVsbCksUW49WHQoMCk7ZnVuY3Rpb24gSnYobCx0KXtsPXl1LG9sKFFuLGwpLG9sKE11LHQpLHl1PWx8dC5iYXNlTGFuZXN9ZnVuY3Rpb24gUmMoKXtvbChRbix5dSksb2woTXUsTXUuY3VycmVudCl9ZnVuY3Rpb24gSGMoKXt5dT1Rbi5jdXJyZW50LFlsKE11KSxZbChRbil9dmFyIEdsPVh0KG51bGwpLFZsPW51bGw7ZnVuY3Rpb24gVXUobCl7dmFyIHQ9bC5hbHRlcm5hdGU7b2woWGwsWGwuY3VycmVudCYxKSxvbChHbCxsKSxWbD09PW51bGwmJih0PT09bnVsbHx8TXUuY3VycmVudCE9PW51bGx8fHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwpJiYoVmw9bCl9ZnVuY3Rpb24gWWMobCl7b2woWGwsWGwuY3VycmVudCksb2woR2wsbCksVmw9PT1udWxsJiYoVmw9bCl9ZnVuY3Rpb24gd3YobCl7bC50YWc9PT0yMj8ob2woWGwsWGwuY3VycmVudCksb2woR2wsbCksVmw9PT1udWxsJiYoVmw9bCkpOkN1KCl9ZnVuY3Rpb24gQ3UoKXtvbChYbCxYbC5jdXJyZW50KSxvbChHbCxHbC5jdXJyZW50KX1mdW5jdGlvbiB2dChsKXtZbChHbCksVmw9PT1sJiYoVmw9bnVsbCksWWwoWGwpfXZhciBYbD1YdCgwKTtmdW5jdGlvbiBSZShsLHQpe29sKEdsLEdsLmN1cnJlbnQpLG9sKFhsLHQpfWZ1bmN0aW9uIHFjKGwpe1lsKFhsKSxZbChHbCksVmw9PT1sJiYoVmw9bnVsbCl9ZnVuY3Rpb24gam4obCl7Zm9yKHZhciB0PWw7dCE9PW51bGw7KXtpZih0LnRhZz09PTEzKXt2YXIgdT10Lm1lbW9pemVkU3RhdGU7aWYodSE9PW51bGwmJih1PXUuZGVoeWRyYXRlZCx1PT09bnVsbHx8dTAodSl8fGEwKHUpKSlyZXR1cm4gdH1lbHNlIGlmKHQudGFnPT09MTkmJnQubWVtb2l6ZWRQcm9wcy5yZXZlYWxPcmRlciE9PSJpbmRlcGVuZGVudCIpe2lmKCh0LmZsYWdzJjEyOCkhPT0wKXJldHVybiB0fWVsc2UgaWYodC5jaGlsZCE9PW51bGwpe3QuY2hpbGQucmV0dXJuPXQsdD10LmNoaWxkO2NvbnRpbnVlfWlmKHQ9PT1sKWJyZWFrO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1sKXJldHVybiBudWxsO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ31yZXR1cm4gbnVsbH12YXIgY3U9MCxRPW51bGwsbmw9bnVsbCxibD1udWxsLFpuPSExLFhhPSExLHZhPSExLFZuPTAsSGU9MCxRYT1udWxsLFNkPTA7ZnVuY3Rpb24gU2woKXt0aHJvdyBFcnJvcihTKDMyMSkpfWZ1bmN0aW9uIEJjKGwsdCl7aWYodD09PW51bGwpcmV0dXJuITE7Zm9yKHZhciB1PTA7dTx0Lmxlbmd0aCYmdTxsLmxlbmd0aDt1KyspaWYoIWl0KGxbdV0sdFt1XSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gR2MobCx0LHUsYSxlLG4pe3JldHVybiBjdT1uLFE9dCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsdC5sYW5lcz0wLE4uSD1sPT09bnVsbHx8bC5tZW1vaXplZFN0YXRlPT09bnVsbD9SbzpIbyx2YT0hMSxuPXUoYSxlKSx2YT0hMSxYYSYmKG49JHYodCx1LGEsZSkpLFd2KGwpLG59ZnVuY3Rpb24gV3YobCl7Ti5IPVduO3ZhciB0PW5sIT09bnVsbCYmbmwubmV4dCE9PW51bGw7aWYoY3U9MCxibD1ubD1RPW51bGwsWm49ITEsSGU9MCxRYT1udWxsLHQpdGhyb3cgRXJyb3IoUygzMDApKTtsPT09bnVsbHx8X2x8fChsPWwuZGVwZW5kZW5jaWVzLGwhPT1udWxsJiZSbihsKSYmKF9sPSEwKSl9ZnVuY3Rpb24gJHYobCx0LHUsYSl7UT1sO3ZhciBlPTA7ZG97aWYoWGEmJihRYT1udWxsKSxIZT0wLFhhPSExLDI1PD1lKXRocm93IEVycm9yKFMoMzAxKSk7aWYoZSs9MSxibD1ubD1udWxsLGwudXBkYXRlUXVldWUhPW51bGwpe3ZhciBuPWwudXBkYXRlUXVldWU7bi5sYXN0RWZmZWN0PW51bGwsbi5ldmVudHM9bnVsbCxuLnN0b3Jlcz1udWxsLG4ubWVtb0NhY2hlIT1udWxsJiYobi5tZW1vQ2FjaGUuaW5kZXg9MCl9Ti5IPUFkLG49dCh1LGEpfXdoaWxlKFhhKTtyZXR1cm4gbn1mdW5jdGlvbiByZCgpe3ZhciBsPU4uSCx0PWwudXNlU3RhdGUoKVswXTtyZXR1cm4gdD10eXBlb2YgdC50aGVuPT0iZnVuY3Rpb24iP1llKHQpOnQsbD1sLnVzZVN0YXRlKClbMF0sKG5sIT09bnVsbD9ubC5tZW1vaXplZFN0YXRlOm51bGwpIT09bCYmKFEuZmxhZ3N8PTEwMjQpLHR9ZnVuY3Rpb24gWGMoKXt2YXIgbD1WbiE9PTA7cmV0dXJuIFZuPTAsbH1mdW5jdGlvbiBRYyhsLHQsdSl7dC51cGRhdGVRdWV1ZT1sLnVwZGF0ZVF1ZXVlLHQuZmxhZ3MmPS0yMDUzLGwubGFuZXMmPX51fWZ1bmN0aW9uIGpjKGwpe2lmKFpuKXtmb3IobD1sLm1lbW9pemVkU3RhdGU7bCE9PW51bGw7KXt2YXIgdD1sLnF1ZXVlO3QhPT1udWxsJiYodC5wZW5kaW5nPW51bGwpLGw9bC5uZXh0fVpuPSExfWN1PTAsYmw9bmw9UT1udWxsLFhhPSExLEhlPVZuPTAsUWE9bnVsbH1mdW5jdGlvbiBwbCgpe3ZhciBsPXttZW1vaXplZFN0YXRlOm51bGwsYmFzZVN0YXRlOm51bGwsYmFzZVF1ZXVlOm51bGwscXVldWU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBibD09PW51bGw/US5tZW1vaXplZFN0YXRlPWJsPWw6Ymw9YmwubmV4dD1sLGJsfWZ1bmN0aW9uIFRsKCl7aWYobmw9PT1udWxsKXt2YXIgbD1RLmFsdGVybmF0ZTtsPWwhPT1udWxsP2wubWVtb2l6ZWRTdGF0ZTpudWxsfWVsc2UgbD1ubC5uZXh0O3ZhciB0PWJsPT09bnVsbD9RLm1lbW9pemVkU3RhdGU6YmwubmV4dDtpZih0IT09bnVsbClibD10LG5sPWw7ZWxzZXtpZihsPT09bnVsbCl0aHJvdyBRLmFsdGVybmF0ZT09PW51bGw/RXJyb3IoUyg0NjcpKTpFcnJvcihTKDMxMCkpO25sPWwsbD17bWVtb2l6ZWRTdGF0ZTpubC5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTpubC5iYXNlU3RhdGUsYmFzZVF1ZXVlOm5sLmJhc2VRdWV1ZSxxdWV1ZTpubC5xdWV1ZSxuZXh0Om51bGx9LGJsPT09bnVsbD9RLm1lbW9pemVkU3RhdGU9Ymw9bDpibD1ibC5uZXh0PWx9cmV0dXJuIGJsfWZ1bmN0aW9uIExuKCl7cmV0dXJue2xhc3RFZmZlY3Q6bnVsbCxldmVudHM6bnVsbCxzdG9yZXM6bnVsbCxtZW1vQ2FjaGU6bnVsbH19ZnVuY3Rpb24gWWUobCl7dmFyIHQ9SGU7cmV0dXJuIEhlKz0xLFFhPT09bnVsbCYmKFFhPVtdKSxsPWp2KFFhLGwsdCksdD1RLChibD09PW51bGw/dC5tZW1vaXplZFN0YXRlOmJsLm5leHQpPT09bnVsbCYmKHQ9dC5hbHRlcm5hdGUsTi5IPXQ9PT1udWxsfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsP1JvOkhvKSxsfWZ1bmN0aW9uIHBuKGwpe2lmKGwhPT1udWxsJiZ0eXBlb2YgbD09Im9iamVjdCIpe2lmKHR5cGVvZiBsLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIFllKGwpO2lmKGwuJCR0eXBlb2Y9PT16KXJldHVybjtpZihsLiQkdHlwZW9mPT09RGwpcmV0dXJuIEJsKGwpfXRocm93IEVycm9yKFMoNDM4LFN0cmluZyhsKSkpfWZ1bmN0aW9uIFpjKGwpe3ZhciB0PW51bGwsdT1RLnVwZGF0ZVF1ZXVlO2lmKHUhPT1udWxsJiYodD11Lm1lbW9DYWNoZSksdD09bnVsbCl7dmFyIGE9US5hbHRlcm5hdGU7YSE9PW51bGwmJihhPWEudXBkYXRlUXVldWUsYSE9PW51bGwmJihhPWEubWVtb0NhY2hlLGEhPW51bGwmJih0PXtkYXRhOmEuZGF0YS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2xpY2UoKX0pLGluZGV4OjB9KSkpfWlmKHQ9PW51bGwmJih0PXtkYXRhOltdLGluZGV4OjB9KSx1PT09bnVsbCYmKHU9TG4oKSxRLnVwZGF0ZVF1ZXVlPXUpLHUubWVtb0NhY2hlPXQsdT10LmRhdGFbdC5pbmRleF0sdT09PXZvaWQgMClmb3IodT10LmRhdGFbdC5pbmRleF09QXJyYXkobCksYT0wO2E8bDthKyspdVthXT1KdTtyZXR1cm4gdC5pbmRleCsrLHV9ZnVuY3Rpb24gaXUobCx0KXtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChsKTp0fWZ1bmN0aW9uIHhuKGwpe3ZhciB0PVRsKCk7cmV0dXJuIFZjKHQsbmwsbCl9ZnVuY3Rpb24gVmMobCx0LHUpe3ZhciBhPWwucXVldWU7aWYoYT09PW51bGwpdGhyb3cgRXJyb3IoUygzMTEpKTthLmxhc3RSZW5kZXJlZFJlZHVjZXI9dTt2YXIgZT1sLmJhc2VRdWV1ZSxuPWEucGVuZGluZztpZihuIT09bnVsbCl7aWYoZSE9PW51bGwpe3ZhciBmPWUubmV4dDtlLm5leHQ9bi5uZXh0LG4ubmV4dD1mfXQuYmFzZVF1ZXVlPWU9bixhLnBlbmRpbmc9bnVsbH1pZihuPWwuYmFzZVN0YXRlLGU9PT1udWxsKWwubWVtb2l6ZWRTdGF0ZT1uO2Vsc2V7dD1lLm5leHQ7dmFyIGM9Zj1udWxsLGk9bnVsbCxkPXQsZz0hMTtkb3t2YXIgRT1kLmxhbmUmLTUzNjg3MDkxMztpZihFIT09ZC5sYW5lPyh4JkUpPT09RTooY3UmRSk9PT1FKXt2YXIgeT1kLnJldmVydExhbmU7aWYoeT09PTApaSE9PW51bGwmJihpPWkubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOmQuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6ZC5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6ZC5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLEU9PT1lYSYmKGc9ITApO2Vsc2UgaWYoKGN1JnkpPT09eSl7ZD1kLm5leHQseT09PWVhJiYoZz0hMCk7Y29udGludWV9ZWxzZSBFPXtsYW5lOjAscmV2ZXJ0TGFuZTpkLnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjpkLmFjdGlvbixoYXNFYWdlclN0YXRlOmQuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmQuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LGk9PT1udWxsPyhjPWk9RSxmPW4pOmk9aS5uZXh0PUUsUS5sYW5lc3w9eSxxdXw9eTtFPWQuYWN0aW9uLHZhJiZ1KG4sRSksbj1kLmhhc0VhZ2VyU3RhdGU/ZC5lYWdlclN0YXRlOnUobixFKX1lbHNlIHk9e2xhbmU6RSxyZXZlcnRMYW5lOmQucmV2ZXJ0TGFuZSxnZXN0dXJlOmQuZ2VzdHVyZSxhY3Rpb246ZC5hY3Rpb24saGFzRWFnZXJTdGF0ZTpkLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpkLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSxpPT09bnVsbD8oYz1pPXksZj1uKTppPWkubmV4dD15LFEubGFuZXN8PUUscXV8PUU7ZD1kLm5leHR9d2hpbGUoZCE9PW51bGwmJmQhPT10KTtpZihpPT09bnVsbD9mPW46aS5uZXh0PWMsIWl0KG4sbC5tZW1vaXplZFN0YXRlKSYmKF9sPSEwLGcmJih1PXFhLHUhPT1udWxsKSkpdGhyb3cgdTtsLm1lbW9pemVkU3RhdGU9bixsLmJhc2VTdGF0ZT1mLGwuYmFzZVF1ZXVlPWksYS5sYXN0UmVuZGVyZWRTdGF0ZT1ufXJldHVybiBlPT09bnVsbCYmKGEubGFuZXM9MCksW2wubWVtb2l6ZWRTdGF0ZSxhLmRpc3BhdGNoXX1mdW5jdGlvbiBMYyhsKXt2YXIgdD1UbCgpLHU9dC5xdWV1ZTtpZih1PT09bnVsbCl0aHJvdyBFcnJvcihTKDMxMSkpO3UubGFzdFJlbmRlcmVkUmVkdWNlcj1sO3ZhciBhPXUuZGlzcGF0Y2gsZT11LnBlbmRpbmcsbj10Lm1lbW9pemVkU3RhdGU7aWYoZSE9PW51bGwpe3UucGVuZGluZz1udWxsO3ZhciBmPWU9ZS5uZXh0O2RvIG49bChuLGYuYWN0aW9uKSxmPWYubmV4dDt3aGlsZShmIT09ZSk7aXQobix0Lm1lbW9pemVkU3RhdGUpfHwoX2w9ITApLHQubWVtb2l6ZWRTdGF0ZT1uLHQuYmFzZVF1ZXVlPT09bnVsbCYmKHQuYmFzZVN0YXRlPW4pLHUubGFzdFJlbmRlcmVkU3RhdGU9bn1yZXR1cm5bbixhXX1mdW5jdGlvbiBGdihsLHQsdSl7dmFyIGE9USxlPVRsKCksbj1aO2lmKG4pe2lmKHU9PT12b2lkIDApdGhyb3cgRXJyb3IoUyg0MDcpKTt1PXUoKX1lbHNlIHU9dCgpO3ZhciBmPSFpdCgobmx8fGUpLm1lbW9pemVkU3RhdGUsdSk7aWYoZiYmKGUubWVtb2l6ZWRTdGF0ZT11LF9sPSEwKSxlPWUucXVldWUsS2MoUHYuYmluZChudWxsLGEsZSxsKSxbbF0pLGw9ZS5nZXRTbmFwc2hvdCE9PXR8fGZ8fGJsIT09bnVsbCYmKGJsLm1lbW9pemVkU3RhdGUudGFnJjEpIT09MCxqYShsPzk6OCx7ZGVzdHJveTp2b2lkIDB9LGt2LmJpbmQobnVsbCxhLGUsdSx0KSxudWxsKSxsKXtpZihhLmZsYWdzfD0yMDQ4LGlsPT09bnVsbCl0aHJvdyBFcnJvcihTKDM0OSkpO258fChjdSYxMjcpIT09MHx8SXYoYSx0LHUpfXJldHVybiB1fWZ1bmN0aW9uIEl2KGwsdCx1KXtsLmZsYWdzfD0xNjM4NCxsPXtnZXRTbmFwc2hvdDp0LHZhbHVlOnV9LHQ9US51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD1MbigpLFEudXBkYXRlUXVldWU9dCx0LnN0b3Jlcz1bbF0pOih1PXQuc3RvcmVzLHU9PT1udWxsP3Quc3RvcmVzPVtsXTp1LnB1c2gobCkpfWZ1bmN0aW9uIGt2KGwsdCx1LGEpe3QudmFsdWU9dSx0LmdldFNuYXBzaG90PWEsbG8odCkmJnRvKGwpfWZ1bmN0aW9uIFB2KGwsdCx1KXtyZXR1cm4gdShmdW5jdGlvbigpe2xvKHQpJiZ0byhsKX0pfWZ1bmN0aW9uIGxvKGwpe3ZhciB0PWwuZ2V0U25hcHNob3Q7bD1sLnZhbHVlO3RyeXt2YXIgdT10KCk7cmV0dXJuIWl0KGwsdSl9Y2F0Y2h7cmV0dXJuITB9fWZ1bmN0aW9uIHRvKGwpe3ZhciB0PWt1KGwsMik7dCE9PW51bGwmJlBsKHQsbCwyKX1mdW5jdGlvbiBwYyhsKXt2YXIgdD1wbCgpO2lmKHR5cGVvZiBsPT0iZnVuY3Rpb24iKXt2YXIgdT1sO2lmKGw9dSgpLHZhKXtTdSghMCk7dHJ5e3UoKX1maW5hbGx5e1N1KCExKX19fXJldHVybiB0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9bCx0LnF1ZXVlPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6aXUsbGFzdFJlbmRlcmVkU3RhdGU6bH0sdH1mdW5jdGlvbiB1byhsLHQsdSxhKXtyZXR1cm4gbC5iYXNlU3RhdGU9dSxWYyhsLG5sLHR5cGVvZiBhPT0iZnVuY3Rpb24iP2E6aXUpfWZ1bmN0aW9uIFRkKGwsdCx1LGEsZSl7aWYod24obCkpdGhyb3cgRXJyb3IoUyg0ODUpKTtpZihsPXQuYWN0aW9uLGwhPT1udWxsKXt2YXIgbj17cGF5bG9hZDplLGFjdGlvbjpsLG5leHQ6bnVsbCxpc1RyYW5zaXRpb246ITAsc3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLGxpc3RlbmVyczpbXSx0aGVuOmZ1bmN0aW9uKGYpe24ubGlzdGVuZXJzLnB1c2goZil9fTtOLlQhPT1udWxsP3UoITApOm4uaXNUcmFuc2l0aW9uPSExLGEobiksdT10LnBlbmRpbmcsdT09PW51bGw/KG4ubmV4dD10LnBlbmRpbmc9bixhbyh0LG4pKToobi5uZXh0PXUubmV4dCx0LnBlbmRpbmc9dS5uZXh0PW4pfX1mdW5jdGlvbiBhbyhsLHQpe3ZhciB1PXQuYWN0aW9uLGE9dC5wYXlsb2FkLGU9bC5zdGF0ZTtpZih0LmlzVHJhbnNpdGlvbil7dmFyIG49Ti5ULGY9e307Zi50eXBlcz1uIT09bnVsbD9uLnR5cGVzOm51bGwsTi5UPWY7dHJ5e3ZhciBjPXUoZSxhKSxpPU4uUztpIT09bnVsbCYmaShmLGMpLGVvKGwsdCxjKX1jYXRjaChkKXt4YyhsLHQsZCl9ZmluYWxseXtuIT09bnVsbCYmZi50eXBlcyE9PW51bGwmJihuLnR5cGVzPWYudHlwZXMpLE4uVD1ufX1lbHNlIHRyeXtuPXUoZSxhKSxlbyhsLHQsbil9Y2F0Y2goZCl7eGMobCx0LGQpfX1mdW5jdGlvbiBlbyhsLHQsdSl7dSE9PW51bGwmJnR5cGVvZiB1PT0ib2JqZWN0IiYmdHlwZW9mIHUudGhlbj09ImZ1bmN0aW9uIj91LnRoZW4oZnVuY3Rpb24oYSl7bm8obCx0LGEpfSxmdW5jdGlvbihhKXtyZXR1cm4geGMobCx0LGEpfSk6bm8obCx0LHUpfWZ1bmN0aW9uIG5vKGwsdCx1KXt0LnN0YXR1cz0iZnVsZmlsbGVkIix0LnZhbHVlPXUsZm8odCksbC5zdGF0ZT11LHQ9bC5wZW5kaW5nLHQhPT1udWxsJiYodT10Lm5leHQsdT09PXQ/bC5wZW5kaW5nPW51bGw6KHU9dS5uZXh0LHQubmV4dD11LGFvKGwsdSkpKX1mdW5jdGlvbiB4YyhsLHQsdSl7dmFyIGE9bC5wZW5kaW5nO2lmKGwucGVuZGluZz1udWxsLGEhPT1udWxsKXthPWEubmV4dDtkbyB0LnN0YXR1cz0icmVqZWN0ZWQiLHQucmVhc29uPXUsZm8odCksdD10Lm5leHQ7d2hpbGUodCE9PWEpfWwuYWN0aW9uPW51bGx9ZnVuY3Rpb24gZm8obCl7bD1sLmxpc3RlbmVycztmb3IodmFyIHQ9MDt0PGwubGVuZ3RoO3QrKykoMCxsW3RdKSgpfWZ1bmN0aW9uIGNvKGwsdCl7cmV0dXJuIHR9ZnVuY3Rpb24gaW8obCx0KXtpZihaKXt2YXIgdT1pbC5mb3JtU3RhdGU7aWYodSE9PW51bGwpe2w6e3ZhciBhPVE7aWYoWil7aWYoeWwpe3Q6e2Zvcih2YXIgZT15bCxuPV90O2Uubm9kZVR5cGUhPT04Oyl7aWYoIW4pe2U9bnVsbDticmVhayB0fWlmKGU9QXQoZS5uZXh0U2libGluZyksZT09PW51bGwpe2U9bnVsbDticmVhayB0fX1uPWUuZGF0YSxlPW49PT0iRiEifHxuPT09IkYiP2U6bnVsbH1pZihlKXt5bD1BdChlLm5leHRTaWJsaW5nKSxhPWUuZGF0YT09PSJGISI7YnJlYWsgbH19YnUoYSl9YT0hMX1hJiYodD11WzBdKX19cmV0dXJuIHU9cGwoKSx1Lm1lbW9pemVkU3RhdGU9dS5iYXNlU3RhdGU9dCxhPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6Y28sbGFzdFJlbmRlcmVkU3RhdGU6dH0sdS5xdWV1ZT1hLHU9TW8uYmluZChudWxsLFEsYSksYS5kaXNwYXRjaD11LGE9cGMoITEpLG49RmMuYmluZChudWxsLFEsITEsYS5xdWV1ZSksYT1wbCgpLGU9e3N0YXRlOnQsZGlzcGF0Y2g6bnVsbCxhY3Rpb246bCxwZW5kaW5nOm51bGx9LGEucXVldWU9ZSx1PVRkLmJpbmQobnVsbCxRLGUsbix1KSxlLmRpc3BhdGNoPXUsYS5tZW1vaXplZFN0YXRlPWwsW3QsdSwhMV19ZnVuY3Rpb24gdm8obCl7dmFyIHQ9VGwoKTtyZXR1cm4gb28odCxubCxsKX1mdW5jdGlvbiBvbyhsLHQsdSl7aWYodD1WYyhsLHQsY28pWzBdLGw9eG4oaXUpWzBdLHR5cGVvZiB0PT0ib2JqZWN0IiYmdCE9PW51bGwmJnR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiIpdHJ5e3ZhciBhPVllKHQpfWNhdGNoKGYpe3Rocm93IGY9PT1CYT9xbjpmfWVsc2UgYT10O3Q9VGwoKTt2YXIgZT10LnF1ZXVlLG49ZS5kaXNwYXRjaDtyZXR1cm4gdSE9PXQubWVtb2l6ZWRTdGF0ZSYmKFEuZmxhZ3N8PTIwNDgsamEoOSx7ZGVzdHJveTp2b2lkIDB9LEVkLmJpbmQobnVsbCxlLHUpLG51bGwpKSxbYSxuLGxdfWZ1bmN0aW9uIEVkKGwsdCl7bC5hY3Rpb249dH1mdW5jdGlvbiB5byhsKXt2YXIgdD1UbCgpLHU9bmw7aWYodSE9PW51bGwpcmV0dXJuIG9vKHQsdSxsKTtUbCgpLHQ9dC5tZW1vaXplZFN0YXRlLHU9VGwoKTt2YXIgYT11LnF1ZXVlLmRpc3BhdGNoO3JldHVybiB1Lm1lbW9pemVkU3RhdGU9bCxbdCxhLCExXX1mdW5jdGlvbiBqYShsLHQsdSxhKXtyZXR1cm4gbD17dGFnOmwsY3JlYXRlOnUsZGVwczphLGluc3Q6dCxuZXh0Om51bGx9LHQ9US51cGRhdGVRdWV1ZSx0PT09bnVsbCYmKHQ9TG4oKSxRLnVwZGF0ZVF1ZXVlPXQpLHU9dC5sYXN0RWZmZWN0LHU9PT1udWxsP3QubGFzdEVmZmVjdD1sLm5leHQ9bDooYT11Lm5leHQsdS5uZXh0PWwsbC5uZXh0PWEsdC5sYXN0RWZmZWN0PWwpLGx9ZnVuY3Rpb24gbW8oKXtyZXR1cm4gVGwoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIEtuKGwsdCx1LGEpe3ZhciBlPXBsKCk7US5mbGFnc3w9bCxlLm1lbW9pemVkU3RhdGU9amEoMXx0LHtkZXN0cm95OnZvaWQgMH0sdSxhPT09dm9pZCAwP251bGw6YSl9ZnVuY3Rpb24gSm4obCx0LHUsYSl7dmFyIGU9VGwoKTthPWE9PT12b2lkIDA/bnVsbDphO3ZhciBuPWUubWVtb2l6ZWRTdGF0ZS5pbnN0O25sIT09bnVsbCYmYSE9PW51bGwmJkJjKGEsbmwubWVtb2l6ZWRTdGF0ZS5kZXBzKT9lLm1lbW9pemVkU3RhdGU9amEodCxuLHUsYSk6KFEuZmxhZ3N8PWwsZS5tZW1vaXplZFN0YXRlPWphKDF8dCxuLHUsYSkpfWZ1bmN0aW9uIHNvKGwsdCl7S24oODM5MDY1Niw4LGwsdCl9ZnVuY3Rpb24gS2MobCx0KXtKbigyMDQ4LDgsbCx0KX1mdW5jdGlvbiB6ZChsKXtRLmZsYWdzfD00O3ZhciB0PVEudXBkYXRlUXVldWU7aWYodD09PW51bGwpdD1MbigpLFEudXBkYXRlUXVldWU9dCx0LmV2ZW50cz1bbF07ZWxzZXt2YXIgdT10LmV2ZW50czt1PT09bnVsbD90LmV2ZW50cz1bbF06dS5wdXNoKGwpfX1mdW5jdGlvbiBobyhsKXt2YXIgdD1UbCgpLm1lbW9pemVkU3RhdGU7cmV0dXJuIHpkKHtyZWY6dCxuZXh0SW1wbDpsfSksZnVuY3Rpb24oKXtpZigoayYyKSE9PTApdGhyb3cgRXJyb3IoUyg0NDApKTtyZXR1cm4gdC5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX1mdW5jdGlvbiBnbyhsLHQpe3JldHVybiBKbig0LDIsbCx0KX1mdW5jdGlvbiBTbyhsLHQpe3JldHVybiBKbig0LDQsbCx0KX1mdW5jdGlvbiBybyhsLHQpe2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXtsPWwoKTt2YXIgdT10KGwpO3JldHVybiBmdW5jdGlvbigpe3R5cGVvZiB1PT0iZnVuY3Rpb24iP3UoKTp0KG51bGwpfX1pZih0IT1udWxsKXJldHVybiBsPWwoKSx0LmN1cnJlbnQ9bCxmdW5jdGlvbigpe3QuY3VycmVudD1udWxsfX1mdW5jdGlvbiBUbyhsLHQsdSl7dT11IT1udWxsP3UuY29uY2F0KFtsXSk6bnVsbCxKbig0LDQscm8uYmluZChudWxsLHQsbCksdSl9ZnVuY3Rpb24gSmMoKXt9ZnVuY3Rpb24gRW8obCx0KXt2YXIgdT1UbCgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIGE9dS5tZW1vaXplZFN0YXRlO3JldHVybiB0IT09bnVsbCYmQmModCxhWzFdKT9hWzBdOih1Lm1lbW9pemVkU3RhdGU9W2wsdF0sbCl9ZnVuY3Rpb24gem8obCx0KXt2YXIgdT1UbCgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIGE9dS5tZW1vaXplZFN0YXRlO2lmKHQhPT1udWxsJiZCYyh0LGFbMV0pKXJldHVybiBhWzBdO2lmKGE9bCgpLHZhKXtTdSghMCk7dHJ5e2woKX1maW5hbGx5e1N1KCExKX19cmV0dXJuIHUubWVtb2l6ZWRTdGF0ZT1bYSx0XSxhfWZ1bmN0aW9uIHdjKGwsdCx1KXtyZXR1cm4gdT09PXZvaWQgMHx8KGN1JjEwNzM3NDE4MjQpIT09MCYmKHgmMjYxOTMwKT09PTA/bC5tZW1vaXplZFN0YXRlPXQ6KGwubWVtb2l6ZWRTdGF0ZT11LGw9UnkoKSxRLmxhbmVzfD1sLHF1fD1sLHUpfWZ1bmN0aW9uIGJvKGwsdCx1LGEpe3JldHVybiBpdCh1LHQpP3U6TXUuY3VycmVudCE9PW51bGw/KGw9d2MobCx1LGEpLGl0KGwsdCl8fChfbD0hMCksbCk6KGN1JjEwNik9PT0wfHwoY3UmMTA3Mzc0MTgyNCkhPT0wJiYoeCYyNjE5MzApPT09MD8oX2w9ITAsbC5tZW1vaXplZFN0YXRlPXUpOihsPVJ5KCksUS5sYW5lc3w9bCxxdXw9bCx0KX1mdW5jdGlvbiBfbyhsLHQsdSxhLGUpe3ZhciBuPUcucDtHLnA9biE9PTAmJjg+bj9uOjg7dmFyIGY9Ti5ULGM9e307Yy50eXBlcz1mIT09bnVsbD9mLnR5cGVzOm51bGwsTi5UPWMsRmMobCwhMSx0LHUpO3RyeXt2YXIgaT1lKCksZD1OLlM7aWYoZCE9PW51bGwmJmQoYyxpKSxpIT09bnVsbCYmdHlwZW9mIGk9PSJvYmplY3QiJiZ0eXBlb2YgaS50aGVuPT0iZnVuY3Rpb24iKXt2YXIgZz1nZChpLGEpO3FlKGwsdCxnLGR0KGwpKX1lbHNlIHFlKGwsdCxhLGR0KGwpKX1jYXRjaChFKXtxZShsLHQse3RoZW46ZnVuY3Rpb24oKXt9LHN0YXR1czoicmVqZWN0ZWQiLHJlYXNvbjpFfSxkdCgpKX1maW5hbGx5e0cucD1uLGYhPT1udWxsJiZjLnR5cGVzIT09bnVsbCYmKGYudHlwZXM9Yy50eXBlcyksTi5UPWZ9fWZ1bmN0aW9uIGJkKCl7fWZ1bmN0aW9uIFdjKGwsdCx1LGEpe2lmKGwudGFnIT09NSl0aHJvdyBFcnJvcihTKDQ3NikpO3ZhciBlPU9vKGwpLnF1ZXVlO19vKGwsZSx0LEl0LHU9PT1udWxsP2JkOmZ1bmN0aW9uKCl7cmV0dXJuIEFvKGwpLHUoYSl9KX1mdW5jdGlvbiBPbyhsKXt2YXIgdD1sLm1lbW9pemVkU3RhdGU7aWYodCE9PW51bGwpcmV0dXJuIHQ7dD17bWVtb2l6ZWRTdGF0ZTpJdCxiYXNlU3RhdGU6SXQsYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjppdSxsYXN0UmVuZGVyZWRTdGF0ZTpJdH0sbmV4dDpudWxsfTt2YXIgdT17fTtyZXR1cm4gdC5uZXh0PXttZW1vaXplZFN0YXRlOnUsYmFzZVN0YXRlOnUsYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjppdSxsYXN0UmVuZGVyZWRTdGF0ZTp1fSxuZXh0Om51bGx9LGwubWVtb2l6ZWRTdGF0ZT10LGw9bC5hbHRlcm5hdGUsbCE9PW51bGwmJihsLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBBbyhsKXt2YXIgdD1PbyhsKTt0Lm5leHQ9PT1udWxsJiYodD1sLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxxZShsLHQubmV4dC5xdWV1ZSx7fSxkdCgpKX1mdW5jdGlvbiAkYygpe3JldHVybiBCbChlZSl9ZnVuY3Rpb24gTm8oKXtyZXR1cm4gVGwoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIERvKCl7cmV0dXJuIFRsKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBfZChsKXtmb3IodmFyIHQ9bC5yZXR1cm47dCE9PW51bGw7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciB1PWR0KCk7bD1OdSh1KTt2YXIgYT1EdSh0LGwsdSk7YSE9PW51bGwmJihQbChhLHQsdSksTWUoYSx0LHUpKSx0PXtjYWNoZTpfYygpfSxsLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gT2QobCx0LHUpe3ZhciBhPWR0KCk7dT17bGFuZTphLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOnUsaGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSx3bihsKT9Vbyh0LHUpOih1PXNjKGwsdCx1LGEpLHUhPT1udWxsJiYoUGwodSxsLGEpLENvKHUsdCxhKSkpfWZ1bmN0aW9uIE1vKGwsdCx1KXt2YXIgYT1kdCgpO3FlKGwsdCx1LGEpfWZ1bmN0aW9uIHFlKGwsdCx1LGEpe3ZhciBlPXtsYW5lOmEscmV2ZXJ0TGFuZTowLGdlc3R1cmU6bnVsbCxhY3Rpb246dSxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHduKGwpKVVvKHQsZSk7ZWxzZXt2YXIgbj1sLmFsdGVybmF0ZTtpZihsLmxhbmVzPT09MCYmKG49PT1udWxsfHxuLmxhbmVzPT09MCkmJihuPXQubGFzdFJlbmRlcmVkUmVkdWNlcixuIT09bnVsbCkpdHJ5e3ZhciBmPXQubGFzdFJlbmRlcmVkU3RhdGUsYz1uKGYsdSk7aWYoZS5oYXNFYWdlclN0YXRlPSEwLGUuZWFnZXJTdGF0ZT1jLGl0KGMsZikpcmV0dXJuIE9uKGwsdCxlLDApLGlsPT09bnVsbCYmX24oKSwhMX1jYXRjaHt9aWYodT1zYyhsLHQsZSxhKSx1IT09bnVsbClyZXR1cm4gUGwodSxsLGEpLENvKHUsdCxhKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBGYyhsLHQsdSxhKXtpZihhPXtsYW5lOjIscmV2ZXJ0TGFuZTpaaSgpLGdlc3R1cmU6bnVsbCxhY3Rpb246YSxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LHduKGwpKXtpZih0KXRocm93IEVycm9yKFMoNDc5KSl9ZWxzZSB0PXNjKGwsdSxhLDIpLHQhPT1udWxsJiZQbCh0LGwsMil9ZnVuY3Rpb24gd24obCl7dmFyIHQ9bC5hbHRlcm5hdGU7cmV0dXJuIGw9PT1RfHx0IT09bnVsbCYmdD09PVF9ZnVuY3Rpb24gVW8obCx0KXtYYT1abj0hMDt2YXIgdT1sLnBlbmRpbmc7dT09PW51bGw/dC5uZXh0PXQ6KHQubmV4dD11Lm5leHQsdS5uZXh0PXQpLGwucGVuZGluZz10fWZ1bmN0aW9uIENvKGwsdCx1KXtpZigodSY0MTk0MDQ4KSE9PTApe3ZhciBhPXQubGFuZXM7YSY9bC5wZW5kaW5nTGFuZXMsdXw9YSx0LmxhbmVzPXUsQzAobCx1KX19dmFyIFduPXtyZWFkQ29udGV4dDpCbCx1c2U6cG4sdXNlQ2FsbGJhY2s6U2wsdXNlQ29udGV4dDpTbCx1c2VFZmZlY3Q6U2wsdXNlSW1wZXJhdGl2ZUhhbmRsZTpTbCx1c2VMYXlvdXRFZmZlY3Q6U2wsdXNlSW5zZXJ0aW9uRWZmZWN0OlNsLHVzZU1lbW86U2wsdXNlUmVkdWNlcjpTbCx1c2VSZWY6U2wsdXNlU3RhdGU6U2wsdXNlRGVidWdWYWx1ZTpTbCx1c2VEZWZlcnJlZFZhbHVlOlNsLHVzZVRyYW5zaXRpb246U2wsdXNlU3luY0V4dGVybmFsU3RvcmU6U2wsdXNlSWQ6U2wsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6U2wsdXNlRm9ybVN0YXRlOlNsLHVzZUFjdGlvblN0YXRlOlNsLHVzZU9wdGltaXN0aWM6U2wsdXNlTWVtb0NhY2hlOlNsLHVzZUNhY2hlUmVmcmVzaDpTbCx1c2VFZmZlY3RFdmVudDpTbH0sUm89e3JlYWRDb250ZXh0OkJsLHVzZTpwbix1c2VDYWxsYmFjazpmdW5jdGlvbihsLHQpe3JldHVybiBwbCgpLm1lbW9pemVkU3RhdGU9W2wsdD09PXZvaWQgMD9udWxsOnRdLGx9LHVzZUNvbnRleHQ6QmwsdXNlRWZmZWN0OnNvLHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24obCx0LHUpe3U9dSE9bnVsbD91LmNvbmNhdChbbF0pOm51bGwsS24oNDE5NDMwOCw0LHJvLmJpbmQobnVsbCx0LGwpLHUpfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24obCx0KXtyZXR1cm4gS24oNDE5NDMwOCw0LGwsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihsLHQpe0tuKDQsMixsLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGwsdCl7dmFyIHU9cGwoKTt0PXQ9PT12b2lkIDA/bnVsbDp0O3ZhciBhPWwoKTtpZih2YSl7U3UoITApO3RyeXtsKCl9ZmluYWxseXtTdSghMSl9fXJldHVybiB1Lm1lbW9pemVkU3RhdGU9W2EsdF0sYX0sdXNlUmVkdWNlcjpmdW5jdGlvbihsLHQsdSl7dmFyIGE9cGwoKTtpZih1IT09dm9pZCAwKXt2YXIgZT11KHQpO2lmKHZhKXtTdSghMCk7dHJ5e3UodCl9ZmluYWxseXtTdSghMSl9fX1lbHNlIGU9dDtyZXR1cm4gYS5tZW1vaXplZFN0YXRlPWEuYmFzZVN0YXRlPWUsbD17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmwsbGFzdFJlbmRlcmVkU3RhdGU6ZX0sYS5xdWV1ZT1sLGw9bC5kaXNwYXRjaD1PZC5iaW5kKG51bGwsUSxsKSxbYS5tZW1vaXplZFN0YXRlLGxdfSx1c2VSZWY6ZnVuY3Rpb24obCl7dmFyIHQ9cGwoKTtyZXR1cm4gbD17Y3VycmVudDpsfSx0Lm1lbW9pemVkU3RhdGU9bH0sdXNlU3RhdGU6ZnVuY3Rpb24obCl7bD1wYyhsKTt2YXIgdD1sLnF1ZXVlLHU9TW8uYmluZChudWxsLFEsdCk7cmV0dXJuIHQuZGlzcGF0Y2g9dSxbbC5tZW1vaXplZFN0YXRlLHVdfSx1c2VEZWJ1Z1ZhbHVlOkpjLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24obCx0KXt2YXIgdT1wbCgpO3JldHVybiB3Yyh1LGwsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgbD1wYyghMSk7cmV0dXJuIGw9X28uYmluZChudWxsLFEsbC5xdWV1ZSwhMCwhMSkscGwoKS5tZW1vaXplZFN0YXRlPWwsWyExLGxdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihsLHQsdSl7dmFyIGE9USxlPXBsKCk7aWYoWil7aWYodT09PXZvaWQgMCl0aHJvdyBFcnJvcihTKDQwNykpO3U9dSgpfWVsc2V7aWYodT10KCksaWw9PT1udWxsKXRocm93IEVycm9yKFMoMzQ5KSk7KHgmMTI3KSE9PTB8fEl2KGEsdCx1KX1lLm1lbW9pemVkU3RhdGU9dTt2YXIgbj17dmFsdWU6dSxnZXRTbmFwc2hvdDp0fTtyZXR1cm4gZS5xdWV1ZT1uLHNvKFB2LmJpbmQobnVsbCxhLG4sbCksW2xdKSxhLmZsYWdzfD0yMDQ4LGphKDkse2Rlc3Ryb3k6dm9pZCAwfSxrdi5iaW5kKG51bGwsYSxuLHUsdCksbnVsbCksdX0sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgbD1wbCgpLHQ9aWwuaWRlbnRpZmllclByZWZpeDtpZihaKXt2YXIgdT1WdCxhPVp0O3U9KGEmfigxPDwzMi1mdChhKS0xKSkudG9TdHJpbmcoMzIpK3UsdD0iXyIrdCsiUl8iK3UsdT1WbisrLDA8dSYmKHQrPSJIIit1LnRvU3RyaW5nKDMyKSksdCs9Il8ifWVsc2UgdT1TZCsrLHQ9Il8iK3QrInJfIit1LnRvU3RyaW5nKDMyKSsiXyI7cmV0dXJuIGwubWVtb2l6ZWRTdGF0ZT10fSx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czokYyx1c2VGb3JtU3RhdGU6aW8sdXNlQWN0aW9uU3RhdGU6aW8sdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihsKXt2YXIgdD1wbCgpO3QubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1sO3ZhciB1PXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6bnVsbCxsYXN0UmVuZGVyZWRTdGF0ZTpudWxsfTtyZXR1cm4gdC5xdWV1ZT11LHQ9RmMuYmluZChudWxsLFEsITAsdSksdS5kaXNwYXRjaD10LFtsLHRdfSx1c2VNZW1vQ2FjaGU6WmMsdXNlQ2FjaGVSZWZyZXNoOmZ1bmN0aW9uKCl7cmV0dXJuIHBsKCkubWVtb2l6ZWRTdGF0ZT1fZC5iaW5kKG51bGwsUSl9LHVzZUVmZmVjdEV2ZW50OmZ1bmN0aW9uKGwpe3ZhciB0PXBsKCksdT17aW1wbDpsfTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPXUsZnVuY3Rpb24oKXtpZigoayYyKSE9PTApdGhyb3cgRXJyb3IoUyg0NDApKTtyZXR1cm4gdS5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LEhvPXtyZWFkQ29udGV4dDpCbCx1c2U6cG4sdXNlQ2FsbGJhY2s6RW8sdXNlQ29udGV4dDpCbCx1c2VFZmZlY3Q6S2MsdXNlSW1wZXJhdGl2ZUhhbmRsZTpUbyx1c2VJbnNlcnRpb25FZmZlY3Q6Z28sdXNlTGF5b3V0RWZmZWN0OlNvLHVzZU1lbW86em8sdXNlUmVkdWNlcjp4bix1c2VSZWY6bW8sdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4geG4oaXUpfSx1c2VEZWJ1Z1ZhbHVlOkpjLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24obCx0KXt2YXIgdT1UbCgpO3JldHVybiBibyh1LG5sLm1lbW9pemVkU3RhdGUsbCx0KX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBsPXhuKGl1KVswXSx0PVRsKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bdHlwZW9mIGw9PSJib29sZWFuIj9sOlllKGwpLHRdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpGdix1c2VJZDpObyx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czokYyx1c2VGb3JtU3RhdGU6dm8sdXNlQWN0aW9uU3RhdGU6dm8sdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihsLHQpe3ZhciB1PVRsKCk7cmV0dXJuIHVvKHUsbmwsbCx0KX0sdXNlTWVtb0NhY2hlOlpjLHVzZUNhY2hlUmVmcmVzaDpEbyx1c2VFZmZlY3RFdmVudDpob30sQWQ9e3JlYWRDb250ZXh0OkJsLHVzZTpwbix1c2VDYWxsYmFjazpFbyx1c2VDb250ZXh0OkJsLHVzZUVmZmVjdDpLYyx1c2VJbXBlcmF0aXZlSGFuZGxlOlRvLHVzZUluc2VydGlvbkVmZmVjdDpnbyx1c2VMYXlvdXRFZmZlY3Q6U28sdXNlTWVtbzp6byx1c2VSZWR1Y2VyOkxjLHVzZVJlZjptbyx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBMYyhpdSl9LHVzZURlYnVnVmFsdWU6SmMsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihsLHQpe3ZhciB1PVRsKCk7cmV0dXJuIG5sPT09bnVsbD93Yyh1LGwsdCk6Ym8odSxubC5tZW1vaXplZFN0YXRlLGwsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgbD1MYyhpdSlbMF0sdD1UbCgpLm1lbW9pemVkU3RhdGU7cmV0dXJuW3R5cGVvZiBsPT0iYm9vbGVhbiI/bDpZZShsKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6RnYsdXNlSWQ6Tm8sdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6JGMsdXNlRm9ybVN0YXRlOnlvLHVzZUFjdGlvblN0YXRlOnlvLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24obCx0KXt2YXIgdT1UbCgpO3JldHVybiBubCE9PW51bGw/dW8odSxubCxsLHQpOih1LmJhc2VTdGF0ZT1sLFtsLHUucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOlpjLHVzZUNhY2hlUmVmcmVzaDpEbyx1c2VFZmZlY3RFdmVudDpob307ZnVuY3Rpb24gSWMobCx0LHUsYSl7dD1sLm1lbW9pemVkU3RhdGUsdT11KGEsdCksdT11PT1udWxsP3Q6Vih7fSx0LHUpLGwubWVtb2l6ZWRTdGF0ZT11LGwubGFuZXM9PT0wJiYobC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSl9dmFyIGtjPXtlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24obCx0LHUpe2w9bC5fcmVhY3RJbnRlcm5hbHM7dmFyIGE9ZHQoKSxlPU51KGEpO2UucGF5bG9hZD10LHUhPW51bGwmJihlLmNhbGxiYWNrPXUpLHQ9RHUobCxlLGEpLHQhPT1udWxsJiYoUGwodCxsLGEpLE1lKHQsbCxhKSl9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24obCx0LHUpe2w9bC5fcmVhY3RJbnRlcm5hbHM7dmFyIGE9ZHQoKSxlPU51KGEpO2UudGFnPTEsZS5wYXlsb2FkPXQsdSE9bnVsbCYmKGUuY2FsbGJhY2s9dSksdD1EdShsLGUsYSksdCE9PW51bGwmJihQbCh0LGwsYSksTWUodCxsLGEpKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKGwsdCl7bD1sLl9yZWFjdEludGVybmFsczt2YXIgdT1kdCgpLGE9TnUodSk7YS50YWc9Mix0IT1udWxsJiYoYS5jYWxsYmFjaz10KSx0PUR1KGwsYSx1KSx0IT09bnVsbCYmKFBsKHQsbCx1KSxNZSh0LGwsdSkpfX07ZnVuY3Rpb24gWW8obCx0LHUsYSxlLG4sZil7cmV0dXJuIGw9bC5zdGF0ZU5vZGUsdHlwZW9mIGwuc2hvdWxkQ29tcG9uZW50VXBkYXRlPT0iZnVuY3Rpb24iP2wuc2hvdWxkQ29tcG9uZW50VXBkYXRlKGEsbixmKTp0LnByb3RvdHlwZSYmdC5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQ/IUVlKHUsYSl8fCFFZShlLG4pOiEwfWZ1bmN0aW9uIHFvKGwsdCx1LGEpe2w9dC5zdGF0ZSx0eXBlb2YgdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzPT0iZnVuY3Rpb24iJiZ0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHModSxhKSx0eXBlb2YgdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcz09ImZ1bmN0aW9uIiYmdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh1LGEpLHQuc3RhdGUhPT1sJiZrYy5lbnF1ZXVlUmVwbGFjZVN0YXRlKHQsdC5zdGF0ZSxudWxsKX1mdW5jdGlvbiBvYShsLHQpe3ZhciB1PXQ7aWYoInJlZiJpbiB0KXt1PXt9O2Zvcih2YXIgYSBpbiB0KWEhPT0icmVmIiYmKHVbYV09dFthXSl9aWYobD1sLmRlZmF1bHRQcm9wcyl7dT09PXQmJih1PVYoe30sdSkpO2Zvcih2YXIgZSBpbiBsKXVbZV09PT12b2lkIDAmJih1W2VdPWxbZV0pfXJldHVybiB1fWZ1bmN0aW9uIEJvKGwpe2JuKGwpfWZ1bmN0aW9uIEdvKGwpe2NvbnNvbGUuZXJyb3IobCl9ZnVuY3Rpb24gWG8obCl7Ym4obCl9ZnVuY3Rpb24gJG4obCx0KXt0cnl7dmFyIHU9bC5vblVuY2F1Z2h0RXJyb3I7dSh0LnZhbHVlLHtjb21wb25lbnRTdGFjazp0LnN0YWNrfSl9Y2F0Y2goYSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGF9KX19ZnVuY3Rpb24gUW8obCx0LHUpe3RyeXt2YXIgYT1sLm9uQ2F1Z2h0RXJyb3I7YSh1LnZhbHVlLHtjb21wb25lbnRTdGFjazp1LnN0YWNrLGVycm9yQm91bmRhcnk6dC50YWc9PT0xP3Quc3RhdGVOb2RlOm51bGx9KX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX1mdW5jdGlvbiBQYyhsLHQsdSl7cmV0dXJuIHU9TnUodSksdS50YWc9Myx1LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH0sdS5jYWxsYmFjaz1mdW5jdGlvbigpeyRuKGwsdCl9LHV9ZnVuY3Rpb24gam8obCl7cmV0dXJuIGw9TnUobCksbC50YWc9MyxsfWZ1bmN0aW9uIFpvKGwsdCx1LGEpe3ZhciBlPXUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpe3ZhciBuPWEudmFsdWU7bC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIGUobil9LGwuY2FsbGJhY2s9ZnVuY3Rpb24oKXtRbyh0LHUsYSl9fXZhciBmPXUuc3RhdGVOb2RlO2YhPT1udWxsJiZ0eXBlb2YgZi5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKGwuY2FsbGJhY2s9ZnVuY3Rpb24oKXtRbyh0LHUsYSksdHlwZW9mIGUhPSJmdW5jdGlvbiImJihCdT09PW51bGw/QnU9bmV3IFNldChbdGhpc10pOkJ1LmFkZCh0aGlzKSk7dmFyIGM9YS5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKGEudmFsdWUse2NvbXBvbmVudFN0YWNrOmMhPT1udWxsP2M6IiJ9KX0pfWZ1bmN0aW9uIE5kKGwsdCx1LGEsZSl7aWYodS5mbGFnc3w9MzI3NjgsYSE9PW51bGwmJnR5cGVvZiBhPT0ib2JqZWN0IiYmdHlwZW9mIGEudGhlbj09ImZ1bmN0aW9uIil7aWYodD11LmFsdGVybmF0ZSx0IT09bnVsbCYmdWEodCx1LGUsITApLHU9R2wuY3VycmVudCx1IT09bnVsbCl7c3dpdGNoKHUudGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gVmw9PT1udWxsP1NmKCk6dS5hbHRlcm5hdGU9PT1udWxsJiZybD09PTAmJihybD0zKSx1LmZsYWdzJj0tMjU3LHUuZmxhZ3N8PTY1NTM2LHUubGFuZXM9ZSxhPT09Qm4/dS5mbGFnc3w9MTYzODQ6KHQ9dS51cGRhdGVRdWV1ZSx0PT09bnVsbD91LnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW2FdKTp0LmFkZChhKSxYaShsLGEsZSkpLCExO2Nhc2UgMjI6cmV0dXJuIHUuZmxhZ3N8PTY1NTM2LGE9PT1Cbj91LmZsYWdzfD0xNjM4NDoodD11LnVwZGF0ZVF1ZXVlLHQ9PT1udWxsPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbYV0pfSx1LnVwZGF0ZVF1ZXVlPXQpOih1PXQucmV0cnlRdWV1ZSx1PT09bnVsbD90LnJldHJ5UXVldWU9bmV3IFNldChbYV0pOnUuYWRkKGEpKSxYaShsLGEsZSkpLCExfXRocm93IEVycm9yKFMoNDM1LHUudGFnKSl9cmV0dXJuIFhpKGwsYSxlKSxTZigpLCExfWlmKFopcmV0dXJuIHQ9R2wuY3VycmVudCx0IT09bnVsbD8oKHQuZmxhZ3MmNjU1MzYpPT09MCYmKHQuZmxhZ3N8PTI1NiksdC5mbGFnc3w9NjU1MzYsdC5sYW5lcz1lLGEhPT1UYyYmKGw9RXJyb3IoUyg0MjIpLHtjYXVzZTphfSksX2UoRXQobCx1KSkpKTooYSE9PVRjJiYodD1FcnJvcihTKDQyMykse2NhdXNlOmF9KSxfZShFdCh0LHUpKSksbD1sLmN1cnJlbnQuYWx0ZXJuYXRlLGwuZmxhZ3N8PTY1NTM2LGUmPS1lLGwubGFuZXN8PWUsYT1FdChhLHUpLGU9UGMobC5zdGF0ZU5vZGUsYSxlKSxVYyhsLGUpLHJsIT09NCYmKHJsPTIpKSwhMTt2YXIgbj1FcnJvcihTKDUyMCkse2NhdXNlOmF9KTtpZihuPUV0KG4sdSksTGU9PT1udWxsP0xlPVtuXTpMZS5wdXNoKG4pLHJsIT09NCYmKHJsPTIpLHQ9PT1udWxsKXJldHVybiEwO2E9RXQoYSx1KSx1PXQ7ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6cmV0dXJuIHUuZmxhZ3N8PTY1NTM2LGw9ZSYtZSx1LmxhbmVzfD1sLGw9UGModS5zdGF0ZU5vZGUsYSxsKSxVYyh1LGwpLCExO2Nhc2UgMTppZih0PXUudHlwZSxuPXUuc3RhdGVOb2RlLCh1LmZsYWdzJjEyOCk9PT0wJiYodHlwZW9mIHQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yPT0iZnVuY3Rpb24ifHxuIT09bnVsbCYmdHlwZW9mIG4uY29tcG9uZW50RGlkQ2F0Y2g9PSJmdW5jdGlvbiImJihCdT09PW51bGx8fCFCdS5oYXMobikpKSlyZXR1cm4gdS5mbGFnc3w9NjU1MzYsZSY9LWUsdS5sYW5lc3w9ZSxlPWpvKGUpLFpvKGUsbCx1LGEpLFVjKHUsZSksITE7YnJlYWs7Y2FzZSAyMjppZih1Lm1lbW9pemVkU3RhdGUhPT1udWxsKXJldHVybiB1LmZsYWdzfD02NTUzNiwhMX11PXUucmV0dXJufXdoaWxlKHUhPT1udWxsKTtyZXR1cm4hMX12YXIgbGk9RXJyb3IoUyg0NjEpKSxfbD0hMTtmdW5jdGlvbiBBbChsLHQsdSxhKXt0LmNoaWxkPWw9PT1udWxsP3B2KHQsbnVsbCx1LGEpOmlhKHQsbC5jaGlsZCx1LGEpfWZ1bmN0aW9uIFZvKGwsdCx1LGEsZSl7dT11LnJlbmRlcjt2YXIgbj10LnJlZjtpZigicmVmImluIGEpe3ZhciBmPXt9O2Zvcih2YXIgYyBpbiBhKWMhPT0icmVmIiYmKGZbY109YVtjXSl9ZWxzZSBmPWE7cmV0dXJuIGFhKHQpLGE9R2MobCx0LHUsZixuLGUpLGM9WGMoKSxsIT09bnVsbCYmIV9sPyhRYyhsLHQsZSksdnUobCx0LGUpKTooWiYmYyYmTW4odCksdC5mbGFnc3w9MSxBbChsLHQsYSxlKSx0LmNoaWxkKX1mdW5jdGlvbiBMbyhsLHQsdSxhLGUpe2lmKGw9PT1udWxsKXt2YXIgbj11LnR5cGU7cmV0dXJuIHR5cGVvZiBuPT0iZnVuY3Rpb24iJiYhaGMobikmJm4uZGVmYXVsdFByb3BzPT09dm9pZCAwJiZ1LmNvbXBhcmU9PT1udWxsPyh0LnRhZz0xNSx0LnR5cGU9bixwbyhsLHQsbixhLGUpKToobD1Obih1LnR5cGUsbnVsbCxhLHQsdC5tb2RlLGUpLGwucmVmPXQucmVmLGwucmV0dXJuPXQsdC5jaGlsZD1sKX1pZihuPWwuY2hpbGQsIWlpKGwsZSkpe3ZhciBmPW4ubWVtb2l6ZWRQcm9wcztpZih1PXUuY29tcGFyZSx1PXUhPT1udWxsP3U6RWUsdShmLGEpJiZsLnJlZj09PXQucmVmKXJldHVybiB2dShsLHQsZSl9cmV0dXJuIHQuZmxhZ3N8PTEsbD1hdShuLGEpLGwucmVmPXQucmVmLGwucmV0dXJuPXQsdC5jaGlsZD1sfWZ1bmN0aW9uIHBvKGwsdCx1LGEsZSl7aWYobCE9PW51bGwpe3ZhciBuPWwubWVtb2l6ZWRQcm9wcztpZihFZShuLGEpJiZsLnJlZj09PXQucmVmKWlmKF9sPSExLHQucGVuZGluZ1Byb3BzPWE9bixpaShsLGUpKShsLmZsYWdzJjEzMTA3MikhPT0wJiYoX2w9ITApO2Vsc2UgcmV0dXJuIHQubGFuZXM9bC5sYW5lcyx2dShsLHQsZSl9cmV0dXJuIHRpKGwsdCx1LGEsZSl9ZnVuY3Rpb24geG8obCx0LHUsYSl7dmFyIGU9YS5jaGlsZHJlbixuPWwhPT1udWxsP2wubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKGw9PT1udWxsJiZ0LnN0YXRlTm9kZT09PW51bGwmJih0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksYS5tb2RlPT09ImhpZGRlbiIpe2lmKCh0LmZsYWdzJjEyOCkhPT0wKXtpZihuPW4hPT1udWxsP24uYmFzZUxhbmVzfHU6dSxsIT09bnVsbCl7Zm9yKGE9dC5jaGlsZD1sLmNoaWxkLGU9MDthIT09bnVsbDspZT1lfGEubGFuZXN8YS5jaGlsZExhbmVzLGE9YS5zaWJsaW5nO2E9ZSZ+bn1lbHNlIGE9MCx0LmNoaWxkPW51bGw7cmV0dXJuIEtvKGwsdCxuLHUsYSl9aWYoKHUmNTM2ODcwOTEyKSE9PTApdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6MCxjYWNoZVBvb2w6bnVsbH0sbCE9PW51bGwmJlluKHQsbiE9PW51bGw/bi5jYWNoZVBvb2w6bnVsbCksbiE9PW51bGw/SnYodCxuKTpSYygpLHd2KHQpO2Vsc2UgcmV0dXJuIGE9dC5sYW5lcz01MzY4NzA5MTIsS28obCx0LG4hPT1udWxsP24uYmFzZUxhbmVzfHU6dSx1LGEpfWVsc2UgbiE9PW51bGw/KFluKHQsbi5jYWNoZVBvb2wpLEp2KHQsbiksQ3UoKSx0Lm1lbW9pemVkU3RhdGU9bnVsbCk6KGwhPT1udWxsJiZZbih0LG51bGwpLFJjKCksQ3UoKSk7cmV0dXJuIEFsKGwsdCxlLHUpLHQuY2hpbGR9ZnVuY3Rpb24gQmUobCx0KXtyZXR1cm4gbCE9PW51bGwmJmwudGFnPT09MjJ8fHQuc3RhdGVOb2RlIT09bnVsbHx8KHQuc3RhdGVOb2RlPXtfdmlzaWJpbGl0eToxLF9wZW5kaW5nTWFya2VyczpudWxsLF9yZXRyeUNhY2hlOm51bGwsX3RyYW5zaXRpb25zOm51bGx9KSx0LnNpYmxpbmd9ZnVuY3Rpb24gS28obCx0LHUsYSxlKXt2YXIgbj1BYygpO3JldHVybiBuPW49PT1udWxsP251bGw6e3BhcmVudDp6bC5fY3VycmVudFZhbHVlLHBvb2w6bn0sdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6dSxjYWNoZVBvb2w6bn0sbCE9PW51bGwmJlluKHQsbnVsbCksUmMoKSx3dih0KSxsIT09bnVsbCYmdWEobCx0LGEsITApLHQuY2hpbGRMYW5lcz1lLG51bGx9ZnVuY3Rpb24gRm4obCx0KXtyZXR1cm4gdD1Jbih7bW9kZTp0Lm1vZGUsY2hpbGRyZW46dC5jaGlsZHJlbn0sbC5tb2RlKSx0LnJlZj1sLnJlZixsLmNoaWxkPXQsdC5yZXR1cm49bCx0fWZ1bmN0aW9uIEpvKGwsdCx1KXtyZXR1cm4gaWEodCxsLmNoaWxkLG51bGwsdSksbD1Gbih0LHQucGVuZGluZ1Byb3BzKSxsLmZsYWdzfD0yLHZ0KHQpLHQubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gRGQobCx0LHUpe3ZhciBhPXQucGVuZGluZ1Byb3BzLGU9KHQuZmxhZ3MmMTI4KSE9PTA7aWYodC5mbGFncyY9LTEyOSxsPT09bnVsbCl7aWYoWil7aWYoYS5tb2RlPT09ImhpZGRlbiIpcmV0dXJuIGw9Rm4odCxhKSx0LmxhbmVzPTUzNjg3MDkxMixsLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsfSxCZShudWxsLGwpO2lmKFljKHQpLChsPXlsKT8obD1ybShsLF90KSxsPWwhPT1udWxsJiZsLmRhdGE9PT0iJiI/bDpudWxsLGwhPT1udWxsJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmwsdHJlZUNvbnRleHQ6RXUhPT1udWxsP3tpZDpadCxvdmVyZmxvdzpWdH06bnVsbCxyZXRyeUxhbmU6NTM2ODcwOTEyLGh5ZHJhdGlvbkVycm9yczpudWxsfSx1PU12KGwpLHUucmV0dXJuPXQsdC5jaGlsZD11LFVsPXQseWw9bnVsbCkpOmw9bnVsbCxsPT09bnVsbCl0aHJvdyBidSh0KTtyZXR1cm4gdC5sYW5lcz01MzY4NzA5MTIsbnVsbH1yZXR1cm4gRm4odCxhKX12YXIgbj1sLm1lbW9pemVkU3RhdGU7aWYobiE9PW51bGwpe3ZhciBmPW4uZGVoeWRyYXRlZDtpZihZYyh0KSxlKWlmKHQuZmxhZ3MmMjU2KXQuZmxhZ3MmPS0yNTcsdD1KbyhsLHQsdSk7ZWxzZSBpZih0Lm1lbW9pemVkU3RhdGUhPT1udWxsKXQuY2hpbGQ9bC5jaGlsZCx0LmZsYWdzfD0xMjgsdD1udWxsO2Vsc2UgdGhyb3cgRXJyb3IoUyg1NTgpKTtlbHNlIGlmKF9sfHx1YShsLHQsdSwhMSksZT0odSZsLmNoaWxkTGFuZXMpIT09MCxfbHx8ZSl7aWYoTXUuY3VycmVudD09PW51bGwpe2lmKGE9aWwsYSE9PW51bGwmJihmPVIwKGEsdSksZiE9PTAmJmYhPT1uLnJldHJ5TGFuZSkpdGhyb3cgbi5yZXRyeUxhbmU9ZixrdShsLGYpLFBsKGEsbCxmKSxsaTtTZigpfXQ9Sm8obCx0LHUpfWVsc2UgbD1uLnRyZWVDb250ZXh0LHlsPUF0KGYubmV4dFNpYmxpbmcpLFVsPXQsWj0hMCx6dT1udWxsLF90PSExLGwhPT1udWxsJiZSdih0LGwpLHQ9Rm4odCxhKSx0LmZsYWdzfD0xMzQyMjE4MjQ7cmV0dXJuIHR9cmV0dXJuIGw9YXUobC5jaGlsZCx7bW9kZTphLm1vZGUsY2hpbGRyZW46YS5jaGlsZHJlbn0pLGwucmVmPXQucmVmLHQuY2hpbGQ9bCxsLnJldHVybj10LGx9ZnVuY3Rpb24gWmEobCx0KXt2YXIgdT10LnJlZjtpZih1PT09bnVsbClsIT09bnVsbCYmbC5yZWYhPT1udWxsJiYodC5mbGFnc3w9NDE5NDgxNik7ZWxzZXtpZih0eXBlb2YgdSE9ImZ1bmN0aW9uIiYmdHlwZW9mIHUhPSJvYmplY3QiKXRocm93IEVycm9yKFMoMjg0KSk7KGw9PT1udWxsfHxsLnJlZiE9PXUpJiYodC5mbGFnc3w9NDE5NDgxNil9fWZ1bmN0aW9uIHRpKGwsdCx1LGEsZSl7cmV0dXJuIGFhKHQpLHU9R2MobCx0LHUsYSx2b2lkIDAsZSksYT1YYygpLGwhPT1udWxsJiYhX2w/KFFjKGwsdCxlKSx2dShsLHQsZSkpOihaJiZhJiZNbih0KSx0LmZsYWdzfD0xLEFsKGwsdCx1LGUpLHQuY2hpbGQpfWZ1bmN0aW9uIHdvKGwsdCx1LGEsZSxuKXtyZXR1cm4gYWEodCksdC51cGRhdGVRdWV1ZT1udWxsLHU9JHYodCxhLHUsZSksV3YobCksYT1YYygpLGwhPT1udWxsJiYhX2w/KFFjKGwsdCxuKSx2dShsLHQsbikpOihaJiZhJiZNbih0KSx0LmZsYWdzfD0xLEFsKGwsdCx1LG4pLHQuY2hpbGQpfWZ1bmN0aW9uIFdvKGwsdCx1LGEsZSl7aWYoYWEodCksdC5zdGF0ZU5vZGU9PT1udWxsKXt2YXIgbj1DYSxmPXUuY29udGV4dFR5cGU7dHlwZW9mIGY9PSJvYmplY3QiJiZmIT09bnVsbCYmKG49QmwoZikpLG49bmV3IHUoYSxuKSx0Lm1lbW9pemVkU3RhdGU9bi5zdGF0ZSE9PW51bGwmJm4uc3RhdGUhPT12b2lkIDA/bi5zdGF0ZTpudWxsLG4udXBkYXRlcj1rYyx0LnN0YXRlTm9kZT1uLG4uX3JlYWN0SW50ZXJuYWxzPXQsbj10LnN0YXRlTm9kZSxuLnByb3BzPWEsbi5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsbi5yZWZzPXt9LERjKHQpLGY9dS5jb250ZXh0VHlwZSxuLmNvbnRleHQ9dHlwZW9mIGY9PSJvYmplY3QiJiZmIT09bnVsbD9CbChmKTpDYSxuLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSxmPXUuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLHR5cGVvZiBmPT0iZnVuY3Rpb24iJiYoSWModCx1LGYsYSksbi5zdGF0ZT10Lm1lbW9pemVkU3RhdGUpLHR5cGVvZiB1LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09ImZ1bmN0aW9uInx8dHlwZW9mIG4uZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PSJmdW5jdGlvbiJ8fHR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiImJnR5cGVvZiBuLmNvbXBvbmVudFdpbGxNb3VudCE9ImZ1bmN0aW9uInx8KGY9bi5zdGF0ZSx0eXBlb2Ygbi5jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJm4uY29tcG9uZW50V2lsbE1vdW50KCksdHlwZW9mIG4uVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmbi5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCksZiE9PW4uc3RhdGUmJmtjLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpLENlKHQsYSxuLGUpLFVlKCksbi5zdGF0ZT10Lm1lbW9pemVkU3RhdGUpLHR5cGVvZiBuLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCksYT0hMH1lbHNlIGlmKGw9PT1udWxsKXtuPXQuc3RhdGVOb2RlO3ZhciBjPXQubWVtb2l6ZWRQcm9wcyxpPW9hKHUsYyk7bi5wcm9wcz1pO3ZhciBkPW4uY29udGV4dCxnPXUuY29udGV4dFR5cGU7Zj1DYSx0eXBlb2YgZz09Im9iamVjdCImJmchPT1udWxsJiYoZj1CbChnKSk7dmFyIEU9dS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7Zz10eXBlb2YgRT09ImZ1bmN0aW9uInx8dHlwZW9mIG4uZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PSJmdW5jdGlvbiIsYz10LnBlbmRpbmdQcm9wcyE9PWMsZ3x8dHlwZW9mIG4uVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiImJnR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiJ8fChjfHxkIT09ZikmJnFvKHQsbixhLGYpLEF1PSExO3ZhciB5PXQubWVtb2l6ZWRTdGF0ZTtuLnN0YXRlPXksQ2UodCxhLG4sZSksVWUoKSxkPXQubWVtb2l6ZWRTdGF0ZSxjfHx5IT09ZHx8QXU/KHR5cGVvZiBFPT0iZnVuY3Rpb24iJiYoSWModCx1LEUsYSksZD10Lm1lbW9pemVkU3RhdGUpLChpPUF1fHxZbyh0LHUsaSxhLHksZCxmKSk/KGd8fHR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiImJnR5cGVvZiBuLmNvbXBvbmVudFdpbGxNb3VudCE9ImZ1bmN0aW9uInx8KHR5cGVvZiBuLmNvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmbi5jb21wb25lbnRXaWxsTW91bnQoKSx0eXBlb2Ygbi5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksdHlwZW9mIG4uY29tcG9uZW50RGlkTW91bnQ9PSJmdW5jdGlvbiImJih0LmZsYWdzfD00MTk0MzA4KSk6KHR5cGVvZiBuLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCksdC5tZW1vaXplZFByb3BzPWEsdC5tZW1vaXplZFN0YXRlPWQpLG4ucHJvcHM9YSxuLnN0YXRlPWQsbi5jb250ZXh0PWYsYT1pKToodHlwZW9mIG4uY29tcG9uZW50RGlkTW91bnQ9PSJmdW5jdGlvbiImJih0LmZsYWdzfD00MTk0MzA4KSxhPSExKX1lbHNle249dC5zdGF0ZU5vZGUsTWMobCx0KSxmPXQubWVtb2l6ZWRQcm9wcyxnPW9hKHUsZiksbi5wcm9wcz1nLEU9dC5wZW5kaW5nUHJvcHMseT1uLmNvbnRleHQsZD11LmNvbnRleHRUeXBlLGk9Q2EsdHlwZW9mIGQ9PSJvYmplY3QiJiZkIT09bnVsbCYmKGk9QmwoZCkpLGM9dS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsKGQ9dHlwZW9mIGM9PSJmdW5jdGlvbiJ8fHR5cGVvZiBuLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iKXx8dHlwZW9mIG4uVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiImJnR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiJ8fChmIT09RXx8eSE9PWkpJiZxbyh0LG4sYSxpKSxBdT0hMSx5PXQubWVtb2l6ZWRTdGF0ZSxuLnN0YXRlPXksQ2UodCxhLG4sZSksVWUoKTt2YXIgaD10Lm1lbW9pemVkU3RhdGU7ZiE9PUV8fHkhPT1ofHxBdXx8bCE9PW51bGwmJmwuZGVwZW5kZW5jaWVzIT09bnVsbCYmUm4obC5kZXBlbmRlbmNpZXMpPyh0eXBlb2YgYz09ImZ1bmN0aW9uIiYmKEljKHQsdSxjLGEpLGg9dC5tZW1vaXplZFN0YXRlKSwoZz1BdXx8WW8odCx1LGcsYSx5LGgsaSl8fGwhPT1udWxsJiZsLmRlcGVuZGVuY2llcyE9PW51bGwmJlJuKGwuZGVwZW5kZW5jaWVzKSk/KGR8fHR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIT0iZnVuY3Rpb24iJiZ0eXBlb2Ygbi5jb21wb25lbnRXaWxsVXBkYXRlIT0iZnVuY3Rpb24ifHwodHlwZW9mIG4uY29tcG9uZW50V2lsbFVwZGF0ZT09ImZ1bmN0aW9uIiYmbi5jb21wb25lbnRXaWxsVXBkYXRlKGEsaCxpKSx0eXBlb2Ygbi5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZT09ImZ1bmN0aW9uIiYmbi5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShhLGgsaSkpLHR5cGVvZiBuLmNvbXBvbmVudERpZFVwZGF0ZT09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQpLHR5cGVvZiBuLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9MTAyNCkpOih0eXBlb2Ygbi5jb21wb25lbnREaWRVcGRhdGUhPSJmdW5jdGlvbiJ8fGY9PT1sLm1lbW9pemVkUHJvcHMmJnk9PT1sLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD00KSx0eXBlb2Ygbi5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9ImZ1bmN0aW9uInx8Zj09PWwubWVtb2l6ZWRQcm9wcyYmeT09PWwubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTEwMjQpLHQubWVtb2l6ZWRQcm9wcz1hLHQubWVtb2l6ZWRTdGF0ZT1oKSxuLnByb3BzPWEsbi5zdGF0ZT1oLG4uY29udGV4dD1pLGE9Zyk6KHR5cGVvZiBuLmNvbXBvbmVudERpZFVwZGF0ZSE9ImZ1bmN0aW9uInx8Zj09PWwubWVtb2l6ZWRQcm9wcyYmeT09PWwubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLHR5cGVvZiBuLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT0iZnVuY3Rpb24ifHxmPT09bC5tZW1vaXplZFByb3BzJiZ5PT09bC5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksYT0hMSl9cmV0dXJuIG49YSxaYShsLHQpLGE9KHQuZmxhZ3MmMTI4KSE9PTAsbnx8YT8obj10LnN0YXRlTm9kZSx1PWEmJnR5cGVvZiB1LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciE9ImZ1bmN0aW9uIj9udWxsOm4ucmVuZGVyKCksdC5mbGFnc3w9MSxsIT09bnVsbCYmYT8odC5jaGlsZD1pYSh0LGwuY2hpbGQsbnVsbCxlKSx0LmNoaWxkPWlhKHQsbnVsbCx1LGUpKTpBbChsLHQsdSxlKSx0Lm1lbW9pemVkU3RhdGU9bi5zdGF0ZSxsPXQuY2hpbGQpOmw9dnUobCx0LGUpLGx9ZnVuY3Rpb24gJG8obCx0LHUsYSl7cmV0dXJuIGxhKCksdC5mbGFnc3w9MjU2LEFsKGwsdCx1LGEpLHQuY2hpbGR9dmFyIHVpPXtkZWh5ZHJhdGVkOm51bGwsdHJlZUNvbnRleHQ6bnVsbCxyZXRyeUxhbmU6MCxoeWRyYXRpb25FcnJvcnM6bnVsbH07ZnVuY3Rpb24gYWkobCl7cmV0dXJue2Jhc2VMYW5lczpsLGNhY2hlUG9vbDpYdigpfX1mdW5jdGlvbiBlaShsLHQsdSl7cmV0dXJuIGw9bCE9PW51bGw/bC5jaGlsZExhbmVzJn51OjAsdCYmKGx8PW10KSxsfWZ1bmN0aW9uIEZvKGwsdCx1KXt2YXIgYT10LnBlbmRpbmdQcm9wcyxlPSExLG49KHQuZmxhZ3MmMTI4KSE9PTAsZjtpZigoZj1uKXx8KGY9bCE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZT09PW51bGw/ITE6KFhsLmN1cnJlbnQmMikhPT0wKSxmJiYoZT0hMCx0LmZsYWdzJj0tMTI5KSxmPSh0LmZsYWdzJjMyKSE9PTAsdC5mbGFncyY9LTMzLGw9PT1udWxsKXtpZihaKXtpZihlP1V1KHQpOkN1KCksKGw9eWwpPyhsPXJtKGwsX3QpLGw9bCE9PW51bGwmJmwuZGF0YSE9PSImIj9sOm51bGwsbCE9PW51bGwmJih0Lm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6bCx0cmVlQ29udGV4dDpFdSE9PW51bGw/e2lkOlp0LG92ZXJmbG93OlZ0fTpudWxsLHJldHJ5TGFuZTo1MzY4NzA5MTIsaHlkcmF0aW9uRXJyb3JzOm51bGx9LHU9TXYobCksdS5yZXR1cm49dCx0LmNoaWxkPXUsVWw9dCx5bD1udWxsKSk6bD1udWxsLGw9PT1udWxsKXRocm93IGJ1KHQpO3JldHVybiBhMChsKT90LmxhbmVzPTMyOnQubGFuZXM9NTM2ODcwOTEyLG51bGx9cmV0dXJuIG49YS5jaGlsZHJlbixhPWEuZmFsbGJhY2ssZT8oQ3UoKSxlPXQubW9kZSxuPUluKHttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOm59LGUpLGE9UHUoYSxlLHUsbnVsbCksbi5yZXR1cm49dCxhLnJldHVybj10LG4uc2libGluZz1hLHQuY2hpbGQ9bixhPXQuY2hpbGQsYS5tZW1vaXplZFN0YXRlPWFpKHUpLGEuY2hpbGRMYW5lcz1laShsLGYsdSksdC5tZW1vaXplZFN0YXRlPXVpLEJlKG51bGwsYSkpOihVdSh0KSxuaSh0LG4pKX12YXIgYz1sLm1lbW9pemVkU3RhdGU7aWYoYyE9PW51bGwpe3ZhciBpPWMuZGVoeWRyYXRlZDtpZihpIT09bnVsbClyZXR1cm4gTWQobCx0LG4sZixhLGksYyx1KX1yZXR1cm4gZT8oQ3UoKSxlPWEuZmFsbGJhY2ssbj10Lm1vZGUsYz1sLmNoaWxkLGk9Yy5zaWJsaW5nLGE9YXUoYyx7bW9kZToiaGlkZGVuIixjaGlsZHJlbjphLmNoaWxkcmVufSksYS5zdWJ0cmVlRmxhZ3M9Yy5zdWJ0cmVlRmxhZ3MmMTIwNjkxMDk3NixpIT09bnVsbD9lPWF1KGksZSk6KGU9UHUoZSxuLHUsbnVsbCksZS5mbGFnc3w9MiksZS5yZXR1cm49dCxhLnJldHVybj10LGEuc2libGluZz1lLHQuY2hpbGQ9YSxCZShudWxsLGEpLGE9dC5jaGlsZCxlPWwuY2hpbGQubWVtb2l6ZWRTdGF0ZSxlPT09bnVsbD9lPWFpKHUpOihuPWUuY2FjaGVQb29sLG4hPT1udWxsPyhjPXpsLl9jdXJyZW50VmFsdWUsbj1uLnBhcmVudCE9PWM/e3BhcmVudDpjLHBvb2w6Y306bik6bj1YdigpLGU9e2Jhc2VMYW5lczplLmJhc2VMYW5lc3x1LGNhY2hlUG9vbDpufSksYS5tZW1vaXplZFN0YXRlPWUsYS5jaGlsZExhbmVzPWVpKGwsZix1KSx0Lm1lbW9pemVkU3RhdGU9dWksQmUobC5jaGlsZCxhKSk6KFV1KHQpLHU9bC5jaGlsZCxsPXUuc2libGluZyx1PWF1KHUse21vZGU6InZpc2libGUiLGNoaWxkcmVuOmEuY2hpbGRyZW59KSx1LnJldHVybj10LHUuc2libGluZz1udWxsLGwhPT1udWxsJiYoZj10LmRlbGV0aW9ucyxmPT09bnVsbD8odC5kZWxldGlvbnM9W2xdLHQuZmxhZ3N8PTE2KTpmLnB1c2gobCkpLHQuY2hpbGQ9dSx0Lm1lbW9pemVkU3RhdGU9bnVsbCx1KX1mdW5jdGlvbiBuaShsLHQpe3JldHVybiB0PUluKHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxsLm1vZGUpLHQucmV0dXJuPWwsbC5jaGlsZD10fWZ1bmN0aW9uIEluKGwsdCl7cmV0dXJuIGw9JGwoMjIsbCxudWxsLHQpLGwubGFuZXM9MCxsfWZ1bmN0aW9uIGtuKGwsdCx1KXtyZXR1cm4gaWEodCxsLmNoaWxkLG51bGwsdSksbD1uaSh0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuKSxsLmZsYWdzfD0yLHQubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gTWQobCx0LHUsYSxlLG4sZixjKXtpZih1KXJldHVybiB0LmZsYWdzJjI1Nj8oVXUodCksdC5mbGFncyY9LTI1NyxrbihsLHQsYykpOnQubWVtb2l6ZWRTdGF0ZSE9PW51bGw/KEN1KCksdC5jaGlsZD1sLmNoaWxkLHQuZmxhZ3N8PTEyOCxudWxsKTooQ3UoKSxuPWUuZmFsbGJhY2ssZj10Lm1vZGUsZT1Jbih7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ZS5jaGlsZHJlbn0sZiksbj1QdShuLGYsYyxudWxsKSxuLmZsYWdzfD0yLGUucmV0dXJuPXQsbi5yZXR1cm49dCxlLnNpYmxpbmc9bix0LmNoaWxkPWUsaWEodCxsLmNoaWxkLG51bGwsYyksZT10LmNoaWxkLGUubWVtb2l6ZWRTdGF0ZT1haShjKSxlLmNoaWxkTGFuZXM9ZWkobCxhLGMpLHQubWVtb2l6ZWRTdGF0ZT11aSxCZShudWxsLGUpKTtpZihVdSh0KSxhMChuKSl7aWYoYT1uLm5leHRTaWJsaW5nJiZuLm5leHRTaWJsaW5nLmRhdGFzZXQsYSl2YXIgaT1hLmRnc3Q7cmV0dXJuIGE9aSxhIT09IiImJihlPUVycm9yKFMoNDE5KSksZS5zdGFjaz0iIixlLmRpZ2VzdD1hLF9lKHt2YWx1ZTplLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSksa24obCx0LGMpfWlmKF9sfHx1YShsLHQsYywhMSksYT0oYyZsLmNoaWxkTGFuZXMpIT09MCxfbHx8YSl7aWYoTXUuY3VycmVudCE9PW51bGwpcmV0dXJuIGtuKGwsdCxjKTtpZihhPWlsLGEhPT1udWxsJiYoZT1SMChhLGMpLGUhPT0wJiZlIT09Zi5yZXRyeUxhbmUpKXRocm93IGYucmV0cnlMYW5lPWUsa3UobCxlKSxQbChhLGwsZSksbGk7cmV0dXJuIHUwKG4pfHxTZigpLGtuKGwsdCxjKX1yZXR1cm4gdTAobik/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWwuY2hpbGQsbnVsbCk6KGw9Zi50cmVlQ29udGV4dCx5bD1BdChuLm5leHRTaWJsaW5nKSxVbD10LFo9ITAsenU9bnVsbCxfdD0hMSxsIT09bnVsbCYmUnYodCxsKSx0PW5pKHQsZS5jaGlsZHJlbiksdC5mbGFnc3w9MTM0MjIxODI0LHQpfWZ1bmN0aW9uIElvKGwsdCx1KXtsLmxhbmVzfD10O3ZhciBhPWwuYWx0ZXJuYXRlO2EhPT1udWxsJiYoYS5sYW5lc3w9dCksQ24obC5yZXR1cm4sdCx1KX1mdW5jdGlvbiBrbyhsKXtmb3IodmFyIHQ9bnVsbDtsIT09bnVsbDspe3ZhciB1PWwuYWx0ZXJuYXRlO3UhPT1udWxsJiZqbih1KT09PW51bGwmJih0PWwpLGw9bC5zaWJsaW5nfXJldHVybiB0fWZ1bmN0aW9uIFBuKGwsdCx1LGEsZSxuKXt2YXIgZj1sLm1lbW9pemVkU3RhdGU7Zj09PW51bGw/bC5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6YSx0YWlsOnUsdGFpbE1vZGU6ZSx0cmVlRm9ya0NvdW50Om59OihmLmlzQmFja3dhcmRzPXQsZi5yZW5kZXJpbmc9bnVsbCxmLnJlbmRlcmluZ1N0YXJ0VGltZT0wLGYubGFzdD1hLGYudGFpbD11LGYudGFpbE1vZGU9ZSxmLnRyZWVGb3JrQ291bnQ9bil9ZnVuY3Rpb24gZmkobCl7dmFyIHQ9bC5jaGlsZDtmb3IobC5jaGlsZD1udWxsO3QhPT1udWxsOyl7dmFyIHU9dC5zaWJsaW5nO3Quc2libGluZz1sLmNoaWxkLGwuY2hpbGQ9dCx0PXV9fWZ1bmN0aW9uIGNpKGwsdCx1KXt2YXIgYT10LnBlbmRpbmdQcm9wcyxlPWEucmV2ZWFsT3JkZXIsbj1hLnRhaWw7YT1hLmNoaWxkcmVuO3ZhciBmPVhsLmN1cnJlbnQ7aWYodC5mbGFncyYxMjgpcmV0dXJuIFJlKHQsZiksbnVsbDt2YXIgYz0oZiYyKSE9PTA7aWYoYz8oZj1mJjF8Mix0LmZsYWdzfD0xMjgpOmYmPTEsUmUodCxmKSxlPT09ImJhY2t3YXJkcyImJmwhPT1udWxsPyhmaShsKSxBbChsLHQsYSx1KSxmaShsKSk6QWwobCx0LGEsdSksYT1aP2JlOjAsIWMmJmwhPT1udWxsJiYobC5mbGFncyYxMjgpIT09MClsOmZvcihsPXQuY2hpbGQ7bCE9PW51bGw7KXtpZihsLnRhZz09PTEzKWwubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJklvKGwsdSx0KTtlbHNlIGlmKGwudGFnPT09MTkpSW8obCx1LHQpO2Vsc2UgaWYobC5jaGlsZCE9PW51bGwpe2wuY2hpbGQucmV0dXJuPWwsbD1sLmNoaWxkO2NvbnRpbnVlfWlmKGw9PT10KWJyZWFrIGw7Zm9yKDtsLnNpYmxpbmc9PT1udWxsOyl7aWYobC5yZXR1cm49PT1udWxsfHxsLnJldHVybj09PXQpYnJlYWsgbDtsPWwucmV0dXJufWwuc2libGluZy5yZXR1cm49bC5yZXR1cm4sbD1sLnNpYmxpbmd9c3dpdGNoKGUpe2Nhc2UiYmFja3dhcmRzIjp1PWtvKHQuY2hpbGQpLHU9PT1udWxsPyhlPXQuY2hpbGQsdC5jaGlsZD1udWxsKTooZT11LnNpYmxpbmcsdS5zaWJsaW5nPW51bGwsZmkodCkpLFBuKHQsITAsZSxudWxsLG4sYSk7YnJlYWs7Y2FzZSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzIjpmb3IodT1udWxsLGU9dC5jaGlsZCx0LmNoaWxkPW51bGw7ZSE9PW51bGw7KXtpZihsPWUuYWx0ZXJuYXRlLGwhPT1udWxsJiZqbihsKT09PW51bGwpe3QuY2hpbGQ9ZTticmVha31sPWUuc2libGluZyxlLnNpYmxpbmc9dSx1PWUsZT1sfVBuKHQsITAsdSxudWxsLG4sYSk7YnJlYWs7Y2FzZSJ0b2dldGhlciI6UG4odCwhMSxudWxsLG51bGwsdm9pZCAwLGEpO2JyZWFrO2Nhc2UiaW5kZXBlbmRlbnQiOnQubWVtb2l6ZWRTdGF0ZT1udWxsO2JyZWFrO2RlZmF1bHQ6dT1rbyh0LmNoaWxkKSx1PT09bnVsbD8oZT10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGU9dS5zaWJsaW5nLHUuc2libGluZz1udWxsKSxQbih0LCExLGUsdSxuLGEpfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIFBvKGwsdCx1KXt2YXIgYT10LnBlbmRpbmdQcm9wcztyZXR1cm4gX3UodCx0LnR5cGUsYS52YWx1ZSksQWwobCx0LGEuY2hpbGRyZW4sdSksdC5jaGlsZH1mdW5jdGlvbiB2dShsLHQsdSl7aWYobCE9PW51bGwmJih0LmRlcGVuZGVuY2llcz1sLmRlcGVuZGVuY2llcykscXV8PXQubGFuZXMsKHUmdC5jaGlsZExhbmVzKT09PTApaWYobCE9PW51bGwpe2lmKHVhKGwsdCx1LCExKSwodSZ0LmNoaWxkTGFuZXMpPT09MClyZXR1cm4gbnVsbH1lbHNlIHJldHVybiBudWxsO2lmKGwhPT1udWxsJiZ0LmNoaWxkIT09bC5jaGlsZCl0aHJvdyBFcnJvcihTKDE1MykpO2lmKHQuY2hpbGQhPT1udWxsKXtmb3IobD10LmNoaWxkLHU9YXUobCxsLnBlbmRpbmdQcm9wcyksdC5jaGlsZD11LHUucmV0dXJuPXQ7bC5zaWJsaW5nIT09bnVsbDspbD1sLnNpYmxpbmcsdT11LnNpYmxpbmc9YXUobCxsLnBlbmRpbmdQcm9wcyksdS5yZXR1cm49dDt1LnNpYmxpbmc9bnVsbH1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBpaShsLHQpe3JldHVybihsLmxhbmVzJnQpIT09MD8hMDoobD1sLmRlcGVuZGVuY2llcywhIShsIT09bnVsbCYmUm4obCkpKX1mdW5jdGlvbiBVZChsLHQsdSl7c3dpdGNoKHQudGFnKXtjYXNlIDM6YW4odCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxfdSh0LHpsLGwubWVtb2l6ZWRTdGF0ZS5jYWNoZSksbGEoKTticmVhaztjYXNlIDI3OmNhc2UgNTpCZih0KTticmVhaztjYXNlIDQ6YW4odCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOl91KHQsdC50eXBlLHQubWVtb2l6ZWRQcm9wcy52YWx1ZSk7YnJlYWs7Y2FzZSAzMTppZih0Lm1lbW9pemVkU3RhdGUhPT1udWxsKXJldHVybiB0LmZsYWdzfD0xMjgsWWModCksbnVsbDticmVhaztjYXNlIDEzOnZhciBhPXQubWVtb2l6ZWRTdGF0ZTtpZihhIT09bnVsbCl7aWYoYS5kZWh5ZHJhdGVkIT09bnVsbClyZXR1cm4gVXUodCksdC5mbGFnc3w9MTI4LG51bGw7YT11YShsLHQsdSwhMSk7dmFyIGU9dC5jaGlsZC5jaGlsZExhbmVzO3JldHVybiBhfHwodSZlKSE9PTA/Rm8obCx0LHUpOihVdSh0KSxsPXZ1KGwsdCx1KSxsIT09bnVsbD9sLnNpYmxpbmc6bnVsbCl9VXUodCk7YnJlYWs7Y2FzZSAxOTppZih0LmZsYWdzJjEyOClyZXR1cm4gY2kobCx0LHUpO2lmKGU9KGwuZmxhZ3MmMTI4KSE9PTAsYT0odSZ0LmNoaWxkTGFuZXMpIT09MCxhfHwodWEobCx0LHUsITEpLGE9KHUmdC5jaGlsZExhbmVzKSE9PTApLGUpe2lmKGEpcmV0dXJuIGNpKGwsdCx1KTt0LmZsYWdzfD0xMjh9aWYoZT10Lm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJihlLnJlbmRlcmluZz1udWxsLGUudGFpbD1udWxsLGUubGFzdEVmZmVjdD1udWxsKSxSZSh0LFhsLmN1cnJlbnQpLGEpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpyZXR1cm4gdC5sYW5lcz0wLHhvKGwsdCx1LHQucGVuZGluZ1Byb3BzKTtjYXNlIDI0Ol91KHQsemwsbC5tZW1vaXplZFN0YXRlLmNhY2hlKX1yZXR1cm4gdnUobCx0LHUpfWZ1bmN0aW9uIGx5KGwsdCx1KXtpZihsIT09bnVsbClpZihsLm1lbW9pemVkUHJvcHMhPT10LnBlbmRpbmdQcm9wcylfbD0hMDtlbHNle2lmKCFpaShsLHUpJiYodC5mbGFncyYxMjgpPT09MClyZXR1cm4gX2w9ITEsVWQobCx0LHUpO19sPShsLmZsYWdzJjEzMTA3MikhPT0wfWVsc2UgX2w9ITEsWiYmKHQuZmxhZ3MmMTA0ODU3NikhPT0wJiZDdih0LGJlLHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6bDp7dmFyIGE9dC5wZW5kaW5nUHJvcHM7aWYobD1mYSh0LmVsZW1lbnRUeXBlKSx0LnR5cGU9bCx0eXBlb2YgbD09ImZ1bmN0aW9uIiloYyhsKT8oYT1vYShsLGEpLHQudGFnPTEsdD1XbyhudWxsLHQsbCxhLHUpKToodC50YWc9MCx0PXRpKG51bGwsdCxsLGEsdSkpO2Vsc2V7aWYobCE9bnVsbCl7dmFyIGU9bC4kJHR5cGVvZjtpZihlPT09Xyl7dC50YWc9MTEsdD1WbyhudWxsLHQsbCxhLHUpO2JyZWFrIGx9ZWxzZSBpZihlPT09Y2wpe3QudGFnPTE0LHQ9TG8obnVsbCx0LGwsYSx1KTticmVhayBsfWVsc2UgaWYoZT09PURsKXt0LnRhZz0xMCx0LnR5cGU9bCx0PVBvKG51bGwsdCx1KTticmVhayBsfX10aHJvdyB0PVcobCl8fGwsRXJyb3IoUygzMDYsdCwiIikpfX1yZXR1cm4gdDtjYXNlIDA6cmV0dXJuIHRpKGwsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsdSk7Y2FzZSAxOnJldHVybiBhPXQudHlwZSxlPW9hKGEsdC5wZW5kaW5nUHJvcHMpLFdvKGwsdCxhLGUsdSk7Y2FzZSAzOmw6e2lmKGFuKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbD09PW51bGwpdGhyb3cgRXJyb3IoUygzODcpKTthPXQucGVuZGluZ1Byb3BzO3ZhciBuPXQubWVtb2l6ZWRTdGF0ZTtlPW4uZWxlbWVudCxNYyhsLHQpLENlKHQsYSxudWxsLHUpO3ZhciBmPXQubWVtb2l6ZWRTdGF0ZTtpZihhPWYuY2FjaGUsX3UodCx6bCxhKSxhIT09bi5jYWNoZSYmYmModCxbemxdLHUsITApLFVlKCksYT1mLmVsZW1lbnQsbi5pc0RlaHlkcmF0ZWQpaWYobj17ZWxlbWVudDphLGlzRGVoeWRyYXRlZDohMSxjYWNoZTpmLmNhY2hlfSx0LnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1uLHQubWVtb2l6ZWRTdGF0ZT1uLHQuZmxhZ3MmMjU2KXt0PSRvKGwsdCxhLHUpO2JyZWFrIGx9ZWxzZSBpZihhIT09ZSl7ZT1FdChFcnJvcihTKDQyNCkpLHQpLF9lKGUpLHQ9JG8obCx0LGEsdSk7YnJlYWsgbH1lbHNlIGZvcihsPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbC5ub2RlVHlwZT09PTk/bD1sLmJvZHk6bD1sLm5vZGVOYW1lPT09IkhUTUwiP2wub3duZXJEb2N1bWVudC5ib2R5OmwseWw9QXQobC5maXJzdENoaWxkKSxVbD10LFo9ITAsenU9bnVsbCxfdD0hMCx1PXB2KHQsbnVsbCxhLHUpLHQuY2hpbGQ9dTt1Oyl1LmZsYWdzPXUuZmxhZ3MmLTN8MTM0MjIxODI0LHU9dS5zaWJsaW5nO2Vsc2V7aWYobGEoKSxhPT09ZSl7dD12dShsLHQsdSk7YnJlYWsgbH1BbChsLHQsYSx1KX10PXQuY2hpbGR9cmV0dXJuIHQ7Y2FzZSAyNjpyZXR1cm4gWmEobCx0KSxsPT09bnVsbD8odT1BbSh0LnR5cGUsbnVsbCx0LnBlbmRpbmdQcm9wcyxudWxsKSk/dC5tZW1vaXplZFN0YXRlPXU6Wnx8KHQuc3RhdGVOb2RlPWVtKHQudHlwZSx0LnBlbmRpbmdQcm9wcyxodS5jdXJyZW50LHQpKTp0Lm1lbW9pemVkU3RhdGU9QW0odC50eXBlLGwubWVtb2l6ZWRQcm9wcyx0LnBlbmRpbmdQcm9wcyxsLm1lbW9pemVkU3RhdGUpLG51bGw7Y2FzZSAyNzpyZXR1cm4gQmYodCksbD09PW51bGwmJlomJihhPXQuc3RhdGVOb2RlPXptKHQudHlwZSx0LnBlbmRpbmdQcm9wcyxodS5jdXJyZW50KSxVbD10LF90PSEwLGU9eWwsUXUodC50eXBlKT8oZTA9ZSx5bD1BdChhLmZpcnN0Q2hpbGQpKTp5bD1lKSxBbChsLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdSksWmEobCx0KSxsPT09bnVsbCYmKHQuZmxhZ3N8PTQxOTQzMDQpLHQuY2hpbGQ7Y2FzZSA1OnJldHVybiBsPT09bnVsbCYmWiYmKChlPWE9eWwpJiYoYT1fcyhhLHQudHlwZSx0LnBlbmRpbmdQcm9wcyxfdCksYSE9PW51bGw/KHQuc3RhdGVOb2RlPWEsVWw9dCx5bD1BdChhLmZpcnN0Q2hpbGQpLF90PSExLGU9ITApOmU9ITEpLGV8fGJ1KHQpKSxCZih0KSxlPXQudHlwZSxuPXQucGVuZGluZ1Byb3BzLGY9bCE9PW51bGw/bC5tZW1vaXplZFByb3BzOm51bGwsYT1uLmNoaWxkcmVuLCRpKGUsbik/YT1udWxsOmYhPT1udWxsJiYkaShlLGYpJiYodC5mbGFnc3w9MzIpLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJihlPUdjKGwsdCxyZCxudWxsLG51bGwsdSksZWUuX2N1cnJlbnRWYWx1ZT1lKSxaYShsLHQpLEFsKGwsdCxhLHUpLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBsPT09bnVsbCYmWiYmKChsPXU9eWwpJiYodT1Pcyh1LHQucGVuZGluZ1Byb3BzLF90KSx1IT09bnVsbD8odC5zdGF0ZU5vZGU9dSxVbD10LHlsPW51bGwsbD0hMCk6bD0hMSksbHx8YnUodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gRm8obCx0LHUpO2Nhc2UgNDpyZXR1cm4gYW4odCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxhPXQucGVuZGluZ1Byb3BzLGw9PT1udWxsP3QuY2hpbGQ9aWEodCxudWxsLGEsdSk6QWwobCx0LGEsdSksdC5jaGlsZDtjYXNlIDExOnJldHVybiBWbyhsLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLHUpO2Nhc2UgNzpyZXR1cm4gYT10LnBlbmRpbmdQcm9wcyxaYShsLHQpLEFsKGwsdCxhLHUpLHQuY2hpbGQ7Y2FzZSA4OnJldHVybiBBbChsLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdSksdC5jaGlsZDtjYXNlIDEyOnJldHVybiBBbChsLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdSksdC5jaGlsZDtjYXNlIDEwOnJldHVybiBQbyhsLHQsdSk7Y2FzZSA5OnJldHVybiBlPXQudHlwZS5fY29udGV4dCxhPXQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLGFhKHQpLGU9QmwoZSksYT1hKGUpLHQuZmxhZ3N8PTEsQWwobCx0LGEsdSksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBMbyhsLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLHUpO2Nhc2UgMTU6cmV0dXJuIHBvKGwsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsdSk7Y2FzZSAxOTpyZXR1cm4gY2kobCx0LHUpO2Nhc2UgMzE6cmV0dXJuIERkKGwsdCx1KTtjYXNlIDIyOnJldHVybiB4byhsLHQsdSx0LnBlbmRpbmdQcm9wcyk7Y2FzZSAyNDpyZXR1cm4gYWEodCksYT1CbCh6bCksbD09PW51bGw/KGU9QWMoKSxlPT09bnVsbCYmKGU9aWwsbj1fYygpLGUucG9vbGVkQ2FjaGU9bixuLnJlZkNvdW50KyssbiE9PW51bGwmJihlLnBvb2xlZENhY2hlTGFuZXN8PXUpLGU9biksdC5tZW1vaXplZFN0YXRlPXtwYXJlbnQ6YSxjYWNoZTplfSxEYyh0KSxfdSh0LHpsLGUpKTooKGwubGFuZXMmdSkhPT0wJiYoTWMobCx0KSxDZSh0LG51bGwsbnVsbCx1KSxVZSgpKSxlPWwubWVtb2l6ZWRTdGF0ZSxuPXQubWVtb2l6ZWRTdGF0ZSxlLnBhcmVudCE9PWE/KGU9e3BhcmVudDphLGNhY2hlOmF9LHQubWVtb2l6ZWRTdGF0ZT1lLHQubGFuZXM9PT0wJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWUpLF91KHQsemwsYSkpOihhPW4uY2FjaGUsX3UodCx6bCxhKSxhIT09ZS5jYWNoZSYmYmModCxbemxdLHUsITApKSksQWwobCx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLHUpLHQuY2hpbGQ7Y2FzZSAzMDpyZXR1cm4gdC5zdGF0ZU5vZGU9PT1udWxsJiYodC5zdGF0ZU5vZGU9e2F1dG9OYW1lOm51bGwscGFpcmVkOm51bGwsY2xvbmVzOm51bGwscmVmOm51bGx9KSxhPXQucGVuZGluZ1Byb3BzLGEubmFtZSE9bnVsbCYmYS5uYW1lIT09ImF1dG8iP3QuZmxhZ3N8PWw9PT1udWxsPzE4ODgyNTYwOjE4ODc0MzY4OlomJk1uKHQpLGwhPT1udWxsJiZsLm1lbW9pemVkUHJvcHMubmFtZSE9PWEubmFtZT90LmZsYWdzfD00MTk0ODE2OlphKGwsdCksQWwobCx0LGEuY2hpbGRyZW4sdSksdC5jaGlsZDtjYXNlIDI5OnRocm93IHQucGVuZGluZ1Byb3BzfXRocm93IEVycm9yKFMoMTU2LHQudGFnKSl9ZnVuY3Rpb24gb3UobCl7bC5mbGFnc3w9NH1mdW5jdGlvbiB2aShsLHQsdSxhLGUpe3ZhciBuO2lmKChuPShsLm1vZGUmMzIpIT09MCkmJihuPXU9PT1udWxsP1VtKHQsYSk6VW0odCxhKSYmKGEuc3JjIT09dS5zcmN8fGEuc3JjU2V0IT09dS5zcmNTZXQpKSxuKXtpZihsLmZsYWdzfD0xNjc3NzIxNiwoZSYzMzU1NDQxMjgpPT09ZSlpZihsLnN0YXRlTm9kZS5jb21wbGV0ZSlsLmZsYWdzfD04MTkyO2Vsc2UgaWYoQnkoKSlsLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgY2E9Qm4sTmN9ZWxzZSBsLmZsYWdzJj0tMTY3NzcyMTd9ZnVuY3Rpb24gdHkobCx0KXtpZih0LnR5cGUhPT0ic3R5bGVzaGVldCJ8fCh0LnN0YXRlLmxvYWRpbmcmNCkhPT0wKWwuZmxhZ3MmPS0xNjc3NzIxNztlbHNlIGlmKGwuZmxhZ3N8PTE2Nzc3MjE2LCFDbSh0KSlpZihCeSgpKWwuZmxhZ3N8PTgxOTI7ZWxzZSB0aHJvdyBjYT1CbixOY31mdW5jdGlvbiBsZihsLHQpe3QhPT1udWxsJiYobC5mbGFnc3w9NCksbC5mbGFncyYxNjM4NCYmKHQ9bC50YWchPT0yMj9NMCgpOjUzNjg3MDkxMixsLmxhbmVzfD10LEthfD10KX1mdW5jdGlvbiBHZShsLHQpe2lmKCFaKXN3aXRjaChsLnRhaWxNb2RlKXtjYXNlInZpc2libGUiOmJyZWFrO2Nhc2UiY29sbGFwc2VkIjpmb3IodmFyIHU9bC50YWlsLGE9bnVsbDt1IT09bnVsbDspdS5hbHRlcm5hdGUhPT1udWxsJiYoYT11KSx1PXUuc2libGluZzthPT09bnVsbD90fHxsLnRhaWw9PT1udWxsP2wudGFpbD1udWxsOmwudGFpbC5zaWJsaW5nPW51bGw6YS5zaWJsaW5nPW51bGw7YnJlYWs7ZGVmYXVsdDpmb3IodD1sLnRhaWwsdT1udWxsO3QhPT1udWxsOyl0LmFsdGVybmF0ZSE9PW51bGwmJih1PXQpLHQ9dC5zaWJsaW5nO3U9PT1udWxsP2wudGFpbD1udWxsOnUuc2libGluZz1udWxsfX1mdW5jdGlvbiBtbChsKXt2YXIgdD1sLmFsdGVybmF0ZSE9PW51bGwmJmwuYWx0ZXJuYXRlLmNoaWxkPT09bC5jaGlsZCx1PTAsYT0wO2lmKHQpZm9yKHZhciBlPWwuY2hpbGQ7ZSE9PW51bGw7KXV8PWUubGFuZXN8ZS5jaGlsZExhbmVzLGF8PWUuc3VidHJlZUZsYWdzJjEyMDY5MTA5NzYsYXw9ZS5mbGFncyYxMjA2OTEwOTc2LGUucmV0dXJuPWwsZT1lLnNpYmxpbmc7ZWxzZSBmb3IoZT1sLmNoaWxkO2UhPT1udWxsOyl1fD1lLmxhbmVzfGUuY2hpbGRMYW5lcyxhfD1lLnN1YnRyZWVGbGFncyxhfD1lLmZsYWdzLGUucmV0dXJuPWwsZT1lLnNpYmxpbmc7cmV0dXJuIGwuc3VidHJlZUZsYWdzfD1hLGwuY2hpbGRMYW5lcz11LHR9ZnVuY3Rpb24gQ2QobCx0LHUpe3ZhciBhPXQucGVuZGluZ1Byb3BzO3N3aXRjaChyYyh0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpyZXR1cm4gbWwodCksbnVsbDtjYXNlIDE6cmV0dXJuIG1sKHQpLG51bGw7Y2FzZSAzOnJldHVybiB1PXQuc3RhdGVOb2RlLGE9bnVsbCxsIT09bnVsbCYmKGE9bC5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1hJiYodC5mbGFnc3w9MjA0OCksZnUoemwpLFNhKCksdS5wZW5kaW5nQ29udGV4dCYmKHUuY29udGV4dD11LnBlbmRpbmdDb250ZXh0LHUucGVuZGluZ0NvbnRleHQ9bnVsbCksKGw9PT1udWxsfHxsLmNoaWxkPT09bnVsbCkmJihZYSh0KT9vdSh0KTpsPT09bnVsbHx8bC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmKHQuZmxhZ3MmMjU2KT09PTB8fCh0LmZsYWdzfD0xMDI0LEVjKCkpKSxtbCh0KSxudWxsO2Nhc2UgMjY6dmFyIGU9dC50eXBlLG49dC5tZW1vaXplZFN0YXRlO3JldHVybiBsPT09bnVsbD8ob3UodCksbiE9PW51bGw/KG1sKHQpLHR5KHQsbikpOihtbCh0KSx2aSh0LGUsbnVsbCxhLHUpKSk6bj9uIT09bC5tZW1vaXplZFN0YXRlPyhvdSh0KSxtbCh0KSx0eSh0LG4pKToobWwodCksdC5mbGFncyY9LTE2Nzc3MjE3KToobD1sLm1lbW9pemVkUHJvcHMsbCE9PWEmJm91KHQpLG1sKHQpLHZpKHQsZSxsLGEsdSkpLG51bGw7Y2FzZSAyNzppZihlbih0KSx1PWh1LmN1cnJlbnQsZT10LnR5cGUsbCE9PW51bGwmJnQuc3RhdGVOb2RlIT1udWxsKWwubWVtb2l6ZWRQcm9wcyE9PWEmJm91KHQpO2Vsc2V7aWYoIWEpe2lmKHQuc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcihTKDE2NikpO3JldHVybiBtbCh0KSx0LnN1YnRyZWVGbGFncyY9LTMzNTU0NDMzLG51bGx9bD1RdC5jdXJyZW50LFlhKHQpP0h2KHQpOihsPXptKGUsYSx1KSx0LnN0YXRlTm9kZT1sLG91KHQpKX1yZXR1cm4gbWwodCksdC5zdWJ0cmVlRmxhZ3MmPS0zMzU1NDQzMyxudWxsO2Nhc2UgNTppZihlbih0KSxlPXQudHlwZSxsIT09bnVsbCYmdC5zdGF0ZU5vZGUhPW51bGwpbC5tZW1vaXplZFByb3BzIT09YSYmb3UodCk7ZWxzZXtpZighYSl7aWYodC5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKFMoMTY2KSk7cmV0dXJuIG1sKHQpLHQuc3VidHJlZUZsYWdzJj0tMzM1NTQ0MzMsbnVsbH1pZihuPVF0LmN1cnJlbnQsWWEodCkpSHYodCk7ZWxzZXt2YXIgZj13ZShodS5jdXJyZW50KTtzd2l0Y2gobil7Y2FzZSAxOm49Zi5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlKTticmVhaztjYXNlIDI6bj1mLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsZSk7YnJlYWs7ZGVmYXVsdDpzd2l0Y2goZSl7Y2FzZSJzdmciOm49Zi5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlKTticmVhaztjYXNlIm1hdGgiOm49Zi5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiLGUpO2JyZWFrO2Nhc2Uic2NyaXB0IjpuPWYuY3JlYXRlRWxlbWVudCgiZGl2Iiksbi5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsbj1uLnJlbW92ZUNoaWxkKG4uZmlyc3RDaGlsZCk7YnJlYWs7Y2FzZSJzZWxlY3QiOm49dHlwZW9mIGEuaXM9PSJzdHJpbmciP2YuY3JlYXRlRWxlbWVudCgic2VsZWN0Iix7aXM6YS5pc30pOmYuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksYS5tdWx0aXBsZT9uLm11bHRpcGxlPSEwOmEuc2l6ZSYmKG4uc2l6ZT1hLnNpemUpO2JyZWFrO2RlZmF1bHQ6bj10eXBlb2YgYS5pcz09InN0cmluZyI/Zi5jcmVhdGVFbGVtZW50KGUse2lzOmEuaXN9KTpmLmNyZWF0ZUVsZW1lbnQoZSl9fW5bcWxdPXQsbltXbF09YTtsOmZvcihmPXQuY2hpbGQ7ZiE9PW51bGw7KXtpZihmLnRhZz09PTV8fGYudGFnPT09NiluLmFwcGVuZENoaWxkKGYuc3RhdGVOb2RlKTtlbHNlIGlmKGYudGFnIT09NCYmZi50YWchPT0yNyYmZi5jaGlsZCE9PW51bGwpe2YuY2hpbGQucmV0dXJuPWYsZj1mLmNoaWxkO2NvbnRpbnVlfWlmKGY9PT10KWJyZWFrIGw7Zm9yKDtmLnNpYmxpbmc9PT1udWxsOyl7aWYoZi5yZXR1cm49PT1udWxsfHxmLnJldHVybj09PXQpYnJlYWsgbDtmPWYucmV0dXJufWYuc2libGluZy5yZXR1cm49Zi5yZXR1cm4sZj1mLnNpYmxpbmd9dC5zdGF0ZU5vZGU9bjtsOnN3aXRjaChqbChuLGUsYSksZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjphPSEhYS5hdXRvRm9jdXM7YnJlYWsgbDtjYXNlImltZyI6YT0hMDticmVhayBsO2RlZmF1bHQ6YT0hMX1hJiZvdSh0KX19cmV0dXJuIG1sKHQpLHQuc3VidHJlZUZsYWdzJj0tMzM1NTQ0MzMsdmkodCx0LnR5cGUsbD09PW51bGw/bnVsbDpsLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsdSksbnVsbDtjYXNlIDY6aWYobCYmdC5zdGF0ZU5vZGUhPW51bGwpbC5tZW1vaXplZFByb3BzIT09YSYmb3UodCk7ZWxzZXtpZih0eXBlb2YgYSE9InN0cmluZyImJnQuc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcihTKDE2NikpO2lmKGw9aHUuY3VycmVudCxZYSh0KSl7aWYobD10LnN0YXRlTm9kZSx1PXQubWVtb2l6ZWRQcm9wcyxhPW51bGwsZT1VbCxlIT09bnVsbClzd2l0Y2goZS50YWcpe2Nhc2UgMjc6Y2FzZSA1OmE9ZS5tZW1vaXplZFByb3BzfWxbcWxdPXQsbD0hIShsLm5vZGVWYWx1ZT09PXV8fGEhPT1udWxsJiZhLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZz09PSEwfHxsbShsLm5vZGVWYWx1ZSx1KSksbHx8YnUodCwhMCl9ZWxzZSBsPXdlKGwpLmNyZWF0ZVRleHROb2RlKGEpLGxbcWxdPXQsdC5zdGF0ZU5vZGU9bH1yZXR1cm4gbWwodCksbnVsbDtjYXNlIDMxOmlmKHU9dC5tZW1vaXplZFN0YXRlLGw9PT1udWxsfHxsLm1lbW9pemVkU3RhdGUhPT1udWxsKXtpZihhPVlhKHQpLHUhPT1udWxsKXtpZihsPT09bnVsbCl7aWYoIWEpdGhyb3cgRXJyb3IoUygzMTgpKTtpZihsPXQubWVtb2l6ZWRTdGF0ZSxsPWwhPT1udWxsP2wuZGVoeWRyYXRlZDpudWxsLCFsKXRocm93IEVycm9yKFMoNTU3KSk7bFtxbF09dH1lbHNlIGxhKCksKHQuZmxhZ3MmMTI4KT09PTAmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDttbCh0KSxsPSExfWVsc2UgdT1FYygpLGwhPT1udWxsJiZsLm1lbW9pemVkU3RhdGUhPT1udWxsJiYobC5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz11KSxsPSEwO2lmKCFsKXJldHVybiB0LmZsYWdzJjI1Nj8odnQodCksdCk6KHZ0KHQpLG51bGwpO2lmKCh0LmZsYWdzJjEyOCkhPT0wKXRocm93IEVycm9yKFMoNTU4KSl9cmV0dXJuIG1sKHQpLG51bGw7Y2FzZSAxMzppZihhPXQubWVtb2l6ZWRTdGF0ZSxsPT09bnVsbHx8bC5tZW1vaXplZFN0YXRlIT09bnVsbCYmbC5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihlPVlhKHQpLGEhPT1udWxsJiZhLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihsPT09bnVsbCl7aWYoIWUpdGhyb3cgRXJyb3IoUygzMTgpKTtpZihlPXQubWVtb2l6ZWRTdGF0ZSxlPWUhPT1udWxsP2UuZGVoeWRyYXRlZDpudWxsLCFlKXRocm93IEVycm9yKFMoMzE3KSk7ZVtxbF09dH1lbHNlIGxhKCksKHQuZmxhZ3MmMTI4KT09PTAmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDttbCh0KSxlPSExfWVsc2UgZT1FYygpLGwhPT1udWxsJiZsLm1lbW9pemVkU3RhdGUhPT1udWxsJiYobC5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1lKSxlPSEwO2lmKCFlKXJldHVybiB0LmZsYWdzJjI1Nj8odnQodCksdCk6KHZ0KHQpLG51bGwpfXJldHVybiB2dCh0KSwodC5mbGFncyYxMjgpIT09MD8odC5sYW5lcz11LHQpOih1PWEhPT1udWxsLGw9bCE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZSE9PW51bGwsdSYmKGE9dC5jaGlsZCxlPW51bGwsYS5hbHRlcm5hdGUhPT1udWxsJiZhLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmYS5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoZT1hLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxuPW51bGwsYS5tZW1vaXplZFN0YXRlIT09bnVsbCYmYS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWEubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksbiE9PWUmJihhLmZsYWdzfD0yMDQ4KSksdSE9PWwmJnUmJih0LmNoaWxkLmZsYWdzfD04MTkyKSxsZih0LHQudXBkYXRlUXVldWUpLG1sKHQpLG51bGwpO2Nhc2UgNDpyZXR1cm4gU2EoKSxsPT09bnVsbCYmeGkodC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksdC5mbGFnc3w9NjcxMDg4NjQsbWwodCksbnVsbDtjYXNlIDEwOnJldHVybiBmdSh0LnR5cGUpLG1sKHQpLG51bGw7Y2FzZSAxOTppZihxYyh0KSxhPXQubWVtb2l6ZWRTdGF0ZSxhPT09bnVsbClyZXR1cm4gbWwodCksbnVsbDtpZihlPSh0LmZsYWdzJjEyOCkhPT0wLG49YS5yZW5kZXJpbmcsbj09PW51bGwpaWYoZSlHZShhLCExKTtlbHNle2lmKHJsIT09MHx8bCE9PW51bGwmJihsLmZsYWdzJjEyOCkhPT0wKWZvcihsPXQuY2hpbGQ7bCE9PW51bGw7KXtpZihuPWpuKGwpLG4hPT1udWxsKXtmb3IodC5mbGFnc3w9MTI4LEdlKGEsITEpLGw9bi51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPWwsbGYodCxsKSx0LnN1YnRyZWVGbGFncz0wLGw9dSx1PXQuY2hpbGQ7dSE9PW51bGw7KUR2KHUsbCksdT11LnNpYmxpbmc7cmV0dXJuIFJlKHQsWGwuY3VycmVudCYxfDIpLFomJmV1KHQsYS50cmVlRm9ya0NvdW50KSx0LmNoaWxkfWw9bC5zaWJsaW5nfWEudGFpbCE9PW51bGwmJmV0KCk+ZGYmJih0LmZsYWdzfD0xMjgsZT0hMCxHZShhLCExKSx0LmxhbmVzPTQxOTQzMDQpfWVsc2V7aWYoIWUpaWYobD1qbihuKSxsIT09bnVsbCl7aWYodC5mbGFnc3w9MTI4LGU9ITAsbD1sLnVwZGF0ZVF1ZXVlLHQudXBkYXRlUXVldWU9bCxsZih0LGwpLEdlKGEsITApLGEudGFpbD09PW51bGwmJmEudGFpbE1vZGUhPT0iY29sbGFwc2VkIiYmYS50YWlsTW9kZSE9PSJ2aXNpYmxlIiYmIW4uYWx0ZXJuYXRlJiYhWilyZXR1cm4gbWwodCksbnVsbH1lbHNlIDIqZXQoKS1hLnJlbmRlcmluZ1N0YXJ0VGltZT5kZiYmdSE9PTUzNjg3MDkxMiYmKHQuZmxhZ3N8PTEyOCxlPSEwLEdlKGEsITEpLHQubGFuZXM9NDE5NDMwNCk7YS5pc0JhY2t3YXJkcz8obi5zaWJsaW5nPXQuY2hpbGQsdC5jaGlsZD1uKToobD1hLmxhc3QsbCE9PW51bGw/bC5zaWJsaW5nPW46dC5jaGlsZD1uLGEubGFzdD1uKX1pZihhLnRhaWwhPT1udWxsKXtsPWEudGFpbDtsOntmb3IodT1sO3UhPT1udWxsOyl7aWYodS5hbHRlcm5hdGUhPT1udWxsKXt1PSExO2JyZWFrIGx9dT11LnNpYmxpbmd9dT0hMH1yZXR1cm4gYS5yZW5kZXJpbmc9bCxhLnRhaWw9bC5zaWJsaW5nLGEucmVuZGVyaW5nU3RhcnRUaW1lPWV0KCksbC5zaWJsaW5nPW51bGwsbj1YbC5jdXJyZW50LG49ZT9uJjF8MjpuJjEsYS50YWlsTW9kZT09PSJ2aXNpYmxlInx8YS50YWlsTW9kZT09PSJjb2xsYXBzZWQifHwhdXx8Wj9SZSh0LG4pOih1PW4sb2woR2wsdCksb2woWGwsdSksVmw9PT1udWxsJiYoVmw9dCkpLFomJmV1KHQsYS50cmVlRm9ya0NvdW50KSxsfXJldHVybiBtbCh0KSxudWxsO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gdnQodCksSGMoKSxhPXQubWVtb2l6ZWRTdGF0ZSE9PW51bGwsbCE9PW51bGw/bC5tZW1vaXplZFN0YXRlIT09bnVsbCE9PWEmJih0LmZsYWdzfD04MTkyKTphJiYodC5mbGFnc3w9ODE5MiksYT8odSY1MzY4NzA5MTIpIT09MCYmKHQuZmxhZ3MmMTI4KT09PTAmJihtbCh0KSx0LnN1YnRyZWVGbGFncyY2JiYodC5mbGFnc3w9ODE5MikpOm1sKHQpLHU9dC51cGRhdGVRdWV1ZSx1IT09bnVsbCYmbGYodCx1LnJldHJ5UXVldWUpLHU9bnVsbCxsIT09bnVsbCYmbC5tZW1vaXplZFN0YXRlIT09bnVsbCYmbC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJih1PWwubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksYT1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoYT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGEhPT11JiYodC5mbGFnc3w9MjA0OCksbCE9PW51bGwmJllsKG5hKSxudWxsO2Nhc2UgMjQ6cmV0dXJuIHU9bnVsbCxsIT09bnVsbCYmKHU9bC5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT11JiYodC5mbGFnc3w9MjA0OCksZnUoemwpLG1sKHQpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtjYXNlIDMwOnJldHVybiB0LmZsYWdzfD0zMzU1NDQzMixtbCh0KSxudWxsfXRocm93IEVycm9yKFMoMTU2LHQudGFnKSl9ZnVuY3Rpb24gUmQobCx0KXtzd2l0Y2gocmModCksdC50YWcpe2Nhc2UgMTpyZXR1cm4gbD10LmZsYWdzLGwmNjU1MzY/KHQuZmxhZ3M9bCYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAzOnJldHVybiBmdSh6bCksU2EoKSxsPXQuZmxhZ3MsKGwmNjU1MzYpIT09MCYmKGwmMTI4KT09PTA/KHQuZmxhZ3M9bCYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZW4odCksbnVsbDtjYXNlIDMxOmlmKHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwpe2lmKHZ0KHQpLHQuYWx0ZXJuYXRlPT09bnVsbCl0aHJvdyBFcnJvcihTKDM0MCkpO2xhKCl9cmV0dXJuIGw9dC5mbGFncyxsJjY1NTM2Pyh0LmZsYWdzPWwmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMTM6aWYodnQodCksbD10Lm1lbW9pemVkU3RhdGUsbCE9PW51bGwmJmwuZGVoeWRyYXRlZCE9PW51bGwpe2lmKHQuYWx0ZXJuYXRlPT09bnVsbCl0aHJvdyBFcnJvcihTKDM0MCkpO2xhKCl9cmV0dXJuIGw9dC5mbGFncyxsJjY1NTM2Pyh0LmZsYWdzPWwmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMTk6cmV0dXJuIHFjKHQpLGw9dC5mbGFncyxsJjY1NTM2Pyh0LmZsYWdzPWwmLTY1NTM3fDEyOCxsPXQubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwpLHQuZmxhZ3N8PTQsdCk6bnVsbDtjYXNlIDQ6cmV0dXJuIFNhKCksbnVsbDtjYXNlIDEwOnJldHVybiBmdSh0LnR5cGUpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiB2dCh0KSxIYygpLGwhPT1udWxsJiZZbChuYSksbD10LmZsYWdzLGwmNjU1MzY/KHQuZmxhZ3M9bCYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAyNDpyZXR1cm4gZnUoemwpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1mdW5jdGlvbiB1eShsLHQpe3N3aXRjaChyYyh0KSx0LnRhZyl7Y2FzZSAzOmZ1KHpsKSxTYSgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6ZW4odCk7YnJlYWs7Y2FzZSA0OlNhKCk7YnJlYWs7Y2FzZSAzMTp0Lm1lbW9pemVkU3RhdGUhPT1udWxsJiZ2dCh0KTticmVhaztjYXNlIDEzOnZ0KHQpO2JyZWFrO2Nhc2UgMTk6cWModCk7YnJlYWs7Y2FzZSAxMDpmdSh0LnR5cGUpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzp2dCh0KSxIYygpLGwhPT1udWxsJiZZbChuYSk7YnJlYWs7Y2FzZSAyNDpmdSh6bCl9fWZ1bmN0aW9uIFhlKGwsdCl7dHJ5e3ZhciB1PXQudXBkYXRlUXVldWUsYT11IT09bnVsbD91Lmxhc3RFZmZlY3Q6bnVsbDtpZihhIT09bnVsbCl7dmFyIGU9YS5uZXh0O3U9ZTtkb3tpZigodS50YWcmbCk9PT1sKXthPXZvaWQgMDt2YXIgbj11LmNyZWF0ZSxmPXUuaW5zdDthPW4oKSxmLmRlc3Ryb3k9YX11PXUubmV4dH13aGlsZSh1IT09ZSl9fWNhdGNoKGMpe2FsKHQsdC5yZXR1cm4sYyl9fWZ1bmN0aW9uIFJ1KGwsdCx1KXt0cnl7dmFyIGE9dC51cGRhdGVRdWV1ZSxlPWEhPT1udWxsP2EubGFzdEVmZmVjdDpudWxsO2lmKGUhPT1udWxsKXt2YXIgbj1lLm5leHQ7YT1uO2Rve2lmKChhLnRhZyZsKT09PWwpe3ZhciBmPWEuaW5zdCxjPWYuZGVzdHJveTtpZihjIT09dm9pZCAwKXtmLmRlc3Ryb3k9dm9pZCAwLGU9dDt2YXIgaT11LGQ9Yzt0cnl7ZCgpfWNhdGNoKGcpe2FsKGUsaSxnKX19fWE9YS5uZXh0fXdoaWxlKGEhPT1uKX19Y2F0Y2goZyl7YWwodCx0LnJldHVybixnKX19ZnVuY3Rpb24gYXkobCl7dmFyIHQ9bC51cGRhdGVRdWV1ZTtpZih0IT09bnVsbCl7dmFyIHU9bC5zdGF0ZU5vZGU7dHJ5e0t2KHQsdSl9Y2F0Y2goYSl7YWwobCxsLnJldHVybixhKX19fWZ1bmN0aW9uIGV5KGwsdCx1KXt1LnByb3BzPW9hKGwudHlwZSxsLm1lbW9pemVkUHJvcHMpLHUuc3RhdGU9bC5tZW1vaXplZFN0YXRlO3RyeXt1LmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goYSl7YWwobCx0LGEpfX1mdW5jdGlvbiBMdChsLHQpe3RyeXt2YXIgdT1sLnJlZjtpZih1IT09bnVsbCl7c3dpdGNoKGwudGFnKXtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnZhciBhPWwuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMzA6dmFyIGU9bC5zdGF0ZU5vZGUsbj10dShsLm1lbW9pemVkUHJvcHMsZSk7KGUucmVmPT09bnVsbHx8ZS5yZWYubmFtZSE9PW4pJiYoZS5yZWY9eW0obikpLGE9ZS5yZWY7YnJlYWs7Y2FzZSA3OmlmKGwuc3RhdGVOb2RlPT09bnVsbCl7dmFyIGY9bmV3IHN0KGwpO1QobC5jaGlsZCwhMSx6cyxmLHZvaWQgMCx2b2lkIDApLGwuc3RhdGVOb2RlPWZ9YT1sLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OmE9bC5zdGF0ZU5vZGV9dHlwZW9mIHU9PSJmdW5jdGlvbiI/bC5yZWZDbGVhbnVwPXUoYSk6dS5jdXJyZW50PWF9fWNhdGNoKGMpe2FsKGwsdCxjKX19ZnVuY3Rpb24gUWwobCx0KXt2YXIgdT1sLnJlZixhPWwucmVmQ2xlYW51cDtpZih1IT09bnVsbClpZih0eXBlb2YgYT09ImZ1bmN0aW9uIil0cnl7YSgpfWNhdGNoKGUpe2FsKGwsdCxlKX1maW5hbGx5e2wucmVmQ2xlYW51cD1udWxsLGw9bC5hbHRlcm5hdGUsbCE9bnVsbCYmKGwucmVmQ2xlYW51cD1udWxsKX1lbHNlIGlmKHR5cGVvZiB1PT0iZnVuY3Rpb24iKXRyeXt1KG51bGwpfWNhdGNoKGUpe2FsKGwsdCxlKX1lbHNlIHUuY3VycmVudD1udWxsfWZ1bmN0aW9uIHRmKGwsdCl7aWYoKGwudGFnPT09NXx8bC50YWc9PT0yN3x8bC50YWc9PT02KSYmbC5hbHRlcm5hdGU9PT1udWxsJiZ0IT09bnVsbClmb3IodmFyIHU9MDt1PHQubGVuZ3RoO3UrKylTbShsLnN0YXRlTm9kZSx0W3VdKX1mdW5jdGlvbiBueShsKXtmb3IodmFyIHQ9bC5yZXR1cm47dCE9PW51bGwmJih5aSh0KSYmU20obC5zdGF0ZU5vZGUsdC5zdGF0ZU5vZGUpLCFvaSh0KSk7KXQ9dC5yZXR1cm59ZnVuY3Rpb24gUWUobCl7Zm9yKHZhciB0PWwucmV0dXJuO3QhPT1udWxsJiYoeWkodCkmJmJzKGwuc3RhdGVOb2RlLHQuc3RhdGVOb2RlKSwhb2kodCkpOyl0PXQucmV0dXJufWZ1bmN0aW9uIG9pKGwpe3JldHVybiBsLnRhZz09PTV8fGwudGFnPT09M3x8bC50YWc9PT0yN31mdW5jdGlvbiB5aShsKXtyZXR1cm4gbCYmbC50YWc9PT03JiZsLnN0YXRlTm9kZSE9PW51bGx9ZnVuY3Rpb24gbWkobCl7dmFyIHQ9bC50eXBlLHU9bC5tZW1vaXplZFByb3BzLGE9bC5zdGF0ZU5vZGU7dHJ5e2w6c3dpdGNoKHQpe2Nhc2UiYnV0dG9uIjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJ0ZXh0YXJlYSI6dS5hdXRvRm9jdXMmJmEuZm9jdXMoKTticmVhayBsO2Nhc2UiaW1nIjp1LnNyYz9hLnNyYz11LnNyYzp1LnNyY1NldCYmKGEuc3Jjc2V0PXUuc3JjU2V0KX19Y2F0Y2goZSl7YWwobCxsLnJldHVybixlKX19ZnVuY3Rpb24gZGkobCx0LHUpe3RyeXt2YXIgYT1sLnN0YXRlTm9kZTthcyhhLGwudHlwZSx1LHQpLGFbV2xdPXR9Y2F0Y2goZSl7YWwobCxsLnJldHVybixlKX19ZnVuY3Rpb24gZnkobCl7cmV0dXJuIGwudGFnPT09NXx8bC50YWc9PT0zfHxsLnRhZz09PTI2fHxsLnRhZz09PTI3JiZRdShsLnR5cGUpfHxsLnRhZz09PTR9ZnVuY3Rpb24gc2kobCl7bDpmb3IoOzspe2Zvcig7bC5zaWJsaW5nPT09bnVsbDspe2lmKGwucmV0dXJuPT09bnVsbHx8ZnkobC5yZXR1cm4pKXJldHVybiBudWxsO2w9bC5yZXR1cm59Zm9yKGwuc2libGluZy5yZXR1cm49bC5yZXR1cm4sbD1sLnNpYmxpbmc7bC50YWchPT01JiZsLnRhZyE9PTYmJmwudGFnIT09MTg7KXtpZihsLnRhZz09PTI3JiZRdShsLnR5cGUpfHxsLmZsYWdzJjJ8fGwuY2hpbGQ9PT1udWxsfHxsLnRhZz09PTQpY29udGludWUgbDtsLmNoaWxkLnJldHVybj1sLGw9bC5jaGlsZH1pZighKGwuZmxhZ3MmMikpcmV0dXJuIGwuc3RhdGVOb2RlfX1mdW5jdGlvbiBoaShsLHQsdSxhKXt2YXIgZT1sLnRhZztpZihlPT09NXx8ZT09PTYpZT1sLnN0YXRlTm9kZSx0Pyh1Lm5vZGVUeXBlPT09OT91LmJvZHk6dS5ub2RlTmFtZT09PSJIVE1MIj91Lm93bmVyRG9jdW1lbnQuYm9keTp1KS5pbnNlcnRCZWZvcmUoZSx0KToodD11Lm5vZGVUeXBlPT09OT91LmJvZHk6dS5ub2RlTmFtZT09PSJIVE1MIj91Lm93bmVyRG9jdW1lbnQuYm9keTp1LHQuYXBwZW5kQ2hpbGQoZSksdT11Ll9yZWFjdFJvb3RDb250YWluZXIsdSE9bnVsbHx8dC5vbmNsaWNrIT09bnVsbHx8KHQub25jbGljaz1qdCkpLHRmKGwsYSksJD0hMDtlbHNlIGlmKGUhPT00JiYoZT09PTI3JiYodGYobCxhKSxhPW51bGwsUXUobC50eXBlKSYmKHU9bC5zdGF0ZU5vZGUsdD1udWxsKSksbD1sLmNoaWxkLGwhPT1udWxsKSlmb3IoaGkobCx0LHUsYSksbD1sLnNpYmxpbmc7bCE9PW51bGw7KWhpKGwsdCx1LGEpLGw9bC5zaWJsaW5nfWZ1bmN0aW9uIHVmKGwsdCx1LGEpe3ZhciBlPWwudGFnO2lmKGU9PT01fHxlPT09NillPWwuc3RhdGVOb2RlLHQ/dS5pbnNlcnRCZWZvcmUoZSx0KTp1LmFwcGVuZENoaWxkKGUpLHRmKGwsYSksJD0hMDtlbHNlIGlmKGUhPT00JiYoZT09PTI3JiYodGYobCxhKSxhPW51bGwsUXUobC50eXBlKSYmKHU9bC5zdGF0ZU5vZGUpKSxsPWwuY2hpbGQsbCE9PW51bGwpKWZvcih1ZihsLHQsdSxhKSxsPWwuc2libGluZztsIT09bnVsbDspdWYobCx0LHUsYSksbD1sLnNpYmxpbmd9ZnVuY3Rpb24gY3kobCl7dmFyIHQ9bC5zdGF0ZU5vZGUsdT1sLm1lbW9pemVkUHJvcHM7dHJ5e2Zvcih2YXIgYT1sLnR5cGUsZT10LmF0dHJpYnV0ZXM7ZS5sZW5ndGg7KXQucmVtb3ZlQXR0cmlidXRlTm9kZShlWzBdKTtqbCh0LGEsdSksdFtxbF09bCx0W1dsXT11fWNhdGNoKG4pe2FsKGwsbC5yZXR1cm4sbil9fXZhciBhZj0hMSxvdD1udWxsO2Z1bmN0aW9uIGl5KGwpeyhsLnRhZz09PTMwfHwobC5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpIT09MCkmJihhZj0hMCl9dmFyIHB0PW51bGw7ZnVuY3Rpb24gdnkoKXt2YXIgbD1wdDtyZXR1cm4gcHQ9bnVsbCxsfXZhciBGbD0wO2Z1bmN0aW9uIFZhKGwsdCx1LGEsZSl7cmV0dXJuIEZsPTAsb3kobC5jaGlsZCx0LHUsYSxlKX1mdW5jdGlvbiBveShsLHQsdSxhLGUpe2Zvcih2YXIgbj0hMTtsIT09bnVsbDspe2lmKGwudGFnPT09NSl7dmFyIGY9bC5zdGF0ZU5vZGU7aWYoYSE9PW51bGwpe3ZhciBjPWtpKGYpO2EucHVzaChjKSxjLnZpZXcmJihuPSEwKX1lbHNlIG58fGtpKGYpLnZpZXcmJihuPSEwKTthZj0hMCx2bShmLEZsPT09MD90OnQrIl8iK0ZsLHUpLEZsKyt9ZWxzZShsLnRhZyE9PTIyfHxsLm1lbW9pemVkU3RhdGU9PT1udWxsKSYmKGwudGFnPT09MzAmJmV8fG95KGwuY2hpbGQsdCx1LGEsZSkmJihuPSEwKSk7bD1sLnNpYmxpbmd9cmV0dXJuIG59ZnVuY3Rpb24geHQobCx0KXtmb3IoO2whPT1udWxsOylsLnRhZz09PTU/b20obC5zdGF0ZU5vZGUsbC5tZW1vaXplZFByb3BzKToobC50YWchPT0yMnx8bC5tZW1vaXplZFN0YXRlPT09bnVsbCkmJihsLnRhZz09PTMwJiZ0fHx4dChsLmNoaWxkLHQpKSxsPWwuc2libGluZ31mdW5jdGlvbiBlZihsKXtpZigobC5zdWJ0cmVlRmxhZ3MmMTg4NzQzNjgpIT09MClmb3IobD1sLmNoaWxkO2whPT1udWxsOyl7aWYoKGwudGFnIT09MjJ8fGwubWVtb2l6ZWRTdGF0ZT09PW51bGwpJiYoZWYobCksbC50YWc9PT0zMCYmKGwuZmxhZ3MmMTg4NzQzNjgpIT09MCYmbC5zdGF0ZU5vZGUucGFpcmVkKSl7dmFyIHQ9bC5tZW1vaXplZFByb3BzO2lmKHQubmFtZT09bnVsbHx8dC5uYW1lPT09ImF1dG8iKXRocm93IEVycm9yKFMoNTQ0KSk7dmFyIHU9dC5uYW1lO3Q9dXUodC5kZWZhdWx0LHQuc2hhcmUpLHQhPT0ibm9uZSImJihWYShsLHUsdCxudWxsLCExKXx8eHQobC5jaGlsZCwhMSkpfWw9bC5zaWJsaW5nfX1mdW5jdGlvbiBnaShsLHQpe2lmKGwudGFnPT09MzApe3ZhciB1PWwuc3RhdGVOb2RlLGE9bC5tZW1vaXplZFByb3BzLGU9dHUoYSx1KSxuPXV1KGEuZGVmYXVsdCx1LnBhaXJlZD9hLnNoYXJlOmEuZW50ZXIpO24hPT0ibm9uZSI/VmEobCxlLG4sbnVsbCwhMSk/KGVmKGwpLHUucGFpcmVkfHx0fHwkYShsLGEub25FbnRlcikpOnh0KGwuY2hpbGQsITEpOmVmKGwpfWVsc2UgaWYoKGwuc3VidHJlZUZsYWdzJjMzNTU0NDMyKSE9PTApZm9yKGw9bC5jaGlsZDtsIT09bnVsbDspZ2kobCx0KSxsPWwuc2libGluZztlbHNlIGVmKGwpfWZ1bmN0aW9uIFNpKGwpe2lmKG90IT09bnVsbCYmb3Quc2l6ZSE9PTApe3ZhciB0PW90O2lmKChsLnN1YnRyZWVGbGFncyYxODg3NDM2OCkhPT0wKWZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtpZihsLnRhZyE9PTIyfHxsLm1lbW9pemVkU3RhdGU9PT1udWxsKXtpZihsLnRhZz09PTMwJiYobC5mbGFncyYxODg3NDM2OCkhPT0wKXt2YXIgdT1sLm1lbW9pemVkUHJvcHMsYT11Lm5hbWU7aWYoYSE9bnVsbCYmYSE9PSJhdXRvIil7dmFyIGU9dC5nZXQoYSk7aWYoZSE9PXZvaWQgMCl7dmFyIG49dXUodS5kZWZhdWx0LHUuc2hhcmUpO2lmKG4hPT0ibm9uZSImJihWYShsLGEsbixudWxsLCExKT8obj1sLnN0YXRlTm9kZSxlLnBhaXJlZD1uLG4ucGFpcmVkPWUsJGEobCx1Lm9uU2hhcmUpKTp4dChsLmNoaWxkLCExKSksdC5kZWxldGUoYSksdC5zaXplPT09MClicmVha319fVNpKGwpfWw9bC5zaWJsaW5nfX19ZnVuY3Rpb24gcmkobCl7aWYobC50YWc9PT0zMCl7dmFyIHQ9bC5tZW1vaXplZFByb3BzLHU9dHUodCxsLnN0YXRlTm9kZSksYT1vdCE9PW51bGw/b3QuZ2V0KHUpOnZvaWQgMCxlPXV1KHQuZGVmYXVsdCxhIT09dm9pZCAwP3Quc2hhcmU6dC5leGl0KTtlIT09Im5vbmUiJiYoVmEobCx1LGUsbnVsbCwhMSk/YSE9PXZvaWQgMD8oZT1sLnN0YXRlTm9kZSxhLnBhaXJlZD1lLGUucGFpcmVkPWEsb3QuZGVsZXRlKHUpLCRhKGwsdC5vblNoYXJlKSk6JGEobCx0Lm9uRXhpdCk6eHQobC5jaGlsZCwhMSkpLG90IT09bnVsbCYmU2kobCl9ZWxzZSBpZigobC5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpIT09MClmb3IobD1sLmNoaWxkO2whPT1udWxsOylyaShsKSxsPWwuc2libGluZztlbHNlIG90IT09bnVsbCYmU2kobCl9ZnVuY3Rpb24geXkobCl7Zm9yKGw9bC5jaGlsZDtsIT09bnVsbDspe2lmKGwudGFnPT09MzApe3ZhciB0PWwubWVtb2l6ZWRQcm9wcyx1PXR1KHQsbC5zdGF0ZU5vZGUpO3Q9dXUodC5kZWZhdWx0LHQudXBkYXRlKSxsLmZsYWdzJj0tNSx0IT09Im5vbmUiJiZWYShsLHUsdCxsLm1lbW9pemVkU3RhdGU9W10sITEpfWVsc2UobC5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpIT09MCYmeXkobCk7bD1sLnNpYmxpbmd9fWZ1bmN0aW9uIFRpKGwpe2lmKChsLnN1YnRyZWVGbGFncyYxODg3NDM2OCkhPT0wKWZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtpZihsLnRhZyE9PTIyfHxsLm1lbW9pemVkU3RhdGU9PT1udWxsKXtpZihsLnRhZz09PTMwJiYobC5mbGFncyYxODg3NDM2OCkhPT0wKXt2YXIgdD1sLnN0YXRlTm9kZTt0LnBhaXJlZCE9PW51bGwmJih0LnBhaXJlZD1udWxsLHh0KGwuY2hpbGQsITEpKX1UaShsKX1sPWwuc2libGluZ319ZnVuY3Rpb24gbmYobCl7aWYobC50YWc9PT0zMClsLnN0YXRlTm9kZS5wYWlyZWQ9bnVsbCx4dChsLmNoaWxkLCExKSxUaShsKTtlbHNlIGlmKChsLnN1YnRyZWVGbGFncyYzMzU1NDQzMikhPT0wKWZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KW5mKGwpLGw9bC5zaWJsaW5nO2Vsc2UgVGkobCl9ZnVuY3Rpb24gbXkobCl7Zm9yKGw9bC5jaGlsZDtsIT09bnVsbDspbC50YWc9PT0zMD94dChsLmNoaWxkLCExKToobC5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpIT09MCYmbXkobCksbD1sLnNpYmxpbmd9ZnVuY3Rpb24gRWkobCx0LHUsYSxlLG4sZil7Zm9yKHZhciBjPSExO3QhPT1udWxsOyl7aWYodC50YWc9PT01KXt2YXIgaT10LnN0YXRlTm9kZTtpZihuIT09bnVsbCYmRmw8bi5sZW5ndGgpe3ZhciBkPW5bRmxdLGc9a2koaSk7KGQudmlld3x8Zy52aWV3KSYmKGM9ITApO3ZhciBFO2lmKEU9KGwuZmxhZ3MmNCk9PT0wKWlmKGcuY2xpcClFPSEwO2Vsc2V7RT1kLnJlY3Q7dmFyIHk9Zy5yZWN0O0U9RS55IT09eS55fHxFLnghPT15Lnh8fEUuaGVpZ2h0IT09eS5oZWlnaHR8fEUud2lkdGghPT15LndpZHRofUUmJihsLmZsYWdzfD00KSxnLmFicz9nPSFkLmFiczooZD1kLnJlY3QsZz1nLnJlY3QsZz1kLmhlaWdodCE9PWcuaGVpZ2h0fHxkLndpZHRoIT09Zy53aWR0aCksZyYmKGwuZmxhZ3N8PTMyKX1lbHNlIGwuZmxhZ3N8PTMyOyhsLmZsYWdzJjQpIT09MCYmdm0oaSxGbD09PTA/dTp1KyJfIitGbCxlKSxjJiYobC5mbGFncyY0KSE9PTB8fChwdD09PW51bGwmJihwdD1bXSkscHQucHVzaChpLEZsPT09MD9hOmErIl8iK0ZsLHQubWVtb2l6ZWRQcm9wcykpLEZsKyt9ZWxzZSh0LnRhZyE9PTIyfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsKSYmKHQudGFnPT09MzAmJmY/bC5mbGFnc3w9dC5mbGFncyYzMjpFaShsLHQuY2hpbGQsdSxhLGUsbixmKSYmKGM9ITApKTt0PXQuc2libGluZ31yZXR1cm4gY31mdW5jdGlvbiBkeShsLHQpe2ZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtpZihsLnRhZz09PTMwKXt2YXIgdT1sLm1lbW9pemVkUHJvcHMsYT1sLnN0YXRlTm9kZSxlPXR1KHUsYSksbj11dSh1LmRlZmF1bHQsdS51cGRhdGUpLGY7Zj1sLm1lbW9pemVkU3RhdGUsbC5tZW1vaXplZFN0YXRlPW51bGwsYT1sO3ZhciBjPWwuY2hpbGQ7Rmw9MCxlPUVpKGEsYyxlLGUsbixmLCExKSwobC5mbGFncyY0KSE9PTAmJmUmJiRhKGwsdS5vblVwZGF0ZSl9ZWxzZShsLnN1YnRyZWVGbGFncyYzMzU1NDQzMikhPT0wJiZkeShsKTtsPWwuc2libGluZ319dmFyIENsPSExLGxsPSExLEt0PSExLHppPSExLHN5PXR5cGVvZiBXZWFrU2V0PT0iZnVuY3Rpb24iP1dlYWtTZXQ6U2V0LFJsPW51bGwsSnQ9ITEsamU9ITEsZmY9ITEsYmk9ITE7ZnVuY3Rpb24gSGQobCx0LHUpe2lmKGw9bC5jb250YWluZXJJbmZvLHdpPW5lLGw9U3YobCksaWMobCkpe2lmKCJzZWxlY3Rpb25TdGFydCJpbiBsKXZhciBhPXtzdGFydDpsLnNlbGVjdGlvblN0YXJ0LGVuZDpsLnNlbGVjdGlvbkVuZH07ZWxzZSBsOnthPShhPWwub3duZXJEb2N1bWVudCkmJmEuZGVmYXVsdFZpZXd8fHdpbmRvdzt2YXIgZT1hLmdldFNlbGVjdGlvbiYmYS5nZXRTZWxlY3Rpb24oKTtpZihlJiZlLnJhbmdlQ291bnQhPT0wKXthPWUuYW5jaG9yTm9kZTt2YXIgbj1lLmFuY2hvck9mZnNldCxmPWUuZm9jdXNOb2RlO2U9ZS5mb2N1c09mZnNldDt0cnl7YS5ub2RlVHlwZSxmLm5vZGVUeXBlfWNhdGNoe2E9bnVsbDticmVhayBsfXZhciBjPTAsaT0tMSxkPS0xLGc9MCxFPTAseT1sLGg9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciBiO3khPT1hfHxuIT09MCYmeS5ub2RlVHlwZSE9PTN8fChpPWMrbikseSE9PWZ8fGUhPT0wJiZ5Lm5vZGVUeXBlIT09M3x8KGQ9YytlKSx5Lm5vZGVUeXBlPT09MyYmKGMrPXkubm9kZVZhbHVlLmxlbmd0aCksKGI9eS5maXJzdENoaWxkKSE9PW51bGw7KWg9eSx5PWI7Zm9yKDs7KXtpZih5PT09bClicmVhayB0O2lmKGg9PT1hJiYrK2c9PT1uJiYoaT1jKSxoPT09ZiYmKytFPT09ZSYmKGQ9YyksKGI9eS5uZXh0U2libGluZykhPT1udWxsKWJyZWFrO3k9aCxoPXkucGFyZW50Tm9kZX15PWJ9YT1pPT09LTF8fGQ9PT0tMT9udWxsOntzdGFydDppLGVuZDpkfX1lbHNlIGE9bnVsbH1hPWF8fHtzdGFydDowLGVuZDowfX1lbHNlIGE9bnVsbDtmb3IoV2k9e2ZvY3VzZWRFbGVtOmwsc2VsZWN0aW9uUmFuZ2U6YX0sbmU9ITEsdT0odSYzMzU1NDQwNjQpPT09dSxSbD10LHQ9dT85MjcwOjEwMjQ7UmwhPT1udWxsOyl7aWYobD1SbCx1JiYoYT1sLmRlbGV0aW9ucyxhIT09bnVsbCkpZm9yKG49MDtuPGEubGVuZ3RoO24rKyl1JiZyaShhW25dKTtpZihsLmFsdGVybmF0ZT09PW51bGwmJihsLmZsYWdzJjIpIT09MCl1JiZpeShsKSxjZih1KTtlbHNle2lmKGwudGFnPT09MjIpe2lmKGE9bC5hbHRlcm5hdGUsbC5tZW1vaXplZFN0YXRlIT09bnVsbCl7YSE9PW51bGwmJmEubWVtb2l6ZWRTdGF0ZT09PW51bGwmJnUmJnJpKGEpLGNmKHUpO2NvbnRpbnVlfWVsc2UgaWYoYSE9PW51bGwmJmEubWVtb2l6ZWRTdGF0ZSE9PW51bGwpe3UmJml5KGwpLGNmKHUpO2NvbnRpbnVlfX1hPWwuY2hpbGQsKGwuc3VidHJlZUZsYWdzJnQpIT09MCYmYSE9PW51bGw/KGEucmV0dXJuPWwsUmw9YSk6KHUmJnl5KGwpLGNmKHUpKX19b3Q9bnVsbH1mdW5jdGlvbiBjZihsKXtmb3IoO1JsIT09bnVsbDspe3ZhciB0PVJsLHU9bCxhPXQuYWx0ZXJuYXRlLGU9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6YnJlYWs7Y2FzZSAxOmlmKChlJjEwMjQpIT09MCYmYSE9PW51bGwpe3U9dm9pZCAwLGU9YS5tZW1vaXplZFByb3BzLGE9YS5tZW1vaXplZFN0YXRlO3ZhciBuPXQuc3RhdGVOb2RlO3RyeXt2YXIgZj1vYSh0LnR5cGUsZSk7dT1uLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKGYsYSksbi5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT11fWNhdGNoKGMpe2FsKHQsdC5yZXR1cm4sYyl9fWJyZWFrO2Nhc2UgMzppZigoZSYxMDI0KSE9PTApe2lmKGE9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyx1PWEubm9kZVR5cGUsdT09PTkpdDAoYSk7ZWxzZSBpZih1PT09MSlzd2l0Y2goYS5ub2RlTmFtZSl7Y2FzZSJIRUFEIjpjYXNlIkhUTUwiOmNhc2UiQk9EWSI6dDAoYSk7YnJlYWs7ZGVmYXVsdDphLnRleHRDb250ZW50PSIifX1icmVhaztjYXNlIDU6Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDMwOnUmJmEhPT1udWxsJiYodT10dShhLm1lbW9pemVkUHJvcHMsYS5zdGF0ZU5vZGUpLGU9dC5tZW1vaXplZFByb3BzLGU9dXUoZS5kZWZhdWx0LGUudXBkYXRlKSxlIT09Im5vbmUiJiZWYShhLHUsZSxhLm1lbW9pemVkU3RhdGU9W10sITApKTticmVhaztkZWZhdWx0OmlmKChlJjEwMjQpIT09MCl0aHJvdyBFcnJvcihTKDE2MykpfWlmKGE9dC5zaWJsaW5nLGEhPT1udWxsKXthLnJldHVybj10LnJldHVybixSbD1hO2JyZWFrfVJsPXQucmV0dXJufX1mdW5jdGlvbiBoeShsLHQsdSl7dmFyIGE9dS5mbGFncztzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6d3QobCx1KSxhJjQmJlhlKDUsdSk7YnJlYWs7Y2FzZSAxOmlmKHd0KGwsdSksYSY0KWlmKGw9dS5zdGF0ZU5vZGUsdD09PW51bGwpdHJ5e2wuY29tcG9uZW50RGlkTW91bnQoKX1jYXRjaChmKXthbCh1LHUucmV0dXJuLGYpfWVsc2V7dmFyIGU9b2EodS50eXBlLHQubWVtb2l6ZWRQcm9wcyk7dD10Lm1lbW9pemVkU3RhdGU7dHJ5e2wuY29tcG9uZW50RGlkVXBkYXRlKGUsdCxsLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX1jYXRjaChmKXthbCh1LHUucmV0dXJuLGYpfX1hJjY0JiZheSh1KSxhJjUxMiYmTHQodSx1LnJldHVybik7YnJlYWs7Y2FzZSAzOmlmKHd0KGwsdSksYSY2NCYmKGw9dS51cGRhdGVRdWV1ZSxsIT09bnVsbCkpe2lmKHQ9bnVsbCx1LmNoaWxkIT09bnVsbClzd2l0Y2godS5jaGlsZC50YWcpe2Nhc2UgMjc6Y2FzZSA1OnQ9dS5jaGlsZC5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAxOnQ9dS5jaGlsZC5zdGF0ZU5vZGV9dHJ5e0t2KGwsdCl9Y2F0Y2goZil7YWwodSx1LnJldHVybixmKX19YnJlYWs7Y2FzZSAyNzp0PT09bnVsbCYmYSY0JiZjeSh1KTtjYXNlIDI2OmNhc2UgNTp3dChsLHUpLHQ9PT1udWxsJiZhJjQmJm1pKHUpLGEmNTEyJiZMdCh1LHUucmV0dXJuKTticmVhaztjYXNlIDEyOnd0KGwsdSk7YnJlYWs7Y2FzZSAzMTp3dChsLHUpLGEmNCYmVHkobCx1KTticmVhaztjYXNlIDEzOnd0KGwsdSksYSY0JiZFeShsLHUpLGEmNjQmJihsPXUubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmKGw9bC5kZWh5ZHJhdGVkLGwhPT1udWxsJiYodT14ZC5iaW5kKG51bGwsdSksQXMobCx1KSkpKTticmVhaztjYXNlIDIyOmlmKGE9dS5tZW1vaXplZFN0YXRlIT09bnVsbHx8Q2wsIWEpe3ZhciBuPXQhPT1udWxsJiZ0Lm1lbW9pemVkU3RhdGUhPT1udWxsfHxsbDt0PUNsLGU9bGwsQ2w9YSwobGw9bikmJiFlPyhhPTIsKHUuc3VidHJlZUZsYWdzJjg3NzIpIT09MCYmKGF8PTEpLFJ0KGwsdSxhKSk6d3QobCx1KSxDbD10LGxsPWV9YnJlYWs7Y2FzZSAzMDp3dChsLHUpLGEmNTEyJiZMdCh1LHUucmV0dXJuKTticmVhaztjYXNlIDc6YSY1MTImJkx0KHUsdS5yZXR1cm4pO2RlZmF1bHQ6d3QobCx1KX19ZnVuY3Rpb24gX2kobCx0KXtmb3IobD1sLmNoaWxkO2whPT1udWxsOylneShsLHQpLGw9bC5zaWJsaW5nfWZ1bmN0aW9uIGd5KGwsdCl7c3dpdGNoKGwudGFnKXtjYXNlIDU6Y2FzZSAyNjp0cnl7dmFyIHU9bC5zdGF0ZU5vZGU7aWYodCl7dmFyIGE9dS5zdHlsZTt0eXBlb2YgYS5zZXRQcm9wZXJ0eT09ImZ1bmN0aW9uIj9hLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOmEuZGlzcGxheT0ibm9uZSJ9ZWxzZXt2YXIgZT1sLnN0YXRlTm9kZSxuPWwubWVtb2l6ZWRQcm9wcy5zdHlsZSxmPW4hPW51bGwmJm4uaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9uLmRpc3BsYXk6bnVsbDtlLnN0eWxlLmRpc3BsYXk9Zj09bnVsbHx8dHlwZW9mIGY9PSJib29sZWFuIj8iIjooIiIrZikudHJpbSgpfX1jYXRjaChpKXthbChsLGwucmV0dXJuLGkpfU9pKGwsdCk7YnJlYWs7Y2FzZSA2OnRyeXtsLnN0YXRlTm9kZS5ub2RlVmFsdWU9dD8iIjpsLm1lbW9pemVkUHJvcHMsJD0hMH1jYXRjaChpKXthbChsLGwucmV0dXJuLGkpfWJyZWFrO2Nhc2UgMTg6dHJ5e3ZhciBjPWwuc3RhdGVOb2RlO3Q/aW0oYywhMCk6aW0obC5zdGF0ZU5vZGUsITEpfWNhdGNoKGkpe2FsKGwsbC5yZXR1cm4saSl9YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmwubWVtb2l6ZWRTdGF0ZT09PW51bGwmJl9pKGwsdCk7YnJlYWs7ZGVmYXVsdDpfaShsLHQpfX1mdW5jdGlvbiBPaShsLHQpe2lmKGwuc3VidHJlZUZsYWdzJjY3MTA4ODY0KWZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtsOnt2YXIgdT1sLGE9dDtzd2l0Y2godS50YWcpe2Nhc2UgNDpneSh1LGEpO2JyZWFrIGw7Y2FzZSAyMjp1Lm1lbW9pemVkU3RhdGU9PT1udWxsJiZPaSh1LGEpO2JyZWFrIGw7ZGVmYXVsdDpPaSh1LGEpfX1sPWwuc2libGluZ319ZnVuY3Rpb24gU3kobCl7dmFyIHQ9bC5hbHRlcm5hdGU7dCE9PW51bGwmJihsLmFsdGVybmF0ZT1udWxsLFN5KHQpKSxsLmNoaWxkPW51bGwsbC5kZWxldGlvbnM9bnVsbCxsLnNpYmxpbmc9bnVsbCxsLnRhZz09PTUmJih0PWwuc3RhdGVOb2RlLHQhPT1udWxsJiZtbih0KSksbC5zdGF0ZU5vZGU9bnVsbCxsLnJldHVybj1udWxsLGwuZGVwZW5kZW5jaWVzPW51bGwsbC5tZW1vaXplZFByb3BzPW51bGwsbC5tZW1vaXplZFN0YXRlPW51bGwsbC5wZW5kaW5nUHJvcHM9bnVsbCxsLnN0YXRlTm9kZT1udWxsLGwudXBkYXRlUXVldWU9bnVsbH12YXIgZGw9bnVsbCxJbD0hMTtmdW5jdGlvbiBVdChsLHQsdSl7Zm9yKHU9dS5jaGlsZDt1IT09bnVsbDspcnkobCx0LHUpLHU9dS5zaWJsaW5nfWZ1bmN0aW9uIHJ5KGwsdCx1KXtpZihudCYmdHlwZW9mIG50Lm9uQ29tbWl0RmliZXJVbm1vdW50PT0iZnVuY3Rpb24iKXRyeXtudC5vbkNvbW1pdEZpYmVyVW5tb3VudChpZSx1KX1jYXRjaHt9c3dpdGNoKHUudGFnKXtjYXNlIDI2OmxsfHxRbCh1LHQpLFV0KGwsdCx1KSx1Lm1lbW9pemVkU3RhdGU/dS5tZW1vaXplZFN0YXRlLmNvdW50LS06dS5zdGF0ZU5vZGUmJiFsbCYmKHU9dS5zdGF0ZU5vZGUsdS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHUpKTticmVhaztjYXNlIDI3OmxsfHxRbCh1LHQpLFFlKHUpO3ZhciBhPWRsLGU9SWw7UXUodS50eXBlKSYmKGRsPXUuc3RhdGVOb2RlLElsPSExKSxVdChsLHQsdSksYm0odS5zdGF0ZU5vZGUsdS50eXBlLHUubWVtb2l6ZWRQcm9wcyksZGw9YSxJbD1lO2JyZWFrO2Nhc2UgNTpsbHx8UWwodSx0KSxRZSh1KTtjYXNlIDY6aWYodS50YWc9PT02JiZRZSh1KSxhPWRsLGU9SWwsZGw9bnVsbCxVdChsLHQsdSksZGw9YSxJbD1lLGRsIT09bnVsbClpZihJbCl0cnl7KGRsLm5vZGVUeXBlPT09OT9kbC5ib2R5OmRsLm5vZGVOYW1lPT09IkhUTUwiP2RsLm93bmVyRG9jdW1lbnQuYm9keTpkbCkucmVtb3ZlQ2hpbGQodS5zdGF0ZU5vZGUpLCQ9ITB9Y2F0Y2gobil7YWwodSx0LG4pfWVsc2UgdHJ5e2RsLnJlbW92ZUNoaWxkKHUuc3RhdGVOb2RlKSwkPSEwfWNhdGNoKG4pe2FsKHUsdCxuKX1icmVhaztjYXNlIDE4OmRsIT09bnVsbCYmKElsPyhsPWRsLGNtKGwubm9kZVR5cGU9PT05P2wuYm9keTpsLm5vZGVOYW1lPT09IkhUTUwiP2wub3duZXJEb2N1bWVudC5ib2R5OmwsdS5zdGF0ZU5vZGUpLGZlKGwpKTpjbShkbCx1LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDphPWRsLGU9SWwsZGw9dS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxJbD0hMCxVdChsLHQsdSksZGw9YSxJbD1lO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTpSdSgyLHUsdCksbGx8fFJ1KDQsdSx0KSxVdChsLHQsdSk7YnJlYWs7Y2FzZSAxOmxsfHwoUWwodSx0KSxhPXUuc3RhdGVOb2RlLHR5cGVvZiBhLmNvbXBvbmVudFdpbGxVbm1vdW50PT0iZnVuY3Rpb24iJiZleSh1LHQsYSkpLFV0KGwsdCx1KTticmVhaztjYXNlIDIxOlV0KGwsdCx1KTticmVhaztjYXNlIDIyOmxsPShhPWxsKXx8dS5tZW1vaXplZFN0YXRlIT09bnVsbCxVdChsLHQsdSksbGw9YTticmVhaztjYXNlIDMwOlFsKHUsdCksVXQobCx0LHUpO2JyZWFrO2Nhc2UgNzpsbHx8UWwodSx0KSxVdChsLHQsdSk7YnJlYWs7ZGVmYXVsdDpVdChsLHQsdSl9fWZ1bmN0aW9uIFR5KGwsdCl7aWYodC5tZW1vaXplZFN0YXRlPT09bnVsbCYmKGw9dC5hbHRlcm5hdGUsbCE9PW51bGwmJihsPWwubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCkpKXtsPWwuZGVoeWRyYXRlZDt0cnl7ZmUobCl9Y2F0Y2godSl7YWwodCx0LnJldHVybix1KX19fWZ1bmN0aW9uIEV5KGwsdCl7aWYodC5tZW1vaXplZFN0YXRlPT09bnVsbCYmKGw9dC5hbHRlcm5hdGUsbCE9PW51bGwmJihsPWwubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmKGw9bC5kZWh5ZHJhdGVkLGwhPT1udWxsKSkpKXRyeXtmZShsKX1jYXRjaCh1KXthbCh0LHQucmV0dXJuLHUpfX1mdW5jdGlvbiBZZChsKXtzd2l0Y2gobC50YWcpe2Nhc2UgMzE6Y2FzZSAxMzpjYXNlIDE5OnZhciB0PWwuc3RhdGVOb2RlO3JldHVybiB0PT09bnVsbCYmKHQ9bC5zdGF0ZU5vZGU9bmV3IHN5KSx0O2Nhc2UgMjI6cmV0dXJuIGw9bC5zdGF0ZU5vZGUsdD1sLl9yZXRyeUNhY2hlLHQ9PT1udWxsJiYodD1sLl9yZXRyeUNhY2hlPW5ldyBzeSksdDtkZWZhdWx0OnRocm93IEVycm9yKFMoNDM1LGwudGFnKSl9fWZ1bmN0aW9uIHZmKGwsdCl7dmFyIHU9WWQobCk7dC5mb3JFYWNoKGZ1bmN0aW9uKGEpe2lmKCF1LmhhcyhhKSl7dS5hZGQoYSk7dmFyIGU9S2QuYmluZChudWxsLGwsYSk7YS50aGVuKGUsZSl9fSl9ZnVuY3Rpb24geGwobCx0LHUpe3ZhciBhPXQuZGVsZXRpb25zO2lmKGEhPT1udWxsKWZvcih2YXIgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgbj1hW2VdLGY9bCxjPXQsaT1jO2w6Zm9yKDtpIT09bnVsbDspe3N3aXRjaChpLnRhZyl7Y2FzZSAyNzppZihRdShpLnR5cGUpKXtkbD1pLnN0YXRlTm9kZSxJbD0hMTticmVhayBsfWJyZWFrO2Nhc2UgNTpkbD1pLnN0YXRlTm9kZSxJbD0hMTticmVhayBsO2Nhc2UgMzpjYXNlIDQ6ZGw9aS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxJbD0hMDticmVhayBsfWk9aS5yZXR1cm59aWYoZGw9PT1udWxsKXRocm93IEVycm9yKFMoMTYwKSk7cnkoZixjLG4pLGRsPW51bGwsSWw9ITEsZj1uLmFsdGVybmF0ZSxmIT09bnVsbCYmKGYucmV0dXJuPW51bGwpLG4ucmV0dXJuPW51bGx9aWYodC5zdWJ0cmVlRmxhZ3MmMTM4ODYpZm9yKHQ9dC5jaGlsZDt0IT09bnVsbDspenkodCxsLHUpLHQ9dC5zaWJsaW5nfXZhciBDdD1udWxsO2Z1bmN0aW9uIHp5KGwsdCx1KXt2YXIgYT1sLmFsdGVybmF0ZSxlPWwuZmxhZ3M7c3dpdGNoKGwudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoZSY0JiYoYT1sLnVwZGF0ZVF1ZXVlLGE9YSE9PW51bGw/YS5ldmVudHM6bnVsbCxhIT09bnVsbCkpZm9yKHZhciBuPTA7bjxhLmxlbmd0aDtuKyspe3ZhciBmPWFbbl07Zi5yZWYuaW1wbD1mLm5leHRJbXBsfXhsKHQsbCx1KSxLbChsKSxlJjQmJihSdSgzLGwsbC5yZXR1cm4pLFhlKDMsbCksUnUoNSxsLGwucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOnhsKHQsbCx1KSxLbChsKSxlJjUxMiYmKGxsfHxhPT09bnVsbHx8UWwoYSxhLnJldHVybikpLGUmNjQmJkNsJiYobD1sLnVwZGF0ZVF1ZXVlLGwhPT1udWxsJiYodD1sLmNhbGxiYWNrcyx0IT09bnVsbCYmKHU9bC5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzLGwuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcz11PT09bnVsbD90OnUuY29uY2F0KHQpKSkpO2JyZWFrO2Nhc2UgMjY6aWYobj1DdCx4bCh0LGwsdSksS2wobCksZSY1MTImJihsbHx8YT09PW51bGx8fFFsKGEsYS5yZXR1cm4pKSxlJjQpaWYoZT1hIT09bnVsbD9hLm1lbW9pemVkU3RhdGU6bnVsbCx1PWwubWVtb2l6ZWRTdGF0ZSxhPT09bnVsbClpZih1PT09bnVsbClpZihsLnN0YXRlTm9kZT09PW51bGwpaWYoQ2wpbC5zdGF0ZU5vZGU9ZW0obC50eXBlLGwubWVtb2l6ZWRQcm9wcyx0LmNvbnRhaW5lckluZm8sbCk7ZWxzZXtsOnt0PWwudHlwZSx1PWwubWVtb2l6ZWRQcm9wcyxlPW4ub3duZXJEb2N1bWVudHx8bjt0OnN3aXRjaCh0KXtjYXNlInRpdGxlIjphPWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRpdGxlIilbMF0sKCFhfHxhW3llXXx8YVtxbF18fGEubmFtZXNwYWNlVVJJPT09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnInx8YS5oYXNBdHRyaWJ1dGUoIml0ZW1wcm9wIikpJiYoYT1lLmNyZWF0ZUVsZW1lbnQodCksZS5oZWFkLmluc2VydEJlZm9yZShhLGUucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIikpKSxqbChhLHQsdSksYVtxbF09bCxNbChhKSx0PWE7YnJlYWsgbDtjYXNlImxpbmsiOmlmKG49TW0oImxpbmsiLCJocmVmIixlKS5nZXQodCsodS5ocmVmfHwiIikpKXtmb3IoZj0wO2Y8bi5sZW5ndGg7ZisrKWlmKGE9bltmXSxhLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09KHUuaHJlZj09bnVsbHx8dS5ocmVmPT09IiI/bnVsbDp1LmhyZWYpJiZhLmdldEF0dHJpYnV0ZSgicmVsIik9PT0odS5yZWw9PW51bGw/bnVsbDp1LnJlbCkmJmEuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpPT09KHUudGl0bGU9PW51bGw/bnVsbDp1LnRpdGxlKSYmYS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik9PT0odS5jcm9zc09yaWdpbj09bnVsbD9udWxsOnUuY3Jvc3NPcmlnaW4pKXtuLnNwbGljZShmLDEpO2JyZWFrIHR9fWE9ZS5jcmVhdGVFbGVtZW50KHQpLGpsKGEsdCx1KSxlLmhlYWQuYXBwZW5kQ2hpbGQoYSk7YnJlYWs7Y2FzZSJtZXRhIjppZihuPU1tKCJtZXRhIiwiY29udGVudCIsZSkuZ2V0KHQrKHUuY29udGVudHx8IiIpKSl7Zm9yKGY9MDtmPG4ubGVuZ3RoO2YrKylpZihhPW5bZl0sYS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKT09PSh1LmNvbnRlbnQ9PW51bGw/bnVsbDoiIit1LmNvbnRlbnQpJiZhLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09KHUubmFtZT09bnVsbD9udWxsOnUubmFtZSkmJmEuZ2V0QXR0cmlidXRlKCJwcm9wZXJ0eSIpPT09KHUucHJvcGVydHk9PW51bGw/bnVsbDp1LnByb3BlcnR5KSYmYS5nZXRBdHRyaWJ1dGUoImh0dHAtZXF1aXYiKT09PSh1Lmh0dHBFcXVpdj09bnVsbD9udWxsOnUuaHR0cEVxdWl2KSYmYS5nZXRBdHRyaWJ1dGUoImNoYXJzZXQiKT09PSh1LmNoYXJTZXQ9PW51bGw/bnVsbDp1LmNoYXJTZXQpKXtuLnNwbGljZShmLDEpO2JyZWFrIHR9fWE9ZS5jcmVhdGVFbGVtZW50KHQpLGpsKGEsdCx1KSxlLmhlYWQuYXBwZW5kQ2hpbGQoYSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihTKDQ2OCx0KSl9YVtxbF09bCxNbChhKSx0PWF9bC5zdGF0ZU5vZGU9dH1lbHNlIENsfHxpMChuLGwudHlwZSxsLnN0YXRlTm9kZSk7ZWxzZSBsLnN0YXRlTm9kZT1EbShuLHUsbC5tZW1vaXplZFByb3BzKTtlbHNlIGUhPT11PyhlPT09bnVsbD8odD1hLnN0YXRlTm9kZSx0PT09bnVsbHx8bGx8fHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSk6ZS5jb3VudC0tLHU9PT1udWxsP0NsfHxpMChuLGwudHlwZSxsLnN0YXRlTm9kZSk6RG0obix1LGwubWVtb2l6ZWRQcm9wcykpOnU9PT1udWxsJiZsLnN0YXRlTm9kZSE9PW51bGwmJmRpKGwsbC5tZW1vaXplZFByb3BzLGEubWVtb2l6ZWRQcm9wcyk7YnJlYWs7Y2FzZSAyNzp4bCh0LGwsdSksS2wobCksZSY1MTImJihsbHx8YT09PW51bGx8fFFsKGEsYS5yZXR1cm4pKSxhIT09bnVsbCYmZSY0JiZkaShsLGwubWVtb2l6ZWRQcm9wcyxhLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgNTppZihuPUt0LEt0PSExLHhsKHQsbCx1KSxLdD1uLEtsKGwpLGUmNTEyJiYobGx8fGE9PT1udWxsfHxRbChhLGEucmV0dXJuKSksbC5mbGFncyYzMil7dD1sLnN0YXRlTm9kZTt0cnl7X2EodCwiIiksJD0hMH1jYXRjaChnKXthbChsLGwucmV0dXJuLGcpfX1lJjQmJmwuc3RhdGVOb2RlIT1udWxsJiYodD1sLm1lbW9pemVkUHJvcHMsZGkobCx0LGEhPT1udWxsP2EubWVtb2l6ZWRQcm9wczp0KSksZSYxMDI0JiYoemk9ITApO2JyZWFrO2Nhc2UgNjppZih4bCh0LGwsdSksS2wobCksZSY0KXtpZihsLnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IoUygxNjIpKTt0PWwubWVtb2l6ZWRQcm9wcyx1PWwuc3RhdGVOb2RlO3RyeXt1Lm5vZGVWYWx1ZT10LCQ9ITB9Y2F0Y2goZyl7YWwobCxsLnJldHVybixnKX19YnJlYWs7Y2FzZSAzOmlmKCQ9ITEsT2Y9bnVsbCxuPUN0LEN0PVdlKHQuY29udGFpbmVySW5mbykseGwodCxsLHUpLEN0PW4sS2wobCksZSY0JiZhIT09bnVsbCYmYS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl0cnl7ZmUodC5jb250YWluZXJJbmZvKX1jYXRjaChnKXthbChsLGwucmV0dXJuLGcpfXppJiYoemk9ITEsYnkobCkpLCQ9ITE7YnJlYWs7Y2FzZSA0OmU9S3QsS3Q9Q2wsYT1WMCgpLG49Q3QsQ3Q9V2UobC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykseGwodCxsLHUpLEtsKGwpLEN0PW4sJCYmamUmJihmZj0hMCksJD1hLEt0PWU7YnJlYWs7Y2FzZSAxMjp4bCh0LGwsdSksS2wobCk7YnJlYWs7Y2FzZSAzMTp4bCh0LGwsdSksS2wobCksZSY0JiYodD1sLnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYobC51cGRhdGVRdWV1ZT1udWxsLHZmKGwsdCkpKTticmVhaztjYXNlIDEzOnhsKHQsbCx1KSxLbChsKSxsLmNoaWxkLmZsYWdzJjgxOTImJmwubWVtb2l6ZWRTdGF0ZSE9PW51bGwhPShhIT09bnVsbCYmYS5tZW1vaXplZFN0YXRlIT09bnVsbCkmJihtZj1ldCgpKSxlJjQmJih0PWwudXBkYXRlUXVldWUsdCE9PW51bGwmJihsLnVwZGF0ZVF1ZXVlPW51bGwsdmYobCx0KSkpO2JyZWFrO2Nhc2UgMjI6bj1sLm1lbW9pemVkU3RhdGUhPT1udWxsLGY9YSE9PW51bGwmJmEubWVtb2l6ZWRTdGF0ZSE9PW51bGw7dmFyIGM9Q2wsaT1sbCxkPUt0O0NsPWN8fG4sS3Q9ZHx8bixsbD1pfHxmLHhsKHQsbCx1KSxsbD1pLEt0PWQsQ2w9YyxLbChsKSxlJjgxOTImJih0PWwuc3RhdGVOb2RlLHQuX3Zpc2liaWxpdHk9bj90Ll92aXNpYmlsaXR5Ji0yOnQuX3Zpc2liaWxpdHl8MSwhbnx8YT09PW51bGx8fGZ8fENsfHxsbHx8KHQ9Znx8bGwsdT1DbCxhPWxsLENsPW58fENsLGxsPXQsSHUobCwyKSxDbD11LGxsPWEpLCFuJiZLdHx8X2kobCxuKSksZSY0JiYodD1sLnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYodT10LnJldHJ5UXVldWUsdSE9PW51bGwmJih0LnJldHJ5UXVldWU9bnVsbCx2ZihsLHUpKSkpO2JyZWFrO2Nhc2UgMTk6eGwodCxsLHUpLEtsKGwpLGUmNCYmKHQ9bC51cGRhdGVRdWV1ZSx0IT09bnVsbCYmKGwudXBkYXRlUXVldWU9bnVsbCx2ZihsLHQpKSk7YnJlYWs7Y2FzZSAzMDplJjUxMiYmKGxsfHxhPT09bnVsbHx8UWwoYSxhLnJldHVybikpLGU9VjAoKSxuPWplLGY9KHUmMzM1NTQ0MDY0KT09PXUsYz1sLm1lbW9pemVkUHJvcHMsamU9ZiYmdXUoYy5kZWZhdWx0LGMudXBkYXRlKSE9PSJub25lIix4bCh0LGwsdSksS2wobCksZiYmYSE9PW51bGwmJiQmJihsLmZsYWdzfD00KSxqZT1uLCQ9ZTticmVhaztjYXNlIDIxOmJyZWFrO2Nhc2UgNzplJjUxMiYmKGxsfHxhPT09bnVsbHx8UWwoYSxhLnJldHVybikpLGEmJmEuc3RhdGVOb2RlIT09bnVsbCYmKGEuc3RhdGVOb2RlLl9mcmFnbWVudEZpYmVyPWwpO2RlZmF1bHQ6eGwodCxsLHUpLEtsKGwpfX1mdW5jdGlvbiBLbChsKXt2YXIgdD1sLmZsYWdzO2lmKHQmMil7dHJ5e2Zvcih2YXIgdSxhPWwucmV0dXJuO2EhPT1udWxsOyl7aWYoZnkoYSkpe3U9YTticmVha31hPWEucmV0dXJufWE9bnVsbDtmb3IodmFyIGU9bC5yZXR1cm47ZSE9PW51bGw7KXtpZih5aShlKSl7dmFyIG49ZS5zdGF0ZU5vZGU7YT09PW51bGw/YT1bbl06YS5wdXNoKG4pfWlmKG9pKGUpKWJyZWFrO2U9ZS5yZXR1cm59dmFyIGY9YTtpZih1PT1udWxsKXRocm93IEVycm9yKFMoMTYwKSk7c3dpdGNoKHUudGFnKXtjYXNlIDI3OnZhciBjPXUuc3RhdGVOb2RlLGk9c2kobCk7dWYobCxpLGMsZik7YnJlYWs7Y2FzZSA1OnZhciBkPXUuc3RhdGVOb2RlO3UuZmxhZ3MmMzImJihfYShkLCIiKSx1LmZsYWdzJj0tMzMpO3ZhciBnPXNpKGwpO3VmKGwsZyxkLGYpO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIEU9dS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyx5PXNpKGwpO2hpKGwseSxFLGYpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoUygxNjEpKX19Y2F0Y2goaCl7YWwobCxsLnJldHVybixoKX1sLmZsYWdzJj0tM310JjQwOTYmJihsLmZsYWdzJj0tNDA5Nyl9ZnVuY3Rpb24gYnkobCl7aWYobC5zdWJ0cmVlRmxhZ3MmMTAyNClmb3IobD1sLmNoaWxkO2whPT1udWxsOyl7dmFyIHQ9bDtieSh0KSx0LnRhZz09PTUmJnQuZmxhZ3MmMTAyNCYmKHQ9dC5zdGF0ZU5vZGUsbmU9ITAsdC5yZXNldCgpLG5lPSExKSxsPWwuc2libGluZ319ZnVuY3Rpb24gTGEobCx0KXtpZih0LnN1YnRyZWVGbGFncyY5MjcwKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KV95KHQsbCksdD10LnNpYmxpbmc7ZWxzZSBkeSh0KX1mdW5jdGlvbiBfeShsLHQpe3ZhciB1PWwuYWx0ZXJuYXRlO2lmKHU9PT1udWxsKWdpKGwsITEpO2Vsc2Ugc3dpdGNoKGwudGFnKXtjYXNlIDM6aWYoYmk9SnQ9ITEsdnkoKSxMYSh0LGwpLCFKdCYmIWZmKXtpZihsPXB0LGwhPT1udWxsKWZvcih2YXIgYT0wO2E8bC5sZW5ndGg7YSs9Myl7dT1sW2FdO3ZhciBlPWxbYSsxXTtvbSh1LGxbYSsyXSksdT11Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHUhPT1udWxsJiZ1LmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbIm5vbmUiLCJub25lIl19LHtkdXJhdGlvbjowLGZpbGw6ImZvcndhcmRzIixwc2V1ZG9FbGVtZW50OiI6OnZpZXctdHJhbnNpdGlvbi1ncm91cCgiK2UrIikifSl9bD10LmNvbnRhaW5lckluZm8sbD1sLm5vZGVUeXBlPT09OT9sLmRvY3VtZW50RWxlbWVudDpsLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGwhPT1udWxsJiZsLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT09PSIiJiYobC5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9Im5vbmUiLGwuYW5pbWF0ZSh7b3BhY2l0eTpbMCwwXSxwb2ludGVyRXZlbnRzOlsibm9uZSIsIm5vbmUiXX0se2R1cmF0aW9uOjAsZmlsbDoiZm9yd2FyZHMiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHJvb3QpIn0pLGwuYW5pbWF0ZSh7d2lkdGg6WzAsMF0saGVpZ2h0OlswLDBdfSx7ZHVyYXRpb246MCxmaWxsOiJmb3J3YXJkcyIscHNldWRvRWxlbWVudDoiOjp2aWV3LXRyYW5zaXRpb24ifSkpLGJpPSEwfXB0PW51bGw7YnJlYWs7Y2FzZSA1OkxhKHQsbCk7YnJlYWs7Y2FzZSA0OmE9SnQsSnQ9ITEsTGEodCxsKSxKdCYmKGZmPSEwKSxKdD1hO2JyZWFrO2Nhc2UgMjI6bC5tZW1vaXplZFN0YXRlPT09bnVsbCYmKHUubWVtb2l6ZWRTdGF0ZSE9PW51bGw/Z2kobCwhMSk6TGEodCxsKSk7YnJlYWs7Y2FzZSAzMDphPUp0LGU9dnkoKSxKdD0hMSxMYSh0LGwpLEp0JiYobC5mbGFnc3w9NCk7dmFyIG49bC5tZW1vaXplZFByb3BzLGY9bC5zdGF0ZU5vZGU7dD10dShuLGYpLGY9dHUodS5tZW1vaXplZFByb3BzLGYpO3ZhciBjPXV1KG4uZGVmYXVsdCxuLnVwZGF0ZSk7Yz09PSJub25lIj90PSExOihuPXUubWVtb2l6ZWRTdGF0ZSx1Lm1lbW9pemVkU3RhdGU9bnVsbCx1PWwuY2hpbGQsRmw9MCx0PUVpKGwsdSx0LGYsYyxuLCEwKSxGbCE9PShuPT09bnVsbD8wOm4ubGVuZ3RoKSYmKGwuZmxhZ3N8PTMyKSksKGwuZmxhZ3MmNCkhPT0wJiZ0PygkYShsLGwubWVtb2l6ZWRQcm9wcy5vblVwZGF0ZSkscHQ9ZSk6ZSE9PW51bGwmJihlLnB1c2guYXBwbHkoZSxwdCkscHQ9ZSksSnQ9KGwuZmxhZ3MmMzIpIT09MD8hMDphO2JyZWFrO2RlZmF1bHQ6TGEodCxsKX19ZnVuY3Rpb24gd3QobCx0KXtpZih0LnN1YnRyZWVGbGFncyY4NzcyKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KWh5KGwsdC5hbHRlcm5hdGUsdCksdD10LnNpYmxpbmd9ZnVuY3Rpb24gSHUobCx0KXtmb3IobD1sLmNoaWxkO2whPT1udWxsOyl7dmFyIHU9bCxhPXQ7c3dpdGNoKHUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6UnUoNCx1LHUucmV0dXJuKSxIdSh1LGEpO2JyZWFrO2Nhc2UgMTpRbCh1LHUucmV0dXJuKTt2YXIgZT11LnN0YXRlTm9kZTt0eXBlb2YgZS5jb21wb25lbnRXaWxsVW5tb3VudD09ImZ1bmN0aW9uIiYmZXkodSx1LnJldHVybixlKSxIdSh1LGEpO2JyZWFrO2Nhc2UgMjc6KGEmMikhPT0wJiZibSh1LnN0YXRlTm9kZSx1LnR5cGUsdS5tZW1vaXplZFByb3BzKTtjYXNlIDU6UWwodSx1LnJldHVybiksdS50YWchPT01JiZ1LnRhZyE9PTI3fHxRZSh1KSxIdSh1LGEpO2JyZWFrO2Nhc2UgNjpRZSh1KTticmVhaztjYXNlIDI2OlFsKHUsdS5yZXR1cm4pLGU9dS5zdGF0ZU5vZGUsdS5tZW1vaXplZFN0YXRlIT09bnVsbHx8ZT09PW51bGx8fGxsfHxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSksSHUodSxhKTticmVhaztjYXNlIDIyOnUubWVtb2l6ZWRTdGF0ZT09PW51bGwmJkh1KHUsYSk7YnJlYWs7Y2FzZSAzMDpRbCh1LHUucmV0dXJuKSxIdSh1LGEpO2JyZWFrO2Nhc2UgNzpRbCh1LHUucmV0dXJuKTtkZWZhdWx0Okh1KHUsYSl9bD1sLnNpYmxpbmd9fWZ1bmN0aW9uIFJ0KGwsdCx1KXtmb3IodT0odC5zdWJ0cmVlRmxhZ3MmODc3MikhPT0wP3U6dSYtMix0PXQuY2hpbGQ7dCE9PW51bGw7KXt2YXIgYT10LmFsdGVybmF0ZSxlPWwsbj10LGY9bi5mbGFncyxjPSh1JjEpIT09MDtzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UnQoZSxuLHUpLFhlKDQsbik7YnJlYWs7Y2FzZSAxOmlmKFJ0KGUsbix1KSxhPW4sZT1hLnN0YXRlTm9kZSx0eXBlb2YgZS5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIil0cnl7ZS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGcpe2FsKGEsYS5yZXR1cm4sZyl9aWYoYT1uLGU9YS51cGRhdGVRdWV1ZSxlIT09bnVsbCl7dmFyIGk9YS5zdGF0ZU5vZGU7dHJ5e3ZhciBkPWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihkIT09bnVsbClmb3IoZS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsZT0wO2U8ZC5sZW5ndGg7ZSsrKXh2KGRbZV0saSl9Y2F0Y2goZyl7YWwoYSxhLnJldHVybixnKX19YyYmZiY2NCYmYXkobiksTHQobixuLnJldHVybik7YnJlYWs7Y2FzZSAyNzoodSYyKSE9PTAmJmN5KG4pO2Nhc2UgNTpuLnRhZyE9PTUmJm4udGFnIT09Mjd8fG55KG4pLFJ0KGUsbix1KSxjJiZhPT09bnVsbCYmZiY0JiZtaShuKSxMdChuLG4ucmV0dXJuKTticmVhaztjYXNlIDY6bnkobik7YnJlYWs7Y2FzZSAyNjppPW4uc3RhdGVOb2RlLG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fGk9PT1udWxsfHxDbHx8aTAoV2UoaS5vd25lckRvY3VtZW50KSxuLnR5cGUsaSksUnQoZSxuLHUpLGMmJmE9PT1udWxsJiZmJjQmJm1pKG4pLEx0KG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMTI6UnQoZSxuLHUpO2JyZWFrO2Nhc2UgMzE6UnQoZSxuLHUpLGMmJmYmNCYmVHkoZSxuKTticmVhaztjYXNlIDEzOlJ0KGUsbix1KSxjJiZmJjQmJkV5KGUsbik7YnJlYWs7Y2FzZSAyMjpuLm1lbW9pemVkU3RhdGU9PT1udWxsJiZSdChlLG4sdSksTHQobixuLnJldHVybik7YnJlYWs7Y2FzZSAzMDpSdChlLG4sdSksTHQobixuLnJldHVybik7YnJlYWs7Y2FzZSA3Okx0KG4sbi5yZXR1cm4pO2RlZmF1bHQ6UnQoZSxuLHUpfXQ9dC5zaWJsaW5nfX1mdW5jdGlvbiBBaShsLHQpe3ZhciB1PW51bGw7bCE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYodT1sLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGw9bnVsbCx0Lm1lbW9pemVkU3RhdGUhPT1udWxsJiZ0Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCYmKGw9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxsIT09dSYmKGwhPW51bGwmJmwucmVmQ291bnQrKyx1IT1udWxsJiZPZSh1KSl9ZnVuY3Rpb24gTmkobCx0KXtsPW51bGwsdC5hbHRlcm5hdGUhPT1udWxsJiYobD10LmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSx0IT09bCYmKHQucmVmQ291bnQrKyxsIT1udWxsJiZPZShsKSl9ZnVuY3Rpb24gT3QobCx0LHUsYSl7dmFyIGU9KHUmMzM1NTQ0MDY0KT09PXU7aWYodC5zdWJ0cmVlRmxhZ3MmKGU/MTAyNjI6MTAyNTYpKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KU95KGwsdCx1LGEpLHQ9dC5zaWJsaW5nO2Vsc2UgZSYmbXkodCl9ZnVuY3Rpb24gT3kobCx0LHUsYSl7dmFyIGU9KHUmMzM1NTQ0MDY0KT09PXU7ZSYmdC5hbHRlcm5hdGU9PT1udWxsJiZ0LnJldHVybiE9PW51bGwmJnQucmV0dXJuLmFsdGVybmF0ZSE9PW51bGwmJm5mKHQpO3ZhciBuPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1Ok90KGwsdCx1LGEpLG4mMjA0OCYmWGUoOSx0KTticmVhaztjYXNlIDE6T3QobCx0LHUsYSk7YnJlYWs7Y2FzZSAzOk90KGwsdCx1LGEpLGUmJmJpJiYobD1sLmNvbnRhaW5lckluZm8sbD1sLm5vZGVUeXBlPT09OT9sLmJvZHk6bC5ub2RlTmFtZT09PSJIVE1MIj9sLm93bmVyRG9jdW1lbnQuYm9keTpsLGwuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPT09InJvb3QiJiYobC5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9IiIpLGw9bC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxsIT09bnVsbCYmbC5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9PT0ibm9uZSImJihsLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT0iIikpLG4mMjA0OCYmKG49bnVsbCx0LmFsdGVybmF0ZSE9PW51bGwmJihuPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQ9dC5tZW1vaXplZFN0YXRlLmNhY2hlLHQhPT1uJiYodC5yZWZDb3VudCsrLG4hPW51bGwmJk9lKG4pKSk7YnJlYWs7Y2FzZSAxMjppZihuJjIwNDgpe090KGwsdCx1LGEpLG49dC5zdGF0ZU5vZGU7dHJ5e3ZhciBmPXQubWVtb2l6ZWRQcm9wcyxjPWYuaWQsaT1mLm9uUG9zdENvbW1pdDt0eXBlb2YgaT09ImZ1bmN0aW9uIiYmaShjLHQuYWx0ZXJuYXRlPT09bnVsbD8ibW91bnQiOiJ1cGRhdGUiLG4ucGFzc2l2ZUVmZmVjdER1cmF0aW9uLC0wKX1jYXRjaChkKXthbCh0LHQucmV0dXJuLGQpfX1lbHNlIE90KGwsdCx1LGEpO2JyZWFrO2Nhc2UgMzE6T3QobCx0LHUsYSk7YnJlYWs7Y2FzZSAxMzpPdChsLHQsdSxhKTticmVhaztjYXNlIDIzOmJyZWFrO2Nhc2UgMjI6Zj10LnN0YXRlTm9kZSxjPXQuYWx0ZXJuYXRlLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGw/KGUmJmMhPT1udWxsJiZjLm1lbW9pemVkU3RhdGU9PT1udWxsJiZuZihjKSxmLl92aXNpYmlsaXR5JjI/T3QobCx0LHUsYSk6WmUobCx0KSk6KGUmJmMhPT1udWxsJiZjLm1lbW9pemVkU3RhdGUhPT1udWxsJiZuZih0KSxmLl92aXNpYmlsaXR5JjI/T3QobCx0LHUsYSk6KGYuX3Zpc2liaWxpdHl8PTIscGEobCx0LHUsYSwodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MHx8ITEpKSksbiYyMDQ4JiZBaShjLHQpO2JyZWFrO2Nhc2UgMjQ6T3QobCx0LHUsYSksbiYyMDQ4JiZOaSh0LmFsdGVybmF0ZSx0KTticmVhaztjYXNlIDMwOmUmJihuPXQuYWx0ZXJuYXRlLG4hPT1udWxsJiYoeHQobi5jaGlsZCwhMCkseHQodC5jaGlsZCwhMCkpKSxPdChsLHQsdSxhKTticmVhaztkZWZhdWx0Ok90KGwsdCx1LGEpfX1mdW5jdGlvbiBwYShsLHQsdSxhLGUpe2ZvcihlPWUmJigodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MHx8ITEpLHQ9dC5jaGlsZDt0IT09bnVsbDspe3ZhciBuPWwsZj10LGM9dSxpPWEsZD1mLmZsYWdzO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpwYShuLGYsYyxpLGUpLFhlKDgsZik7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOnZhciBnPWYuc3RhdGVOb2RlO2YubWVtb2l6ZWRTdGF0ZSE9PW51bGw/Zy5fdmlzaWJpbGl0eSYyP3BhKG4sZixjLGksZSk6WmUobixmKTooZy5fdmlzaWJpbGl0eXw9MixwYShuLGYsYyxpLGUpKSxlJiZkJjIwNDgmJkFpKGYuYWx0ZXJuYXRlLGYpO2JyZWFrO2Nhc2UgMjQ6cGEobixmLGMsaSxlKSxlJiZkJjIwNDgmJk5pKGYuYWx0ZXJuYXRlLGYpO2JyZWFrO2RlZmF1bHQ6cGEobixmLGMsaSxlKX10PXQuc2libGluZ319ZnVuY3Rpb24gWmUobCx0KXtpZih0LnN1YnRyZWVGbGFncyYxMDI1Nilmb3IodD10LmNoaWxkO3QhPT1udWxsOyl7dmFyIHU9bCxhPXQsZT1hLmZsYWdzO3N3aXRjaChhLnRhZyl7Y2FzZSAyMjpaZSh1LGEpLGUmMjA0OCYmQWkoYS5hbHRlcm5hdGUsYSk7YnJlYWs7Y2FzZSAyNDpaZSh1LGEpLGUmMjA0OCYmTmkoYS5hbHRlcm5hdGUsYSk7YnJlYWs7ZGVmYXVsdDpaZSh1LGEpfXQ9dC5zaWJsaW5nfX12YXIgeWE9ODE5MjtmdW5jdGlvbiBtYShsLHQsdSl7aWYobC5zdWJ0cmVlRmxhZ3MmeWEpZm9yKGw9bC5jaGlsZDtsIT09bnVsbDspQXkobCx0LHUpLGw9bC5zaWJsaW5nfWZ1bmN0aW9uIEF5KGwsdCx1KXtzd2l0Y2gobC50YWcpe2Nhc2UgMjY6bWEobCx0LHUpLGwuZmxhZ3MmeWEmJihsLm1lbW9pemVkU3RhdGUhPT1udWxsP2pzKHUsQ3QsbC5tZW1vaXplZFN0YXRlLGwubWVtb2l6ZWRQcm9wcyk6KGw9bC5zdGF0ZU5vZGUsKHQmMzM1NTQ0MTI4KT09PXQmJkhtKHUsbCkpKTticmVhaztjYXNlIDU6bWEobCx0LHUpLGwuZmxhZ3MmeWEmJihsPWwuc3RhdGVOb2RlLCh0JjMzNTU0NDEyOCk9PT10JiZIbSh1LGwpKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciBhPUN0O0N0PVdlKGwuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLG1hKGwsdCx1KSxDdD1hO2JyZWFrO2Nhc2UgMjI6bC5tZW1vaXplZFN0YXRlPT09bnVsbCYmKGE9bC5hbHRlcm5hdGUsYSE9PW51bGwmJmEubWVtb2l6ZWRTdGF0ZSE9PW51bGw/KGE9eWEseWE9MTY3NzcyMTYsbWEobCx0LHUpLHlhPWEpOm1hKGwsdCx1KSk7YnJlYWs7Y2FzZSAzMDppZigobC5mbGFncyZ5YSkhPT0wJiYoYT1sLm1lbW9pemVkUHJvcHMubmFtZSxhIT1udWxsJiZhIT09ImF1dG8iKSl7dmFyIGU9bC5zdGF0ZU5vZGU7ZS5wYWlyZWQ9bnVsbCxvdD09PW51bGwmJihvdD1uZXcgTWFwKSxvdC5zZXQoYSxlKX1tYShsLHQsdSk7YnJlYWs7ZGVmYXVsdDptYShsLHQsdSl9fWZ1bmN0aW9uIE55KGwpe3ZhciB0PWwuYWx0ZXJuYXRlO2lmKHQhPT1udWxsJiYobD10LmNoaWxkLGwhPT1udWxsKSl7dC5jaGlsZD1udWxsO2RvIHQ9bC5zaWJsaW5nLGwuc2libGluZz1udWxsLGw9dDt3aGlsZShsIT09bnVsbCl9fWZ1bmN0aW9uIFZlKGwpe3ZhciB0PWwuZGVsZXRpb25zO2lmKChsLmZsYWdzJjE2KSE9PTApe2lmKHQhPT1udWxsKWZvcih2YXIgdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgYT10W3VdO1JsPWEsTXkoYSxsKX1OeShsKX1pZihsLnN1YnRyZWVGbGFncyYxMDI1Nilmb3IobD1sLmNoaWxkO2whPT1udWxsOylEeShsKSxsPWwuc2libGluZ31mdW5jdGlvbiBEeShsKXtzd2l0Y2gobC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6VmUobCksbC5mbGFncyYyMDQ4JiZSdSg5LGwsbC5yZXR1cm4pO2JyZWFrO2Nhc2UgMzpWZShsKTticmVhaztjYXNlIDEyOlZlKGwpO2JyZWFrO2Nhc2UgMjI6dmFyIHQ9bC5zdGF0ZU5vZGU7bC5tZW1vaXplZFN0YXRlIT09bnVsbCYmdC5fdmlzaWJpbGl0eSYyJiYobC5yZXR1cm49PT1udWxsfHxsLnJldHVybi50YWchPT0xMyk/KHQuX3Zpc2liaWxpdHkmPS0zLG9mKGwpKTpWZShsKTticmVhaztkZWZhdWx0OlZlKGwpfX1mdW5jdGlvbiBvZihsKXt2YXIgdD1sLmRlbGV0aW9ucztpZigobC5mbGFncyYxNikhPT0wKXtpZih0IT09bnVsbClmb3IodmFyIHU9MDt1PHQubGVuZ3RoO3UrKyl7dmFyIGE9dFt1XTtSbD1hLE15KGEsbCl9TnkobCl9Zm9yKGw9bC5jaGlsZDtsIT09bnVsbDspe3N3aXRjaCh0PWwsdC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UnUoOCx0LHQucmV0dXJuKSxvZih0KTticmVhaztjYXNlIDIyOnU9dC5zdGF0ZU5vZGUsdS5fdmlzaWJpbGl0eSYyJiYodS5fdmlzaWJpbGl0eSY9LTMsb2YodCkpO2JyZWFrO2RlZmF1bHQ6b2YodCl9bD1sLnNpYmxpbmd9fWZ1bmN0aW9uIE15KGwsdCl7Zm9yKDtSbCE9PW51bGw7KXt2YXIgdT1SbDtzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UnUoOCx1LHQpO2JyZWFrO2Nhc2UgMjM6Y2FzZSAyMjppZih1Lm1lbW9pemVkU3RhdGUhPT1udWxsJiZ1Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCl7dmFyIGE9dS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO2EhPW51bGwmJmEucmVmQ291bnQrK31icmVhaztjYXNlIDI0Ok9lKHUubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9aWYoYT11LmNoaWxkLGEhPT1udWxsKWEucmV0dXJuPXUsUmw9YTtlbHNlIGw6Zm9yKHU9bDtSbCE9PW51bGw7KXthPVJsO3ZhciBlPWEuc2libGluZyxuPWEucmV0dXJuO2lmKFN5KGEpLGE9PT11KXtSbD1udWxsO2JyZWFrIGx9aWYoZSE9PW51bGwpe2UucmV0dXJuPW4sUmw9ZTticmVhayBsfVJsPW59fX12YXIgcWQ9e2dldENhY2hlRm9yVHlwZTpmdW5jdGlvbihsKXt2YXIgdD1CbCh6bCksdT10LmRhdGEuZ2V0KGwpO3JldHVybiB1PT09dm9pZCAwJiYodT1sKCksdC5kYXRhLnNldChsLHUpKSx1fSxjYWNoZVNpZ25hbDpmdW5jdGlvbigpe3JldHVybiBCbCh6bCkuY29udHJvbGxlci5zaWduYWx9fSxCZD10eXBlb2YgV2Vha01hcD09ImZ1bmN0aW9uIj9XZWFrTWFwOk1hcCxrPTAsaWw9bnVsbCxMPW51bGwseD0wLHVsPTAseXQ9bnVsbCxZdT0hMSx4YT0hMSxEaT0hMSx5dT0wLHJsPTAscXU9MCxkYT0wLHlmPTAsbXQ9MCxLYT0wLExlPW51bGwsa2w9bnVsbCxNaT0hMSxtZj0wLFV5PTAsZGY9MS8wLHNmPW51bGwsQnU9bnVsbCxobD0wLEh0PW51bGwsc2E9bnVsbCxXdD0wLFVpPTAsQ2k9bnVsbCxDeT1udWxsLEphPW51bGwsd2E9bnVsbCxXYT1udWxsLHBlPTAsaGY9bnVsbDtmdW5jdGlvbiBkdCgpe3JldHVybihrJjIpIT09MCYmeCE9PTA/eCYteDpOLlQhPT1udWxsP1ppKCk6SDAoKX1mdW5jdGlvbiBSeSgpe2lmKG10PT09MClpZigoeCY1MzY4NzA5MTIpPT09MHx8Wil7dmFyIGw9Y247Y248PD0xLChjbiYzOTMyMTYwKT09PTAmJihjbj0yNjIxNDQpLG10PWx9ZWxzZSBtdD01MzY4NzA5MTI7cmV0dXJuIGw9R2wuY3VycmVudCxsIT09bnVsbCYmKGwuZmxhZ3N8PTMyKSxtdH1mdW5jdGlvbiAkYShsLHQpe2lmKHQhPW51bGwpe3ZhciB1PWwuc3RhdGVOb2RlLGE9dS5yZWY7YT09PW51bGwmJihhPXUucmVmPXltKHR1KGwubWVtb2l6ZWRQcm9wcyx1KSkpLHdhPT09bnVsbCYmKHdhPVtdKSx3YS5wdXNoKHQuYmluZChudWxsLGEpKX19ZnVuY3Rpb24gUGwobCx0LHUpeyhsPT09aWwmJih1bD09PTJ8fHVsPT09OSl8fGwuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGwpJiYoRmEobCwwKSxHdShsLHgsbXQsITEpKSxvZShsLHUpLCgoayYyKT09PTB8fGwhPT1pbCkmJihsPT09aWwmJigoayYyKT09PTAmJihkYXw9dSkscmw9PT00JiZHdShsLHgsbXQsITEpKSwkdChsKSl9ZnVuY3Rpb24gSHkobCx0LHUpe2lmKChrJjYpIT09MCl0aHJvdyBFcnJvcihTKDMyNykpO3ZhciBhPSF1JiYodCYxMjcpPT09MCYmKHQmbC5leHBpcmVkTGFuZXMpPT09MHx8dmUobCx0KSxlPWE/UWQobCx0KTpIaShsLHQsITApLG49YTtkb3tpZihlPT09MCl7eGEmJiFhJiZHdShsLHQsMCwhMSk7YnJlYWt9ZWxzZXtpZih1PWwuY3VycmVudC5hbHRlcm5hdGUsbiYmIUdkKHUpKXtlPUhpKGwsdCwhMSksbj0hMTtjb250aW51ZX1pZihlPT09Mil7aWYobj10LGwuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXMmbil2YXIgZj0wO2Vsc2UgZj1sLnBlbmRpbmdMYW5lcyYtNTM2ODcwOTEzLGY9ZiE9PTA/ZjpmJjUzNjg3MDkxMj81MzY4NzA5MTI6MDtpZihmIT09MCl7dD1mO2w6e3ZhciBjPWw7ZT1MZTt2YXIgaT1jLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQ7aWYoaSYmKEZhKGMsZikuZmxhZ3N8PTI1NiksZj1IaShjLGYsITEpLGYhPT0yJiZmIT09Nil7aWYoRGkmJiFpKXtjLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzfD1uLGRhfD1uLGU9NDticmVhayBsfW49a2wsa2w9ZSxuIT09bnVsbCYmKGtsPT09bnVsbD9rbD1uOmtsLnB1c2guYXBwbHkoa2wsbikpfWU9Zn1pZihuPSExLGUhPT0yKWNvbnRpbnVlfX1pZihlPT09MSl7RmEobCwwKSxHdShsLHQsMCwhMCk7YnJlYWt9bDp7c3dpdGNoKGE9bCxuPWUsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihTKDM0NSkpO2Nhc2UgNDppZigodCY0MTk0MDQ4KSE9PXQmJih0JjYyOTE0NTYwKSE9PXQpYnJlYWs7Y2FzZSA2Okd1KGEsdCxtdCwhWXUpO2JyZWFrIGw7Y2FzZSAyOmtsPW51bGw7YnJlYWs7Y2FzZSAzOmNhc2UgNTpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKFMoMzI5KSl9aWYoKHQmNjI5MTQ1NjApPT09dCYmKGU9bWYrMzAwLWV0KCksMTA8ZSkpe2lmKEd1KGEsdCxtdCwhWXUpLG9uKGEsMCwhMCkhPT0wKWJyZWFrIGw7V3Q9dCxhLnRpbWVvdXRIYW5kbGU9SWkoWXkuYmluZChudWxsLGEsdSxrbCxzZixNaSx0LG10LGRhLEthLFl1LG4sIlRocm90dGxlZCIsLTAsMCksZSk7YnJlYWsgbH1ZeShhLHUsa2wsc2YsTWksdCxtdCxkYSxLYSxZdSxuLG51bGwsLTAsMCl9fWJyZWFrfXdoaWxlKCEwKTskdChsKX1mdW5jdGlvbiBZeShsLHQsdSxhLGUsbixmLGMsaSxkLGcsRSx5LGgpe2wudGltZW91dEhhbmRsZT0tMTt2YXIgYj10LnN1YnRyZWVGbGFncyxBPShuJjMzNTU0NDA2NCk9PT1uO2lmKEU9bnVsbCwoQXx8YiY4MTkyfHwoYiYxNjc4NTQwOCk9PT0xNjc4NTQwOCkmJihFPXtzdHlsZXNoZWV0czpudWxsLGNvdW50OjAsaW1nQ291bnQ6MCxpbWdCeXRlczowLHN1c3BlbnNleUltYWdlczpbXSx3YWl0aW5nRm9ySW1hZ2VzOiEwLHdhaXRpbmdGb3JWaWV3VHJhbnNpdGlvbjohMSx1bnN1c3BlbmQ6anR9LG90PW51bGwsQXkodCxuLEUpLEEmJihiPUUsQT1sLmNvbnRhaW5lckluZm8sQT0oQS5ub2RlVHlwZT09PTk/QTpBLm93bmVyRG9jdW1lbnQpLl9fcmVhY3RWaWV3VHJhbnNpdGlvbixBIT1udWxsJiYoYi5jb3VudCsrLGIud2FpdGluZ0ZvclZpZXdUcmFuc2l0aW9uPSEwLGI9SWUuYmluZChiKSxBLmZpbmlzaGVkLnRoZW4oYixiKSkpLGI9KG4mNjI5MTQ1NjApPT09bj9tZi1ldCgpOihuJjQxOTQwNDgpPT09bj9VeS1ldCgpOjAsYj1acyhFLGIpLGIhPT1udWxsKSl7V3Q9bixsLmNhbmNlbFBlbmRpbmdDb21taXQ9YihWeS5iaW5kKG51bGwsbCx0LG4sdSxhLGUsZixjLGksZCxnLEUsbnVsbCx5LGgpKSxHdShsLG4sZiwhZCk7cmV0dXJufVZ5KGwsdCxuLHUsYSxlLGYsYyxpLGQsZyxFKX1mdW5jdGlvbiBHZChsKXtmb3IodmFyIHQ9bDs7KXt2YXIgdT10LnRhZztpZigodT09PTB8fHU9PT0xMXx8dT09PTE1KSYmdC5mbGFncyYxNjM4NCYmKHU9dC51cGRhdGVRdWV1ZSx1IT09bnVsbCYmKHU9dS5zdG9yZXMsdSE9PW51bGwpKSlmb3IodmFyIGE9MDthPHUubGVuZ3RoO2ErKyl7dmFyIGU9dVthXSxuPWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXtpZighaXQobigpLGUpKXJldHVybiExfWNhdGNoe3JldHVybiExfX1pZih1PXQuY2hpbGQsdC5zdWJ0cmVlRmxhZ3MmMTYzODQmJnUhPT1udWxsKXUucmV0dXJuPXQsdD11O2Vsc2V7aWYodD09PWwpYnJlYWs7Zm9yKDt0LnNpYmxpbmc9PT1udWxsOyl7aWYodC5yZXR1cm49PT1udWxsfHx0LnJldHVybj09PWwpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH1mdW5jdGlvbiBHdShsLHQsdSxhKXt0PUQwKGwsdCksdCY9fnlmLHQmPX5kYSxsLnN1c3BlbmRlZExhbmVzfD10LGwucGluZ2VkTGFuZXMmPX50LGEmJihsLndhcm1MYW5lc3w9dCksYT1sLmV4cGlyYXRpb25UaW1lcztmb3IodmFyIGU9dDswPGU7KXt2YXIgbj0zMS1mdChlKSxmPTE8PG47YVtuXT0tMSxlJj1+Zn11IT09MCYmVTAobCx1LHQpfWZ1bmN0aW9uIGdmKCl7cmV0dXJuKGsmNik9PT0wPyh4ZSgwKSwhMSk6ITB9ZnVuY3Rpb24gUmkoKXtpZihMIT09bnVsbCl7aWYodWw9PT0wKXZhciBsPUwucmV0dXJuO2Vsc2UgbD1MLG51PXRhPW51bGwsamMobCksR2E9bnVsbCxEZT0wLGw9TDtmb3IoO2whPT1udWxsOyl1eShsLmFsdGVybmF0ZSxsKSxsPWwucmV0dXJuO0w9bnVsbH19ZnVuY3Rpb24gRmEobCx0KXt2YXIgdT1sLnRpbWVvdXRIYW5kbGU7cmV0dXJuIHUhPT0tMSYmKGwudGltZW91dEhhbmRsZT0tMSxmcyh1KSksdT1sLmNhbmNlbFBlbmRpbmdDb21taXQsdSE9PW51bGwmJihsLmNhbmNlbFBlbmRpbmdDb21taXQ9bnVsbCx1KCkpLFd0PTAsUmkoKSxpbD1sLEw9dT1hdShsLmN1cnJlbnQsbnVsbCkseD10LHVsPTAseXQ9bnVsbCxZdT0hMSx4YT12ZShsLHQpLERpPSExLEthPW10PXlmPWRhPXF1PXJsPTAsa2w9TGU9bnVsbCxNaT0hMSx5dT1EMChsLHQpLF9uKCksdX1mdW5jdGlvbiBxeShsLHQpe1E9bnVsbCxOLkg9V24sdD09PUJhfHx0PT09cW4/KHQ9WnYoKSx1bD0zKTp0PT09TmM/KHQ9WnYoKSx1bD00KTp1bD10PT09bGk/ODp0IT09bnVsbCYmdHlwZW9mIHQ9PSJvYmplY3QiJiZ0eXBlb2YgdC50aGVuPT0iZnVuY3Rpb24iPzY6MSx5dD10LEw9PT1udWxsJiYocmw9MSwkbihsLEV0KHQsbC5jdXJyZW50KSkpfWZ1bmN0aW9uIEJ5KCl7dmFyIGw9R2wuY3VycmVudDtyZXR1cm4gbD09PW51bGw/ITA6KHgmNDE5NDA0OCk9PT14P1ZsPT09bnVsbDooeCY2MjkxNDU2MCk9PT14fHwoeCY1MzY4NzA5MTIpIT09MD9sPT09Vmw6ITF9ZnVuY3Rpb24gR3koKXt2YXIgbD1OLkg7cmV0dXJuIE4uSD1XbixsPT09bnVsbD9XbjpsfWZ1bmN0aW9uIFh5KCl7dmFyIGw9Ti5BO3JldHVybiBOLkE9cWQsbH1mdW5jdGlvbiBTZigpe3JsPTQsWXV8fCh4JjQxOTQwNDgpIT09eCYmR2wuY3VycmVudCE9PW51bGx8fCh4YT0hMCksKHF1JjEzNDIxNzcyNyk9PT0wJiYoZGEmMTM0MjE3NzI3KT09PTB8fGlsPT09bnVsbHx8R3UoaWwseCxtdCwhMSl9ZnVuY3Rpb24gSGkobCx0LHUpe3ZhciBhPWs7a3w9Mjt2YXIgZT1HeSgpLG49WHkoKTsoaWwhPT1sfHx4IT09dCkmJihzZj1udWxsLEZhKGwsdCkpLHQ9ITE7dmFyIGY9cmw7bDpkbyB0cnl7aWYodWwhPT0wJiZMIT09bnVsbCl7dmFyIGM9TCxpPXl0O3N3aXRjaCh1bCl7Y2FzZSA4OlJpKCksZj02O2JyZWFrIGw7Y2FzZSAzOmNhc2UgMjpjYXNlIDk6Y2FzZSA2OkdsLmN1cnJlbnQ9PT1udWxsJiYodD0hMCk7dmFyIGQ9dWw7aWYodWw9MCx5dD1udWxsLElhKGwsYyxpLGQpLHUmJnhhKXtmPTA7YnJlYWsgbH1icmVhaztkZWZhdWx0OmQ9dWwsdWw9MCx5dD1udWxsLElhKGwsYyxpLGQpfX1YZCgpLGY9cmw7YnJlYWt9Y2F0Y2goZyl7cXkobCxnKX13aGlsZSghMCk7cmV0dXJuIHQmJmwuc2hlbGxTdXNwZW5kQ291bnRlcisrLG51PXRhPW51bGwsaz1hLE4uSD1lLE4uQT1uLEw9PT1udWxsJiYoaWw9bnVsbCx4PTAsX24oKSksZn1mdW5jdGlvbiBYZCgpe2Zvcig7TCE9PW51bGw7KVF5KEwpfWZ1bmN0aW9uIFFkKGwsdCl7dmFyIHU9aztrfD0yO3ZhciBhPUd5KCksZT1YeSgpO2lsIT09bHx8eCE9PXQ/KHNmPW51bGwsZGY9ZXQoKSs1MDAsRmEobCx0KSk6eGE9dmUobCx0KTtsOmRvIHRyeXtpZih1bCE9PTAmJkwhPT1udWxsKXt0PUw7dmFyIG49eXQ7dDpzd2l0Y2godWwpe2Nhc2UgMTp1bD0wLHl0PW51bGwsSWEobCx0LG4sMSk7YnJlYWs7Y2FzZSAyOmNhc2UgOTppZihRdihuKSl7dWw9MCx5dD1udWxsLGp5KHQpO2JyZWFrfXQ9ZnVuY3Rpb24oKXt1bCE9PTImJnVsIT09OXx8aWwhPT1sfHwodWw9NyksJHQobCl9LG4udGhlbih0LHQpO2JyZWFrIGw7Y2FzZSAzOnVsPTc7YnJlYWsgbDtjYXNlIDQ6dWw9NTticmVhayBsO2Nhc2UgNzpRdihuKT8odWw9MCx5dD1udWxsLGp5KHQpKToodWw9MCx5dD1udWxsLElhKGwsdCxuLDcpKTticmVhaztjYXNlIDU6dmFyIGY9bnVsbDtzd2l0Y2goTC50YWcpe2Nhc2UgMjY6Zj1MLm1lbW9pemVkU3RhdGU7Y2FzZSA1OmNhc2UgMjc6dmFyIGM9TDtpZihmP0NtKGYpOmMuc3RhdGVOb2RlLmNvbXBsZXRlKXt1bD0wLHl0PW51bGw7dmFyIGk9Yy5zaWJsaW5nO2lmKGkhPT1udWxsKUw9aTtlbHNle3ZhciBkPWMucmV0dXJuO2QhPT1udWxsPyhMPWQscmYoZCkpOkw9bnVsbH1icmVhayB0fX11bD0wLHl0PW51bGwsSWEobCx0LG4sNSk7YnJlYWs7Y2FzZSA2OnVsPTAseXQ9bnVsbCxJYShsLHQsbiw2KTticmVhaztjYXNlIDg6UmkoKSxybD02O2JyZWFrIGw7ZGVmYXVsdDp0aHJvdyBFcnJvcihTKDQ2MikpfX1qZCgpO2JyZWFrfWNhdGNoKGcpe3F5KGwsZyl9d2hpbGUoITApO3JldHVybiBudT10YT1udWxsLE4uSD1hLE4uQT1lLGs9dSxMIT09bnVsbD8wOihpbD1udWxsLHg9MCxfbigpLHJsKX1mdW5jdGlvbiBqZCgpe2Zvcig7TCE9PW51bGwmJiF1MSgpOylReShMKX1mdW5jdGlvbiBReShsKXt2YXIgdD1seShsLmFsdGVybmF0ZSxsLHl1KTtsLm1lbW9pemVkUHJvcHM9bC5wZW5kaW5nUHJvcHMsdD09PW51bGw/cmYobCk6TD10fWZ1bmN0aW9uIGp5KGwpe3ZhciB0PWwsdT10LmFsdGVybmF0ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTU6Y2FzZSAwOnQ9d28odSx0LHQucGVuZGluZ1Byb3BzLHQudHlwZSx2b2lkIDAseCk7YnJlYWs7Y2FzZSAxMTp0PXdvKHUsdCx0LnBlbmRpbmdQcm9wcyx0LnR5cGUucmVuZGVyLHQucmVmLHgpO2JyZWFrO2Nhc2UgNTpqYyh0KTt2YXIgYT10O2E9PT1VbCYmKFo/KFVuKGEpLGEudGFnPT09NSYmYS5zdGF0ZU5vZGUhPW51bGwmJih5bD1hLnN0YXRlTm9kZSkpOihVbihhKSxaPSEwKSk7ZGVmYXVsdDp1eSh1LHQpLHQ9TD1Edih0LHl1KSx0PWx5KHUsdCx5dSl9bC5tZW1vaXplZFByb3BzPWwucGVuZGluZ1Byb3BzLHQ9PT1udWxsP3JmKGwpOkw9dH1mdW5jdGlvbiBJYShsLHQsdSxhKXtudT10YT1udWxsLGpjKHQpLEdhPW51bGwsRGU9MDt2YXIgZT10LnJldHVybjt0cnl7aWYoTmQobCxlLHQsdSx4KSl7cmw9MSwkbihsLEV0KHUsbC5jdXJyZW50KSksTD1udWxsO3JldHVybn19Y2F0Y2gobil7aWYoZSE9PW51bGwpdGhyb3cgTD1lLG47cmw9MSwkbihsLEV0KHUsbC5jdXJyZW50KSksTD1udWxsO3JldHVybn10LmZsYWdzJjMyNzY4PyhafHxhPT09MT9sPSEwOnhhfHwoeCY1MzY4NzA5MTIpIT09MD9sPSExOihZdT1sPSEwLChhPT09Mnx8YT09PTl8fGE9PT0zfHxhPT09NikmJihhPUdsLmN1cnJlbnQsYSE9PW51bGwmJmEudGFnPT09MTMmJihhLmZsYWdzfD0xNjM4NCkpKSxaeSh0LGwpKTpyZih0KX1mdW5jdGlvbiByZihsKXt2YXIgdD1sO2Rve2lmKCh0LmZsYWdzJjMyNzY4KSE9PTApe1p5KHQsWXUpO3JldHVybn1sPXQucmV0dXJuO3ZhciB1PUNkKHQuYWx0ZXJuYXRlLHQseXUpO2lmKHUhPT1udWxsKXtMPXU7cmV0dXJufWlmKHQ9dC5zaWJsaW5nLHQhPT1udWxsKXtMPXQ7cmV0dXJufUw9dD1sfXdoaWxlKHQhPT1udWxsKTtybD09PTAmJihybD01KX1mdW5jdGlvbiBaeShsLHQpe2Rve3ZhciB1PVJkKGwuYWx0ZXJuYXRlLGwpO2lmKHUhPT1udWxsKXt1LmZsYWdzJj0zMjc2NyxMPXU7cmV0dXJufWlmKHU9bC5yZXR1cm4sdSE9PW51bGwmJih1LmZsYWdzfD0zMjc2OCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwpLCF0JiYobD1sLnNpYmxpbmcsbCE9PW51bGwpKXtMPWw7cmV0dXJufUw9bD11fXdoaWxlKGwhPT1udWxsKTtybD02LEw9bnVsbH1mdW5jdGlvbiBWeShsLHQsdSxhLGUsbixmLGMsaSxkLGcsRSl7bC5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gVGYoKTt3aGlsZShobCE9PTApO2lmKChrJjYpIT09MCl0aHJvdyBFcnJvcihTKDMyNykpO2lmKHQhPT1udWxsKXtpZih0PT09bC5jdXJyZW50KXRocm93IEVycm9yKFMoMTc3KSk7bD09PWlsJiYoTD1pbD1udWxsLHg9MCksc2E9dCxIdD1sLFd0PXUsQ2k9ZSxDeT1hLFpkKGwsdCx1LGYsYyxpLEUpfX1mdW5jdGlvbiBaZChsLHQsdSxhLGUsbixmKXt2YXIgYz10LmxhbmVzfHQuY2hpbGRMYW5lcztpZihVaT1jLGN8PWRjLG0xKGwsdSxjLGEsZSxuKSx3YT1udWxsLCh1JjMzNTU0NDA2NCk9PT11PyhXYT1zZChsKSxhPTEwMjYyKTooV2E9bnVsbCxhPTEwMjU2KSwodC5zdWJ0cmVlRmxhZ3MmYSkhPT0wfHwodC5mbGFncyZhKSE9PTA/KGwuY2FsbGJhY2tOb2RlPW51bGwsbC5jYWxsYmFja1ByaW9yaXR5PTAsSmQobm4sZnVuY3Rpb24oKXtyZXR1cm4gR2koKSxudWxsfSkpOihsLmNhbGxiYWNrTm9kZT1udWxsLGwuY2FsbGJhY2tQcmlvcml0eT0wKSxhZj0hMSxhPSh0LmZsYWdzJjEzODc4KSE9PTAsKHQuc3VidHJlZUZsYWdzJjEzODc4KSE9PTB8fGEpe2E9Ti5ULE4uVD1udWxsLGU9Ry5wLEcucD0yLG49ayxrfD00O3RyeXtIZChsLHQsdSl9ZmluYWxseXtrPW4sRy5wPWUsTi5UPWF9fWhsPTEsYWY/SmE9bXMoZixsLmNvbnRhaW5lckluZm8sV2EsWWkscWksTGQsQmksR2ksVmQpOihZaSgpLHFpKCksQmkoKSl9ZnVuY3Rpb24gVmQobCl7aWYoaGwhPT0wKXt2YXIgdD1IdC5vblJlY292ZXJhYmxlRXJyb3I7dChsLHtjb21wb25lbnRTdGFjazpudWxsfSl9fWZ1bmN0aW9uIExkKCl7aGw9PT0zJiYoaGw9MCxfeShzYSxIdCksaGw9NCl9ZnVuY3Rpb24gWWkoKXtpZihobD09PTEpe2hsPTA7dmFyIGw9SHQsdD1zYSx1PVd0LGE9KHQuZmxhZ3MmMTM4NzgpIT09MDtpZigodC5zdWJ0cmVlRmxhZ3MmMTM4NzgpIT09MHx8YSl7YT1OLlQsTi5UPW51bGw7dmFyIGU9Ry5wO0cucD0yO3ZhciBuPWs7a3w9NDt0cnl7amU9ZmY9ITEsenkodCxsLHUpLHU9V2k7dmFyIGY9U3YobC5jb250YWluZXJJbmZvKSxjPXUuZm9jdXNlZEVsZW0saT11LnNlbGVjdGlvblJhbmdlO2lmKGYhPT1jJiZjJiZjLm93bmVyRG9jdW1lbnQmJmd2KGMub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYykpe2lmKGkhPT1udWxsJiZpYyhjKSl7dmFyIGQ9aS5zdGFydCxnPWkuZW5kO2lmKGc9PT12b2lkIDAmJihnPWQpLCJzZWxlY3Rpb25TdGFydCJpbiBjKWMuc2VsZWN0aW9uU3RhcnQ9ZCxjLnNlbGVjdGlvbkVuZD1NYXRoLm1pbihnLGMudmFsdWUubGVuZ3RoKTtlbHNle3ZhciBFPWMub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQseT1FJiZFLmRlZmF1bHRWaWV3fHx3aW5kb3c7aWYoeS5nZXRTZWxlY3Rpb24pe3ZhciBoPXkuZ2V0U2VsZWN0aW9uKCksYj1jLnRleHRDb250ZW50Lmxlbmd0aCxBPU1hdGgubWluKGkuc3RhcnQsYiksaj1pLmVuZD09PXZvaWQgMD9BOk1hdGgubWluKGkuZW5kLGIpOyFoLmV4dGVuZCYmQT5qJiYoZj1qLGo9QSxBPWYpO3ZhciBtPWh2KGMsQSksdj1odihjLGopO2lmKG0mJnYmJihoLnJhbmdlQ291bnQhPT0xfHxoLmFuY2hvck5vZGUhPT1tLm5vZGV8fGguYW5jaG9yT2Zmc2V0IT09bS5vZmZzZXR8fGguZm9jdXNOb2RlIT09di5ub2RlfHxoLmZvY3VzT2Zmc2V0IT09di5vZmZzZXQpKXt2YXIgcz1FLmNyZWF0ZVJhbmdlKCk7cy5zZXRTdGFydChtLm5vZGUsbS5vZmZzZXQpLGgucmVtb3ZlQWxsUmFuZ2VzKCksQT5qPyhoLmFkZFJhbmdlKHMpLGguZXh0ZW5kKHYubm9kZSx2Lm9mZnNldCkpOihzLnNldEVuZCh2Lm5vZGUsdi5vZmZzZXQpLGguYWRkUmFuZ2UocykpfX19fWZvcihFPVtdLGg9YztoPWgucGFyZW50Tm9kZTspaC5ub2RlVHlwZT09PTEmJkUucHVzaCh7ZWxlbWVudDpoLGxlZnQ6aC5zY3JvbGxMZWZ0LHRvcDpoLnNjcm9sbFRvcH0pO2Zvcih0eXBlb2YgYy5mb2N1cz09ImZ1bmN0aW9uIiYmYy5mb2N1cygpLGM9MDtjPEUubGVuZ3RoO2MrKyl7dmFyIHI9RVtjXTtyLmVsZW1lbnQuc2Nyb2xsTGVmdD1yLmxlZnQsci5lbGVtZW50LnNjcm9sbFRvcD1yLnRvcH19bmU9ISF3aSxXaT13aT1udWxsfWZpbmFsbHl7az1uLEcucD1lLE4uVD1hfX1sLmN1cnJlbnQ9dCxobD0yfX1mdW5jdGlvbiBxaSgpe2lmKGhsPT09Mil7aGw9MDt2YXIgbD1IdCx0PXNhLHU9KHQuZmxhZ3MmODc3MikhPT0wO2lmKCh0LnN1YnRyZWVGbGFncyY4NzcyKSE9PTB8fHUpe3U9Ti5ULE4uVD1udWxsO3ZhciBhPUcucDtHLnA9Mjt2YXIgZT1rO2t8PTQ7dHJ5e2h5KGwsdC5hbHRlcm5hdGUsdCl9ZmluYWxseXtrPWUsRy5wPWEsTi5UPXV9fWhsPTN9fWZ1bmN0aW9uIEJpKCl7aWYoaGw9PT00fHxobD09PTMpe2hsPTA7dmFyIGw9SmE7SmE9bnVsbCxhMSgpO3ZhciB0PUh0LHU9c2EsYT1XdCxlPUN5LG49KGEmMzM1NTQ0MDY0KT09PWE/MTAyNjI6MTAyNTY7aWYoKHUuc3VidHJlZUZsYWdzJm4pIT09MHx8KHUuZmxhZ3MmbikhPT0wP2hsPTU6KGhsPTAsc2E9SHQ9bnVsbCxMeSh0LHQucGVuZGluZ0xhbmVzKSksbj10LnBlbmRpbmdMYW5lcyxuPT09MCYmKEJ1PW51bGwpLHhmKGEpLHU9dS5zdGF0ZU5vZGUsbnQmJnR5cGVvZiBudC5vbkNvbW1pdEZpYmVyUm9vdD09ImZ1bmN0aW9uIil0cnl7bnQub25Db21taXRGaWJlclJvb3QoaWUsdSx2b2lkIDAsKHUuY3VycmVudC5mbGFncyYxMjgpPT09MTI4KX1jYXRjaHt9aWYoZSE9PW51bGwpe3U9Ti5ULG49Ry5wLEcucD0yLE4uVD1udWxsO3RyeXtmb3IodmFyIGY9dC5vblJlY292ZXJhYmxlRXJyb3IsYz0wO2M8ZS5sZW5ndGg7YysrKXt2YXIgaT1lW2NdO2YoaS52YWx1ZSx7Y29tcG9uZW50U3RhY2s6aS5zdGFja30pfX1maW5hbGx5e04uVD11LEcucD1ufX1pZihlPXdhLGY9V2EsV2E9bnVsbCxlIT09bnVsbCYmKHdhPW51bGwsZj09PW51bGwmJihmPVtdKSxsIT09bnVsbCkpZm9yKGk9MDtpPGUubGVuZ3RoO2krKyl1PSgwLGVbaV0pKGYpLHUhPT12b2lkIDAmJmwuZmluaXNoZWQuZmluYWxseSh1KTsoV3QmMykhPT0wJiZUZigpLCR0KHQpLG49dC5wZW5kaW5nTGFuZXMsKGEmMjYxOTMwKSE9PTAmJihuJjQyKSE9PTA/dD09PWhmP3BlKys6KHBlPTAsaGY9dCk6KHBlPTAsaGY9bnVsbCkseGUoMCl9fWZ1bmN0aW9uIEx5KGwsdCl7KGwucG9vbGVkQ2FjaGVMYW5lcyY9dCk9PT0wJiYodD1sLnBvb2xlZENhY2hlLHQhPW51bGwmJihsLnBvb2xlZENhY2hlPW51bGwsT2UodCkpKX1mdW5jdGlvbiBUZigpe3JldHVybiBKYSE9PW51bGwmJihKYS5za2lwVHJhbnNpdGlvbigpLEphPW51bGwpLFlpKCkscWkoKSxCaSgpLEdpKCl9ZnVuY3Rpb24gR2koKXtpZihobCE9PTUpcmV0dXJuITE7dmFyIGw9SHQsdD1VaTtVaT0wO3ZhciB1PXhmKFd0KSxhPU4uVCxlPUcucDt0cnl7Ry5wPTMyPnU/MzI6dSxOLlQ9bnVsbCx1PUNpLENpPW51bGw7dmFyIG49SHQsZj1XdDtpZihobD0wLHNhPUh0PW51bGwsV3Q9MCwoayY2KSE9PTApdGhyb3cgRXJyb3IoUygzMzEpKTt2YXIgYz1rO2lmKGt8PTQsRHkobi5jdXJyZW50KSxPeShuLG4uY3VycmVudCxmLHUpLGs9Yyx4ZSgwLCExKSxudCYmdHlwZW9mIG50Lm9uUG9zdENvbW1pdEZpYmVyUm9vdD09ImZ1bmN0aW9uIil0cnl7bnQub25Qb3N0Q29tbWl0RmliZXJSb290KGllLG4pfWNhdGNoe31yZXR1cm4hMH1maW5hbGx5e0cucD1lLE4uVD1hLEx5KGwsdCl9fWZ1bmN0aW9uIHB5KGwsdCx1KXt0PUV0KHUsdCksdD1QYyhsLnN0YXRlTm9kZSx0LDIpLGw9RHUobCx0LDIpLGwhPT1udWxsJiYob2UobCwyKSwkdChsKSl9ZnVuY3Rpb24gYWwobCx0LHUpe2lmKGwudGFnPT09MylweShsLGwsdSk7ZWxzZSBmb3IoO3QhPT1udWxsOyl7aWYodC50YWc9PT0zKXtweSh0LGwsdSk7YnJlYWt9ZWxzZSBpZih0LnRhZz09PTEpe3ZhciBhPXQuc3RhdGVOb2RlO2lmKHR5cGVvZiB0LnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yPT0iZnVuY3Rpb24ifHx0eXBlb2YgYS5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKEJ1PT09bnVsbHx8IUJ1LmhhcyhhKSkpe2w9RXQodSxsKSx1PWpvKDIpLGE9RHUodCx1LDIpLGEhPT1udWxsJiYoWm8odSxhLHQsbCksb2UoYSwyKSwkdChhKSk7YnJlYWt9fXQ9dC5yZXR1cm59fWZ1bmN0aW9uIFhpKGwsdCx1KXt2YXIgYT1sLnBpbmdDYWNoZTtpZihhPT09bnVsbCl7YT1sLnBpbmdDYWNoZT1uZXcgQmQ7dmFyIGU9bmV3IFNldDthLnNldCh0LGUpfWVsc2UgZT1hLmdldCh0KSxlPT09dm9pZCAwJiYoZT1uZXcgU2V0LGEuc2V0KHQsZSkpO2UuaGFzKHUpfHwoRGk9ITAsZS5hZGQodSksbD1wZC5iaW5kKG51bGwsbCx0LHUpLHQudGhlbihsLGwpKX1mdW5jdGlvbiBwZChsLHQsdSl7dmFyIGE9bC5waW5nQ2FjaGU7YSE9PW51bGwmJmEuZGVsZXRlKHQpLGwucGluZ2VkTGFuZXN8PWwuc3VzcGVuZGVkTGFuZXMmdSxsLndhcm1MYW5lcyY9fnUsaWw9PT1sJiYoeCZ1KT09PXUmJigocmw9PT00fHxybD09PTMmJih4JjYyOTE0NTYwKT09PXgmJjMwMD5ldCgpLW1mKSYmKGsmMik9PT0wP0ZhKGwsMCk6eWZ8PXUsS2E9PT14JiYoS2E9MCkpLCR0KGwpfWZ1bmN0aW9uIHh5KGwsdCl7dD09PTAmJih0PU0wKCkpLGw9a3UobCx0KSxsIT09bnVsbCYmKG9lKGwsdCksJHQobCkpfWZ1bmN0aW9uIHhkKGwpe3ZhciB0PWwubWVtb2l6ZWRTdGF0ZSx1PTA7dCE9PW51bGwmJih1PXQucmV0cnlMYW5lKSx4eShsLHUpfWZ1bmN0aW9uIEtkKGwsdCl7dmFyIHU9MDtzd2l0Y2gobC50YWcpe2Nhc2UgMzE6Y2FzZSAxMzp2YXIgYT1sLnN0YXRlTm9kZSxlPWwubWVtb2l6ZWRTdGF0ZTtlIT09bnVsbCYmKHU9ZS5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6YT1sLnN0YXRlTm9kZTticmVhaztjYXNlIDIyOmE9bC5zdGF0ZU5vZGUuX3JldHJ5Q2FjaGU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihTKDMxNCkpfWEhPT1udWxsJiZhLmRlbGV0ZSh0KSx4eShsLHUpfWZ1bmN0aW9uIEpkKGwsdCl7cmV0dXJuIFpmKGwsdCl9dmFyIGthPW51bGwsUGE9bnVsbCxRaT0hMSxFZj0hMSxqaT0hMSxYdT0wO2Z1bmN0aW9uICR0KGwpe2whPT1QYSYmbC5uZXh0PT09bnVsbCYmKFBhPT09bnVsbD9rYT1QYT1sOlBhPVBhLm5leHQ9bCksRWY9ITAsUWl8fChRaT0hMCxXZCgpKX1mdW5jdGlvbiB4ZShsLHQpe2lmKCFqaSYmRWYpe2ppPSEwO2RvIGZvcih2YXIgdT0hMSxhPWthO2EhPT1udWxsOyl7aWYobCE9PTApe3ZhciBlPWEucGVuZGluZ0xhbmVzO2lmKGU9PT0wKXZhciBuPTA7ZWxzZXt2YXIgZj1hLnN1c3BlbmRlZExhbmVzLGM9YS5waW5nZWRMYW5lcztuPSgxPDwzMS1mdCg0MnxsKSsxKS0xLG4mPWUmfihmJn5jKSxuPW4mMjAxMzI2NzQxP24mMjAxMzI2NzQxfDE6bj9ufDI6MH1uIT09MCYmKHU9ITAsV3koYSxuKSl9ZWxzZSBuPXgsbj1vbihhLGE9PT1pbD9uOjAsYS5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbHx8YS50aW1lb3V0SGFuZGxlIT09LTEpLChuJjMpPT09MHx8dmUoYSxuKXx8KHU9ITAsV3koYSxuKSk7YT1hLm5leHR9d2hpbGUodSk7amk9ITF9fWZ1bmN0aW9uIHdkKCl7S3koKX1mdW5jdGlvbiBLeSgpe0VmPVFpPSExO3ZhciBsPTA7WHUhPT0wJiZucygpJiYobD1YdSk7Zm9yKHZhciB0PWV0KCksdT1udWxsLGE9a2E7YSE9PW51bGw7KXt2YXIgZT1hLm5leHQsbj1KeShhLHQpO249PT0wPyhhLm5leHQ9bnVsbCx1PT09bnVsbD9rYT1lOnUubmV4dD1lLGU9PT1udWxsJiYoUGE9dSkpOih1PWEsKGwhPT0wfHwobiYzKSE9PTApJiYoRWY9ITApKSxhPWV9aGwhPT0wJiZobCE9PTV8fHhlKGwpLFh1IT09MCYmKFh1PTApfWZ1bmN0aW9uIEp5KGwsdCl7Zm9yKHZhciB1PWwuc3VzcGVuZGVkTGFuZXMsYT1sLnBpbmdlZExhbmVzLGU9bC5leHBpcmF0aW9uVGltZXMsbj1sLnBlbmRpbmdMYW5lcyYtNjI5MTQ1NjE7MDxuOyl7dmFyIGY9MzEtZnQobiksYz0xPDxmLGk9ZVtmXTtpPT09LTE/KChjJnUpPT09MHx8KGMmYSkhPT0wKSYmKGVbZl09eTEoYyx0KSk6aTw9dCYmKGwuZXhwaXJlZExhbmVzfD1jKSxuJj1+Y31pZih0PWlsLHU9eCx1PW9uKGwsbD09PXQ/dTowLGwuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGx8fGwudGltZW91dEhhbmRsZSE9PS0xKSxhPWwuY2FsbGJhY2tOb2RlLHU9PT0wfHxsPT09dCYmKHVsPT09Mnx8dWw9PT05KXx8bC5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbClyZXR1cm4gYSE9PW51bGwmJmEhPT1udWxsJiZWZihhKSxsLmNhbGxiYWNrTm9kZT1udWxsLGwuY2FsbGJhY2tQcmlvcml0eT0wO2lmKCh1JjMpPT09MHx8dmUobCx1KSl7aWYodD11Ji11LHQ9PT1sLmNhbGxiYWNrUHJpb3JpdHkpcmV0dXJuIHQ7c3dpdGNoKGEhPT1udWxsJiZWZihhKSx4Zih1KSl7Y2FzZSAyOmNhc2UgODp1PUEwO2JyZWFrO2Nhc2UgMzI6dT1ubjticmVhaztjYXNlIDI2ODQzNTQ1Njp1PU4wO2JyZWFrO2RlZmF1bHQ6dT1ubn1yZXR1cm4gYT13eS5iaW5kKG51bGwsbCksdT1aZih1LGEpLGwuY2FsbGJhY2tQcmlvcml0eT10LGwuY2FsbGJhY2tOb2RlPXUsdH1yZXR1cm4gYSE9PW51bGwmJmEhPT1udWxsJiZWZihhKSxsLmNhbGxiYWNrUHJpb3JpdHk9MixsLmNhbGxiYWNrTm9kZT1udWxsLDJ9ZnVuY3Rpb24gd3kobCx0KXtpZihobCE9PTAmJmhsIT09NSlyZXR1cm4gbC5jYWxsYmFja05vZGU9bnVsbCxsLmNhbGxiYWNrUHJpb3JpdHk9MCxudWxsO3ZhciB1PWwuY2FsbGJhY2tOb2RlO2lmKFRmKCkmJmwuY2FsbGJhY2tOb2RlIT09dSlyZXR1cm4gbnVsbDt2YXIgYT14O3JldHVybiBhPW9uKGwsbD09PWlsP2E6MCxsLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsfHxsLnRpbWVvdXRIYW5kbGUhPT0tMSksYT09PTA/bnVsbDooSHkobCxhLHQpLEp5KGwsZXQoKSksbC5jYWxsYmFja05vZGUhPW51bGwmJmwuY2FsbGJhY2tOb2RlPT09dT93eS5iaW5kKG51bGwsbCk6bnVsbCl9ZnVuY3Rpb24gV3kobCx0KXtpZihUZigpKXJldHVybiBudWxsO0h5KGwsdCwhMCl9ZnVuY3Rpb24gV2QoKXtjcyhmdW5jdGlvbigpeyhrJjYpIT09MD9aZihPMCx3ZCk6S3koKX0pfWZ1bmN0aW9uIFppKCl7aWYoWHU9PT0wKXt2YXIgbD1lYTtsPT09MCYmKGw9Zm4sZm48PD0xLChmbiYyNjE4ODgpPT09MCYmKGZuPTI1NikpLFh1PWx9cmV0dXJuIFh1fWZ1bmN0aW9uICR5KGwpe3JldHVybiBsPT1udWxsfHx0eXBlb2YgbD09InN5bWJvbCJ8fHR5cGVvZiBsPT0iYm9vbGVhbiI/bnVsbDp0eXBlb2YgbD09ImZ1bmN0aW9uIj9sOmhuKGwpfWZ1bmN0aW9uICRkKGwsdCx1LGEsZSl7aWYodD09PSJzdWJtaXQiJiZ1JiZ1LnN0YXRlTm9kZT09PWUpe3ZhciBuPSR5KChlW1dsXXx8bnVsbCkuYWN0aW9uKSxmPWEuc3VibWl0dGVyO2YmJih0PSh0PWZbV2xdfHxudWxsKT8keSh0LmZvcm1BY3Rpb24pOmYuZ2V0QXR0cmlidXRlKCJmb3JtQWN0aW9uIiksdCE9PW51bGwmJihuPXQsZj1udWxsKSk7dmFyIGM9bmV3IFRuKCJhY3Rpb24iLCJhY3Rpb24iLG51bGwsYSxlKTtsLnB1c2goe2V2ZW50OmMsbGlzdGVuZXJzOlt7aW5zdGFuY2U6bnVsbCxsaXN0ZW5lcjpmdW5jdGlvbigpe2lmKGEuZGVmYXVsdFByZXZlbnRlZCl7aWYoWHUhPT0wKXt2YXIgaT1uZXcgRm9ybURhdGEoZSxmKTtXYyh1LHtwZW5kaW5nOiEwLGRhdGE6aSxtZXRob2Q6ZS5tZXRob2QsYWN0aW9uOm59LG51bGwsaSl9fWVsc2UgdHlwZW9mIG49PSJmdW5jdGlvbiImJihjLnByZXZlbnREZWZhdWx0KCksaT1uZXcgRm9ybURhdGEoZSxmKSxXYyh1LHtwZW5kaW5nOiEwLGRhdGE6aSxtZXRob2Q6ZS5tZXRob2QsYWN0aW9uOm59LG4saSkpfSxjdXJyZW50VGFyZ2V0OmV9XX0pfX1mb3IodmFyIFZpPTA7Vmk8bWMubGVuZ3RoO1ZpKyspe3ZhciBMaT1tY1tWaV0sRmQ9TGkudG9Mb3dlckNhc2UoKSxJZD1MaVswXS50b1VwcGVyQ2FzZSgpK0xpLnNsaWNlKDEpO010KEZkLCJvbiIrSWQpfU10KEV2LCJvbkFuaW1hdGlvbkVuZCIpLE10KHp2LCJvbkFuaW1hdGlvbkl0ZXJhdGlvbiIpLE10KGJ2LCJvbkFuaW1hdGlvblN0YXJ0IiksTXQoImRibGNsaWNrIiwib25Eb3VibGVDbGljayIpLE10KCJmb2N1c2luIiwib25Gb2N1cyIpLE10KCJmb2N1c291dCIsIm9uQmx1ciIpLE10KGZkLCJvblRyYW5zaXRpb25SdW4iKSxNdChjZCwib25UcmFuc2l0aW9uU3RhcnQiKSxNdChpZCwib25UcmFuc2l0aW9uQ2FuY2VsIiksTXQoX3YsIm9uVHJhbnNpdGlvbkVuZCIpLHphKCJvbk1vdXNlRW50ZXIiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSksemEoIm9uTW91c2VMZWF2ZSIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSx6YSgib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHphKCJvblBvaW50ZXJMZWF2ZSIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksJHUoIm9uQ2hhbmdlIiwiY2hhbmdlIGNsaWNrIGZvY3VzaW4gZm9jdXNvdXQgaW5wdXQga2V5ZG93biBrZXl1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIikpLCR1KCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksJHUoIm9uQmVmb3JlSW5wdXQiLFsiY29tcG9zaXRpb25lbmQiLCJrZXlwcmVzcyIsInRleHRJbnB1dCIsInBhc3RlIl0pLCR1KCJvbkNvbXBvc2l0aW9uRW5kIiwiY29tcG9zaXRpb25lbmQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLCR1KCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSwkdSgib25Db21wb3NpdGlvblVwZGF0ZSIsImNvbXBvc2l0aW9udXBkYXRlIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKTt2YXIgS2U9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLGtkPW5ldyBTZXQoImJlZm9yZXRvZ2dsZSBjYW5jZWwgY2xvc2UgaW52YWxpZCBsb2FkIHNjcm9sbCBzY3JvbGxlbmQgdG9nZ2xlIi5zcGxpdCgiICIpLmNvbmNhdChLZSkpO2Z1bmN0aW9uIEZ5KGwsdCl7dD0odCY0KSE9PTA7Zm9yKHZhciB1PTA7dTxsLmxlbmd0aDt1Kyspe3ZhciBhPWxbdV0sZT1hLmV2ZW50O2E9YS5saXN0ZW5lcnM7bDp7dmFyIG49dm9pZCAwO2lmKHQpZm9yKHZhciBmPWEubGVuZ3RoLTE7MDw9ZjtmLS0pe3ZhciBjPWFbZl0saT1jLmluc3RhbmNlLGQ9Yy5jdXJyZW50VGFyZ2V0O2lmKGM9Yy5saXN0ZW5lcixpIT09biYmZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGw7bj1jLGUuY3VycmVudFRhcmdldD1kO3RyeXtuKGUpfWNhdGNoKGcpe2JuKGcpfWUuY3VycmVudFRhcmdldD1udWxsLG49aX1lbHNlIGZvcihmPTA7ZjxhLmxlbmd0aDtmKyspe2lmKGM9YVtmXSxpPWMuaW5zdGFuY2UsZD1jLmN1cnJlbnRUYXJnZXQsYz1jLmxpc3RlbmVyLGkhPT1uJiZlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgbDtuPWMsZS5jdXJyZW50VGFyZ2V0PWQ7dHJ5e24oZSl9Y2F0Y2goZyl7Ym4oZyl9ZS5jdXJyZW50VGFyZ2V0PW51bGwsbj1pfX19fWZ1bmN0aW9uIHAobCx0KXt2YXIgdT10W3EwXTt1PT09dm9pZCAwJiYodT10W3EwXT1uZXcgU2V0KTt2YXIgYT1sKyJfX2J1YmJsZSI7dS5oYXMoYSl8fChJeSh0LGwsMiwhMSksdS5hZGQoYSkpfWZ1bmN0aW9uIHBpKGwsdCx1KXt2YXIgYT0wO3QmJihhfD00KSxJeSh1LGwsYSx0KX12YXIgemY9Il9yZWFjdExpc3RlbmluZyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMik7ZnVuY3Rpb24geGkobCl7aWYoIWxbemZdKXtsW3pmXT0hMCxYMC5mb3JFYWNoKGZ1bmN0aW9uKHUpe3UhPT0ic2VsZWN0aW9uY2hhbmdlIiYmKGtkLmhhcyh1KXx8cGkodSwhMSxsKSxwaSh1LCEwLGwpKX0pO3ZhciB0PWwubm9kZVR5cGU9PT05P2w6bC5vd25lckRvY3VtZW50O3Q9PT1udWxsfHx0W3pmXXx8KHRbemZdPSEwLHBpKCJzZWxlY3Rpb25jaGFuZ2UiLCExLHQpKX19ZnVuY3Rpb24gSXkobCx0LHUsYSl7c3dpdGNoKFptKHQpKXtjYXNlIDI6dmFyIGU9eHM7YnJlYWs7Y2FzZSA4OmU9S3M7YnJlYWs7ZGVmYXVsdDplPW8wfXU9ZS5iaW5kKG51bGwsdCx1LGwpLGU9dm9pZCAwLCFrZnx8dCE9PSJ0b3VjaHN0YXJ0IiYmdCE9PSJ0b3VjaG1vdmUiJiZ0IT09IndoZWVsInx8KGU9ITApLGE/ZSE9PXZvaWQgMD9sLmFkZEV2ZW50TGlzdGVuZXIodCx1LHtjYXB0dXJlOiEwLHBhc3NpdmU6ZX0pOmwuYWRkRXZlbnRMaXN0ZW5lcih0LHUsITApOmUhPT12b2lkIDA/bC5hZGRFdmVudExpc3RlbmVyKHQsdSx7cGFzc2l2ZTplfSk6bC5hZGRFdmVudExpc3RlbmVyKHQsdSwhMSl9ZnVuY3Rpb24gS2kobCx0LHUsYSxlKXt2YXIgbj1hO2lmKCh0JjEpPT09MCYmKHQmMik9PT0wJiZhIT09bnVsbClsOmZvcig7Oyl7aWYoYT09PW51bGwpcmV0dXJuO3ZhciBmPWEudGFnO2lmKGY9PT0zfHxmPT09NCl7dmFyIGM9YS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihjPT09ZSlicmVhaztpZihmPT09NClmb3IoZj1hLnJldHVybjtmIT09bnVsbDspe3ZhciBpPWYudGFnO2lmKChpPT09M3x8aT09PTQpJiZmLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09ZSlyZXR1cm47Zj1mLnJldHVybn1mb3IoO2MhPT1udWxsOyl7aWYoZj1XdShjKSxmPT09bnVsbClyZXR1cm47aWYoaT1mLnRhZyxpPT09NXx8aT09PTZ8fGk9PT0yNnx8aT09PTI3KXthPW49Zjtjb250aW51ZSBsfWM9Yy5wYXJlbnROb2RlfX1hPWEucmV0dXJufUYwKGZ1bmN0aW9uKCl7dmFyIGQ9bixnPUZmKHUpLEU9W107bDp7dmFyIHk9T3YuZ2V0KGwpO2lmKHkhPT12b2lkIDApe3ZhciBoPVRuLGI9bDtzd2l0Y2gobCl7Y2FzZSJrZXlwcmVzcyI6aWYoU24odSk9PT0wKWJyZWFrIGw7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjpoPUcxO2JyZWFrO2Nhc2UiZm9jdXNpbiI6Yj0iZm9jdXMiLGg9dWM7YnJlYWs7Y2FzZSJmb2N1c291dCI6Yj0iYmx1ciIsaD11YzticmVhaztjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpoPXVjO2JyZWFrO2Nhc2UiY2xpY2siOmlmKHUuYnV0dG9uPT09MilicmVhayBsO2Nhc2UiYXV4Y2xpY2siOmNhc2UiZGJsY2xpY2siOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZXVwIjpjYXNlIm1vdXNlb3V0IjpjYXNlIm1vdXNlb3ZlciI6Y2FzZSJjb250ZXh0bWVudSI6aD1QMDticmVhaztjYXNlImRyYWciOmNhc2UiZHJhZ2VuZCI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpoPU8xO2JyZWFrO2Nhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2htb3ZlIjpjYXNlInRvdWNoc3RhcnQiOmg9VjE7YnJlYWs7Y2FzZSBFdjpjYXNlIHp2OmNhc2UgYnY6aD1EMTticmVhaztjYXNlIF92Omg9cDE7YnJlYWs7Y2FzZSJzY3JvbGwiOmNhc2Uic2Nyb2xsZW5kIjpoPWIxO2JyZWFrO2Nhc2Uid2hlZWwiOmg9SzE7YnJlYWs7Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJwYXN0ZSI6aD1VMTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcnVwIjpoPXR2O2JyZWFrO2Nhc2Uic3VibWl0IjpoPWoxO2JyZWFrO2Nhc2UidG9nZ2xlIjpjYXNlImJlZm9yZXRvZ2dsZSI6aD13MX12YXIgQT0odCY0KSE9PTAsaj0hQSYmKGw9PT0ic2Nyb2xsInx8bD09PSJzY3JvbGxlbmQiKSxtPUE/eSE9PW51bGw/eSsiQ2FwdHVyZSI6bnVsbDp5O0E9W107Zm9yKHZhciB2PWQsczt2IT09bnVsbDspe3ZhciByPXY7aWYocz1yLnN0YXRlTm9kZSxyPXIudGFnLHIhPT01JiZyIT09MjYmJnIhPT0yN3x8cz09PW51bGx8fG09PT1udWxsfHwocj1kZSh2LG0pLHIhPW51bGwmJkEucHVzaChKZSh2LHIscykpKSxqKWJyZWFrO3Y9di5yZXR1cm59MDxBLmxlbmd0aCYmKHk9bmV3IGgoeSxiLG51bGwsdSxnKSxFLnB1c2goe2V2ZW50OnksbGlzdGVuZXJzOkF9KSl9fWlmKCh0JjcpPT09MCl7bDp7aWYoaD1sPT09Im1vdXNlb3ZlciJ8fGw9PT0icG9pbnRlcm92ZXIiLHk9bD09PSJtb3VzZW91dCJ8fGw9PT0icG9pbnRlcm91dCIsaCYmdSE9PSRmJiYoYj11LnJlbGF0ZWRUYXJnZXR8fHUuZnJvbUVsZW1lbnQpJiYoV3UoYil8fGJbcmFdKSlicmVhayBsOyh5fHxoKSYmKGI9Zy53aW5kb3c9PT1nP2c6KGg9Zy5vd25lckRvY3VtZW50KT9oLmRlZmF1bHRWaWV3fHxoLnBhcmVudFdpbmRvdzp3aW5kb3cseT8oaD11LnJlbGF0ZWRUYXJnZXR8fHUudG9FbGVtZW50LHk9ZCxoPWg/V3UoaCk6bnVsbCxoIT09bnVsbCYmKGo9c2woaCksQT1oLnRhZyxoIT09anx8QSE9PTUmJkEhPT0yNyYmQSE9PTYpJiYoaD1udWxsKSk6KHk9bnVsbCxoPWQpLHkhPT1oJiYoQT1QMCxyPSJvbk1vdXNlTGVhdmUiLG09Im9uTW91c2VFbnRlciIsdj0ibW91c2UiLChsPT09InBvaW50ZXJvdXQifHxsPT09InBvaW50ZXJvdmVyIikmJihBPXR2LHI9Im9uUG9pbnRlckxlYXZlIixtPSJvblBvaW50ZXJFbnRlciIsdj0icG9pbnRlciIpLGo9eT09bnVsbD9iOm1lKHkpLHM9aD09bnVsbD9iOm1lKGgpLGI9bmV3IEEocix2KyJsZWF2ZSIseSx1LGcpLGIudGFyZ2V0PWosYi5yZWxhdGVkVGFyZ2V0PXMscj1udWxsLFd1KGcpPT09ZCYmKEE9bmV3IEEobSx2KyJlbnRlciIsaCx1LGcpLEEudGFyZ2V0PXMsQS5yZWxhdGVkVGFyZ2V0PWoscj1BKSxqPXIsQT15JiZoP3V0KHksaCxQZCk6bnVsbCx5IT09bnVsbCYma3koRSxiLHksQSwhMSksaCE9PW51bGwmJmohPT1udWxsJiZreShFLGosaCxBLCEwKSkpfWw6e2lmKHk9ZD9tZShkKTp3aW5kb3csaD15Lm5vZGVOYW1lJiZ5Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksaD09PSJzZWxlY3QifHxoPT09ImlucHV0IiYmeS50eXBlPT09ImZpbGUiKXZhciBPPXZ2O2Vsc2UgaWYoY3YoeSkpaWYob3YpTz1hZDtlbHNle089dGQ7dmFyIEs9bGR9ZWxzZSBoPXkubm9kZU5hbWUsIWh8fGgudG9Mb3dlckNhc2UoKSE9PSJpbnB1dCJ8fHkudHlwZSE9PSJjaGVja2JveCImJnkudHlwZSE9PSJyYWRpbyI/ZCYmV2YoZC5lbGVtZW50VHlwZSkmJihPPXZ2KTpPPXVkO2lmKE8mJihPPU8obCxkKSkpe2l2KEUsTyx1LGcpO2JyZWFrIGx9SyYmSyhsLHksZCl9c3dpdGNoKEs9ZD9tZShkKTp3aW5kb3csbCl7Y2FzZSJmb2N1c2luIjooY3YoSyl8fEsuY29udGVudEVkaXRhYmxlPT09InRydWUiKSYmKERhPUssdmM9ZCx6ZT1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp6ZT12Yz1EYT1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpvYz0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6b2M9ITEscnYoRSx1LGcpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihuZClicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOnJ2KEUsdSxnKX12YXIgTTtpZihlYylsOntzd2l0Y2gobCl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgUj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBsO2Nhc2UiY29tcG9zaXRpb25lbmQiOlI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGw7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Uj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgbH1SPXZvaWQgMH1lbHNlIE5hP252KGwsdSkmJihSPSJvbkNvbXBvc2l0aW9uRW5kIik6bD09PSJrZXlkb3duIiYmdS5rZXlDb2RlPT09MjI5JiYoUj0ib25Db21wb3NpdGlvblN0YXJ0Iik7UiYmKHV2JiZ1LmxvY2FsZSE9PSJrbyImJihOYXx8UiE9PSJvbkNvbXBvc2l0aW9uU3RhcnQiP1I9PT0ib25Db21wb3NpdGlvbkVuZCImJk5hJiYoTT1JMCgpKToocnU9ZyxQZj0idmFsdWUiaW4gcnU/cnUudmFsdWU6cnUudGV4dENvbnRlbnQsTmE9ITApKSxLPWJmKGQsUiksMDxLLmxlbmd0aCYmKFI9bmV3IGx2KFIsbCxudWxsLHUsZyksRS5wdXNoKHtldmVudDpSLGxpc3RlbmVyczpLfSksTT9SLmRhdGE9TTooTT1mdih1KSxNIT09bnVsbCYmKFIuZGF0YT1NKSkpKSwoTT0kMT9GMShsLHUpOkkxKGwsdSkpJiYoUj1iZihkLCJvbkJlZm9yZUlucHV0IiksMDxSLmxlbmd0aCYmKEs9bmV3IGx2KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdSxnKSxFLnB1c2goe2V2ZW50OkssbGlzdGVuZXJzOlJ9KSxLLmRhdGE9TSkpLCRkKEUsbCxkLHUsZyl9RnkoRSx0KX0pfWZ1bmN0aW9uIEplKGwsdCx1KXtyZXR1cm57aW5zdGFuY2U6bCxsaXN0ZW5lcjp0LGN1cnJlbnRUYXJnZXQ6dX19ZnVuY3Rpb24gYmYobCx0KXtmb3IodmFyIHU9dCsiQ2FwdHVyZSIsYT1bXTtsIT09bnVsbDspe3ZhciBlPWwsbj1lLnN0YXRlTm9kZTtpZihlPWUudGFnLGUhPT01JiZlIT09MjYmJmUhPT0yN3x8bj09PW51bGx8fChlPWRlKGwsdSksZSE9bnVsbCYmYS51bnNoaWZ0KEplKGwsZSxuKSksZT1kZShsLHQpLGUhPW51bGwmJmEucHVzaChKZShsLGUsbikpKSxsLnRhZz09PTMpcmV0dXJuIGE7bD1sLnJldHVybn1yZXR1cm5bXX1mdW5jdGlvbiBQZChsKXtpZihsPT09bnVsbClyZXR1cm4gbnVsbDtkbyBsPWwucmV0dXJuO3doaWxlKGwmJmwudGFnIT09NSYmbC50YWchPT0yNyk7cmV0dXJuIGx8fG51bGx9ZnVuY3Rpb24ga3kobCx0LHUsYSxlKXtmb3IodmFyIG49dC5fcmVhY3ROYW1lLGY9W107dSE9PW51bGwmJnUhPT1hOyl7dmFyIGM9dSxpPWMuYWx0ZXJuYXRlLGQ9Yy5zdGF0ZU5vZGU7aWYoYz1jLnRhZyxpIT09bnVsbCYmaT09PWEpYnJlYWs7YyE9PTUmJmMhPT0yNiYmYyE9PTI3fHxkPT09bnVsbHx8KGk9ZCxlPyhkPWRlKHUsbiksZCE9bnVsbCYmZi51bnNoaWZ0KEplKHUsZCxpKSkpOmV8fChkPWRlKHUsbiksZCE9bnVsbCYmZi5wdXNoKEplKHUsZCxpKSkpKSx1PXUucmV0dXJufWYubGVuZ3RoIT09MCYmbC5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpmfSl9dmFyIGxzPS9cclxuPy9nLHRzPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gUHkobCl7cmV0dXJuKHR5cGVvZiBsPT0ic3RyaW5nIj9sOiIiK2wpLnJlcGxhY2UobHMsYApgKS5yZXBsYWNlKHRzLCIiKX1mdW5jdGlvbiBsbShsLHQpe3JldHVybiB0PVB5KHQpLFB5KGwpPT09dH1mdW5jdGlvbiBlbChsLHQsdSxhLGUsbil7c3dpdGNoKHUpe2Nhc2UiY2hpbGRyZW4iOmlmKHR5cGVvZiBhPT0ic3RyaW5nIil0PT09ImJvZHkifHx0PT09InRleHRhcmVhIiYmYT09PSIifHxfYShsLGEpO2Vsc2UgaWYodHlwZW9mIGE9PSJudW1iZXIifHx0eXBlb2YgYT09ImJpZ2ludCIpdCE9PSJib2R5IiYmX2EobCwiIithKTtlbHNlIHJldHVybjticmVhaztjYXNlImNsYXNzTmFtZSI6c24obCwiY2xhc3MiLGEpO2JyZWFrO2Nhc2UidGFiSW5kZXgiOnNuKGwsInRhYmluZGV4IixhKTticmVhaztjYXNlImRpciI6Y2FzZSJyb2xlIjpjYXNlInZpZXdCb3giOmNhc2Uid2lkdGgiOmNhc2UiaGVpZ2h0IjpzbihsLHUsYSk7YnJlYWs7Y2FzZSJzdHlsZSI6VzAobCxhLG4pO3JldHVybjtjYXNlImRhdGEiOmlmKHQhPT0ib2JqZWN0Iil7c24obCwiZGF0YSIsYSk7YnJlYWt9Y2FzZSJzcmMiOmNhc2UiaHJlZiI6aWYoYT09PSIiJiYodCE9PSJhInx8dSE9PSJocmVmIikpe2wucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrfWlmKGE9PW51bGx8fHR5cGVvZiBhPT0iZnVuY3Rpb24ifHx0eXBlb2YgYT09InN5bWJvbCJ8fHR5cGVvZiBhPT0iYm9vbGVhbiIpe2wucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrfWE9aG4oYSksbC5zZXRBdHRyaWJ1dGUodSxhKTticmVhaztjYXNlImFjdGlvbiI6Y2FzZSJmb3JtQWN0aW9uIjppZih0eXBlb2YgYT09ImZ1bmN0aW9uIil7bC5zZXRBdHRyaWJ1dGUodSwiamF2YXNjcmlwdDp0aHJvdyBuZXcgRXJyb3IoJ0EgUmVhY3QgZm9ybSB3YXMgdW5leHBlY3RlZGx5IHN1Ym1pdHRlZC4gSWYgeW91IGNhbGxlZCBmb3JtLnN1Ym1pdCgpIG1hbnVhbGx5LCBjb25zaWRlciB1c2luZyBmb3JtLnJlcXVlc3RTdWJtaXQoKSBpbnN0ZWFkLiBJZiB5b3VcXCdyZSB0cnlpbmcgdG8gdXNlIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIGluIGEgc3VibWl0IGV2ZW50IGhhbmRsZXIsIGNvbnNpZGVyIGFsc28gY2FsbGluZyBldmVudC5wcmV2ZW50RGVmYXVsdCgpLicpIik7YnJlYWt9ZWxzZSB0eXBlb2Ygbj09ImZ1bmN0aW9uIiYmKHU9PT0iZm9ybUFjdGlvbiI/KHQhPT0iaW5wdXQiJiZlbChsLHQsIm5hbWUiLGUubmFtZSxlLG51bGwpLGVsKGwsdCwiZm9ybUVuY1R5cGUiLGUuZm9ybUVuY1R5cGUsZSxudWxsKSxlbChsLHQsImZvcm1NZXRob2QiLGUuZm9ybU1ldGhvZCxlLG51bGwpLGVsKGwsdCwiZm9ybVRhcmdldCIsZS5mb3JtVGFyZ2V0LGUsbnVsbCkpOihlbChsLHQsImVuY1R5cGUiLGUuZW5jVHlwZSxlLG51bGwpLGVsKGwsdCwibWV0aG9kIixlLm1ldGhvZCxlLG51bGwpLGVsKGwsdCwidGFyZ2V0IixlLnRhcmdldCxlLG51bGwpKSk7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzeW1ib2wifHx0eXBlb2YgYT09ImJvb2xlYW4iKXtsLnJlbW92ZUF0dHJpYnV0ZSh1KTticmVha31hPWhuKGEpLGwuc2V0QXR0cmlidXRlKHUsYSk7YnJlYWs7Y2FzZSJvbkNsaWNrIjphIT1udWxsJiYobC5vbmNsaWNrPWp0KTtyZXR1cm47Y2FzZSJvblNjcm9sbCI6YSE9bnVsbCYmcCgic2Nyb2xsIixsKTtyZXR1cm47Y2FzZSJvblNjcm9sbEVuZCI6YSE9bnVsbCYmcCgic2Nyb2xsZW5kIixsKTtyZXR1cm47Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoYSE9bnVsbCl7aWYodHlwZW9mIGEhPSJvYmplY3QifHwhKCJfX2h0bWwiaW4gYSkpdGhyb3cgRXJyb3IoUyg2MSkpO2lmKHU9YS5fX2h0bWwsdSE9bnVsbCl7aWYoZS5jaGlsZHJlbiE9bnVsbCl0aHJvdyBFcnJvcihTKDYwKSk7bj8uX19odG1sIT09dSYmKGwuaW5uZXJIVE1MPXUpfX1icmVhaztjYXNlIm11bHRpcGxlIjpsLm11bHRpcGxlPWEmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI7YnJlYWs7Y2FzZSJtdXRlZCI6bC5tdXRlZD1hJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiO2JyZWFrO2Nhc2Uic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIjpjYXNlInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyI6Y2FzZSJkZWZhdWx0VmFsdWUiOmNhc2UiZGVmYXVsdENoZWNrZWQiOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6YnJlYWs7Y2FzZSJhdXRvRm9jdXMiOmJyZWFrO2Nhc2UieGxpbmtIcmVmIjppZihhPT1udWxsfHx0eXBlb2YgYT09ImZ1bmN0aW9uInx8dHlwZW9mIGE9PSJib29sZWFuInx8dHlwZW9mIGE9PSJzeW1ib2wiKXtsLnJlbW92ZUF0dHJpYnV0ZSgieGxpbms6aHJlZiIpO2JyZWFrfXU9aG4oYSksbC5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmhyZWYiLHUpO2JyZWFrO2Nhc2UiY29udGVudEVkaXRhYmxlIjpjYXNlInNwZWxsQ2hlY2siOmNhc2UiZHJhZ2dhYmxlIjpjYXNlInZhbHVlIjpjYXNlImF1dG9SZXZlcnNlIjpjYXNlImV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQiOmNhc2UiZm9jdXNhYmxlIjpjYXNlInByZXNlcnZlQWxwaGEiOmEhPW51bGwmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI/bC5zZXRBdHRyaWJ1dGUodSxhKTpsLnJlbW92ZUF0dHJpYnV0ZSh1KTticmVhaztjYXNlImluZXJ0IjpjYXNlImFsbG93RnVsbFNjcmVlbiI6Y2FzZSJhc3luYyI6Y2FzZSJhdXRvUGxheSI6Y2FzZSJjb250cm9scyI6Y2FzZSJjcmVkZW50aWFsbGVzcyI6Y2FzZSJkZWZhdWx0IjpjYXNlImRlZmVyIjpjYXNlImRpc2FibGVkIjpjYXNlImRpc2FibGVQaWN0dXJlSW5QaWN0dXJlIjpjYXNlImRpc2FibGVSZW1vdGVQbGF5YmFjayI6Y2FzZSJmb3JtTm9WYWxpZGF0ZSI6Y2FzZSJoaWRkZW4iOmNhc2UibG9vcCI6Y2FzZSJub01vZHVsZSI6Y2FzZSJub1ZhbGlkYXRlIjpjYXNlIm9wZW4iOmNhc2UicGxheXNJbmxpbmUiOmNhc2UicmVhZE9ubHkiOmNhc2UicmVxdWlyZWQiOmNhc2UicmV2ZXJzZWQiOmNhc2Uic2NvcGVkIjpjYXNlInNlYW1sZXNzIjpjYXNlIml0ZW1TY29wZSI6YSYmdHlwZW9mIGEhPSJmdW5jdGlvbiImJnR5cGVvZiBhIT0ic3ltYm9sIj9sLnNldEF0dHJpYnV0ZSh1LCIiKTpsLnJlbW92ZUF0dHJpYnV0ZSh1KTticmVhaztjYXNlImNhcHR1cmUiOmNhc2UiZG93bmxvYWQiOmE9PT0hMD9sLnNldEF0dHJpYnV0ZSh1LCIiKTphIT09ITEmJmEhPW51bGwmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI/bC5zZXRBdHRyaWJ1dGUodSxhKTpsLnJlbW92ZUF0dHJpYnV0ZSh1KTticmVhaztjYXNlImNvbHMiOmNhc2Uicm93cyI6Y2FzZSJzaXplIjpjYXNlInNwYW4iOmEhPW51bGwmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCImJiFpc05hTihhKSYmMTw9YT9sLnNldEF0dHJpYnV0ZSh1LGEpOmwucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrO2Nhc2Uicm93U3BhbiI6Y2FzZSJzdGFydCI6YT09bnVsbHx8dHlwZW9mIGE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBhPT0ic3ltYm9sInx8aXNOYU4oYSk/bC5yZW1vdmVBdHRyaWJ1dGUodSk6bC5zZXRBdHRyaWJ1dGUodSxhKTticmVhaztjYXNlInBvcG92ZXIiOnAoImJlZm9yZXRvZ2dsZSIsbCkscCgidG9nZ2xlIixsKSxkbihsLCJwb3BvdmVyIixhKTticmVhaztjYXNlInhsaW5rQWN0dWF0ZSI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFjdHVhdGUiLGEpO2JyZWFrO2Nhc2UieGxpbmtBcmNyb2xlIjpQdChsLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6YXJjcm9sZSIsYSk7YnJlYWs7Y2FzZSJ4bGlua1JvbGUiOlB0KGwsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpyb2xlIixhKTticmVhaztjYXNlInhsaW5rU2hvdyI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnNob3ciLGEpO2JyZWFrO2Nhc2UieGxpbmtUaXRsZSI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnRpdGxlIixhKTticmVhaztjYXNlInhsaW5rVHlwZSI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnR5cGUiLGEpO2JyZWFrO2Nhc2UieG1sQmFzZSI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOmJhc2UiLGEpO2JyZWFrO2Nhc2UieG1sTGFuZyI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOmxhbmciLGEpO2JyZWFrO2Nhc2UieG1sU3BhY2UiOlB0KGwsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpzcGFjZSIsYSk7YnJlYWs7Y2FzZSJpcyI6ZG4obCwiaXMiLGEpO2JyZWFrO2Nhc2UiaW5uZXJUZXh0IjpjYXNlInRleHRDb250ZW50IjpyZXR1cm47ZGVmYXVsdDppZighKDI8dS5sZW5ndGgpfHx1WzBdIT09Im8iJiZ1WzBdIT09Ik8ifHx1WzFdIT09Im4iJiZ1WzFdIT09Ik4iKXU9RTEuZ2V0KHUpfHx1LGRuKGwsdSxhKTtlbHNlIHJldHVybn0kPSEwfWZ1bmN0aW9uIEppKGwsdCx1LGEsZSxuKXtzd2l0Y2godSl7Y2FzZSJzdHlsZSI6VzAobCxhLG4pO3JldHVybjtjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihhIT1udWxsKXtpZih0eXBlb2YgYSE9Im9iamVjdCJ8fCEoIl9faHRtbCJpbiBhKSl0aHJvdyBFcnJvcihTKDYxKSk7aWYodT1hLl9faHRtbCx1IT1udWxsKXtpZihlLmNoaWxkcmVuIT1udWxsKXRocm93IEVycm9yKFMoNjApKTtuPy5fX2h0bWwhPT11JiYobC5pbm5lckhUTUw9dSl9fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOmlmKHR5cGVvZiBhPT0ic3RyaW5nIilfYShsLGEpO2Vsc2UgaWYodHlwZW9mIGE9PSJudW1iZXIifHx0eXBlb2YgYT09ImJpZ2ludCIpX2EobCwiIithKTtlbHNlIHJldHVybjticmVhaztjYXNlIm9uU2Nyb2xsIjphIT1udWxsJiZwKCJzY3JvbGwiLGwpO3JldHVybjtjYXNlIm9uU2Nyb2xsRW5kIjphIT1udWxsJiZwKCJzY3JvbGxlbmQiLGwpO3JldHVybjtjYXNlIm9uQ2xpY2siOmEhPW51bGwmJihsLm9uY2xpY2s9anQpO3JldHVybjtjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6cmV0dXJuO2Nhc2UiaW5uZXJUZXh0IjpjYXNlInRleHRDb250ZW50IjpyZXR1cm47ZGVmYXVsdDppZighUTAuaGFzT3duUHJvcGVydHkodSkpbDp7aWYodVswXT09PSJvIiYmdVsxXT09PSJuIiYmKGU9dS5lbmRzV2l0aCgiQ2FwdHVyZSIpLG49dS5zbGljZSgyLGU/dS5sZW5ndGgtNzp2b2lkIDApLHQ9bFtXbF18fG51bGwsdD10IT1udWxsP3RbdV06bnVsbCx0eXBlb2YgdD09ImZ1bmN0aW9uIiYmbC5yZW1vdmVFdmVudExpc3RlbmVyKG4sdCxlKSx0eXBlb2YgYT09ImZ1bmN0aW9uIikpe3R5cGVvZiB0IT0iZnVuY3Rpb24iJiZ0IT09bnVsbCYmKHUgaW4gbD9sW3VdPW51bGw6bC5oYXNBdHRyaWJ1dGUodSkmJmwucmVtb3ZlQXR0cmlidXRlKHUpKSxsLmFkZEV2ZW50TGlzdGVuZXIobixhLGUpO2JyZWFrIGx9JD0hMCx1IGluIGw/bFt1XT1hOmE9PT0hMD9sLnNldEF0dHJpYnV0ZSh1LCIiKTpkbihsLHUsYSl9cmV0dXJufSQ9ITB9ZnVuY3Rpb24gamwobCx0LHUpe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImltZyI6cCgiZXJyb3IiLGwpLHAoImxvYWQiLGwpO3ZhciBhPSExLGU9ITEsbjtmb3IobiBpbiB1KWlmKHUuaGFzT3duUHJvcGVydHkobikpe3ZhciBmPXVbbl07aWYoZiE9bnVsbClzd2l0Y2gobil7Y2FzZSJzcmMiOmE9ITA7YnJlYWs7Y2FzZSJzcmNTZXQiOmU9ITA7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6dGhyb3cgRXJyb3IoUygxMzcsdCkpO2RlZmF1bHQ6ZWwobCx0LG4sZix1LG51bGwpfX1lJiZlbChsLHQsInNyY1NldCIsdS5zcmNTZXQsdSxudWxsKSxhJiZlbChsLHQsInNyYyIsdS5zcmMsdSxudWxsKTtyZXR1cm47Y2FzZSJpbnB1dCI6cCgiaW52YWxpZCIsbCk7dmFyIGM9bj1mPWU9bnVsbCxpPW51bGwsZD1udWxsO2ZvcihhIGluIHUpaWYodS5oYXNPd25Qcm9wZXJ0eShhKSl7dmFyIGc9dVthXTtpZihnIT1udWxsKXN3aXRjaChhKXtjYXNlIm5hbWUiOmU9ZzticmVhaztjYXNlInR5cGUiOmY9ZzticmVhaztjYXNlImNoZWNrZWQiOmk9ZzticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpkPWc7YnJlYWs7Y2FzZSJ2YWx1ZSI6bj1nO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpjPWc7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoZyE9bnVsbCl0aHJvdyBFcnJvcihTKDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDplbChsLHQsYSxnLHUsbnVsbCl9fXgwKGwsbixjLGksZCxmLGUsITEpO3JldHVybjtjYXNlInNlbGVjdCI6cCgiaW52YWxpZCIsbCksYT1mPW49bnVsbDtmb3IoZSBpbiB1KWlmKHUuaGFzT3duUHJvcGVydHkoZSkmJihjPXVbZV0sYyE9bnVsbCkpc3dpdGNoKGUpe2Nhc2UidmFsdWUiOm49YzticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6Zj1jO2JyZWFrO2Nhc2UibXVsdGlwbGUiOmE9YztkZWZhdWx0OmVsKGwsdCxlLGMsdSxudWxsKX10PW4sdT1mLGwubXVsdGlwbGU9ISFhLHQhPW51bGw/YmEobCwhIWEsdCwhMSk6dSE9bnVsbCYmYmEobCwhIWEsdSwhMCk7cmV0dXJuO2Nhc2UidGV4dGFyZWEiOnAoImludmFsaWQiLGwpLG49ZT1hPW51bGw7Zm9yKGYgaW4gdSlpZih1Lmhhc093blByb3BlcnR5KGYpJiYoYz11W2ZdLGMhPW51bGwpKXN3aXRjaChmKXtjYXNlInZhbHVlIjphPWM7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmU9YzticmVhaztjYXNlImNoaWxkcmVuIjpuPWM7YnJlYWs7Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoYyE9bnVsbCl0aHJvdyBFcnJvcihTKDkxKSk7YnJlYWs7ZGVmYXVsdDplbChsLHQsZixjLHUsbnVsbCl9SjAobCxhLGUsbik7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IoaSBpbiB1KXUuaGFzT3duUHJvcGVydHkoaSkmJihhPXVbaV0sYSE9bnVsbCkmJihpPT09InNlbGVjdGVkIj9sLnNlbGVjdGVkPWEmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI6ZWwobCx0LGksYSx1LG51bGwpKTtyZXR1cm47Y2FzZSJkaWFsb2ciOnAoImJlZm9yZXRvZ2dsZSIsbCkscCgidG9nZ2xlIixsKSxwKCJjYW5jZWwiLGwpLHAoImNsb3NlIixsKTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOnAoImxvYWQiLGwpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihhPTA7YTxLZS5sZW5ndGg7YSsrKXAoS2VbYV0sbCk7YnJlYWs7Y2FzZSJpbWFnZSI6cCgiZXJyb3IiLGwpLHAoImxvYWQiLGwpO2JyZWFrO2Nhc2UiZGV0YWlscyI6cCgidG9nZ2xlIixsKTticmVhaztjYXNlImVtYmVkIjpjYXNlInNvdXJjZSI6Y2FzZSJsaW5rIjpwKCJlcnJvciIsbCkscCgibG9hZCIsbCk7Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInRyYWNrIjpjYXNlIndiciI6Y2FzZSJtZW51aXRlbSI6Zm9yKGQgaW4gdSlpZih1Lmhhc093blByb3BlcnR5KGQpJiYoYT11W2RdLGEhPW51bGwpKXN3aXRjaChkKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjp0aHJvdyBFcnJvcihTKDEzNyx0KSk7ZGVmYXVsdDplbChsLHQsZCxhLHUsbnVsbCl9cmV0dXJuO2RlZmF1bHQ6aWYoV2YodCkpe2ZvcihnIGluIHUpdS5oYXNPd25Qcm9wZXJ0eShnKSYmKGE9dVtnXSxhIT09dm9pZCAwJiZKaShsLHQsZyxhLHUsdm9pZCAwKSk7cmV0dXJufX1mb3IoYyBpbiB1KXUuaGFzT3duUHJvcGVydHkoYykmJihhPXVbY10sYSE9bnVsbCYmZWwobCx0LGMsYSx1LG51bGwpKX12YXIgdXM9e307ZnVuY3Rpb24gYXMobCx0LHUsYSl7c3dpdGNoKHQpe2Nhc2UiZGl2IjpjYXNlInNwYW4iOmNhc2Uic3ZnIjpjYXNlInBhdGgiOmNhc2UiYSI6Y2FzZSJnIjpjYXNlInAiOmNhc2UibGkiOmJyZWFrO2Nhc2UiaW5wdXQiOnZhciBlPW51bGwsbj1udWxsLGY9bnVsbCxjPW51bGwsaT1udWxsLGQ9bnVsbCxnPW51bGw7Zm9yKGggaW4gdSl7dmFyIEU9dVtoXTtpZih1Lmhhc093blByb3BlcnR5KGgpJiZFIT1udWxsKXN3aXRjaChoKXtjYXNlImNoZWNrZWQiOmJyZWFrO2Nhc2UidmFsdWUiOmJyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjppPUU7ZGVmYXVsdDphLmhhc093blByb3BlcnR5KGgpfHxlbChsLHQsaCxudWxsLGEsRSl9fWZvcih2YXIgeSBpbiBhKXt2YXIgaD1hW3ldO2lmKEU9dVt5XSxhLmhhc093blByb3BlcnR5KHkpJiYoaCE9bnVsbHx8RSE9bnVsbCkpc3dpdGNoKHkpe2Nhc2UidHlwZSI6aCE9PUUmJigkPSEwKSxuPWg7YnJlYWs7Y2FzZSJuYW1lIjpoIT09RSYmKCQ9ITApLGU9aDticmVhaztjYXNlImNoZWNrZWQiOmghPT1FJiYoJD0hMCksZD1oO2JyZWFrO2Nhc2UiZGVmYXVsdENoZWNrZWQiOmghPT1FJiYoJD0hMCksZz1oO2JyZWFrO2Nhc2UidmFsdWUiOmghPT1FJiYoJD0hMCksZj1oO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpoIT09RSYmKCQ9ITApLGM9aDticmVhaztjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihoIT1udWxsKXRocm93IEVycm9yKFMoMTM3LHQpKTticmVhaztkZWZhdWx0OmghPT1FJiZlbChsLHQseSxoLGEsRSl9fUpmKGwsZixjLGksZCxnLG4sZSk7cmV0dXJuO2Nhc2Uic2VsZWN0IjpoPWY9Yz15PW51bGw7Zm9yKG4gaW4gdSlpZihpPXVbbl0sdS5oYXNPd25Qcm9wZXJ0eShuKSYmaSE9bnVsbClzd2l0Y2gobil7Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJtdWx0aXBsZSI6aD1pO2RlZmF1bHQ6YS5oYXNPd25Qcm9wZXJ0eShuKXx8ZWwobCx0LG4sbnVsbCxhLGkpfWZvcihlIGluIGEpaWYobj1hW2VdLGk9dVtlXSxhLmhhc093blByb3BlcnR5KGUpJiYobiE9bnVsbHx8aSE9bnVsbCkpc3dpdGNoKGUpe2Nhc2UidmFsdWUiOm4hPT1pJiYoJD0hMCkseT1uO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpuIT09aSYmKCQ9ITApLGM9bjticmVhaztjYXNlIm11bHRpcGxlIjpuIT09aSYmKCQ9ITApLGY9bjtkZWZhdWx0Om4hPT1pJiZlbChsLHQsZSxuLGEsaSl9dD1jLHU9ZixhPWgseSE9bnVsbD9iYShsLCEhdSx5LCExKTohIWEhPSEhdSYmKHQhPW51bGw/YmEobCwhIXUsdCwhMCk6YmEobCwhIXUsdT9bXToiIiwhMSkpO3JldHVybjtjYXNlInRleHRhcmVhIjpoPXk9bnVsbDtmb3IoYyBpbiB1KWlmKGU9dVtjXSx1Lmhhc093blByb3BlcnR5KGMpJiZlIT1udWxsJiYhYS5oYXNPd25Qcm9wZXJ0eShjKSlzd2l0Y2goYyl7Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJjaGlsZHJlbiI6YnJlYWs7ZGVmYXVsdDplbChsLHQsYyxudWxsLGEsZSl9Zm9yKGYgaW4gYSlpZihlPWFbZl0sbj11W2ZdLGEuaGFzT3duUHJvcGVydHkoZikmJihlIT1udWxsfHxuIT1udWxsKSlzd2l0Y2goZil7Y2FzZSJ2YWx1ZSI6ZSE9PW4mJigkPSEwKSx5PWU7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmUhPT1uJiYoJD0hMCksaD1lO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmJyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKGUhPW51bGwpdGhyb3cgRXJyb3IoUyg5MSkpO2JyZWFrO2RlZmF1bHQ6ZSE9PW4mJmVsKGwsdCxmLGUsYSxuKX1LMChsLHksaCk7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IodmFyIGIgaW4gdSl5PXVbYl0sdS5oYXNPd25Qcm9wZXJ0eShiKSYmeSE9bnVsbCYmIWEuaGFzT3duUHJvcGVydHkoYikmJihiPT09InNlbGVjdGVkIj9sLnNlbGVjdGVkPSExOmVsKGwsdCxiLG51bGwsYSx5KSk7Zm9yKGkgaW4gYSl5PWFbaV0saD11W2ldLGEuaGFzT3duUHJvcGVydHkoaSkmJnkhPT1oJiYoeSE9bnVsbHx8aCE9bnVsbCkmJihpPT09InNlbGVjdGVkIj8oeSE9PWgmJigkPSEwKSxsLnNlbGVjdGVkPXkmJnR5cGVvZiB5IT0iZnVuY3Rpb24iJiZ0eXBlb2YgeSE9InN5bWJvbCIpOmVsKGwsdCxpLHksYSxoKSk7cmV0dXJuO2Nhc2UiaW1nIjpjYXNlImxpbmsiOmNhc2UiYXJlYSI6Y2FzZSJiYXNlIjpjYXNlImJyIjpjYXNlImNvbCI6Y2FzZSJlbWJlZCI6Y2FzZSJociI6Y2FzZSJrZXlnZW4iOmNhc2UibWV0YSI6Y2FzZSJwYXJhbSI6Y2FzZSJzb3VyY2UiOmNhc2UidHJhY2siOmNhc2Uid2JyIjpjYXNlIm1lbnVpdGVtIjpmb3IodmFyIEEgaW4gdSl5PXVbQV0sdS5oYXNPd25Qcm9wZXJ0eShBKSYmeSE9bnVsbCYmIWEuaGFzT3duUHJvcGVydHkoQSkmJmVsKGwsdCxBLG51bGwsYSx5KTtmb3IoZCBpbiBhKWlmKHk9YVtkXSxoPXVbZF0sYS5oYXNPd25Qcm9wZXJ0eShkKSYmeSE9PWgmJih5IT1udWxsfHxoIT1udWxsKSlzd2l0Y2goZCl7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoeSE9bnVsbCl0aHJvdyBFcnJvcihTKDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDplbChsLHQsZCx5LGEsaCl9cmV0dXJuO2RlZmF1bHQ6aWYoV2YodCkpe2Zvcih2YXIgaiBpbiB1KXk9dVtqXSx1Lmhhc093blByb3BlcnR5KGopJiZ5IT09dm9pZCAwJiYhYS5oYXNPd25Qcm9wZXJ0eShqKSYmSmkobCx0LGosdm9pZCAwLGEseSk7Zm9yKGcgaW4gYSl5PWFbZ10saD11W2ddLCFhLmhhc093blByb3BlcnR5KGcpfHx5PT09aHx8eT09PXZvaWQgMCYmaD09PXZvaWQgMHx8SmkobCx0LGcseSxhLGgpO3JldHVybn19Zm9yKHZhciBtIGluIHUpeT11W21dLHUuaGFzT3duUHJvcGVydHkobSkmJnkhPW51bGwmJiFhLmhhc093blByb3BlcnR5KG0pJiZlbChsLHQsbSxudWxsLGEseSk7Zm9yKEUgaW4gYSl5PWFbRV0saD11W0VdLCFhLmhhc093blByb3BlcnR5KEUpfHx5PT09aHx8eT09bnVsbCYmaD09bnVsbHx8ZWwobCx0LEUseSxhLGgpfWZ1bmN0aW9uIHRtKGwpe3N3aXRjaChsKXtjYXNlImNzcyI6Y2FzZSJzY3JpcHQiOmNhc2UiZm9udCI6Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UiaW5wdXQiOmNhc2UibGluayI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gZXMoKXtpZih0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZT09ImZ1bmN0aW9uIil7Zm9yKHZhciBsPTAsdD0wLHU9cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKSxhPTA7YTx1Lmxlbmd0aDthKyspe3ZhciBlPXVbYV0sbj1lLnRyYW5zZmVyU2l6ZSxmPWUuaW5pdGlhdG9yVHlwZSxjPWUuZHVyYXRpb247aWYobiYmYyYmdG0oZikpe2ZvcihmPTAsYz1lLnJlc3BvbnNlRW5kLGErPTE7YTx1Lmxlbmd0aDthKyspe3ZhciBpPXVbYV0sZD1pLnN0YXJ0VGltZTtpZihkPmMpYnJlYWs7dmFyIGc9aS50cmFuc2ZlclNpemUsRT1pLmluaXRpYXRvclR5cGU7ZyYmdG0oRSkmJihpPWkucmVzcG9uc2VFbmQsZis9ZyooaTxjPzE6KGMtZCkvKGktZCkpKX1pZigtLWEsdCs9OCoobitmKS8oZS5kdXJhdGlvbi8xZTMpLGwrKywxMDxsKWJyZWFrfX1pZigwPGwpcmV0dXJuIHQvbC8xZTZ9cmV0dXJuIG5hdmlnYXRvci5jb25uZWN0aW9uJiYobD1uYXZpZ2F0b3IuY29ubmVjdGlvbi5kb3dubGluayx0eXBlb2YgbD09Im51bWJlciIpP2w6NX12YXIgd2k9bnVsbCxXaT1udWxsO2Z1bmN0aW9uIHdlKGwpe3JldHVybiBsLm5vZGVUeXBlPT09OT9sOmwub3duZXJEb2N1bWVudH1mdW5jdGlvbiB1bShsKXtzd2l0Y2gobCl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBhbShsLHQpe2lmKGw9PT0wKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiBsPT09MSYmdD09PSJmb3JlaWduT2JqZWN0Ij8wOmx9ZnVuY3Rpb24gZW0obCx0LHUsYSl7cmV0dXJuIHU9d2UodSkuY3JlYXRlRWxlbWVudChsKSx1W3FsXT1hLHVbV2xdPXQsamwodSxsLHQpLE1sKHUpLHV9ZnVuY3Rpb24gJGkobCx0KXtyZXR1cm4gbD09PSJ0ZXh0YXJlYSJ8fGw9PT0ibm9zY3JpcHQifHx0eXBlb2YgdC5jaGlsZHJlbj09InN0cmluZyJ8fHR5cGVvZiB0LmNoaWxkcmVuPT0ibnVtYmVyInx8dHlwZW9mIHQuY2hpbGRyZW49PSJiaWdpbnQifHx0eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTD09Im9iamVjdCImJnQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPT1udWxsJiZ0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCE9bnVsbH12YXIgRmk9bnVsbDtmdW5jdGlvbiBucygpe3ZhciBsPXdpbmRvdy5ldmVudDtyZXR1cm4gbCYmbC50eXBlPT09InBvcHN0YXRlIj9sPT09Rmk/ITE6KEZpPWwsITApOihGaT1udWxsLCExKX12YXIgSWk9dHlwZW9mIHNldFRpbWVvdXQ9PSJmdW5jdGlvbiI/c2V0VGltZW91dDp2b2lkIDAsZnM9dHlwZW9mIGNsZWFyVGltZW91dD09ImZ1bmN0aW9uIj9jbGVhclRpbWVvdXQ6dm9pZCAwLG5tPXR5cGVvZiBQcm9taXNlPT0iZnVuY3Rpb24iP1Byb21pc2U6dm9pZCAwLGZtPXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU9PSJmdW5jdGlvbiI/cmVxdWVzdEFuaW1hdGlvbkZyYW1lOklpLGNzPXR5cGVvZiBxdWV1ZU1pY3JvdGFzaz09ImZ1bmN0aW9uIj9xdWV1ZU1pY3JvdGFzazp0eXBlb2Ygbm08InUiP2Z1bmN0aW9uKGwpe3JldHVybiBubS5yZXNvbHZlKG51bGwpLnRoZW4obCkuY2F0Y2goaXMpfTpJaTtmdW5jdGlvbiBpcyhsKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgbH0pfWZ1bmN0aW9uIFF1KGwpe3JldHVybiBsPT09ImhlYWQifWZ1bmN0aW9uIGNtKGwsdCl7dmFyIHU9dCxhPTA7ZG97dmFyIGU9dS5uZXh0U2libGluZztpZihsLnJlbW92ZUNoaWxkKHUpLGUmJmUubm9kZVR5cGU9PT04KWlmKHU9ZS5kYXRhLHU9PT0iLyQifHx1PT09Ii8mIil7aWYoYT09PTApe2wucmVtb3ZlQ2hpbGQoZSksZmUodCk7cmV0dXJufWEtLX1lbHNlIGlmKHU9PT0iJCJ8fHU9PT0iJD8ifHx1PT09IiR+Inx8dT09PSIkISJ8fHU9PT0iJiIpYSsrO2Vsc2UgaWYodT09PSJodG1sIiluMChsLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtlbHNlIGlmKHU9PT0iaGVhZCIpe3U9bC5vd25lckRvY3VtZW50LmhlYWQsbjAodSk7Zm9yKHZhciBuPXUuZmlyc3RDaGlsZDtuOyl7dmFyIGY9bi5uZXh0U2libGluZyxjPW4ubm9kZU5hbWU7blt5ZV18fGM9PT0iU0NSSVBUInx8Yz09PSJTVFlMRSJ8fGM9PT0iTElOSyImJm4ucmVsLnRvTG93ZXJDYXNlKCk9PT0ic3R5bGVzaGVldCJ8fHUucmVtb3ZlQ2hpbGQobiksbj1mfX1lbHNlIHU9PT0iYm9keSImJm4wKGwub3duZXJEb2N1bWVudC5ib2R5KTt1PWV9d2hpbGUodSk7ZmUodCl9ZnVuY3Rpb24gaW0obCx0KXt2YXIgdT1sO2w9MDtkb3t2YXIgYT11Lm5leHRTaWJsaW5nO2lmKHUubm9kZVR5cGU9PT0xP3Q/KHUuX3N0YXNoZWREaXNwbGF5PXUuc3R5bGUuZGlzcGxheSx1LnN0eWxlLmRpc3BsYXk9Im5vbmUiKToodS5zdHlsZS5kaXNwbGF5PXUuX3N0YXNoZWREaXNwbGF5fHwiIix1LmdldEF0dHJpYnV0ZSgic3R5bGUiKT09PSIiJiZ1LnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSk6dS5ub2RlVHlwZT09PTMmJih0Pyh1Ll9zdGFzaGVkVGV4dD11Lm5vZGVWYWx1ZSx1Lm5vZGVWYWx1ZT0iIik6dS5ub2RlVmFsdWU9dS5fc3Rhc2hlZFRleHR8fCIiKSxhJiZhLm5vZGVUeXBlPT09OClpZih1PWEuZGF0YSx1PT09Ii8kIil7aWYobD09PTApYnJlYWs7bC0tfWVsc2UgdSE9PSIkIiYmdSE9PSIkPyImJnUhPT0iJH4iJiZ1IT09IiQhInx8bCsrO3U9YX13aGlsZSh1KX1mdW5jdGlvbiB2bShsLHQsdSl7aWYodD1DU1MuZXNjYXBlKHQpIT09dD8ici0iK2J0b2EodCkucmVwbGFjZSgvPS9nLCIiKTp0LGwuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPXQsdSE9bnVsbCYmKGwuc3R5bGUudmlld1RyYW5zaXRpb25DbGFzcz11KSx1PWdldENvbXB1dGVkU3R5bGUobCksdS5kaXNwbGF5PT09ImlubGluZSIpe2lmKHQ9bC5nZXRDbGllbnRSZWN0cygpLHQubGVuZ3RoPT09MSl2YXIgYT0xO2Vsc2UgZm9yKHZhciBlPWE9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49dFtlXTswPG4ud2lkdGgmJjA8bi5oZWlnaHQmJmErK31hPT09MSYmKGw9bC5zdHlsZSxsLmRpc3BsYXk9dC5sZW5ndGg9PT0xPyJpbmxpbmUtYmxvY2siOiJibG9jayIsbC5tYXJnaW5Ub3A9Ii0iK3UucGFkZGluZ1RvcCxsLm1hcmdpbkJvdHRvbT0iLSIrdS5wYWRkaW5nQm90dG9tKX19ZnVuY3Rpb24gb20obCx0KXtsPWwuc3R5bGUsdD10LnN0eWxlO3ZhciB1PXQhPW51bGw/dC5oYXNPd25Qcm9wZXJ0eSgidmlld1RyYW5zaXRpb25OYW1lIik/dC52aWV3VHJhbnNpdGlvbk5hbWU6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLW5hbWUiKT90WyJ2aWV3LXRyYW5zaXRpb24tbmFtZSJdOm51bGw6bnVsbDtsLnZpZXdUcmFuc2l0aW9uTmFtZT11PT1udWxsfHx0eXBlb2YgdT09ImJvb2xlYW4iPyIiOigiIit1KS50cmltKCksdT10IT1udWxsP3QuaGFzT3duUHJvcGVydHkoInZpZXdUcmFuc2l0aW9uQ2xhc3MiKT90LnZpZXdUcmFuc2l0aW9uQ2xhc3M6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLWNsYXNzIik/dFsidmlldy10cmFuc2l0aW9uLWNsYXNzIl06bnVsbDpudWxsLGwudmlld1RyYW5zaXRpb25DbGFzcz11PT1udWxsfHx0eXBlb2YgdT09ImJvb2xlYW4iPyIiOigiIit1KS50cmltKCksbC5kaXNwbGF5PT09ImlubGluZS1ibG9jayImJih0PT1udWxsP2wuZGlzcGxheT1sLm1hcmdpbj0iIjoodT10LmRpc3BsYXksbC5kaXNwbGF5PXU9PW51bGx8fHR5cGVvZiB1PT0iYm9vbGVhbiI/IiI6dSx1PXQubWFyZ2luLHUhPW51bGw/bC5tYXJnaW49dToodT10Lmhhc093blByb3BlcnR5KCJtYXJnaW5Ub3AiKT90Lm1hcmdpblRvcDp0WyJtYXJnaW4tdG9wIl0sbC5tYXJnaW5Ub3A9dT09bnVsbHx8dHlwZW9mIHU9PSJib29sZWFuIj8iIjp1LHQ9dC5oYXNPd25Qcm9wZXJ0eSgibWFyZ2luQm90dG9tIik/dC5tYXJnaW5Cb3R0b206dFsibWFyZ2luLWJvdHRvbSJdLGwubWFyZ2luQm90dG9tPXQ9PW51bGx8fHR5cGVvZiB0PT0iYm9vbGVhbiI/IiI6dCkpKX1mdW5jdGlvbiB2cyhsLHQsdSl7cmV0dXJuIHU9dS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHtyZWN0OmwsYWJzOnQucG9zaXRpb249PT0iYWJzb2x1dGUifHx0LnBvc2l0aW9uPT09ImZpeGVkIixjbGlwOnQuY2xpcFBhdGghPT0ibm9uZSJ8fHQub3ZlcmZsb3chPT0idmlzaWJsZSJ8fHQuZmlsdGVyIT09Im5vbmUifHx0Lm1hc2shPT0ibm9uZSJ8fHQubWFzayE9PSJub25lInx8dC5ib3JkZXJSYWRpdXMhPT0iMHB4Iix2aWV3OjA8PWwuYm90dG9tJiYwPD1sLnJpZ2h0JiZsLnRvcDw9dS5pbm5lckhlaWdodCYmbC5sZWZ0PD11LmlubmVyV2lkdGh9fWZ1bmN0aW9uIGtpKGwpe3ZhciB0PWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdT1nZXRDb21wdXRlZFN0eWxlKGwpO3JldHVybiB2cyh0LHUsbCl9ZnVuY3Rpb24gb3MobCl7cmV0dXJuIGwuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodH1mdW5jdGlvbiB5cyhsKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGwpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGwpfWZ1bmN0aW9uIG1zKGwsdCx1LGEsZSxuLGYsYyxpKXt2YXIgZD10Lm5vZGVUeXBlPT09OT90OnQub3duZXJEb2N1bWVudDt0cnl7dmFyIGc9ZC5zdGFydFZpZXdUcmFuc2l0aW9uKHt1cGRhdGU6ZnVuY3Rpb24oKXt2YXIgeT1kLmRlZmF1bHRWaWV3LGg9eS5uYXZpZ2F0aW9uJiZ5Lm5hdmlnYXRpb24udHJhbnNpdGlvbixiPWQuZm9udHMuc3RhdHVzO2EoKTt2YXIgQT1bXTtpZihiPT09ImxvYWRlZCImJihvcyhkKSxkLmZvbnRzLnN0YXR1cz09PSJsb2FkaW5nIiYmQS5wdXNoKGQuZm9udHMucmVhZHkpKSxiPUEubGVuZ3RoLGwhPT1udWxsKWZvcih2YXIgaj1sLnN1c3BlbnNleUltYWdlcyxtPTAsdj0wO3Y8ai5sZW5ndGg7disrKXt2YXIgcz1qW3ZdO2lmKCFzLmNvbXBsZXRlKXt2YXIgcj1zLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKDA8ci5ib3R0b20mJjA8ci5yaWdodCYmci50b3A8eS5pbm5lckhlaWdodCYmci5sZWZ0PHkuaW5uZXJXaWR0aCl7aWYobSs9Um0ocyksbT5BZil7QS5sZW5ndGg9YjticmVha31zPW5ldyBQcm9taXNlKHlzLmJpbmQocykpLEEucHVzaChzKX19fWlmKDA8QS5sZW5ndGgpcmV0dXJuIHk9UHJvbWlzZS5yYWNlKFtQcm9taXNlLmFsbChBKSxuZXcgUHJvbWlzZShmdW5jdGlvbihPKXtyZXR1cm4gc2V0VGltZW91dChPLDUwMCl9KV0pLnRoZW4oZSxlKSwoaD9Qcm9taXNlLmFsbFNldHRsZWQoW2guZmluaXNoZWQseV0pOnkpLnRoZW4obixuKTtpZihlKCksaClyZXR1cm4gaC5maW5pc2hlZC50aGVuKG4sbik7bigpfSx0eXBlczp1fSk7ZC5fX3JlYWN0Vmlld1RyYW5zaXRpb249Zzt2YXIgRT1bXTtyZXR1cm4gZy5yZWFkeS50aGVuKGZ1bmN0aW9uKCl7Zm9yKHZhciB5PWQuZG9jdW1lbnRFbGVtZW50LmdldEFuaW1hdGlvbnMoe3N1YnRyZWU6ITB9KSxoPTA7aDx5Lmxlbmd0aDtoKyspe3ZhciBiPXlbaF0sQT1iLmVmZmVjdCxqPUEucHNldWRvRWxlbWVudDtpZihqIT1udWxsJiZqLnN0YXJ0c1dpdGgoIjo6dmlldy10cmFuc2l0aW9uIikpe0UucHVzaChiKSxiPUEuZ2V0S2V5ZnJhbWVzKCk7Zm9yKHZhciBtPWo9dm9pZCAwLHY9ITAscz0wO3M8Yi5sZW5ndGg7cysrKXt2YXIgcj1iW3NdLE89ci53aWR0aDtpZihqPT09dm9pZCAwKWo9TztlbHNlIGlmKGohPT1PKXt2PSExO2JyZWFrfWlmKE89ci5oZWlnaHQsbT09PXZvaWQgMCltPU87ZWxzZSBpZihtIT09Tyl7dj0hMTticmVha31kZWxldGUgci53aWR0aCxkZWxldGUgci5oZWlnaHQsci50cmFuc2Zvcm09PT0ibm9uZSImJmRlbGV0ZSByLnRyYW5zZm9ybX12JiZqIT09dm9pZCAwJiZtIT09dm9pZCAwJiYoQS5zZXRLZXlmcmFtZXMoYiksdj1nZXRDb21wdXRlZFN0eWxlKEEudGFyZ2V0LEEucHNldWRvRWxlbWVudCksdi53aWR0aCE9PWp8fHYuaGVpZ2h0IT09bSkmJih2PWJbMF0sdi53aWR0aD1qLHYuaGVpZ2h0PW0sdj1iW2IubGVuZ3RoLTFdLHYud2lkdGg9aix2LmhlaWdodD1tLEEuc2V0S2V5ZnJhbWVzKGIpKX19ZigpfSxmdW5jdGlvbih5KXtkLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PWcmJihkLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKTt0cnl7dHlwZW9mIHk9PSJvYmplY3QiJiZ5IT09bnVsbCYmeS5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yIiYmKHkubWVzc2FnZT09PSJWaWV3IHRyYW5zaXRpb24gd2FzIHNraXBwZWQgYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGlzIGhpZGRlbi4ifHx5Lm1lc3NhZ2U9PT0iU2tpcHBpbmcgdmlldyB0cmFuc2l0aW9uIGJlY2F1c2UgZG9jdW1lbnQgdmlzaWJpbGl0eSBzdGF0ZSBoYXMgYmVjb21lIGhpZGRlbi4ifHx5Lm1lc3NhZ2U9PT0iU2tpcHBpbmcgdmlldyB0cmFuc2l0aW9uIGJlY2F1c2Ugdmlld3BvcnQgc2l6ZSBjaGFuZ2VkLiJ8fHkubWVzc2FnZT09PSJUcmFuc2l0aW9uIHdhcyBhYm9ydGVkIGJlY2F1c2Ugb2YgaW52YWxpZCBzdGF0ZSIpJiYoeT1udWxsKSx5IT09bnVsbCYmaSh5KX1maW5hbGx5e2EoKSxlKCksZigpfX0pLGcuZmluaXNoZWQuZmluYWxseShmdW5jdGlvbigpe2Zvcih2YXIgeT0wO3k8RS5sZW5ndGg7eSsrKUVbeV0uY2FuY2VsKCk7ZC5fX3JlYWN0Vmlld1RyYW5zaXRpb249PT1nJiYoZC5fX3JlYWN0Vmlld1RyYW5zaXRpb249bnVsbCksYygpfSksZ31jYXRjaHtyZXR1cm4gYSgpLGUoKSxmKCksbnVsbH19ZnVuY3Rpb24gaGEobCx0KXt0aGlzLl9zY29wZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5fc2VsZWN0b3I9Ijo6dmlldy10cmFuc2l0aW9uLSIrbCsiKCIrdCsiKSJ9aGEucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24obCx0KXtyZXR1cm4gdD10eXBlb2YgdD09Im51bWJlciI/e2R1cmF0aW9uOnR9OlYoe30sdCksdC5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUobCx0KX0saGEucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGw9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3Rvcix1PWwuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLGE9W10sZT0wO2U8dS5sZW5ndGg7ZSsrKXt2YXIgbj11W2VdLmVmZmVjdDtuIT09bnVsbCYmbi50YXJnZXQ9PT1sJiZuLnBzZXVkb0VsZW1lbnQ9PT10JiZhLnB1c2godVtlXSl9cmV0dXJuIGF9LGhhLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfTtmdW5jdGlvbiB5bShsKXtyZXR1cm57bmFtZTpsLGdyb3VwOm5ldyBoYSgiZ3JvdXAiLGwpLGltYWdlUGFpcjpuZXcgaGEoImltYWdlLXBhaXIiLGwpLG9sZDpuZXcgaGEoIm9sZCIsbCksbmV3Om5ldyBoYSgibmV3IixsKX19ZnVuY3Rpb24gc3QobCl7dGhpcy5fZnJhZ21lbnRGaWJlcj1sLHRoaXMuX29ic2VydmVycz10aGlzLl9ldmVudExpc3RlbmVycz1udWxsfXN0LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGwsdCx1KXt2YXIgYT1udWxsLGU9bnVsbDtpZighKHUhPW51bGwmJnR5cGVvZiB1IT0iYm9vbGVhbiImJihhPXUuc2lnbmFsfHxudWxsLGEhPT1udWxsJiZhLmFib3J0ZWQpKSl7dGhpcy5fZXZlbnRMaXN0ZW5lcnM9PT1udWxsJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciBuPXRoaXMuX2V2ZW50TGlzdGVuZXJzO2lmKGRtKG4sbCx0LHUpPT09LTEpe3ZhciBmPXRoaXMsYz10O3UhPW51bGwmJnR5cGVvZiB1IT0iYm9vbGVhbiImJnUub25jZT09PSEwJiYoYz1mdW5jdGlvbihpKXtmLnJlbW92ZUV2ZW50TGlzdGVuZXIobCx0LHUpLHR5cGVvZiB0PT0iZnVuY3Rpb24iP3QuY2FsbCh0aGlzLGkpOnQuaGFuZGxlRXZlbnQoaSl9KSxhIT09bnVsbCYmKGU9Zi5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoZixsLHQsdSksYS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsZSx7b25jZTohMH0pLGU9YS5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoYSwiYWJvcnQiLGUpKSxhPWxlKHUpLG4ucHVzaCh7dHlwZTpsLGxpc3RlbmVyOnQsb3B0aW9uc09yVXNlQ2FwdHVyZTp1LGF0dGFjaGVkTGlzdGVuZXI6YyxjbGVhbnVwOmV9KSxUKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsZHMsbCxjLGEpfXRoaXMuX2V2ZW50TGlzdGVuZXJzPW59fTtmdW5jdGlvbiBkcyhsLHQsdSxhKXtyZXR1cm4gdmwobCkuYWRkRXZlbnRMaXN0ZW5lcih0LHUsYSksITF9c3QucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24obCx0LHUpe3ZhciBhPXRoaXMuX2V2ZW50TGlzdGVuZXJzO2lmKGEhPT1udWxsJiYodD1kbShhLGwsdCx1KSx0IT09LTEpKXt2YXIgZT1hW3RdO3U9ZS5hdHRhY2hlZExpc3RlbmVyO3ZhciBuPWUuY2xlYW51cDtlPWxlKGUub3B0aW9uc09yVXNlQ2FwdHVyZSksVCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLHNzLGwsdSxlKSxhLnNwbGljZSh0LDEpLG4hPT1udWxsJiZuKCl9fTtmdW5jdGlvbiBzcyhsLHQsdSxhKXtyZXR1cm4gdmwobCkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LHUsYSksITF9ZnVuY3Rpb24gbGUobCl7cmV0dXJuIGwhPW51bGwmJnR5cGVvZiBsIT0iYm9vbGVhbiImJihsLm9uY2U9PT0hMHx8bC5zaWduYWwgaW5zdGFuY2VvZiBBYm9ydFNpZ25hbCk/e2NhcHR1cmU6bC5jYXB0dXJlLHBhc3NpdmU6bC5wYXNzaXZlfTpsfWZ1bmN0aW9uIG1tKGwpe3JldHVybiBsPT1udWxsPyJjPTAiOnR5cGVvZiBsPT0iYm9vbGVhbiI/ImM9IisobD8iMSI6IjAiKToiYz0iKyhsLmNhcHR1cmU/IjEiOiIwIil9ZnVuY3Rpb24gZG0obCx0LHUsYSl7aWYobC5sZW5ndGg9PT0wKXJldHVybi0xO2E9bW0oYSk7Zm9yKHZhciBlPTA7ZTxsLmxlbmd0aDtlKyspe3ZhciBuPWxbZV07aWYobi50eXBlPT09dCYmbi5saXN0ZW5lcj09PXUmJm1tKG4ub3B0aW9uc09yVXNlQ2FwdHVyZSk9PT1hKXJldHVybiBlfXJldHVybi0xfXN0LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGwpe3ZhciB0PUgodGhpcy5fZnJhZ21lbnRGaWJlcik7aWYodD09PW51bGwpcmV0dXJuITA7dD12bCh0KTt2YXIgdT10aGlzLl9ldmVudExpc3RlbmVycztpZih1IT09bnVsbCYmMDx1Lmxlbmd0aHx8IWwuYnViYmxlcyl7dmFyIGE9dC5ub2RlVHlwZT09PTk/dC5jcmVhdGVDb21tZW50KCIiKTpkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIik7aWYodSlmb3IodmFyIGU9MDtlPHUubGVuZ3RoO2UrKyl7dmFyIG49dVtlXTthLmFkZEV2ZW50TGlzdGVuZXIobi50eXBlLG4uYXR0YWNoZWRMaXN0ZW5lcixsZShuLm9wdGlvbnNPclVzZUNhcHR1cmUpKX1pZih0LmFwcGVuZENoaWxkKGEpLGw9YS5kaXNwYXRjaEV2ZW50KGwpLHUpZm9yKGU9MDtlPHUubGVuZ3RoO2UrKyluPXVbZV0sYS5yZW1vdmVFdmVudExpc3RlbmVyKG4udHlwZSxuLmF0dGFjaGVkTGlzdGVuZXIsbGUobi5vcHRpb25zT3JVc2VDYXB0dXJlKSk7cmV0dXJuIHQucmVtb3ZlQ2hpbGQoYSksbH1yZXR1cm4gdC5kaXNwYXRjaEV2ZW50KGwpfSxzdC5wcm90b3R5cGUuZm9jdXM9ZnVuY3Rpb24obCl7VCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCEwLHNtLGwsdm9pZCAwLHZvaWQgMCl9O2Z1bmN0aW9uIHNtKGwsdCl7cmV0dXJuIGwudGFnPT09Nj8hMToobD12bChsKSxOcyhsLHQpKX1zdC5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGwpe3ZhciB0PVtdO1QodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxQaSx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgdT10Lmxlbmd0aC0xOzA8PXUmJiFzbSh0W3VdLGwpO3UtLSk7fTtmdW5jdGlvbiBQaShsLHQpe3JldHVybiB0LnB1c2gobCksITF9c3QucHJvdG90eXBlLmJsdXI9ZnVuY3Rpb24oKXt2YXIgbD1IKHRoaXMuX2ZyYWdtZW50RmliZXIpO2whPT1udWxsJiYobD12bChsKSxsPXdlKGwpLmFjdGl2ZUVsZW1lbnQsbCE9PW51bGwmJlQodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxocyxsLHZvaWQgMCx2b2lkIDApKX07ZnVuY3Rpb24gaHMobCx0KXtyZXR1cm4gbC50YWc9PT02PyExOihsPXZsKGwpLGw9PT10fHxsLmNvbnRhaW5zKHQpPyh0LmJsdXIoKSwhMCk6ITEpfXN0LnByb3RvdHlwZS5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24obCl7dGhpcy5fb2JzZXJ2ZXJzPT09bnVsbCYmKHRoaXMuX29ic2VydmVycz1uZXcgU2V0KSx0aGlzLl9vYnNlcnZlcnMuYWRkKGwpLFQodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxncyxsLHZvaWQgMCx2b2lkIDApfTtmdW5jdGlvbiBncyhsLHQpe3JldHVybiBsLnRhZz09PTZ8fChsPXZsKGwpLHQub2JzZXJ2ZShsKSksITF9c3QucHJvdG90eXBlLnVub2JzZXJ2ZVVzaW5nPWZ1bmN0aW9uKGwpe3ZhciB0PXRoaXMuX29ic2VydmVycztpZih0IT09bnVsbCYmdC5oYXMobCkpe3QuZGVsZXRlKGwpLFQodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxTcyxsLHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgdT10PTA7dTxZdC5sZW5ndGg7dSsrKXt2YXIgYT1ZdFt1XTthLmZyYWdtZW50SW5zdGFuY2U9PT10aGlzJiZhLm9ic2VydmVyPT09bD9sLnVub2JzZXJ2ZShhLmluc3RhbmNlKTpZdFt0KytdPWF9WXQubGVuZ3RoPXR9fTtmdW5jdGlvbiBTcyhsLHQpe3JldHVybiBsLnRhZz09PTZ8fChsPXZsKGwpLHQudW5vYnNlcnZlKGwpKSwhMX12YXIgWXQ9W10sbDA9ITE7ZnVuY3Rpb24gcnMobCx0LHUpe1l0LnB1c2goe2ZyYWdtZW50SW5zdGFuY2U6bCxvYnNlcnZlcjp0LGluc3RhbmNlOnV9KSxsMHx8KGwwPSEwLERzKGZ1bmN0aW9uKCl7bDA9ITE7dmFyIGE9WXQ7WXQ9W107Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBuPWFbZV07bi5vYnNlcnZlci51bm9ic2VydmUobi5pbnN0YW5jZSl9fSkpfXN0LnByb3RvdHlwZS5nZXRDbGllbnRSZWN0cz1mdW5jdGlvbigpe3ZhciBsPVtdO3JldHVybiBUKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsVHMsbCx2b2lkIDAsdm9pZCAwKSxsfTtmdW5jdGlvbiBUcyhsLHQpe2lmKGwudGFnPT09Nil7bD1sLnN0YXRlTm9kZTt2YXIgdT1sLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt1LnNlbGVjdE5vZGVDb250ZW50cyhsKSx0LnB1c2guYXBwbHkodCx1LmdldENsaWVudFJlY3RzKCkpfWVsc2UgbD12bChsKSx0LnB1c2guYXBwbHkodCxsLmdldENsaWVudFJlY3RzKCkpO3JldHVybiExfXN0LnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbihsKXt2YXIgdD1IKHRoaXMuX2ZyYWdtZW50RmliZXIpO3JldHVybiB0PT09bnVsbD90aGlzOnZsKHQpLmdldFJvb3ROb2RlKGwpfSxzdC5wcm90b3R5cGUuY29tcGFyZURvY3VtZW50UG9zaXRpb249ZnVuY3Rpb24obCl7dmFyIHQ9SCh0aGlzLl9mcmFnbWVudEZpYmVyKTtpZih0PT09bnVsbClyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7dmFyIHU9W107VCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLFBpLHUsdm9pZCAwLHZvaWQgMCk7dmFyIGE9dmwodCk7aWYodS5sZW5ndGg9PT0wKXtpZih1PWEsTmwodGhpcy5fZnJhZ21lbnRGaWJlcikpe2w6e2Zvcih0PXRoaXMuX2ZyYWdtZW50RmliZXIucmV0dXJuO3QhPT1udWxsOyl7aWYodC50YWc9PT00KXt0PXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87YnJlYWsgbH1pZih0LnRhZz09PTN8fHQudGFnPT09NXx8dC50YWc9PT0yNylicmVhazt0PXQucmV0dXJufXQ9bnVsbH10IT1udWxsJiYodT10KX10PXRoaXMuX2ZyYWdtZW50RmliZXI7dmFyIGU9YT11LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGwpO3JldHVybiB1PT09bD9lPU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlM6YSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSYmKHU9bHQodClbMV0sdT09PW51bGw/ZT1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORzoobD12bCh1KS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSxlPWw9PT0wfHxsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HP05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HKSksZXw9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ310PXZsKHVbMF0pLGU9dmwodVt1Lmxlbmd0aC0xXSk7dmFyIG49TmwodGhpcy5fZnJhZ21lbnRGaWJlcik/dC5wYXJlbnRFbGVtZW50OmE7aWYobj09bnVsbClyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7YT1uLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLG49bi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWTt2YXIgZj10LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGwpLGM9ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSxpPWYmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQll8fGMmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk7cmV0dXJuIGM9YSYmbiYmZiZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmYyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyx0PWEmJnQ9PT1sfHxuJiZlPT09bHx8aXx8Yz9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWTohYSYmdD09PWx8fCFuJiZlPT09bD9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDOmYsdCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRHx8dCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDfHxFcyh0LHRoaXMuX2ZyYWdtZW50RmliZXIsdVswXSx1W3UubGVuZ3RoLTFdLGwpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ307ZnVuY3Rpb24gRXMobCx0LHUsYSxlKXt2YXIgbj1XdShlKTtpZihsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKXtpZih1PSEhbilsOntmb3IoO24hPT1udWxsOyl7aWYobi50YWc9PT03JiYobj09PXR8fG4uYWx0ZXJuYXRlPT09dCkpe3U9ITA7YnJlYWsgbH1uPW4ucmV0dXJufXU9ITF9cmV0dXJuIHV9aWYobCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TKXtpZihuPT09bnVsbClyZXR1cm4gbj1lLm93bmVyRG9jdW1lbnQsZT09PW58fGU9PT1uLmRvY3VtZW50RWxlbWVudHx8ZT09PW4uYm9keTtsOntmb3Iobj10LHQ9SCh0KTtuIT09bnVsbDspe2lmKCEobi50YWchPT01JiZuLnRhZyE9PTMmJm4udGFnIT09Mjd8fG4hPT10JiZuLmFsdGVybmF0ZSE9PXQpKXtuPSEwO2JyZWFrIGx9bj1uLnJldHVybn1uPSExfXJldHVybiBufXJldHVybiBsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIW4pJiYhKHQ9bj09PXUpJiYodD11dCh1LG4sQnQpLHQ9PT1udWxsP3Q9ITE6KFQodCwhMCx4dSxuLHUpLG49aHQsaHQ9bnVsbCx0PW4hPT1udWxsKSksdCk6bCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8oKHQ9ISFuKSYmISh0PW49PT1hKSYmKHQ9dXQoYSxuLEJ0KSx0PT09bnVsbD90PSExOihUKHQsITAscXQsbixhKSxuPWh0LHR0PWh0PW51bGwsdD1uIT09bnVsbCkpLHQpOiExfWZ1bmN0aW9uIGhtKGwsdCl7dmFyIHU9bC5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7dS5zZWxlY3ROb2RlQ29udGVudHMobCksbD11LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHdpbmRvdy5zY3JvbGxUbyh3aW5kb3cuc2Nyb2xsWCtsLmxlZnQsdD93aW5kb3cuc2Nyb2xsWStsLnRvcDp3aW5kb3cuc2Nyb2xsWStsLmJvdHRvbS13aW5kb3cuaW5uZXJIZWlnaHQpfXN0LnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldz1mdW5jdGlvbihsKXtpZih0eXBlb2YgbD09Im9iamVjdCIpdGhyb3cgRXJyb3IoUyg1NjYpKTt2YXIgdD1bXTtUKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsUGksdCx2b2lkIDAsdm9pZCAwKTt2YXIgdT1sIT09ITE7aWYodC5sZW5ndGg9PT0wKXt2YXIgYT1sdCh0aGlzLl9mcmFnbWVudEZpYmVyKTtpZihhPXU/YVsxXXx8YVswXXx8SCh0aGlzLl9mcmFnbWVudEZpYmVyKTphWzBdfHxhWzFdLGE9PT1udWxsKXJldHVybjtpZihhLnRhZz09PTYpe2w9dmwoYSksaG0obCx1KTtyZXR1cm59aWYoYT12bChhKSxhLm5vZGVUeXBlIT09OSl7aWYoYS5ub2RlVHlwZT09PTExKXt1PSJob3N0ImluIGE/YS5ob3N0Om51bGwsdSE9PW51bGwmJnUuc2Nyb2xsSW50b1ZpZXcobCk7cmV0dXJufWEuc2Nyb2xsSW50b1ZpZXcobCl9fWZvcihhPXU/dC5sZW5ndGgtMTowO2EhPT0odT8tMTp0Lmxlbmd0aCk7KXt2YXIgZT10W2FdO2UudGFnPT09Nj8oZT12bChlKSxobShlLHUpKTp2bChlKS5zY3JvbGxJbnRvVmlldyhsKSxhKz11Py0xOjF9fTtmdW5jdGlvbiB6cyhsLHQpe3JldHVybiBsPXZsKGwpLGdtKGwsdCksITF9ZnVuY3Rpb24gZ20obCx0KXtsLnJlYWN0RnJhZ21lbnRzPT1udWxsJiYobC5yZWFjdEZyYWdtZW50cz1uZXcgU2V0KSxsLnJlYWN0RnJhZ21lbnRzLmFkZCh0KX1mdW5jdGlvbiBTbShsLHQpe3ZhciB1PXQuX2V2ZW50TGlzdGVuZXJzO2lmKHUhPT1udWxsKWZvcih2YXIgYT0wO2E8dS5sZW5ndGg7YSsrKXt2YXIgZT11W2FdO2wuYWRkRXZlbnRMaXN0ZW5lcihlLnR5cGUsZS5hdHRhY2hlZExpc3RlbmVyLGxlKGUub3B0aW9uc09yVXNlQ2FwdHVyZSkpfWwubm9kZVR5cGUhPT0zJiYodT10Ll9vYnNlcnZlcnMsdSE9PW51bGwmJnUuZm9yRWFjaChmdW5jdGlvbihuKXtmb3IodmFyIGY9MCxjPTA7YzxZdC5sZW5ndGg7YysrKXt2YXIgaT1ZdFtjXTsoaS5mcmFnbWVudEluc3RhbmNlIT09dHx8aS5vYnNlcnZlciE9PW58fGkuaW5zdGFuY2UhPT1sKSYmKFl0W2YrK109aSl9WXQubGVuZ3RoPWYsbi5vYnNlcnZlKGwpfSksZ20obCx0KSl9ZnVuY3Rpb24gYnMobCx0KXt2YXIgdT10Ll9ldmVudExpc3RlbmVycztpZih1IT09bnVsbClmb3IodmFyIGE9MDthPHUubGVuZ3RoO2ErKyl7dmFyIGU9dVthXTtsLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS50eXBlLGUuYXR0YWNoZWRMaXN0ZW5lcixsZShlLm9wdGlvbnNPclVzZUNhcHR1cmUpKX1sLm5vZGVUeXBlIT09MyYmKHU9dC5fb2JzZXJ2ZXJzLHUhPT1udWxsJiZ1LmZvckVhY2goZnVuY3Rpb24obil7dHlwZW9mIG4ucm9vdE1hcmdpbj09InN0cmluZyI/cnModCxuLGwpOm4udW5vYnNlcnZlKGwpfSksbC5yZWFjdEZyYWdtZW50cyE9bnVsbCYmbC5yZWFjdEZyYWdtZW50cy5kZWxldGUodCkpfWZ1bmN0aW9uIHQwKGwpe3ZhciB0PWwuZmlyc3RDaGlsZDtmb3IodCYmdC5ub2RlVHlwZT09PTEwJiYodD10Lm5leHRTaWJsaW5nKTt0Oyl7dmFyIHU9dDtzd2l0Y2godD10Lm5leHRTaWJsaW5nLHUubm9kZU5hbWUpe2Nhc2UiSFRNTCI6Y2FzZSJIRUFEIjpjYXNlIkJPRFkiOnQwKHUpLG1uKHUpO2NvbnRpbnVlO2Nhc2UiU0NSSVBUIjpjYXNlIlNUWUxFIjpjb250aW51ZTtjYXNlIkxJTksiOmlmKHUucmVsLnRvTG93ZXJDYXNlKCk9PT0ic3R5bGVzaGVldCIpY29udGludWV9bC5yZW1vdmVDaGlsZCh1KX19ZnVuY3Rpb24gX3MobCx0LHUsYSl7Zm9yKDtsLm5vZGVUeXBlPT09MTspe3ZhciBlPXU7aWYobC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09dC50b0xvd2VyQ2FzZSgpKXtpZighYSYmKGwubm9kZU5hbWUhPT0iSU5QVVQifHxsLnR5cGUhPT0iaGlkZGVuIikpYnJlYWt9ZWxzZSBpZihhKXtpZighbFt5ZV0pc3dpdGNoKHQpe2Nhc2UibWV0YSI6aWYoIWwuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBsO2Nhc2UibGluayI6aWYobj1sLmdldEF0dHJpYnV0ZSgicmVsIiksbj09PSJzdHlsZXNoZWV0IiYmbC5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO2lmKG4hPT1lLnJlbHx8bC5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShlLmhyZWY9PW51bGx8fGUuaHJlZj09PSIiP251bGw6ZS5ocmVmKXx8bC5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0oZS5jcm9zc09yaWdpbj09bnVsbD9udWxsOmUuY3Jvc3NPcmlnaW4pfHxsLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShlLnRpdGxlPT1udWxsP251bGw6ZS50aXRsZSkpYnJlYWs7cmV0dXJuIGw7Y2FzZSJzdHlsZSI6aWYobC5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBsO2Nhc2Uic2NyaXB0IjppZihuPWwuZ2V0QXR0cmlidXRlKCJzcmMiKSwobiE9PShlLnNyYz09bnVsbD9udWxsOmUuc3JjKXx8bC5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShlLnR5cGU9PW51bGw/bnVsbDplLnR5cGUpfHxsLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShlLmNyb3NzT3JpZ2luPT1udWxsP251bGw6ZS5jcm9zc09yaWdpbikpJiZuJiZsLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWwuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBsO2RlZmF1bHQ6cmV0dXJuIGx9fWVsc2UgaWYodD09PSJpbnB1dCImJmwudHlwZT09PSJoaWRkZW4iKXt2YXIgbj1lLm5hbWU9PW51bGw/bnVsbDoiIitlLm5hbWU7aWYoZS50eXBlPT09ImhpZGRlbiImJmwuZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1uKXJldHVybiBsfWVsc2UgcmV0dXJuIGw7aWYobD1BdChsLm5leHRTaWJsaW5nKSxsPT09bnVsbClicmVha31yZXR1cm4gbnVsbH1mdW5jdGlvbiBPcyhsLHQsdSl7aWYodD09PSIiKXJldHVybiBudWxsO2Zvcig7bC5ub2RlVHlwZSE9PTM7KWlmKChsLm5vZGVUeXBlIT09MXx8bC5ub2RlTmFtZSE9PSJJTlBVVCJ8fGwudHlwZSE9PSJoaWRkZW4iKSYmIXV8fChsPUF0KGwubmV4dFNpYmxpbmcpLGw9PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gbH1mdW5jdGlvbiBybShsLHQpe2Zvcig7bC5ub2RlVHlwZSE9PTg7KWlmKChsLm5vZGVUeXBlIT09MXx8bC5ub2RlTmFtZSE9PSJJTlBVVCJ8fGwudHlwZSE9PSJoaWRkZW4iKSYmIXR8fChsPUF0KGwubmV4dFNpYmxpbmcpLGw9PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gbH1mdW5jdGlvbiB1MChsKXtyZXR1cm4gbC5kYXRhPT09IiQ/Inx8bC5kYXRhPT09IiR+In1mdW5jdGlvbiBhMChsKXtyZXR1cm4gbC5kYXRhPT09IiQhInx8bC5kYXRhPT09IiQ/IiYmbC5vd25lckRvY3VtZW50LnJlYWR5U3RhdGUhPT0ibG9hZGluZyJ9ZnVuY3Rpb24gQXMobCx0KXt2YXIgdT1sLm93bmVyRG9jdW1lbnQ7aWYobC5kYXRhPT09IiR+IilsLl9yZWFjdFJldHJ5PXQ7ZWxzZSBpZihsLmRhdGEhPT0iJD8ifHx1LnJlYWR5U3RhdGUhPT0ibG9hZGluZyIpdCgpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oKXt0KCksdS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixhKX07dS5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixhKSxsLl9yZWFjdFJldHJ5PWF9fWZ1bmN0aW9uIEF0KGwpe2Zvcig7bCE9bnVsbDtsPWwubmV4dFNpYmxpbmcpe3ZhciB0PWwubm9kZVR5cGU7aWYodD09PTF8fHQ9PT0zKWJyZWFrO2lmKHQ9PT04KXtpZih0PWwuZGF0YSx0PT09IiQifHx0PT09IiQhInx8dD09PSIkPyJ8fHQ9PT0iJH4ifHx0PT09IiYifHx0PT09IkYhInx8dD09PSJGIilicmVhaztpZih0PT09Ii8kInx8dD09PSIvJiIpcmV0dXJuIG51bGx9fXJldHVybiBsfXZhciBlMD1udWxsO2Z1bmN0aW9uIFRtKGwpe2w9bC5uZXh0U2libGluZztmb3IodmFyIHQ9MDtsOyl7aWYobC5ub2RlVHlwZT09PTgpe3ZhciB1PWwuZGF0YTtpZih1PT09Ii8kInx8dT09PSIvJiIpe2lmKHQ9PT0wKXJldHVybiBBdChsLm5leHRTaWJsaW5nKTt0LS19ZWxzZSB1IT09IiQiJiZ1IT09IiQhIiYmdSE9PSIkPyImJnUhPT0iJH4iJiZ1IT09IiYifHx0Kyt9bD1sLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIEVtKGwpe2w9bC5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7bDspe2lmKGwubm9kZVR5cGU9PT04KXt2YXIgdT1sLmRhdGE7aWYodT09PSIkInx8dT09PSIkISJ8fHU9PT0iJD8ifHx1PT09IiR+Inx8dT09PSImIil7aWYodD09PTApcmV0dXJuIGw7dC0tfWVsc2UgdSE9PSIvJCImJnUhPT0iLyYifHx0Kyt9bD1sLnByZXZpb3VzU2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBOcyhsLHQpe2Z1bmN0aW9uIHUoKXthPSEwfWlmKGwub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50PT09bClyZXR1cm4hMDt2YXIgYT0hMTt0cnl7bC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix1LCEwKSwobC5mb2N1c3x8SFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzKS5jYWxsKGwsdCl9ZmluYWxseXtsLm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHUsITApfXJldHVybiBhfWZ1bmN0aW9uIERzKGwpe2ZtKGZ1bmN0aW9uKCl7Zm0oZnVuY3Rpb24odCl7cmV0dXJuIGwodCl9KX0pfWZ1bmN0aW9uIHptKGwsdCx1KXtzd2l0Y2godD13ZSh1KSxsKXtjYXNlImh0bWwiOmlmKGw9dC5kb2N1bWVudEVsZW1lbnQsIWwpdGhyb3cgRXJyb3IoUyg0NTIpKTtyZXR1cm4gbDtjYXNlImhlYWQiOmlmKGw9dC5oZWFkLCFsKXRocm93IEVycm9yKFMoNDUzKSk7cmV0dXJuIGw7Y2FzZSJib2R5IjppZihsPXQuYm9keSwhbCl0aHJvdyBFcnJvcihTKDQ1NCkpO3JldHVybiBsO2RlZmF1bHQ6dGhyb3cgRXJyb3IoUyg0NTEpKX19ZnVuY3Rpb24gYm0obCx0LHUpe2Zvcih2YXIgYSBpbiB1KXt2YXIgZT11W2FdO3UuaGFzT3duUHJvcGVydHkoYSkmJmUhPW51bGwmJmVsKGwsdCxhLG51bGwsdXMsZSl9dS5kYW5nZXJvdXNseVNldElubmVySFRNTCE9bnVsbCYmKGwudGV4dENvbnRlbnQ9IiIpLGwub25jbGljaz09PWp0JiYobC5vbmNsaWNrPW51bGwpLG1uKGwpfWZ1bmN0aW9uIG4wKGwpe2Zvcih2YXIgdD1sLmF0dHJpYnV0ZXM7dC5sZW5ndGg7KWwucmVtb3ZlQXR0cmlidXRlTm9kZSh0WzBdKTttbihsKX12YXIgTnQ9bmV3IE1hcCxfbT1uZXcgU2V0O2Z1bmN0aW9uIFdlKGwpe2lmKHR5cGVvZiBsLmdldFJvb3ROb2RlPT0iZnVuY3Rpb24iKXt2YXIgdD1sLmdldFJvb3ROb2RlKCk7aWYodC5ub2RlVHlwZT09PTl8fHQubm9kZVR5cGU9PT0xMSlyZXR1cm4gdH1yZXR1cm4gbC5ub2RlVHlwZT09PTk/bDpsLm93bmVyRG9jdW1lbnR9dmFyIG11PUcuZDtHLmQ9e2Y6TXMscjpVcyxEOkNzLEM6UnMsTDpIcyxtOllzLFg6QnMsUzpxcyxNOkdzfTtmdW5jdGlvbiBNcygpe3ZhciBsPW11LmYoKSx0PWdmKCk7cmV0dXJuIGx8fHR9ZnVuY3Rpb24gVXMobCl7dmFyIHQ9VGEobCk7dCE9PW51bGwmJnQudGFnPT09NSYmdC50eXBlPT09ImZvcm0iP0FvKHQpOm11LnIobCl9dmFyIHRlPXR5cGVvZiBkb2N1bWVudD4idSI/bnVsbDpkb2N1bWVudDtmdW5jdGlvbiBPbShsLHQsdSl7dmFyIGE9dGU7aWYoYSYmdHlwZW9mIHQ9PSJzdHJpbmciJiZ0KXt2YXIgZT1ydCh0KTtlPSdsaW5rW3JlbD0iJytsKyciXVtocmVmPSInK2UrJyJdJyx0eXBlb2YgdT09InN0cmluZyImJihlKz0nW2Nyb3Nzb3JpZ2luPSInK3UrJyJdJyksX20uaGFzKGUpfHwoX20uYWRkKGUpLGw9e3JlbDpsLGNyb3NzT3JpZ2luOnUsaHJlZjp0fSxhLnF1ZXJ5U2VsZWN0b3IoZSk9PT1udWxsJiYodD1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxqbCh0LCJsaW5rIixsKSxNbCh0KSxhLmhlYWQuYXBwZW5kQ2hpbGQodCkpKX19ZnVuY3Rpb24gQ3MobCl7bXUuRChsKSxPbSgiZG5zLXByZWZldGNoIixsLG51bGwpfWZ1bmN0aW9uIFJzKGwsdCl7bXUuQyhsLHQpLE9tKCJwcmVjb25uZWN0IixsLHQpfWZ1bmN0aW9uIEhzKGwsdCx1KXttdS5MKGwsdCx1KTt2YXIgYT10ZTtpZihhJiZsJiZ0KXt2YXIgZT0nbGlua1tyZWw9InByZWxvYWQiXVthcz0iJytydCh0KSsnIl0nO3Q9PT0iaW1hZ2UiJiZ1JiZ1LmltYWdlU3JjU2V0PyhlKz0nW2ltYWdlc3Jjc2V0PSInK3J0KHUuaW1hZ2VTcmNTZXQpKyciXScsdHlwZW9mIHUuaW1hZ2VTaXplcz09InN0cmluZyImJihlKz0nW2ltYWdlc2l6ZXM9IicrcnQodS5pbWFnZVNpemVzKSsnIl0nKSk6ZSs9J1tocmVmPSInK3J0KGwpKyciXSc7dmFyIG49ZTtzd2l0Y2godCl7Y2FzZSJzdHlsZSI6bj11ZShsKTticmVhaztjYXNlInNjcmlwdCI6bj1hZShsKX1pZighKE50LmhhcyhuKXx8KGw9Vih7cmVsOiJwcmVsb2FkIixocmVmOnQ9PT0iaW1hZ2UiJiZ1JiZ1LmltYWdlU3JjU2V0P3ZvaWQgMDpsLGFzOnR9LHUpLE50LnNldChuLGwpLGEucXVlcnlTZWxlY3RvcihlKSE9PW51bGx8fHQ9PT0ic3R5bGUiJiZhLnF1ZXJ5U2VsZWN0b3IoJGUobikpfHx0PT09InNjcmlwdCImJmEucXVlcnlTZWxlY3RvcihGZShuKSkpKSl7dmFyIGY9YS5jcmVhdGVFbGVtZW50KCJsaW5rIik7amwoZiwibGluayIsbCksdD09PSJzdHlsZSImJihmW3luXT0hMCxmLm9ubG9hZD1mLm9uZXJyb3I9ZnVuY3Rpb24oKXtHMChmKX0pLE1sKGYpLGEuaGVhZC5hcHBlbmRDaGlsZChmKX19fWZ1bmN0aW9uIFlzKGwsdCl7bXUubShsLHQpO3ZhciB1PXRlO2lmKHUmJmwpe3ZhciBhPXQmJnR5cGVvZiB0LmFzPT0ic3RyaW5nIj90LmFzOiJzY3JpcHQiLGU9J2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl1bYXM9IicrcnQoYSkrJyJdW2hyZWY9IicrcnQobCkrJyJdJyxuPWU7c3dpdGNoKGEpe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjpuPWFlKGwpfWlmKCFOdC5oYXMobikmJihsPVYoe3JlbDoibW9kdWxlcHJlbG9hZCIsaHJlZjpsfSx0KSxOdC5zZXQobixsKSx1LnF1ZXJ5U2VsZWN0b3IoZSk9PT1udWxsKSl7c3dpdGNoKGEpe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjppZih1LnF1ZXJ5U2VsZWN0b3IoRmUobikpKXJldHVybn1hPXUuY3JlYXRlRWxlbWVudCgibGluayIpLGpsKGEsImxpbmsiLGwpLE1sKGEpLHUuaGVhZC5hcHBlbmRDaGlsZChhKX19fWZ1bmN0aW9uIHFzKGwsdCx1KXttdS5TKGwsdCx1KTt2YXIgYT10ZTtpZihhJiZsKXt2YXIgZT1FYShhKS5ob2lzdGFibGVTdHlsZXMsbj11ZShsKTt0PXR8fCJkZWZhdWx0Ijt2YXIgZj1lLmdldChuKTtpZighZil7dmFyIGM9e2xvYWRpbmc6MCxwcmVsb2FkOm51bGx9O2lmKGY9YS5xdWVyeVNlbGVjdG9yKCRlKG4pKSljLmxvYWRpbmc9NTtlbHNle2w9Vih7cmVsOiJzdHlsZXNoZWV0IixocmVmOmwsImRhdGEtcHJlY2VkZW5jZSI6dH0sdSksKHU9TnQuZ2V0KG4pKSYmZjAobCx1KTt2YXIgaT1mPWEuY3JlYXRlRWxlbWVudCgibGluayIpO01sKGkpLGpsKGksImxpbmsiLGwpLGkuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZCxnKXtpLm9ubG9hZD1kLGkub25lcnJvcj1nfSksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2MubG9hZGluZ3w9MX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7Yy5sb2FkaW5nfD0yfSksYy5sb2FkaW5nfD00LF9mKGYsdCxhKX1mPXt0eXBlOiJzdHlsZXNoZWV0IixpbnN0YW5jZTpmLGNvdW50OjEsc3RhdGU6Y30sZS5zZXQobixmKX19fWZ1bmN0aW9uIEJzKGwsdCl7bXUuWChsLHQpO3ZhciB1PXRlO2lmKHUmJmwpe3ZhciBhPUVhKHUpLmhvaXN0YWJsZVNjcmlwdHMsZT1hZShsKSxuPWEuZ2V0KGUpO258fChuPXUucXVlcnlTZWxlY3RvcihGZShlKSksbnx8KGw9Vih7c3JjOmwsYXN5bmM6ITB9LHQpLCh0PU50LmdldChlKSkmJmMwKGwsdCksbj11LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLE1sKG4pLGpsKG4sImxpbmsiLGwpLHUuaGVhZC5hcHBlbmRDaGlsZChuKSksbj17dHlwZToic2NyaXB0IixpbnN0YW5jZTpuLGNvdW50OjEsc3RhdGU6bnVsbH0sYS5zZXQoZSxuKSl9fWZ1bmN0aW9uIEdzKGwsdCl7bXUuTShsLHQpO3ZhciB1PXRlO2lmKHUmJmwpe3ZhciBhPUVhKHUpLmhvaXN0YWJsZVNjcmlwdHMsZT1hZShsKSxuPWEuZ2V0KGUpO258fChuPXUucXVlcnlTZWxlY3RvcihGZShlKSksbnx8KGw9Vih7c3JjOmwsYXN5bmM6ITAsdHlwZToibW9kdWxlIn0sdCksKHQ9TnQuZ2V0KGUpKSYmYzAobCx0KSxuPXUuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksTWwobiksamwobiwibGluayIsbCksdS5oZWFkLmFwcGVuZENoaWxkKG4pKSxuPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOm4sY291bnQ6MSxzdGF0ZTpudWxsfSxhLnNldChlLG4pKX19ZnVuY3Rpb24gQW0obCx0LHUsYSl7dmFyIGU9KGU9aHUuY3VycmVudCk/V2UoZSk6bnVsbDtpZighZSl0aHJvdyBFcnJvcihTKDQ0NikpO3N3aXRjaChsKXtjYXNlIm1ldGEiOmNhc2UidGl0bGUiOnJldHVybiBudWxsO2Nhc2Uic3R5bGUiOnJldHVybiB0eXBlb2YgdS5wcmVjZWRlbmNlPT0ic3RyaW5nIiYmdHlwZW9mIHUuaHJlZj09InN0cmluZyI/KHU9dWUodS5ocmVmKSx0PUVhKGUpLmhvaXN0YWJsZVN0eWxlcyxhPXQuZ2V0KHUpLGF8fChhPXt0eXBlOiJzdHlsZSIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LHQuc2V0KHUsYSkpLGEpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07Y2FzZSJsaW5rIjppZih1LnJlbD09PSJzdHlsZXNoZWV0IiYmdHlwZW9mIHUuaHJlZj09InN0cmluZyImJnR5cGVvZiB1LnByZWNlZGVuY2U9PSJzdHJpbmciKXtsPXVlKHUuaHJlZik7dmFyIG49RWEoZSkuaG9pc3RhYmxlU3R5bGVzLGY9bi5nZXQobCk7aWYoZnx8KGU9ZS5vd25lckRvY3VtZW50fHxlLGY9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LG4uc2V0KGwsZiksKG49ZS5xdWVyeVNlbGVjdG9yKCRlKGwpKSk/bi5fcHx8KGYuaW5zdGFuY2U9bixmLnN0YXRlLmxvYWRpbmc9NSk6KG49TnQuZ2V0KGwpLG58fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjp1LmhyZWYsY3Jvc3NPcmlnaW46dS5jcm9zc09yaWdpbixpbnRlZ3JpdHk6dS5pbnRlZ3JpdHksbWVkaWE6dS5tZWRpYSxocmVmTGFuZzp1LmhyZWZMYW5nLHJlZmVycmVyUG9saWN5OnUucmVmZXJyZXJQb2xpY3l9LE50LnNldChsLG4pKSxYcyhlLGwsbixmLnN0YXRlKSkpLHQmJmE9PT1udWxsKXRocm93IEVycm9yKFMoNTI4LCIiKSk7cmV0dXJuIGZ9aWYodCYmYSE9PW51bGwpdGhyb3cgRXJyb3IoUyg1MjksIiIpKTtyZXR1cm4gbnVsbDtjYXNlInNjcmlwdCI6cmV0dXJuIHQ9dS5hc3luYyx1PXUuc3JjLHR5cGVvZiB1PT0ic3RyaW5nIiYmdCYmdHlwZW9mIHQhPSJmdW5jdGlvbiImJnR5cGVvZiB0IT0ic3ltYm9sIj8odT1hZSh1KSx0PUVhKGUpLmhvaXN0YWJsZVNjcmlwdHMsYT10LmdldCh1KSxhfHwoYT17dHlwZToic2NyaXB0IixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH0sdC5zZXQodSxhKSksYSk6e3R5cGU6InZvaWQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfTtkZWZhdWx0OnRocm93IEVycm9yKFMoNDQ0LGwpKX19ZnVuY3Rpb24gdWUobCl7cmV0dXJuJ2hyZWY9IicrcnQobCkrJyInfWZ1bmN0aW9uICRlKGwpe3JldHVybidsaW5rW3JlbD0ic3R5bGVzaGVldCJdWycrbCsiXSJ9ZnVuY3Rpb24gTm0obCl7cmV0dXJuIFYoe30sbCx7ImRhdGEtcHJlY2VkZW5jZSI6bC5wcmVjZWRlbmNlLHByZWNlZGVuY2U6bnVsbH0pfWZ1bmN0aW9uIFhzKGwsdCx1LGEpe2lmKHQ9bC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrdCsiXSIpKXtpZih0W3luXSE9PSEwKXthLmxvYWRpbmc9MTtyZXR1cm59fWVsc2UgdD1sLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSx0W3luXT0hMCx0Lm9ubG9hZD10Lm9uZXJyb3I9RzAuYmluZChudWxsLHQpLGpsKHQsImxpbmsiLHUpLE1sKHQpLGwuaGVhZC5hcHBlbmRDaGlsZCh0KTthLnByZWxvYWQ9dCx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIGEubG9hZGluZ3w9MX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7cmV0dXJuIGEubG9hZGluZ3w9Mn0pfWZ1bmN0aW9uIGFlKGwpe3JldHVybidbc3JjPSInK3J0KGwpKyciXSd9ZnVuY3Rpb24gRmUobCl7cmV0dXJuInNjcmlwdFthc3luY10iK2x9ZnVuY3Rpb24gRG0obCx0LHUpe2lmKHQuY291bnQrKyx0Lmluc3RhbmNlPT09bnVsbClzd2l0Y2godC50eXBlKXtjYXNlInN0eWxlIjp2YXIgYT1sLnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlW2RhdGEtaHJlZn49IicrcnQodS5ocmVmKSsnIl0nKTtpZihhKXJldHVybiB0Lmluc3RhbmNlPWEsTWwoYSksYTt2YXIgZT1WKHt9LHUseyJkYXRhLWhyZWYiOnUuaHJlZiwiZGF0YS1wcmVjZWRlbmNlIjp1LnByZWNlZGVuY2UsaHJlZjpudWxsLHByZWNlZGVuY2U6bnVsbH0pO3JldHVybiBhPShsLm93bmVyRG9jdW1lbnR8fGwpLmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksTWwoYSksamwoYSwic3R5bGUiLGUpLF9mKGEsdS5wcmVjZWRlbmNlLGwpLHQuaW5zdGFuY2U9YTtjYXNlInN0eWxlc2hlZXQiOmU9dWUodS5ocmVmKTt2YXIgbj1sLnF1ZXJ5U2VsZWN0b3IoJGUoZSkpO2lmKG4pcmV0dXJuIHQuc3RhdGUubG9hZGluZ3w9NCx0Lmluc3RhbmNlPW4sTWwobiksbjthPU5tKHUpLChlPU50LmdldChlKSkmJmYwKGEsZSksbj0obC5vd25lckRvY3VtZW50fHxsKS5jcmVhdGVFbGVtZW50KCJsaW5rIiksTWwobik7dmFyIGY9bjtyZXR1cm4gZi5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihjLGkpe2Yub25sb2FkPWMsZi5vbmVycm9yPWl9KSxqbChuLCJsaW5rIixhKSx0LnN0YXRlLmxvYWRpbmd8PTQsX2Yobix1LnByZWNlZGVuY2UsbCksdC5pbnN0YW5jZT1uO2Nhc2Uic2NyaXB0IjpyZXR1cm4gbj1hZSh1LnNyYyksKGU9bC5xdWVyeVNlbGVjdG9yKEZlKG4pKSk/KHQuaW5zdGFuY2U9ZSxNbChlKSxlKTooYT11LChlPU50LmdldChuKSkmJihhPVYoe30sdSksYzAoYSxlKSksbD1sLm93bmVyRG9jdW1lbnR8fGwsZT1sLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLE1sKGUpLGpsKGUsImxpbmsiLGEpLGwuaGVhZC5hcHBlbmRDaGlsZChlKSx0Lmluc3RhbmNlPWUpO2Nhc2Uidm9pZCI6cmV0dXJuIG51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcihTKDQ0Myx0LnR5cGUpKX1lbHNlIHQudHlwZT09PSJzdHlsZXNoZWV0IiYmKHQuc3RhdGUubG9hZGluZyY0KT09PTAmJihhPXQuaW5zdGFuY2UsdC5zdGF0ZS5sb2FkaW5nfD00LF9mKGEsdS5wcmVjZWRlbmNlLGwpKTtyZXR1cm4gdC5pbnN0YW5jZX1mdW5jdGlvbiBfZihsLHQsdSl7Zm9yKHZhciBhPXUucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0nKSxlPWEubGVuZ3RoP2FbYS5sZW5ndGgtMV06bnVsbCxuPWUsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgYz1hW2ZdO2lmKGMuZGF0YXNldC5wcmVjZWRlbmNlPT09dCluPWM7ZWxzZSBpZihuIT09ZSlicmVha31uP24ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxuLm5leHRTaWJsaW5nKToodD11Lm5vZGVUeXBlPT09OT91LmhlYWQ6dSx0Lmluc2VydEJlZm9yZShsLHQuZmlyc3RDaGlsZCkpfWZ1bmN0aW9uIGYwKGwsdCl7bC5jcm9zc09yaWdpbj09bnVsbCYmKGwuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksbC5yZWZlcnJlclBvbGljeT09bnVsbCYmKGwucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksbC50aXRsZT09bnVsbCYmKGwudGl0bGU9dC50aXRsZSl9ZnVuY3Rpb24gYzAobCx0KXtsLmNyb3NzT3JpZ2luPT1udWxsJiYobC5jcm9zc09yaWdpbj10LmNyb3NzT3JpZ2luKSxsLnJlZmVycmVyUG9saWN5PT1udWxsJiYobC5yZWZlcnJlclBvbGljeT10LnJlZmVycmVyUG9saWN5KSxsLmludGVncml0eT09bnVsbCYmKGwuaW50ZWdyaXR5PXQuaW50ZWdyaXR5KX12YXIgT2Y9bnVsbDtmdW5jdGlvbiBNbShsLHQsdSl7aWYoT2Y9PT1udWxsKXt2YXIgYT1uZXcgTWFwLGU9T2Y9bmV3IE1hcDtlLnNldCh1LGEpfWVsc2UgZT1PZixhPWUuZ2V0KHUpLGF8fChhPW5ldyBNYXAsZS5zZXQodSxhKSk7aWYoYS5oYXMobCkpcmV0dXJuIGE7Zm9yKGEuc2V0KGwsbnVsbCksdT11LmdldEVsZW1lbnRzQnlUYWdOYW1lKGwpLGU9MDtlPHUubGVuZ3RoO2UrKyl7dmFyIG49dVtlXTtpZighKG5beWVdfHxuW3FsXXx8bD09PSJsaW5rIiYmbi5nZXRBdHRyaWJ1dGUoInJlbCIpPT09InN0eWxlc2hlZXQiKSYmbi5uYW1lc3BhY2VVUkkhPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKXt2YXIgZj1uLmdldEF0dHJpYnV0ZSh0KXx8IiI7Zj1sK2Y7dmFyIGM9YS5nZXQoZik7Yz9jLnB1c2gobik6YS5zZXQoZixbbl0pfX1yZXR1cm4gYX1mdW5jdGlvbiBpMChsLHQsdSl7bD1sLm93bmVyRG9jdW1lbnR8fGwsbC5oZWFkLmluc2VydEJlZm9yZSh1LHQ9PT0idGl0bGUiP2wucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIik6bnVsbCl9ZnVuY3Rpb24gUXMobCx0LHUpe2lmKHU9PT0xfHx0Lml0ZW1Qcm9wIT1udWxsKXJldHVybiExO3N3aXRjaChsKXtjYXNlIm1ldGEiOmNhc2UidGl0bGUiOnJldHVybiEwO2Nhc2Uic3R5bGUiOmlmKHR5cGVvZiB0LnByZWNlZGVuY2UhPSJzdHJpbmcifHx0eXBlb2YgdC5ocmVmIT0ic3RyaW5nInx8dC5ocmVmPT09IiIpYnJlYWs7cmV0dXJuITA7Y2FzZSJsaW5rIjppZih0eXBlb2YgdC5yZWwhPSJzdHJpbmcifHx0eXBlb2YgdC5ocmVmIT0ic3RyaW5nInx8dC5ocmVmPT09IiJ8fHQub25Mb2FkfHx0Lm9uRXJyb3IpYnJlYWs7cmV0dXJuIHQucmVsPT09InN0eWxlc2hlZXQiPyhsPXQuZGlzYWJsZWQsdHlwZW9mIHQucHJlY2VkZW5jZT09InN0cmluZyImJmw9PW51bGwpOiEwO2Nhc2Uic2NyaXB0IjppZih0LmFzeW5jJiZ0eXBlb2YgdC5hc3luYyE9ImZ1bmN0aW9uIiYmdHlwZW9mIHQuYXN5bmMhPSJzeW1ib2wiJiYhdC5vbkxvYWQmJiF0Lm9uRXJyb3ImJnQuc3JjJiZ0eXBlb2YgdC5zcmM9PSJzdHJpbmciKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIFVtKGwsdCl7cmV0dXJuIGw9PT0iaW1nIiYmdC5zcmMhPW51bGwmJnQuc3JjIT09IiImJnQub25Mb2FkPT1udWxsJiZ0LmxvYWRpbmchPT0ibGF6eSJ9ZnVuY3Rpb24gQ20obCl7cmV0dXJuIShsLnR5cGU9PT0ic3R5bGVzaGVldCImJihsLnN0YXRlLmxvYWRpbmcmMyk9PT0wKX1mdW5jdGlvbiBSbShsKXtyZXR1cm4obC53aWR0aHx8MTAwKSoobC5oZWlnaHR8fDEwMCkqKHR5cGVvZiBkZXZpY2VQaXhlbFJhdGlvPT0ibnVtYmVyIj9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBIbShsLHQpe3R5cGVvZiB0LmRlY29kZT09ImZ1bmN0aW9uIiYmKGwuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwobC5pbWdCeXRlcys9Um0odCksbC5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksbD1Wcy5iaW5kKGwpLHQuZGVjb2RlKCkudGhlbihsLGwpKX1mdW5jdGlvbiBqcyhsLHQsdSxhKXtpZih1LnR5cGU9PT0ic3R5bGVzaGVldCImJih0eXBlb2YgYS5tZWRpYSE9InN0cmluZyJ8fG1hdGNoTWVkaWEoYS5tZWRpYSkubWF0Y2hlcyE9PSExKSYmKHUuc3RhdGUubG9hZGluZyY0KT09PTApe2lmKHUuaW5zdGFuY2U9PT1udWxsKXt2YXIgZT11ZShhLmhyZWYpLG49dC5xdWVyeVNlbGVjdG9yKCRlKGUpKTtpZihuKXt0PW4uX3AsdCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdHlwZW9mIHQudGhlbj09ImZ1bmN0aW9uIiYmKGwuY291bnQrKyxsPUllLmJpbmQobCksdC50aGVuKGwsbCkpLHUuc3RhdGUubG9hZGluZ3w9NCx1Lmluc3RhbmNlPW4sTWwobik7cmV0dXJufW49dC5vd25lckRvY3VtZW50fHx0LGE9Tm0oYSksKGU9TnQuZ2V0KGUpKSYmZjAoYSxlKSxuPW4uY3JlYXRlRWxlbWVudCgibGluayIpLE1sKG4pO3ZhciBmPW47Zi5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihjLGkpe2Yub25sb2FkPWMsZi5vbmVycm9yPWl9KSxqbChuLCJsaW5rIixhKSx1Lmluc3RhbmNlPW59bC5zdHlsZXNoZWV0cz09PW51bGwmJihsLnN0eWxlc2hlZXRzPW5ldyBNYXApLGwuc3R5bGVzaGVldHMuc2V0KHUsdCksKHQ9dS5zdGF0ZS5wcmVsb2FkKSYmKHUuc3RhdGUubG9hZGluZyYzKT09PTAmJihsLmNvdW50KyssdT1JZS5iaW5kKGwpLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdSksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdSkpfX12YXIgQWY9MDtmdW5jdGlvbiBacyhsLHQpe3JldHVybiBsLnN0eWxlc2hlZXRzJiZsLmNvdW50PT09MCYmRGYobCxsLnN0eWxlc2hlZXRzKSwwPGwuY291bnR8fDA8bC5pbWdDb3VudD9mdW5jdGlvbih1KXt2YXIgYT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobC5zdHlsZXNoZWV0cyYmRGYobCxsLnN0eWxlc2hlZXRzKSxsLnVuc3VzcGVuZCl7dmFyIG49bC51bnN1c3BlbmQ7bC51bnN1c3BlbmQ9bnVsbCxuKCl9fSw2ZTQrdCk7MDxsLmltZ0J5dGVzJiZBZj09PTAmJihBZj02MjUwMCplcygpKTt2YXIgZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobC53YWl0aW5nRm9ySW1hZ2VzPSExLGwuY291bnQ9PT0wJiYobC5zdHlsZXNoZWV0cyYmRGYobCxsLnN0eWxlc2hlZXRzKSxsLnVuc3VzcGVuZCkpe3ZhciBuPWwudW5zdXNwZW5kO2wudW5zdXNwZW5kPW51bGwsbigpfX0sKGwuaW1nQnl0ZXM+QWY/NTA6ODAwKSt0KTtyZXR1cm4gbC51bnN1c3BlbmQ9dSxmdW5jdGlvbigpe2wudW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KGEpLGNsZWFyVGltZW91dChlKX19Om51bGx9ZnVuY3Rpb24gWW0obCl7aWYobC5jb3VudD09PTAmJihsLmltZ0NvdW50PT09MHx8IWwud2FpdGluZ0ZvckltYWdlcykpe2lmKGwuc3R5bGVzaGVldHMpRGYobCxsLnN0eWxlc2hlZXRzKTtlbHNlIGlmKGwudW5zdXNwZW5kKXt2YXIgdD1sLnVuc3VzcGVuZDtsLnVuc3VzcGVuZD1udWxsLHQoKX19fWZ1bmN0aW9uIEllKCl7dGhpcy5jb3VudC0tLFltKHRoaXMpfWZ1bmN0aW9uIFZzKCl7dGhpcy5pbWdDb3VudC0tLFltKHRoaXMpfXZhciBOZj1udWxsO2Z1bmN0aW9uIERmKGwsdCl7bC5zdHlsZXNoZWV0cz1udWxsLGwudW5zdXNwZW5kIT09bnVsbCYmKGwuY291bnQrKyxOZj1uZXcgTWFwLHQuZm9yRWFjaChMcyxsKSxOZj1udWxsLEllLmNhbGwobCkpfWZ1bmN0aW9uIExzKGwsdCl7aWYoISh0LnN0YXRlLmxvYWRpbmcmNCkpe3ZhciB1PU5mLmdldChsKTtpZih1KXZhciBhPXUuZ2V0KG51bGwpO2Vsc2V7dT1uZXcgTWFwLE5mLnNldChsLHUpO2Zvcih2YXIgZT1sLnF1ZXJ5U2VsZWN0b3JBbGwoImxpbmtbZGF0YS1wcmVjZWRlbmNlXSxzdHlsZVtkYXRhLXByZWNlZGVuY2VdIiksbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgZj1lW25dOyhmLm5vZGVOYW1lPT09IkxJTksifHxmLmdldEF0dHJpYnV0ZSgibWVkaWEiKSE9PSJub3QgYWxsIikmJih1LnNldChmLmRhdGFzZXQucHJlY2VkZW5jZSxmKSxhPWYpfWEmJnUuc2V0KG51bGwsYSl9ZT10Lmluc3RhbmNlLGY9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpLG49dS5nZXQoZil8fGEsbj09PWEmJnUuc2V0KG51bGwsZSksdS5zZXQoZixlKSx0aGlzLmNvdW50KyssYT1JZS5iaW5kKHRoaXMpLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYSksZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYSksbj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsbi5uZXh0U2libGluZyk6KGw9bC5ub2RlVHlwZT09PTk/bC5oZWFkOmwsbC5pbnNlcnRCZWZvcmUoZSxsLmZpcnN0Q2hpbGQpKSx0LnN0YXRlLmxvYWRpbmd8PTR9fXZhciBlZT17JCR0eXBlb2Y6RGwsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsLF9jdXJyZW50VmFsdWU6SXQsX2N1cnJlbnRWYWx1ZTI6SXQsX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIHBzKGwsdCx1LGEsZSxuLGYsYyxpKXt0aGlzLnRhZz0xLHRoaXMuY29udGFpbmVySW5mbz1sLHRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLm5leHQ9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9dGhpcy5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsdGhpcy5jYWxsYmFja1ByaW9yaXR5PTAsdGhpcy5leHBpcmF0aW9uVGltZXM9TGYoLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5zaGVsbFN1c3BlbmRDb3VudGVyPXRoaXMuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXM9dGhpcy5leHBpcmVkTGFuZXM9dGhpcy53YXJtTGFuZXM9dGhpcy5waW5nZWRMYW5lcz10aGlzLnN1c3BlbmRlZExhbmVzPXRoaXMucGVuZGluZ0xhbmVzPTAsdGhpcy5lbnRhbmdsZW1lbnRzPUxmKDApLHRoaXMuaGlkZGVuVXBkYXRlcz1MZihudWxsKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9YSx0aGlzLm9uVW5jYXVnaHRFcnJvcj1lLHRoaXMub25DYXVnaHRFcnJvcj1uLHRoaXMub25SZWNvdmVyYWJsZUVycm9yPWYsdGhpcy5wb29sZWRDYWNoZT1udWxsLHRoaXMucG9vbGVkQ2FjaGVMYW5lcz0wLHRoaXMuZm9ybVN0YXRlPWksdGhpcy50cmFuc2l0aW9uVHlwZXM9bnVsbCx0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucz1uZXcgTWFwfWZ1bmN0aW9uIHFtKGwsdCx1LGEsZSxuLGYsYyxpLGQsZyxFKXtyZXR1cm4gbD1uZXcgcHMobCx0LHUsZixpLGQsZyxFLGMpLHQ9MSxuPT09ITAmJih0fD0yNCksbj0kbCgzLG51bGwsbnVsbCx0KSxsLmN1cnJlbnQ9bixuLnN0YXRlTm9kZT1sLHQ9X2MoKSx0LnJlZkNvdW50KyssbC5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxuLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6YSxpc0RlaHlkcmF0ZWQ6dSxjYWNoZTp0fSxEYyhuKSxsfWZ1bmN0aW9uIEJtKGwpe3JldHVybiBsPyhsPUNhLGwpOkNhfWZ1bmN0aW9uIEdtKGwsdCx1LGEsZSxuKXtlPUJtKGUpLGEuY29udGV4dD09PW51bGw/YS5jb250ZXh0PWU6YS5wZW5kaW5nQ29udGV4dD1lLGE9TnUodCksYS5wYXlsb2FkPXtlbGVtZW50OnV9LG49bj09PXZvaWQgMD9udWxsOm4sbiE9PW51bGwmJihhLmNhbGxiYWNrPW4pLHU9RHUobCxhLHQpLHUhPT1udWxsJiYoUGwodSxsLHQpLE1lKHUsbCx0KSl9ZnVuY3Rpb24gWG0obCx0KXtpZihsPWwubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmbC5kZWh5ZHJhdGVkIT09bnVsbCl7dmFyIHU9bC5yZXRyeUxhbmU7bC5yZXRyeUxhbmU9dSE9PTAmJnU8dD91OnR9fWZ1bmN0aW9uIHYwKGwsdCl7WG0obCx0KSwobD1sLmFsdGVybmF0ZSkmJlhtKGwsdCl9ZnVuY3Rpb24gUW0obCl7aWYobC50YWc9PT0xM3x8bC50YWc9PT0zMSl7dmFyIHQ9a3UobCw2NzEwODg2NCk7dCE9PW51bGwmJlBsKHQsbCw2NzEwODg2NCksdjAobCw2NzEwODg2NCl9fWZ1bmN0aW9uIGptKGwpe2lmKGwudGFnPT09MTN8fGwudGFnPT09MzEpe3ZhciB0PWR0KCk7dD1wZih0KTt2YXIgdT1rdShsLHQpO3UhPT1udWxsJiZQbCh1LGwsdCksdjAobCx0KX19dmFyIG5lPSEwO2Z1bmN0aW9uIHhzKGwsdCx1LGEpe3ZhciBlPU4uVDtOLlQ9bnVsbDt2YXIgbj1HLnA7dHJ5e0cucD0yLG8wKGwsdCx1LGEpfWZpbmFsbHl7Ry5wPW4sTi5UPWV9fWZ1bmN0aW9uIEtzKGwsdCx1LGEpe3ZhciBlPU4uVDtOLlQ9bnVsbDt2YXIgbj1HLnA7dHJ5e0cucD04LG8wKGwsdCx1LGEpfWZpbmFsbHl7Ry5wPW4sTi5UPWV9fWZ1bmN0aW9uIG8wKGwsdCx1LGEpe2lmKG5lKXt2YXIgZT15MChhKTtpZihlPT09bnVsbClLaShsLHQsYSxNZix1KSxWbShsLGEpO2Vsc2UgaWYod3MoZSxsLHQsdSxhKSlhLnN0b3BQcm9wYWdhdGlvbigpO2Vsc2UgaWYoVm0obCxhKSx0JjQmJi0xPEpzLmluZGV4T2YobCkpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1UYShlKTtpZihuIT09bnVsbClzd2l0Y2gobi50YWcpe2Nhc2UgMzppZihuPW4uc3RhdGVOb2RlLG4uY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl7dmFyIGY9d3Uobi5wZW5kaW5nTGFuZXMpO2lmKGYhPT0wKXt2YXIgYz1uO2ZvcihjLnBlbmRpbmdMYW5lc3w9MixjLmVudGFuZ2xlZExhbmVzfD0yO2Y7KXt2YXIgaT0xPDwzMS1mdChmKTtjLmVudGFuZ2xlbWVudHNbMV18PWksZiY9fml9JHQobiksKGsmNik9PT0wJiYoZGY9ZXQoKSs1MDAseGUoMCkpfX1icmVhaztjYXNlIDMxOmNhc2UgMTM6Yz1rdShuLDIpLGMhPT1udWxsJiZQbChjLG4sMiksZ2YoKSx2MChuLDIpfWlmKG49eTAoYSksbj09PW51bGwmJktpKGwsdCxhLE1mLHUpLG49PT1lKWJyZWFrO2U9bn1lIT09bnVsbCYmYS5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIEtpKGwsdCxhLG51bGwsdSl9fWZ1bmN0aW9uIHkwKGwpe3JldHVybiBsPUZmKGwpLG0wKGwpfXZhciBNZj1udWxsO2Z1bmN0aW9uIG0wKGwpe2lmKE1mPW51bGwsbD1XdShsKSxsIT09bnVsbCl7dmFyIHQ9c2wobCk7aWYodD09PW51bGwpbD1udWxsO2Vsc2V7dmFyIHU9dC50YWc7aWYodT09PTEzKXtpZihsPUpsKHQpLGwhPT1udWxsKXJldHVybiBsO2w9bnVsbH1lbHNlIGlmKHU9PT0zMSl7aWYobD1kdSh0KSxsIT09bnVsbClyZXR1cm4gbDtsPW51bGx9ZWxzZSBpZih1PT09Myl7aWYodC5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZClyZXR1cm4gdC50YWc9PT0zP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtsPW51bGx9ZWxzZSB0IT09bCYmKGw9bnVsbCl9fXJldHVybiBNZj1sLG51bGx9ZnVuY3Rpb24gWm0obCl7c3dpdGNoKGwpe2Nhc2UiYmVmb3JldG9nZ2xlIjpjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6Y2FzZSJyZXNldCI6Y2FzZSJzZWVrZWQiOmNhc2Uic3VibWl0IjpjYXNlInRvZ2dsZSI6Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaHN0YXJ0IjpjYXNlInZvbHVtZWNoYW5nZSI6Y2FzZSJjaGFuZ2UiOmNhc2Uic2VsZWN0aW9uY2hhbmdlIjpjYXNlInRleHRJbnB1dCI6Y2FzZSJjb21wb3NpdGlvbnN0YXJ0IjpjYXNlImNvbXBvc2l0aW9uZW5kIjpjYXNlImNvbXBvc2l0aW9udXBkYXRlIjpjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpjYXNlImJlZm9yZWlucHV0IjpjYXNlImJsdXIiOmNhc2UiZnVsbHNjcmVlbmNoYW5nZSI6Y2FzZSJmdWxsc2NyZWVuZXJyb3IiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAyO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJyZXNpemUiOmNhc2Uic2Nyb2xsIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDg7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goZTEoKSl7Y2FzZSBPMDpyZXR1cm4gMjtjYXNlIEEwOnJldHVybiA4O2Nhc2Ugbm46Y2FzZSBuMTpyZXR1cm4gMzI7Y2FzZSBOMDpyZXR1cm4gMjY4NDM1NDU2O2RlZmF1bHQ6cmV0dXJuIDMyfWRlZmF1bHQ6cmV0dXJuIDMyfX12YXIgZDA9ITEsanU9bnVsbCxadT1udWxsLFZ1PW51bGwsa2U9bmV3IE1hcCxQZT1uZXcgTWFwLEx1PVtdLEpzPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQiLnNwbGl0KCIgIik7ZnVuY3Rpb24gVm0obCx0KXtzd2l0Y2gobCl7Y2FzZSJmb2N1c2luIjpjYXNlImZvY3Vzb3V0IjpqdT1udWxsO2JyZWFrO2Nhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdsZWF2ZSI6WnU9bnVsbDticmVhaztjYXNlIm1vdXNlb3ZlciI6Y2FzZSJtb3VzZW91dCI6VnU9bnVsbDticmVhaztjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJvdXQiOmtlLmRlbGV0ZSh0LnBvaW50ZXJJZCk7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOlBlLmRlbGV0ZSh0LnBvaW50ZXJJZCl9fWZ1bmN0aW9uIGxuKGwsdCx1LGEsZSxuKXtyZXR1cm4gbD09PW51bGx8fGwubmF0aXZlRXZlbnQhPT1uPyhsPXtibG9ja2VkT246dCxkb21FdmVudE5hbWU6dSxldmVudFN5c3RlbUZsYWdzOmEsbmF0aXZlRXZlbnQ6bix0YXJnZXRDb250YWluZXJzOltlXX0sdCE9PW51bGwmJih0PVRhKHQpLHQhPT1udWxsJiZRbSh0KSksbCk6KGwuZXZlbnRTeXN0ZW1GbGFnc3w9YSx0PWwudGFyZ2V0Q29udGFpbmVycyxlIT09bnVsbCYmdC5pbmRleE9mKGUpPT09LTEmJnQucHVzaChlKSxsKX1mdW5jdGlvbiB3cyhsLHQsdSxhLGUpe3N3aXRjaCh0KXtjYXNlImZvY3VzaW4iOnJldHVybiBqdT1sbihqdSxsLHQsdSxhLGUpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gWnU9bG4oWnUsbCx0LHUsYSxlKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIFZ1PWxuKFZ1LGwsdCx1LGEsZSksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIG49ZS5wb2ludGVySWQ7cmV0dXJuIGtlLnNldChuLGxuKGtlLmdldChuKXx8bnVsbCxsLHQsdSxhLGUpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gbj1lLnBvaW50ZXJJZCxQZS5zZXQobixsbihQZS5nZXQobil8fG51bGwsbCx0LHUsYSxlKSksITB9cmV0dXJuITF9ZnVuY3Rpb24gTG0obCl7dmFyIHQ9V3UobC50YXJnZXQpO2lmKHQhPT1udWxsKXt2YXIgdT1zbCh0KTtpZih1IT09bnVsbCl7aWYodD11LnRhZyx0PT09MTMpe2lmKHQ9SmwodSksdCE9PW51bGwpe2wuYmxvY2tlZE9uPXQsWTAobC5wcmlvcml0eSxmdW5jdGlvbigpe2ptKHUpfSk7cmV0dXJufX1lbHNlIGlmKHQ9PT0zMSl7aWYodD1kdSh1KSx0IT09bnVsbCl7bC5ibG9ja2VkT249dCxZMChsLnByaW9yaXR5LGZ1bmN0aW9uKCl7am0odSl9KTtyZXR1cm59fWVsc2UgaWYodD09PTMmJnUuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2wuYmxvY2tlZE9uPXUudGFnPT09Mz91LnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19bC5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBVZihsKXtpZihsLmJsb2NrZWRPbiE9PW51bGwpcmV0dXJuITE7Zm9yKHZhciB0PWwudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIHU9eTAobC5uYXRpdmVFdmVudCk7aWYodT09PW51bGwpe3U9bC5uYXRpdmVFdmVudDt2YXIgYT1uZXcgdS5jb25zdHJ1Y3Rvcih1LnR5cGUsdSk7JGY9YSx1LnRhcmdldC5kaXNwYXRjaEV2ZW50KGEpLCRmPW51bGx9ZWxzZSByZXR1cm4gdD1UYSh1KSx0IT09bnVsbCYmUW0odCksbC5ibG9ja2VkT249dSwhMTt0LnNoaWZ0KCl9cmV0dXJuITB9ZnVuY3Rpb24gcG0obCx0LHUpe1VmKGwpJiZ1LmRlbGV0ZSh0KX1mdW5jdGlvbiBXcygpe2QwPSExLGp1IT09bnVsbCYmVWYoanUpJiYoanU9bnVsbCksWnUhPT1udWxsJiZVZihadSkmJihadT1udWxsKSxWdSE9PW51bGwmJlVmKFZ1KSYmKFZ1PW51bGwpLGtlLmZvckVhY2gocG0pLFBlLmZvckVhY2gocG0pfWZ1bmN0aW9uIENmKGwsdCl7bC5ibG9ja2VkT249PT10JiYobC5ibG9ja2VkT249bnVsbCxkMHx8KGQwPSEwLEQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhELnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LFdzKSkpfXZhciBSZj1udWxsO2Z1bmN0aW9uIHhtKGwpe1JmIT09bCYmKFJmPWwsRC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKEQudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZnVuY3Rpb24oKXtSZj09PWwmJihSZj1udWxsKTtmb3IodmFyIHQ9MDt0PGwubGVuZ3RoO3QrPTMpe3ZhciB1PWxbdF0sYT1sW3QrMV0sZT1sW3QrMl07aWYodHlwZW9mIGEhPSJmdW5jdGlvbiIpe2lmKG0wKGF8fHUpPT09bnVsbCljb250aW51ZTticmVha312YXIgbj1UYSh1KTtuIT09bnVsbCYmKGwuc3BsaWNlKHQsMyksdC09MyxXYyhuLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6dS5tZXRob2QsYWN0aW9uOmF9LGEsZSkpfX0pKX1mdW5jdGlvbiBmZShsKXtmdW5jdGlvbiB0KGkpe3JldHVybiBDZihpLGwpfWp1IT09bnVsbCYmQ2YoanUsbCksWnUhPT1udWxsJiZDZihadSxsKSxWdSE9PW51bGwmJkNmKFZ1LGwpLGtlLmZvckVhY2godCksUGUuZm9yRWFjaCh0KTtmb3IodmFyIHU9MDt1PEx1Lmxlbmd0aDt1Kyspe3ZhciBhPUx1W3VdO2EuYmxvY2tlZE9uPT09bCYmKGEuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxMdS5sZW5ndGgmJih1PUx1WzBdLHUuYmxvY2tlZE9uPT09bnVsbCk7KUxtKHUpLHUuYmxvY2tlZE9uPT09bnVsbCYmTHUuc2hpZnQoKTtpZih1PShsLm93bmVyRG9jdW1lbnR8fGwpLiQkcmVhY3RGb3JtUmVwbGF5LHUhPW51bGwpZm9yKGE9MDthPHUubGVuZ3RoO2ErPTMpe3ZhciBlPXVbYV0sbj11W2ErMV0sZj1lW1dsXXx8bnVsbDtpZih0eXBlb2Ygbj09ImZ1bmN0aW9uIilmfHx4bSh1KTtlbHNlIGlmKGYpe3ZhciBjPW51bGw7aWYobiYmbi5oYXNBdHRyaWJ1dGUoImZvcm1BY3Rpb24iKSl7aWYoZT1uLGY9bltXbF18fG51bGwpYz1mLmZvcm1BY3Rpb247ZWxzZSBpZihtMChlKSE9PW51bGwpY29udGludWV9ZWxzZSBjPWYuYWN0aW9uO3R5cGVvZiBjPT0iZnVuY3Rpb24iP3VbYSsxXT1jOih1LnNwbGljZShhLDMpLGEtPTMpLHhtKHUpfX19ZnVuY3Rpb24gS20oKXtmdW5jdGlvbiBsKG4pe24uY2FuSW50ZXJjZXB0JiZuLmluZm89PT0icmVhY3QtdHJhbnNpdGlvbiImJm4uaW50ZXJjZXB0KHtoYW5kbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGYpe3JldHVybiBlPWZ9KX0sZm9jdXNSZXNldDoibWFudWFsIixzY3JvbGw6Im1hbnVhbCJ9KX1mdW5jdGlvbiB0KCl7ZSE9PW51bGwmJihlKCksZT1udWxsKSxhfHxzZXRUaW1lb3V0KHUsMjApfWZ1bmN0aW9uIHUoKXtpZighYSYmIW5hdmlnYXRpb24udHJhbnNpdGlvbil7dmFyIG49bmF2aWdhdGlvbi5jdXJyZW50RW50cnk7biYmbi51cmwhPW51bGwmJm5hdmlnYXRpb24ubmF2aWdhdGUobi51cmwse3N0YXRlOm4uZ2V0U3RhdGUoKSxpbmZvOiJyZWFjdC10cmFuc2l0aW9uIixoaXN0b3J5OiJyZXBsYWNlIn0pfX1pZih0eXBlb2YgbmF2aWdhdGlvbj09Im9iamVjdCIpe3ZhciBhPSExLGU9bnVsbDtyZXR1cm4gbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZSIsbCksbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZXN1Y2Nlc3MiLHQpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVlcnJvciIsdCksc2V0VGltZW91dCh1LDEwMCksZnVuY3Rpb24oKXthPSEwLG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLGwpLG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIix0KSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHQpLGUhPT1udWxsJiYoZSgpLGU9bnVsbCl9fX1mdW5jdGlvbiBzMChsKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bH1IZi5wcm90b3R5cGUucmVuZGVyPXMwLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24obCl7dmFyIHQ9dGhpcy5faW50ZXJuYWxSb290O2lmKHQ9PT1udWxsKXRocm93IEVycm9yKFMoNDA5KSk7dmFyIHU9dC5jdXJyZW50LGE9ZHQoKTtHbSh1LGEsbCx0LG51bGwsbnVsbCl9LEhmLnByb3RvdHlwZS51bm1vdW50PXMwLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGw9dGhpcy5faW50ZXJuYWxSb290O2lmKGwhPT1udWxsKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgdD1sLmNvbnRhaW5lckluZm87R20obC5jdXJyZW50LDIsbnVsbCxsLG51bGwsbnVsbCksZ2YoKSx0W3JhXT1udWxsfX07ZnVuY3Rpb24gSGYobCl7dGhpcy5faW50ZXJuYWxSb290PWx9SGYucHJvdG90eXBlLnVuc3RhYmxlX3NjaGVkdWxlSHlkcmF0aW9uPWZ1bmN0aW9uKGwpe2lmKGwpe3ZhciB0PUgwKCk7bD17YmxvY2tlZE9uOm51bGwsdGFyZ2V0OmwscHJpb3JpdHk6dH07Zm9yKHZhciB1PTA7dTxMdS5sZW5ndGgmJnQhPT0wJiZ0PEx1W3VdLnByaW9yaXR5O3UrKyk7THUuc3BsaWNlKHUsMCxsKSx1PT09MCYmTG0obCl9fTt2YXIgSm09Z2wudmVyc2lvbjtpZihKbSE9PSIxOS4zLjEiKXRocm93IEVycm9yKFMoNTI3LEptLCIxOS4zLjEiKSk7Ry5maW5kRE9NTm9kZT1mdW5jdGlvbihsKXt2YXIgdD1sLl9yZWFjdEludGVybmFscztpZih0PT09dm9pZCAwKXRocm93IHR5cGVvZiBsLnJlbmRlcj09ImZ1bmN0aW9uIj9FcnJvcihTKDE4OCkpOihsPU9iamVjdC5rZXlzKGwpLmpvaW4oIiwiKSxFcnJvcihTKDI2OCxsKSkpO3JldHVybiBsPUhsKHQpLGw9bCE9PW51bGw/WShsKTpudWxsLGw9bD09PW51bGw/bnVsbDpsLnN0YXRlTm9kZSxsfTt2YXIgJHM9e2J1bmRsZVR5cGU6MCx2ZXJzaW9uOiIxOS4zLjEiLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSIsY3VycmVudERpc3BhdGNoZXJSZWY6TixyZWNvbmNpbGVyVmVyc2lvbjoiMTkuMy4xIn07aWYodHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXzwidSIpe3ZhciBZZj1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYoIVlmLmlzRGlzYWJsZWQmJllmLnN1cHBvcnRzRmliZXIpdHJ5e2llPVlmLmluamVjdCgkcyksbnQ9WWZ9Y2F0Y2h7fX1yZXR1cm4gdG4uY3JlYXRlUm9vdD1mdW5jdGlvbihsLHQpe2lmKCFmbChsKSl0aHJvdyBFcnJvcihTKDI5OSkpO3ZhciB1PSExLGE9IiIsZT1CbyxuPUdvLGY9WG87cmV0dXJuIHQhPW51bGwmJih0LnVuc3RhYmxlX3N0cmljdE1vZGU9PT0hMCYmKHU9ITApLHQuaWRlbnRpZmllclByZWZpeCE9PXZvaWQgMCYmKGE9dC5pZGVudGlmaWVyUHJlZml4KSx0Lm9uVW5jYXVnaHRFcnJvciE9PXZvaWQgMCYmKGU9dC5vblVuY2F1Z2h0RXJyb3IpLHQub25DYXVnaHRFcnJvciE9PXZvaWQgMCYmKG49dC5vbkNhdWdodEVycm9yKSx0Lm9uUmVjb3ZlcmFibGVFcnJvciE9PXZvaWQgMCYmKGY9dC5vblJlY292ZXJhYmxlRXJyb3IpKSx0PXFtKGwsMSwhMSxudWxsLG51bGwsdSxhLG51bGwsZSxuLGYsS20pLGxbcmFdPXQuY3VycmVudCx4aShsKSxuZXcgczAodCl9LHRuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGwsdCx1KXtpZighZmwobCkpdGhyb3cgRXJyb3IoUygyOTkpKTt2YXIgYT0hMSxlPSIiLG49Qm8sZj1HbyxjPVhvLGk9bnVsbDtyZXR1cm4gdSE9bnVsbCYmKHUudW5zdGFibGVfc3RyaWN0TW9kZT09PSEwJiYoYT0hMCksdS5pZGVudGlmaWVyUHJlZml4IT09dm9pZCAwJiYoZT11LmlkZW50aWZpZXJQcmVmaXgpLHUub25VbmNhdWdodEVycm9yIT09dm9pZCAwJiYobj11Lm9uVW5jYXVnaHRFcnJvciksdS5vbkNhdWdodEVycm9yIT09dm9pZCAwJiYoZj11Lm9uQ2F1Z2h0RXJyb3IpLHUub25SZWNvdmVyYWJsZUVycm9yIT09dm9pZCAwJiYoYz11Lm9uUmVjb3ZlcmFibGVFcnJvciksdS5mb3JtU3RhdGUhPT12b2lkIDAmJihpPXUuZm9ybVN0YXRlKSksdD1xbShsLDEsITAsdCx1Pz9udWxsLGEsZSxpLG4sZixjLEttKSx0LmNvbnRleHQ9Qm0obnVsbCksdT10LmN1cnJlbnQsYT1kdCgpLGE9cGYoYSksZT1OdShhKSxlLmNhbGxiYWNrPW51bGwsRHUodSxlLGEpLHU9YSx0LmN1cnJlbnQubGFuZXM9dSxvZSh0LHUpLCR0KHQpLGxbcmFdPXQuY3VycmVudCx4aShsKSxuZXcgSGYodCl9LHRuLnZlcnNpb249IjE5LjMuMSIsdG59dmFyIGwxO2Z1bmN0aW9uIGFoKCl7aWYobDEpcmV0dXJuIGcwLmV4cG9ydHM7bDE9MTtmdW5jdGlvbiBEKCl7aWYoISh0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPiJ1Inx8dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSE9ImZ1bmN0aW9uIikpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShEKX1jYXRjaChnbCl7Y29uc29sZS5lcnJvcihnbCl9fXJldHVybiBEKCksZzAuZXhwb3J0cz11aCgpLGcwLmV4cG9ydHN9dmFyIGVoPWFoKCk7ZnVuY3Rpb24gbmgoKXtjb25zdFtELGdsXT1FMC51c2VTdGF0ZSgibG9hZGluZ+KApiIpO3JldHVybiBFMC51c2VFZmZlY3QoKCk9PntmZXRjaCgiL2FwaS9oZWxsbyIpLnRoZW4odGw9PnRsLmpzb24oKSkudGhlbih0bD0+Z2wodGwubWVzc2FnZSkpLmNhdGNoKCgpPT5nbCgiYXBpIHVucmVhY2hhYmxlIikpfSxbXSksUmVhY3QuY3JlYXRlRWxlbWVudCgibWFpbiIsbnVsbCxSZWFjdC5jcmVhdGVFbGVtZW50KCJoMSIsbnVsbCwiY2h0dHAgKyBSZWFjdCIpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoInAiLG51bGwsIlNlcnZlciBzYXlzOiAiLFJlYWN0LmNyZWF0ZUVsZW1lbnQoInN0cm9uZyIsbnVsbCxEKSkpfWVoLmNyZWF0ZVJvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb3QiKSkucmVuZGVyKFJlYWN0LmNyZWF0ZUVsZW1lbnQoRTAuU3RyaWN0TW9kZSxudWxsLFJlYWN0LmNyZWF0ZUVsZW1lbnQobmgsbnVsbCkpKTsK\00" } +@sc_lit_3371793288775401 = internal global { i64, i64, i64, [41 x i8] } { i64 -1, i64 40, i64 -3332139358139449304, [41 x i8] c"00507fc72189741d84023762b6b0e6f1e1ed901f\00" } +@sc_lit_4437836837228547 = internal global { i64, i64, i64, [26 x i8] } { i64 -1, i64 25, i64 -540228818363744231, [26 x i8] c"assets/index-DnZghQs_.css\00" } +@sc_lit_3506423068082710 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -931196306884394985, [24 x i8] c"text/css; charset=utf-8\00" } +@sc_lit_3782952502569504 = internal global { i64, i64, i64, [217 x i8] } { i64 -1, i64 216, i64 -7904026242507079464, [217 x i8] c"OnJvb3R7Y29sb3Itc2NoZW1lOmxpZ2h0IGRhcms7Zm9udC1mYW1pbHk6c3lzdGVtLXVpLHNhbnMtc2VyaWZ9Ym9keXttYXJnaW46MDtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6MTAwdmh9bWFpbnttYXgtd2lkdGg6NDByZW07cGFkZGluZzoycmVtfQo=\00" } +@sc_lit_1463982050217829 = internal global { i64, i64, i64, [41 x i8] } { i64 -1, i64 40, i64 -5024633107312017368, [41 x i8] c"ac1c8e3557b7fedf31cb0d85d6f11106007f2405\00" } +@sc_lit_2088695026021282 = internal global { i64, i64, i64, [533 x i8] } { i64 -1, i64 532, i64 -6217581997720600044, [533 x i8] c"PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIC8+CiAgICA8dGl0bGU+Y2h0dHAgKyBSZWFjdDwvdGl0bGU+CiAgICA8c2NyaXB0IHR5cGU9Im1vZHVsZSIgY3Jvc3NvcmlnaW4gc3JjPSIvYXNzZXRzL2luZGV4LUJGM1NBMjl2LmpzIj48L3NjcmlwdD4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgY3Jvc3NvcmlnaW4gaHJlZj0iL2Fzc2V0cy9pbmRleC1EblpnaFFzXy5jc3MiPgogIDwvaGVhZD4KICA8Ym9keT4KICAgIDxkaXYgaWQ9InJvb3QiPjwvZGl2PgogIDwvYm9keT4KPC9odG1sPgo=\00" } +@sc_lit_2698600211138329 = internal global { i64, i64, i64, [41 x i8] } { i64 -1, i64 40, i64 -6266684417490550744, [41 x i8] c"f032cb88b0bd178759a5de7ae98ecfcc62da7090\00" } +@sc_lit_4377402653539513 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7467582987421351932, [5 x i8] c"port\00" } +@sc_lit_3610950885518037 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -5244146523578564603, [6 x i8] c"value\00" } +@sc_lit_1948131179100861 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -5626912157867180024, [9 x i8] c"writable\00" } +@sc_lit_3198935257758645 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 2930475562805755916, [13 x i8] c"configurable\00" } +@sc_lit_2007918756741504 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 773072142374797316, [5 x i8] c"post\00" } +@sc_lit_971741391048674 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 6319612257256865795, [4 x i8] c"put\00" } +@sc_lit_1716842667196161 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 775303794496897030, [7 x i8] c"delete\00" } +@sc_lit_2894558501580739 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 7549222945554432005, [6 x i8] c"patch\00" } +@sc_lit_2800347990603543 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -8760270965587312636, [5 x i8] c"head\00" } +@sc_lit_2948042885743279 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 4106133430276718599, [8 x i8] c"options\00" } +@sc_lit_1670565919607657 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 658964550766297091, [4 x i8] c"all\00" } +@sc_lit_3251470234448474 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 8608409005129203714, [3 x i8] c"on\00" } +@sc_lit_2879707573315964 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 1232891285249982467, [4 x i8] c"use\00" } +@sc_lit_3111096729023658 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -1319955748423204856, [9 x i8] c"notFound\00" } +@sc_lit_668712189700762 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -8247349431179935737, [8 x i8] c"onError\00" } +@sc_lit_2436853855422636 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -12941348495687675, [6 x i8] c"route\00" } +@sc_lit_2466306126986778 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 1640367674573717516, [13 x i8] c"withDispatch\00" } +@sc_lit_1389753027152399 = internal global { i64, i64, i64, [18 x i8] } { i64 -1, i64 17, i64 -245260630662053871, [18 x i8] c"withFetchDispatch\00" } +@sc_lit_1148437194389594 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 5245323585135837195, [12 x i8] c"withUpgrade\00" } +@sc_lit_4192469624085056 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 163020863166218254, [15 x i8] c"upgradeHandler\00" } +@sc_lit_864781090888737 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -5200932156079079417, [8 x i8] c"handler\00" } +@sc_lit_603267670272610 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 9216652481063288843, [12 x i8] c"fetchBridge\00" } +@sc_lit_646811555153625 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 929118865563058181, [6 x i8] c"serve\00" } +@sc_lit_4391217941138845 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -3141871061386133494, [11 x i8] c"serveFetch\00" } +@sc_lit_2014847608589337 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 3003397398752919558, [7 x i8] c"_regFn\00" } +@sc_lit_405767859507088 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -3749413933664960508, [5 x i8] c"_add\00" } +@sc_lit_4078327433052319 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -234987360947798011, [6 x i8] c"fetch\00" } +@sc_lit_156708963710691 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -1234021304030461943, [10 x i8] c"fetchShim\00" } +@sc_lit_1093190805819680 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -6321365621820882931, [14 x i8] c"_dispatchPrim\00" } +@sc_lit_3899522094323235 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 6555200662370517001, [10 x i8] c"_dispatch\00" } +@sc_lit_21424698936986 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 8723841972105641998, [15 x i8] c"object:%m5.App\00" } +@sc_lit_1746033898805369 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 1368648634471546901, [22 x i8] c"object:%m5.CtxResCore\00" } +@sc_lit_3456310594719780 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 -8302624779811160040, [25 x i8] c"object:%m4.MemoryStorage\00" } +@sc_lit_3728566007289652 = internal global { i64, i64, i64, [26 x i8] } { i64 -1, i64 25, i64 -6215373955033726951, [26 x i8] c"object:%m4.MemoryFileSink\00" } +@sc_lit_4041255434968695 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 4231544263411761174, [23 x i8] c"object:%m3.LiteRequest\00" } +@sc_lit_3326437563644705 = internal global { i64, i64, i64, [28 x i8] } { i64 -1, i64 27, i64 5496302301180067867, [28 x i8] c"object:%m2.NodeResponseSink\00" } +@sc_lit_3870085012327510 = internal global { i64, i64, i64, [27 x i8] } { i64 -1, i64 26, i64 4873244323400908826, [27 x i8] c"object:%m1.UpgradeDispatch\00" } +@sc_lit_2798802470260116 = internal global { i64, i64, i64, [20 x i8] } { i64 -1, i64 19, i64 -4743013162570219501, [20 x i8] c"object:%m0.GenFetch\00" } +@sc_lit_2165660704272757 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 1792452195942137878, [23 x i8] c"object:%m0.GenDispatch\00" } +@sc_lit_2072202777142634 = internal global { i64, i64, i64, [29 x i8] } { i64 -1, i64 28, i64 3820934197229387804, [29 x i8] c"object:%m4.MultipartFileSink\00" } +@sc_lit_3314970835853795 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 1601544460162826262, [23 x i8] c"object:%m6.AssetSource\00" } +@sc_lit_864190948149583 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 -7861201600340033512, [25 x i8] c"object:%m11.StaticServer\00" } +@sc_lit_4074974279575818 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -296722138528743401, [24 x i8] c"object:%m3.LiteResponse\00" } +@sc_lit_4408523527888294 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -5485497997414367209, [24 x i8] c"object:%m4.UploadedFile\00" } +@sc_lit_3163508115280491 = internal global { i64, i64, i64, [27 x i8] } { i64 -1, i64 26, i64 -8674397930636967910, [27 x i8] c"object:%m4.MultipartParser\00" } +@sc_lit_1875086966829314 = internal global { i64, i64, i64, [33 x i8] } { i64 -1, i64 32, i64 7386250679943200, [33 x i8] c"object:%m5.MethodNotAllowedError\00" } +@sc_lit_2434838942941195 = internal global { i64, i64, i64, [29 x i8] } { i64 -1, i64 28, i64 -88077837084393444, [29 x i8] c"object:%m2.FetchResponseSink\00" } +@sc_lit_67546268704151 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 -8336396601580847082, [23 x i8] c"object:%m3.LiteHeaders\00" } +@sc_lit_2519527309428716 = internal global { i64, i64, i64, [26 x i8] } { i64 -1, i64 25, i64 2384454476384698393, [26 x i8] c"object:%m9.EmbeddedAssets\00" } +@sc_lit_629517122853751 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -3394493693342777321, [24 x i8] c"object:%m2.ResponseSink\00" } +@sc_lit_660811353369478 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 7246996344726880278, [23 x i8] c"object:%m5.ReqViewCore\00" } +@sc_lit_4336131790391205 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 -1458752774849167344, [17 x i8] c"object:%m5.MpCfg\00" } +@sc_lit_3635319175845957 = internal global { i64, i64, i64, [28 x i8] } { i64 -1, i64 27, i64 -5373742755098918885, [28 x i8] c"object:%m4.MultipartStorage\00" } +@sc_lit_4143564844538255 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 1031873514283466775, [24 x i8] c"object:%m14.BakedAssets\00" } +@sc_lit_2875643240706496 = internal global { i64, i64, i64, [19 x i8] } { i64 -1, i64 18, i64 5500984979468845074, [19 x i8] c"object:%m5.CtxCore\00" } +@sc_lit_161925136240866 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 4077583657378775048, [9 x i8] c"redirect\00" } +@sc_lit_2677147133778287 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 7391083198903484420, [5 x i8] c"text\00" } +@sc_lit_528144782449140 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 5696922053232295942, [7 x i8] c"header\00" } +@sc_lit_1950596786618243 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 8679494038182690819, [4 x i8] c"set\00" } +@sc_lit_48178627029362 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4694749854855856124, [5 x i8] c"json\00" } +@sc_lit_4044156596960274 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7687376169267625980, [5 x i8] c"html\00" } +@sc_lit_693828840439997 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -801259458687664123, [6 x i8] c"bytes\00" } +@sc_lit_587707337530151 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -7997157707763154939, [6 x i8] c"_send\00" } +@sc_lit_23007219113608 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 7658393283277619216, [17 x i8] c"hello from chttp\00" } +@sc_lit_3013970235377041 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -6125969705346793465, [8 x i8] c"message\00" } +@sc_lit_3595188456357610 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 -1667341297553244139, [22 x i8] c"object:%m8.DiskAssets\00" } +@sc_lit_2227497482646049 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -1643562056500117501, [4 x i8] c"add\00" } +@sc_lit_228045523956680 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -2680372238405861372, [5 x i8] c"load\00" } +@sc_lit_464947614242071 = internal global { i64, i64, i64, [43 x i8] } { i64 -1, i64 42, i64 -1393444017542266838, [43 x i8] c"scriptc: internal error: invalid union tag\00" } +@sc_lit_3862385552412238 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 5866844209436164104, [9 x i8] c"dispatch\00" } +@sc_lit_437194258546139 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 397287711137857549, [14 x i8] c"dispatchFetch\00" } +@sc_lit_2250671438728133 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 4268184376010866695, [8 x i8] c"upgrade\00" } +@sc_lit_1207708014012541 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 6924761990938230795, [12 x i8] c"arrayBuffer\00" } +@sc_lit_551454763233869 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 8126379473969872903, [8 x i8] c"request\00" } +@sc_lit_2408580547322579 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 5423738012670361614, [15 x i8] c"ReferenceError\00" } +@sc_lit_874990306745984 = internal global { i64, i64, i64, [43 x i8] } { i64 -1, i64 42, i64 1877734848982941738, [43 x i8] c"Cannot access 'step' before initialization\00" } +@sc_lit_3752021314181142 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 1705857061025218569, [10 x i8] c"setStatus\00" } +@sc_lit_2364278031517622 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 3692170609543872521, [10 x i8] c"setHeader\00" } +@sc_lit_470306239805907 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 -6682499013373067252, [13 x i8] c"appendHeader\00" } +@sc_lit_4133069531575059 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -8585197004701827063, [10 x i8] c"writeBody\00" } +@sc_lit_2253648670486996 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -7483586821545263095, [10 x i8] c"bodyBytes\00" } +@sc_lit_4085448292571548 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 8161216340254785545, [10 x i8] c"writeHead\00" } +@sc_lit_3561861343106386 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -272550526443323383, [10 x i8] c"endStream\00" } +@sc_lit_3108123016971750 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -3449615943569768443, [6 x i8] c"adopt\00" } +@sc_lit_2529432852777196 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 4530684552280014854, [7 x i8] c"isSent\00" } +@sc_lit_4297539476301093 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 2893883072804028429, [14 x i8] c"isHeadersSent\00" } +@sc_lit_1959461887910059 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 8704004931209658375, [8 x i8] c"destroy\00" } +@sc_lit_181663572509014 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -2632056209967939576, [9 x i8] c"statusOf\00" } +@sc_lit_992600386266231 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 5892683449948438536, [9 x i8] c"headerOf\00" } +@sc_lit_4198614539576238 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -59915014970015734, [11 x i8] c"headersMap\00" } +@sc_lit_3908714124573206 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 1939288220030205959, [8 x i8] c"nodeRes\00" } +@sc_lit_4028208071947570 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 4212190333322133514, [11 x i8] c"toResponse\00" } +@sc_lit_2856513345585464 = internal global { i64, i64, i64, [16 x i8] } { i64 -1, i64 15, i64 7393407497765126159, [16 x i8] c"req.headers.get\00" } +@sc_lit_3359878076732110 = internal global { i64, i64, i64, [16 x i8] } { i64 -1, i64 15, i64 8420618715527118863, [16 x i8] c"req.arrayBuffer\00" } +@sc_lit_308138762104264 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5809707469223493626, [7 x i8] c"rawReq\00" } +@sc_lit_2356143898347316 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 5243793593230950407, [8 x i8] c"_setWeb\00" } +@sc_lit_3600534565598564 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -4000782048624115707, [6 x i8] c"param\00" } +@sc_lit_1621825757343351 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -2558109659248459769, [8 x i8] c"_seedPm\00" } +@sc_lit_2827456990858395 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 7971395987115606022, [7 x i8] c"_pmNow\00" } +@sc_lit_2968093406050353 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 754597911781703685, [6 x i8] c"query\00" } +@sc_lit_3529749794644284 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -2774438666502668280, [9 x i8] c"queryAll\00" } +@sc_lit_124879919648070 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -180267381652717561, [8 x i8] c"queries\00" } +@sc_lit_40786511283622 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 8767470975747883016, [9 x i8] c"_setBody\00" } +@sc_lit_1081761464356753 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4766812302206828549, [6 x i8] c"files\00" } +@sc_lit_3392166625234189 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -8386357722752221179, [6 x i8] c"field\00" } +@sc_lit_3375901898269401 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 5920003023953723398, [7 x i8] c"fields\00" } +@sc_lit_3532714511332900 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -8093970127495626739, [14 x i8] c"_setMultipart\00" } +@sc_lit_3624217920823549 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 1831423960386895879, [8 x i8] c"_parsed\00" } +@sc_lit_1580796233797134 = internal global { i64, i64, i64, [18 x i8] } { i64 -1, i64 17, i64 2902560336966058001, [18 x i8] c"Payload Too Large\00" } +@sc_lit_960209946846820 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 -3339399854324449256, [25 x i8] c"Malformed multipart body\00" } +@sc_lit_2232031524457002 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4579616732431253509, [6 x i8] c"isApi\00" } +@sc_lit_3423954012803281 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 760634441071591430, [7 x i8] c"handle\00" } +@sc_lit_700259281879664 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4471244842013294588, [5 x i8] c"send\00" } +@sc_lit_2478521587363481 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4500759934580817924, [5 x i8] c"pick\00" } +@sc_lit_442512110453159 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 5483446244292427792, [17 x i8] c"__defineGetter__\00" } +@sc_lit_3044709983387393 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 -7577868822640590832, [17 x i8] c"__defineSetter__\00" } +@sc_lit_4327941486179142 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 5316717984683655182, [15 x i8] c"hasOwnProperty\00" } +@sc_lit_900273229759677 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 2233162445201866768, [17 x i8] c"__lookupGetter__\00" } +@sc_lit_2545601642886305 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 3305169476076437520, [17 x i8] c"__lookupSetter__\00" } +@sc_lit_3038471479600896 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -6269086858987175923, [14 x i8] c"isPrototypeOf\00" } +@sc_lit_327813112294278 = internal global { i64, i64, i64, [21 x i8] } { i64 -1, i64 20, i64 -2130947768359845868, [21 x i8] c"propertyIsEnumerable\00" } +@sc_lit_3302186402337583 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -8391180829291708408, [9 x i8] c"toString\00" } +@sc_lit_2653701574536716 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -2570243435780898809, [8 x i8] c"valueOf\00" } +@sc_lit_860002567067755 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -1816803337660530679, [10 x i8] c"__proto__\00" } +@sc_lit_619980451361384 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 8462928674583216142, [15 x i8] c"toLocaleString\00" } +@sc_lit_3089543219260295 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -5248842529150861289, [24 x i8] c"inner is not a function\00" } +@sc_lit_1111686955211598 = internal global { i64, i64, i64, [21 x i8] } { i64 -1, i64 20, i64 -8019342317653589996, [21 x i8] c"fn is not a function\00" } +@sc_lit_2215425661348163 = internal global { i64, i64, i64, [109 x i8] } { i64 -1, i64 108, i64 -5311443017519857556, [109 x i8] c"undefined is not representable in a 'number' slot (a value narrowed or asserted past the type still held it)\00" } +@sc_lit_1195707203851697 = internal global { i64, i64, i64, [180 x i8] } { i64 -1, i64 179, i64 -617665356428738381, [180 x i8] c"undefined is not representable in a '{ children: number[]; hf: number[]; hm: string[]; kind: number; seg: string }' slot (a value narrowed or asserted past the type still held it)\00" } +@sc_lit_3628675094055315 = internal global { i64, i64, i64, [113 x i8] } { i64 -1, i64 112, i64 1064500362196549744, [113 x i8] c"undefined is not representable in a 'Uint8Array' slot (a value narrowed or asserted past the type still held it)\00" } +@sc_lit_3531366543973767 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 1750597576433860612, [5 x i8] c"feed\00" } +@sc_lit_1173128410961643 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5699942312889548794, [7 x i8] c"finish\00" } +@sc_lit_1900193337948069 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -1014192465365696502, [11 x i8] c"_malformed\00" } +@sc_lit_3922224781708262 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -4537783450320502778, [7 x i8] c"_limit\00" } +@sc_lit_1360183775732063 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 7970213651338493962, [11 x i8] c"_abortPart\00" } +@sc_lit_142546227685363 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -409869512888811510, [11 x i8] c"_startPart\00" } +@sc_lit_2281930073577937 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -8873858471016005627, [6 x i8] c"_emit\00" } +@sc_lit_1113582459875923 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 3808637675796168712, [9 x i8] c"_endPart\00" } +@sc_lit_3573893819363590 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 861501103773057047, [24 x i8] c"object:%m4.DiskFileSink\00" } +@sc_lit_2020403498516894 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 -5358060403572080618, [23 x i8] c"object:%m4.DiskStorage\00" } +@sc_lit_719487464480143 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 4881612538896187395, [4 x i8] c"url\00" } +@sc_lit_1253490067536641 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -3049508425340813308, [5 x i8] c"host\00" } +@sc_lit_145319249654683 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 5578679962895908871, [8 x i8] c"forEach\00" } +@sc_lit_3447500980845638 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2884368599256924157, [4 x i8] c"req\00" } +@sc_lit_3084154227263888 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -8798482263122640888, [9 x i8] c"_nodeRes\00" } +@sc_lit_2163543391075186 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -1013299679103811580, [5 x i8] c"sent\00" } +@sc_lit_592597863501714 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7011748311476469756, [5 x i8] c"then\00" } +@sc_lit_2556418033318189 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 8700415253378236419, [4 x i8] c"has\00" } +@sc_lit_2782259059515958 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 -4869076418417393652, [13 x i8] c"getSetCookie\00" } +@sc_lit_3038119887745057 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 5492123392490340358, [7 x i8] c"_nodes\00" } +@sc_lit_2387748979716321 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -5113135297902673917, [4 x i8] c"_mw\00" } +@sc_lit_4074236996717255 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 1488210516718387204, [5 x i8] c"_fns\00" } +@sc_lit_3834689050502795 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 5602902023667187716, [5 x i8] c"_mws\00" } +@sc_lit_772714621079184 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 464755982296154115, [4 x i8] c"_nf\00" } +@sc_lit_1253948269358290 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -5196947010543943675, [6 x i8] c"_nfmw\00" } +@sc_lit_872249802202544 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -5542468234629873660, [5 x i8] c"_oef\00" } +@sc_lit_3257120253469437 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 2541928412910452743, [8 x i8] c"_chains\00" } +@sc_lit_3782354537448346 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 663936864469647368, [9 x i8] c"_nfchain\00" } +@sc_lit_886324725696546 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 7800334882894249987, [4 x i8] c"_pn\00" } +@sc_lit_535630044833136 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 6095354976597442563, [4 x i8] c"_pi\00" } +@sc_lit_4400741686745380 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -7118851481440092157, [4 x i8] c"_sp\00" } +@sc_lit_1668606746601237 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 8302509885141024774, [7 x i8] c"_bodyF\00" } +@sc_lit_1388999587933298 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 7127018310213828611, [4 x i8] c"_mp\00" } +@sc_lit_1094398669481625 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4708669057883176964, [5 x i8] c"_gen\00" } +@sc_lit_1345623861448315 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 3230424838828982281, [10 x i8] c"_genFetch\00" } +@sc_lit_3774229428846185 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 7923159737695207427, [4 x i8] c"_up\00" } +@sc_lit_448101171860799 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -169121808375611388, [5 x i8] c"sink\00" } +@sc_lit_4141049404401276 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -7462449608149434360, [9 x i8] c"_resView\00" } +@sc_lit_3621289080171698 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 5923969348942168071, [8 x i8] c"_status\00" } +@sc_lit_4022150258959820 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -3159413314140766203, [6 x i8] c"_vars\00" } +@sc_lit_1951312618348557 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 2348899195215151107, [4 x i8] c"res\00" } +@sc_lit_1334122099411014 = internal global { i64, i64, i64, [62 x i8] } { i64 -1, i64 61, i64 5483051828855701565, [62 x i8] c"Cannot set property res of # which has only a getter\00" } +@sc_lit_3804612928743770 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4680254224267739140, [5 x i8] c"_idx\00" } +@sc_lit_1810373001322451 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -8208232711588937721, [8 x i8] c"_assets\00" } +@sc_lit_3528980137111930 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 3204198815036866565, [6 x i8] c"maxFB\00" } +@sc_lit_4476522814667484 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 2287935785170632709, [6 x i8] c"maxNF\00" } +@sc_lit_3328648022724882 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -2670975777675149305, [8 x i8] c"maxFldB\00" } +@sc_lit_1287587581000978 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -5669194951255130108, [5 x i8] c"_raw\00" } +@sc_lit_1774444802243527 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 8154335721042214916, [5 x i8] c"_web\00" } +@sc_lit_964469684973146 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 4235438196726431752, [9 x i8] c"_headers\00" } +@sc_lit_1867568051177534 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 -7185532948949499888, [17 x i8] c"_headersDistinct\00" } +@sc_lit_2528619671045714 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2021088187169898493, [4 x i8] c"_qs\00" } +@sc_lit_4247546884021115 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -6775664602144309245, [4 x i8] c"_qp\00" } +@sc_lit_3282989543243776 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 3338107691938611203, [4 x i8] c"_pm\00" } +@sc_lit_4347805238344460 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 1845346174186291205, [6 x i8] c"_body\00" } +@sc_lit_3191748704064557 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -4110597511909998584, [9 x i8] c"_mpFiles\00" } +@sc_lit_232607068610214 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -7633362737862541303, [10 x i8] c"_mpFields\00" } +@sc_lit_3786966061696883 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 3968215669555593219, [4 x i8] c"raw\00" } +@sc_lit_2655222345707125 = internal global { i64, i64, i64, [66 x i8] } { i64 -1, i64 65, i64 -1299157584040689599, [66 x i8] c"Cannot set property raw of # which has only a getter\00" } +@sc_lit_3953364176447457 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 935435018698752004, [5 x i8] c"_set\00" } +@sc_lit_3231205774586710 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 2094656587493801991, [8 x i8] c"hdrKeys\00" } +@sc_lit_538032548850790 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -2495879624693645305, [8 x i8] c"hdrVals\00" } +@sc_lit_4231320391602270 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 7969248847064989703, [8 x i8] c"hdrList\00" } +@sc_lit_2537232771826273 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5369209919629164538, [7 x i8] c"chunks\00" } +@sc_lit_1579912071364319 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 -450519333941018613, [12 x i8] c"headersSent\00" } +@sc_lit_1640919894513317 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 4849795519951667207, [8 x i8] c"adopted\00" } +@sc_lit_4191962028163388 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 3138823386952630282, [11 x i8] c"_streaming\00" } +@sc_lit_2098081682588801 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -3493352158185652220, [5 x i8] c"_ctl\00" } +@sc_lit_4448851817182856 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -4818678426057572344, [9 x i8] c"_endSeen\00" } +@sc_lit_2171724267474130 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4374440814646919164, [5 x i8] c"_res\00" } +@sc_lit_1515898915129638 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -1614303583933562877, [4 x i8] c"_im\00" } +@sc_lit_4331231100667432 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 6902609838115651590, [7 x i8] c"_delim\00" } +@sc_lit_1497623537730125 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 3902799950383153158, [7 x i8] c"_cterm\00" } +@sc_lit_3626652862359804 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -5168764861076733949, [4 x i8] c"_st\00" } +@sc_lit_3767316427932713 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 7143389570199977989, [6 x i8] c"_pend\00" } +@sc_lit_270650669493903 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -4195371924290797560, [9 x i8] c"_storage\00" } +@sc_lit_1904556107358822 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -3167804198473433079, [10 x i8] c"_maxFileB\00" } +@sc_lit_3347257245794453 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -8108847035215511543, [10 x i8] c"_maxFiles\00" } +@sc_lit_51498970823486 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -8162431193229295606, [11 x i8] c"_maxFieldB\00" } +@sc_lit_3871774119671975 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 169903445178843141, [6 x i8] c"_skip\00" } +@sc_lit_1511541293423217 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -214315885215612921, [8 x i8] c"_isFile\00" } +@sc_lit_3537803200604019 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5711260208844505082, [7 x i8] c"_field\00" } +@sc_lit_2438149604853393 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -3036803959323885559, [10 x i8] c"_filename\00" } +@sc_lit_87265031005560 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -8548646721343717371, [6 x i8] c"_mime\00" } +@sc_lit_2620371357038102 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -4520426740153057275, [6 x i8] c"_sink\00" } +@sc_lit_1445273163400741 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -1018734397576183801, [8 x i8] c"_fbytes\00" } +@sc_lit_3078220272172636 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5500134614598942714, [7 x i8] c"_fsize\00" } +@sc_lit_3003865410260240 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -9154079385995706361, [8 x i8] c"_nfiles\00" } +@sc_lit_3833663445821831 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 5582639866908246019, [4 x i8] c"err\00" } +@sc_lit_595629019077013 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -400406192402202616, [9 x i8] c"mimeType\00" } +@sc_lit_662344961506331 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 7068152519247003651, [4 x i8] c"src\00" } +@sc_lit_24845548896369 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2194214440516190205, [4 x i8] c"spa\00" } +@sc_lit_365197477495960 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 2691380832290996227, [4 x i8] c"api\00" } +@sc_lit_488203381972006 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 6578845264788848645, [6 x i8] c"index\00" } +@sc_lit_938646781597298 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -1652514765504774142, [3 x i8] c"cc\00" } +@sc_lit_201462833315591 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -795010186782703609, [8 x i8] c"_chunks\00" } +@sc_lit_1008105371634015 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4567306823584972805, [6 x i8] c"_size\00" } +@sc_lit_2251933729900935 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 4999603614163927062, [23 x i8] c"ROUTE_CONTRACT_VERSION\00" } +@sc_lit_2951457732402023 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 4185794533767774211, [4 x i8] c"_hs\00" } +@sc_lit_4297677228401092 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 9113384828564144130, [3 x i8] c"_t\00" } +@sc_lit_1347488745603967 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -3671864588283936762, [7 x i8] c"_ended\00" } +@sc_lit_896668667053370 = internal global { i64, i64, i64, [67 x i8] } { i64 -1, i64 66, i64 1516849697950531650, [67 x i8] c"Cannot set property body of # which has only a getter\00" } +@sc_lit_2207081674697931 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -1147976865525268470, [11 x i8] c"set-cookie\00" } +@sc_lit_3979096087517462 = internal global { i64, i64, i64, [68 x i8] } { i64 -1, i64 67, i64 6160658489749274691, [68 x i8] c"Cannot set property status of # which has only a getter\00" } +@sc_lit_3196313521755681 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 2388450793129771018, [11 x i8] c"statusCode\00" } +@sc_lit_4228407369832655 = internal global { i64, i64, i64, [72 x i8] } { i64 -1, i64 71, i64 658311406499659847, [72 x i8] c"Cannot set property statusCode of # which has only a getter\00" } +@sc_lit_2679078544804610 = internal global { i64, i64, i64, [69 x i8] } { i64 -1, i64 68, i64 4266532312545493060, [69 x i8] c"Cannot set property headers of # which has only a getter\00" } + +@sc_unit_0 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u3 unit arm +@sc_unit_1 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u8 unit arm +@sc_unit_2 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u1 unit arm +@sc_unit_3 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u15 unit arm +@sc_unit_4 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u17 unit arm +@sc_unit_5 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u13 unit arm +@sc_unit_6 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u27 unit arm +@sc_unit_7 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u37 unit arm +@sc_unit_8 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u39 unit arm + +@sc_retype_guard_0 = internal global i8 0 ; u3 boxes in a cast cache +@sc_retype_guard_1 = internal global i8 0 ; u8 boxes in a cast cache +@sc_retype_guard_2 = internal global i8 0 ; u1 boxes in a cast cache +@sc_retype_guard_3 = internal global i8 0 ; u17 boxes in a cast cache +@sc_retype_guard_4 = internal global i8 0 ; u13 boxes in a cast cache +@sc_retype_guard_5 = internal global i8 0 ; u15 boxes in a cast cache +@sc_retype_guard_6 = internal global i8 0 ; u21 boxes in a cast cache +@sc_retype_guard_7 = internal global i8 0 ; u27 boxes in a cast cache +@sc_retype_guard_8 = internal global i8 0 ; u37 boxes in a cast cache + +@sc_absent_0 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 1 } ; u13 absent field +@sc_absent_1 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 1 } ; u15 absent field +@sc_absent_2 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 1 } ; u37 absent field + +@sc_union_none = internal constant %ScrUnion zeroinitializer ; NULL union dummy read by inline stores + +@sc_nullable_null = internal global { i64, i64, i64, i64 } { i64 -1, i64 0, i64 0, i64 0 } ; nullable null arm + +@sc_nullable_absent = internal global { i64, i64, i64, i64 } { i64 -1, i64 0, i64 0, i64 0 } ; nullable absent field + +@sc_cs_1252517681993947 = internal constant [7 x i8] c"string\00" +@sc_cs_3868368797548903 = internal constant [6 x i8] c"array\00" +@sc_cs_391578306055374 = internal constant [14 x i8] c"array\00" +@sc_cs_127274431826284 = internal constant [7 x i8] c"status\00" +@sc_cs_326035158597717 = internal constant [7 x i8] c"number\00" +@sc_cs_3231205774586710 = internal constant [8 x i8] c"hdrKeys\00" +@sc_cs_538032548850790 = internal constant [8 x i8] c"hdrVals\00" +@sc_cs_4231320391602270 = internal constant [8 x i8] c"hdrList\00" +@sc_cs_2537232771826273 = internal constant [7 x i8] c"chunks\00" +@sc_cs_2163543391075186 = internal constant [5 x i8] c"sent\00" +@sc_cs_3369235369748796 = internal constant [8 x i8] c"boolean\00" +@sc_cs_1579912071364319 = internal constant [12 x i8] c"headersSent\00" +@sc_cs_1640919894513317 = internal constant [8 x i8] c"adopted\00" +@sc_cs_1247828793356534 = internal constant [14 x i8] c"null | object\00" +@sc_cs_2645883945401328 = internal constant [9 x i8] c"union:u4\00" +@sc_cs_2073431270519518 = internal constant [10 x i8] c"record:r1\00" +@sc_cs_727383874013354 = internal constant [7 x i8] c"object\00" +@sc_cs_616655122974952 = internal constant [5 x i8] c"body\00" +@sc_cs_3135423438363661 = internal constant [8 x i8] c"unknown\00" +@sc_cs_977412068193087 = internal constant [8 x i8] c"headers\00" +@sc_cs_4191962028163388 = internal constant [11 x i8] c"_streaming\00" +@sc_cs_2098081682588801 = internal constant [5 x i8] c"_ctl\00" +@sc_cs_3823276195442570 = internal constant [9 x i8] c"union:u5\00" +@sc_cs_4309965218388288 = internal constant [10 x i8] c"record:r2\00" +@sc_cs_863112869792180 = internal constant [6 x i8] c"close\00" +@sc_cs_1577281003310918 = internal constant [13 x i8] c"func()=>void\00" +@sc_cs_3739322700708094 = internal constant [8 x i8] c"enqueue\00" +@sc_cs_2962741746049877 = internal constant [22 x i8] c"func(bytes)=>void\00" +@sc_cs_2128219647567188 = internal constant [9 x i8] c"function\00" +@sc_cs_3610950885518037 = internal constant [6 x i8] c"value\00" +@sc_cs_4448851817182856 = internal constant [9 x i8] c"_endSeen\00" +@sc_cs_2171724267474130 = internal constant [5 x i8] c"_res\00" +@sc_cs_4248929987867812 = internal constant [15 x i8] c"ServerResponse\00" +@sc_cs_1975741313327935 = internal constant [8 x i8] c"httpRes\00" +@sc_cs_2780107976102968 = internal constant [44 x i8] c"scriptc: internal error: invalid union tag\0A\00" +@sc_cs_1987398004402823 = internal constant [11 x i8] c"Uint8Array\00" +@sc_cs_890094799952442 = internal constant [10 x i8] c"bytes\00" +@sc_cs_1951312618348557 = internal constant [4 x i8] c"res\00" +@sc_cs_3621289080171698 = internal constant [8 x i8] c"_status\00" +@sc_cs_3953364176447457 = internal constant [5 x i8] c"_set\00" +@sc_cs_77530061052946 = internal constant [10 x i8] c"record:r0\00" +@sc_cs_629517122853751 = internal constant [24 x i8] c"object:%m2.ResponseSink\00" +@sc_cs_2464045371370986 = internal constant [13 x i8] c"sink.nodeRes\00" +@sc_cs_2940485024011043 = internal constant [22 x i8] c"ServerResponse | null\00" +@sc_cs_498395081877643 = internal constant [9 x i8] c"union:u3\00" +@sc_cs_4266970018381842 = internal constant [15 x i8] c"sink.setHeader\00" +@sc_cs_137127765515474 = internal constant [15 x i8] c"sink.setStatus\00" +@sc_cs_891738944038355 = internal constant [15 x i8] c"sink.writeBody\00" +@sc_cs_1287587581000978 = internal constant [5 x i8] c"_raw\00" +@sc_cs_1163958522919087 = internal constant [23 x i8] c"IncomingMessage | null\00" +@sc_cs_432476671481835 = internal constant [9 x i8] c"union:u8\00" +@sc_cs_599526513062751 = internal constant [8 x i8] c"httpReq\00" +@sc_cs_3187356258740123 = internal constant [16 x i8] c"IncomingMessage\00" +@sc_cs_1774444802243527 = internal constant [5 x i8] c"_web\00" +@sc_cs_964469684973146 = internal constant [9 x i8] c"_headers\00" +@sc_cs_1867568051177534 = internal constant [17 x i8] c"_headersDistinct\00" +@sc_cs_4113144339560478 = internal constant [10 x i8] c"record:r3\00" +@sc_cs_1609576561362083 = internal constant [7 x i8] c"method\00" +@sc_cs_719487464480143 = internal constant [4 x i8] c"url\00" +@sc_cs_2826818497658723 = internal constant [5 x i8] c"path\00" +@sc_cs_2528619671045714 = internal constant [4 x i8] c"_qs\00" +@sc_cs_4247546884021115 = internal constant [4 x i8] c"_qp\00" +@sc_cs_604520491832555 = internal constant [13 x i8] c"array | null\00" +@sc_cs_3630455646248203 = internal constant [9 x i8] c"union:u9\00" +@sc_cs_3282989543243776 = internal constant [4 x i8] c"_pm\00" +@sc_cs_886324725696546 = internal constant [4 x i8] c"_pn\00" +@sc_cs_535630044833136 = internal constant [4 x i8] c"_pi\00" +@sc_cs_1394349160211144 = internal constant [11 x i8] c"array\00" +@sc_cs_4400741686745380 = internal constant [4 x i8] c"_sp\00" +@sc_cs_4347805238344460 = internal constant [6 x i8] c"_body\00" +@sc_cs_3191748704064557 = internal constant [9 x i8] c"_mpFiles\00" +@sc_cs_359158576128586 = internal constant [31 x i8] c"array\00" +@sc_cs_1506316332237548 = internal constant [16 x i8] c"m4.UploadedFile\00" +@sc_cs_4408523527888294 = internal constant [24 x i8] c"object:%m4.UploadedFile\00" +@sc_cs_232607068610214 = internal constant [10 x i8] c"_mpFields\00" +@sc_cs_3392166625234189 = internal constant [6 x i8] c"field\00" +@sc_cs_4388468866828680 = internal constant [9 x i8] c"filename\00" +@sc_cs_595629019077013 = internal constant [9 x i8] c"mimeType\00" +@sc_cs_3603975379547098 = internal constant [5 x i8] c"size\00" +@sc_cs_2963203079617577 = internal constant [14 x i8] c"null | string\00" +@sc_cs_3779007912036835 = internal constant [9 x i8] c"union:u2\00" +@sc_cs_693828840439997 = internal constant [6 x i8] c"bytes\00" +@sc_cs_123840256131120 = internal constant [18 x i8] c"Uint8Array | null\00" +@sc_cs_3177974258746099 = internal constant [9 x i8] c"union:u1\00" +@sc_cs_660811353369478 = internal constant [23 x i8] c"object:%m5.ReqViewCore\00" +@sc_cs_28105939436950 = internal constant [13 x i8] c"c.req.header\00" +@sc_cs_4331231100667432 = internal constant [7 x i8] c"_delim\00" +@sc_cs_1497623537730125 = internal constant [7 x i8] c"_cterm\00" +@sc_cs_3626652862359804 = internal constant [4 x i8] c"_st\00" +@sc_cs_3767316427932713 = internal constant [6 x i8] c"_pend\00" +@sc_cs_270650669493903 = internal constant [9 x i8] c"_storage\00" +@sc_cs_732719066880106 = internal constant [20 x i8] c"m4.MultipartStorage\00" +@sc_cs_3635319175845957 = internal constant [28 x i8] c"object:%m4.MultipartStorage\00" +@sc_cs_3456310594719780 = internal constant [25 x i8] c"object:%m4.MemoryStorage\00" +@sc_cs_2020403498516894 = internal constant [23 x i8] c"object:%m4.DiskStorage\00" +@sc_cs_1904556107358822 = internal constant [10 x i8] c"_maxFileB\00" +@sc_cs_3347257245794453 = internal constant [10 x i8] c"_maxFiles\00" +@sc_cs_51498970823486 = internal constant [11 x i8] c"_maxFieldB\00" +@sc_cs_3871774119671975 = internal constant [6 x i8] c"_skip\00" +@sc_cs_1511541293423217 = internal constant [8 x i8] c"_isFile\00" +@sc_cs_3537803200604019 = internal constant [7 x i8] c"_field\00" +@sc_cs_2438149604853393 = internal constant [10 x i8] c"_filename\00" +@sc_cs_87265031005560 = internal constant [6 x i8] c"_mime\00" +@sc_cs_2620371357038102 = internal constant [6 x i8] c"_sink\00" +@sc_cs_2768938828382994 = internal constant [28 x i8] c"null | m4.MultipartFileSink\00" +@sc_cs_1025932502227499 = internal constant [9 x i8] c"union:u7\00" +@sc_cs_2072202777142634 = internal constant [29 x i8] c"object:%m4.MultipartFileSink\00" +@sc_cs_3728566007289652 = internal constant [26 x i8] c"object:%m4.MemoryFileSink\00" +@sc_cs_3573893819363590 = internal constant [24 x i8] c"object:%m4.DiskFileSink\00" +@sc_cs_66701276742327 = internal constant [21 x i8] c"m4.MultipartFileSink\00" +@sc_cs_1445273163400741 = internal constant [8 x i8] c"_fbytes\00" +@sc_cs_944430815723409 = internal constant [17 x i8] c"array>\00" +@sc_cs_3078220272172636 = internal constant [7 x i8] c"_fsize\00" +@sc_cs_3003865410260240 = internal constant [8 x i8] c"_nfiles\00" +@sc_cs_3833663445821831 = internal constant [4 x i8] c"err\00" +@sc_cs_1081761464356753 = internal constant [6 x i8] c"files\00" +@sc_cs_3375901898269401 = internal constant [7 x i8] c"fields\00" +@sc_cs_763389326065034 = internal constant [4 x i8] c"dir\00" +@sc_cs_1254054277824995 = internal constant [3 x i8] c"_n\00" +@sc_cs_4397376455099734 = internal constant [6 x i8] c"_path\00" +@sc_cs_2167961197498268 = internal constant [4 x i8] c"_fd\00" +@sc_cs_1008105371634015 = internal constant [6 x i8] c"_size\00" +@sc_cs_1440167436799276 = internal constant [6 x i8] c"_open\00" +@sc_cs_201462833315591 = internal constant [8 x i8] c"_chunks\00" +@sc_cs_3163508115280491 = internal constant [27 x i8] c"object:%m4.MultipartParser\00" +@sc_cs_3152039762744504 = internal constant [12 x i8] c"parser.feed\00" +@sc_cs_3007189739552489 = internal constant [14 x i8] c"parser.finish\00" +@sc_cs_1513435222814291 = internal constant [17 x i8] c"rv._setMultipart\00" +@sc_cs_3447500980845638 = internal constant [4 x i8] c"req\00" +@sc_cs_3755338419287822 = internal constant [15 x i8] c"m5.ReqViewCore\00" +@sc_cs_448101171860799 = internal constant [5 x i8] c"sink\00" +@sc_cs_2615525442307220 = internal constant [16 x i8] c"m2.ResponseSink\00" +@sc_cs_3326437563644705 = internal constant [28 x i8] c"object:%m2.NodeResponseSink\00" +@sc_cs_2434838942941195 = internal constant [29 x i8] c"object:%m2.FetchResponseSink\00" +@sc_cs_4074974279575818 = internal constant [24 x i8] c"object:%m3.LiteResponse\00" +@sc_cs_4141049404401276 = internal constant [9 x i8] c"_resView\00" +@sc_cs_3109582547850563 = internal constant [14 x i8] c"m5.CtxResCore\00" +@sc_cs_1746033898805369 = internal constant [22 x i8] c"object:%m5.CtxResCore\00" +@sc_cs_4022150258959820 = internal constant [6 x i8] c"_vars\00" +@sc_cs_3084154227263888 = internal constant [9 x i8] c"_nodeRes\00" +@sc_cs_2875643240706496 = internal constant [19 x i8] c"object:%m5.CtxCore\00" +@sc_cs_1113611553843547 = internal constant [9 x i8] c"c.status\00" +@sc_cs_4031902885015721 = internal constant [7 x i8] c"c.text\00" +@sc_cs_3079164241922068 = internal constant [19 x i8] c"sink.isHeadersSent\00" +@sc_cs_3499760650817953 = internal constant [13 x i8] c"sink.destroy\00" +@sc_cs_492252702126034 = internal constant [124 x i8] c"unreachable: a non-void function completed without returning (the checker proved every path returns) \E2\80\94 please report this\00" +@sc_cs_4391986516593320 = internal constant [7 x i8] c"SC9002\00" +@sc_cs_3038119887745057 = internal constant [7 x i8] c"_nodes\00" +@sc_cs_4447116402536209 = internal constant [17 x i8] c"array\00" +@sc_cs_1186397750780220 = internal constant [10 x i8] c"record:r5\00" +@sc_cs_291439443305035 = internal constant [9 x i8] c"children\00" +@sc_cs_1774234212108265 = internal constant [3 x i8] c"hf\00" +@sc_cs_3240132313272141 = internal constant [3 x i8] c"hm\00" +@sc_cs_196246007442230 = internal constant [5 x i8] c"kind\00" +@sc_cs_4121162754829271 = internal constant [4 x i8] c"seg\00" +@sc_cs_2387748979716321 = internal constant [4 x i8] c"_mw\00" +@sc_cs_623184722659282 = internal constant [49 x i8] c"arraydyn)=>dyn>\00" +@sc_cs_2955110042506774 = internal constant [42 x i8] c"func(object:%m5.CtxCore,func()=>dyn)=>dyn\00" +@sc_cs_1333419199285231 = internal constant [12 x i8] c"func()=>dyn\00" +@sc_cs_4074236996717255 = internal constant [5 x i8] c"_fns\00" +@sc_cs_1913588278853018 = internal constant [37 x i8] c"arraydyn>\00" +@sc_cs_808362516667040 = internal constant [30 x i8] c"func(object:%m5.CtxCore)=>dyn\00" +@sc_cs_3834689050502795 = internal constant [5 x i8] c"_mws\00" +@sc_cs_3192918191117730 = internal constant [56 x i8] c"arraydyn)=>dyn>>\00" +@sc_cs_772714621079184 = internal constant [4 x i8] c"_nf\00" +@sc_cs_1253948269358290 = internal constant [6 x i8] c"_nfmw\00" +@sc_cs_872249802202544 = internal constant [5 x i8] c"_oef\00" +@sc_cs_186414858701681 = internal constant [16 x i8] c"function | null\00" +@sc_cs_1735677603229141 = internal constant [10 x i8] c"union:u17\00" +@sc_cs_727563387933933 = internal constant [35 x i8] c"func(dyn,object:%m5.CtxCore)=>void\00" +@sc_cs_3257120253469437 = internal constant [8 x i8] c"_chains\00" +@sc_cs_3782354537448346 = internal constant [9 x i8] c"_nfchain\00" +@sc_cs_2337619831431474 = internal constant [21 x i8] c"array>\00" +@sc_cs_2888908392807325 = internal constant [18 x i8] c"array>\00" +@sc_cs_1668606746601237 = internal constant [7 x i8] c"_bodyF\00" +@sc_cs_1388999587933298 = internal constant [4 x i8] c"_mp\00" +@sc_cs_125327543764853 = internal constant [24 x i8] c"array\00" +@sc_cs_1133834010774452 = internal constant [9 x i8] c"m5.MpCfg\00" +@sc_cs_4336131790391205 = internal constant [17 x i8] c"object:%m5.MpCfg\00" +@sc_cs_1094398669481625 = internal constant [5 x i8] c"_gen\00" +@sc_cs_4045032624819002 = internal constant [28 x i8] c"func(httpReq,httpRes)=>bool\00" +@sc_cs_1345623861448315 = internal constant [10 x i8] c"_genFetch\00" +@sc_cs_1337005955311507 = internal constant [93 x i8] c"func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise\00" +@sc_cs_544024079890110 = internal constant [8 x i8] c"Promise\00" +@sc_cs_4366892077034776 = internal constant [14 x i8] c"promise\00" +@sc_cs_3774229428846185 = internal constant [4 x i8] c"_up\00" +@sc_cs_1343665872547170 = internal constant [40 x i8] c"func(httpReq,netSocket,bytes)=>bool\00" +@sc_cs_1121367206520398 = internal constant [11 x i8] c"m5.CtxCore\00" +@sc_cs_3251470234448474 = internal constant [3 x i8] c"on\00" +@sc_cs_1295387805544367 = internal constant [8 x i8] c"storage\00" +@sc_cs_3582125375999435 = internal constant [27 x i8] c"null | m4.MultipartStorage\00" +@sc_cs_2901406798989589 = internal constant [10 x i8] c"union:u16\00" +@sc_cs_3528980137111930 = internal constant [6 x i8] c"maxFB\00" +@sc_cs_4476522814667484 = internal constant [6 x i8] c"maxNF\00" +@sc_cs_3328648022724882 = internal constant [8 x i8] c"maxFldB\00" +@sc_cs_461841367492022 = internal constant [9 x i8] c"union:u0\00" +@sc_cs_654972114762654 = internal constant [21 x i8] c"m2.FetchResponseSink\00" +@sc_cs_2822304354360785 = internal constant [7 x i8] c"Socket\00" +@sc_cs_1042621854675129 = internal constant [10 x i8] c"netSocket\00" +@sc_cs_21424698936986 = internal constant [15 x i8] c"object:%m5.App\00" +@sc_cs_1790505695584955 = internal constant [10 x i8] c"record:r9\00" +@sc_cs_621103891786213 = internal constant [5 x i8] c"idxs\00" +@sc_cs_3073289709162707 = internal constant [6 x i8] c"names\00" +@sc_cs_2193851355834945 = internal constant [6 x i8] c"splat\00" +@sc_cs_618920405504547 = internal constant [11 x i8] c"app._regFn\00" +@sc_cs_240677902164883 = internal constant [11 x i8] c"record:r27\00" +@sc_cs_3499761349904598 = internal constant [11 x i8] c"record:r19\00" +@sc_cs_145319249654683 = internal constant [8 x i8] c"forEach\00" +@sc_cs_4163660238022989 = internal constant [38 x i8] c"func(func(string,string)=>void)=>void\00" +@sc_cs_3563927413032978 = internal constant [26 x i8] c"func(string,string)=>void\00" +@sc_cs_1005168979260425 = internal constant [11 x i8] c"sink.adopt\00" +@sc_cs_1732097993084521 = internal constant [15 x i8] c"func(dyn)=>dyn\00" +@sc_cs_3227648507238367 = internal constant [8 x i8] c"app.get\00" +@sc_cs_1027255970561450 = internal constant [45 x i8] c"func(object:%m5.CtxCore)=>object:%m5.CtxCore\00" +@sc_cs_974332463763722 = internal constant [18 x i8] c"this.appendHeader\00" +@sc_cs_2568656638816103 = internal constant [15 x i8] c"this.setHeader\00" +@sc_cs_2380721326422626 = internal constant [16 x i8] c"func(dyn)=>void\00" +@sc_cs_4037022469737195 = internal constant [11 x i8] c"record:r28\00" +@sc_cs_2480898009178335 = internal constant [18 x i8] c"array\00" +@sc_cs_3675905637404462 = internal constant [11 x i8] c"record:r18\00" +@sc_cs_3860738644764732 = internal constant [18 x i8] c"array of length 2\00" +@sc_cs_1809980931226750 = internal constant [11 x i8] c"record:r26\00" +@sc_cs_2043702143033338 = internal constant [19 x i8] c"string | undefined\00" +@sc_cs_705340187317161 = internal constant [10 x i8] c"union:u10\00" +@sc_cs_1515898915129638 = internal constant [4 x i8] c"_im\00" +@sc_cs_67546268704151 = internal constant [23 x i8] c"object:%m3.LiteHeaders\00" +@sc_cs_3252210277870050 = internal constant [16 x i8] c"super.setHeader\00" +@sc_cs_603367798359837 = internal constant [19 x i8] c"super.appendHeader\00" +@sc_cs_171661974819393 = internal constant [14 x i8] c"this.headerOf\00" +@sc_cs_1070419772986421 = internal constant [26 x i8] c"null | string | undefined\00" +@sc_cs_865192974725865 = internal constant [10 x i8] c"union:u33\00" +@sc_cs_2572803797864145 = internal constant [16 x i8] c"super.writeHead\00" +@sc_cs_1114522622042273 = internal constant [16 x i8] c"this._malformed\00" +@sc_cs_1244843193594100 = internal constant [16 x i8] c"this._startPart\00" +@sc_cs_3511997926099974 = internal constant [11 x i8] c"this._emit\00" +@sc_cs_1251443465576969 = internal constant [14 x i8] c"this._endPart\00" +@sc_cs_1548363400435851 = internal constant [16 x i8] c"this._abortPart\00" +@sc_cs_276990031017319 = internal constant [8 x i8] c"s.abort\00" +@sc_cs_288843753834732 = internal constant [12 x i8] c"this._limit\00" +@sc_cs_1669119977665919 = internal constant [20 x i8] c"this._storage.begin\00" +@sc_cs_4230033743964644 = internal constant [8 x i8] c"s.write\00" +@sc_cs_4244474088963038 = internal constant [6 x i8] c"s.end\00" +@sc_cs_3927989341738608 = internal constant [7 x i8] c"s.file\00" +@sc_cs_3791194611423265 = internal constant [23 x i8] c"null | m4.UploadedFile\00" +@sc_cs_2743256915545032 = internal constant [9 x i8] c"union:u6\00" +@sc_cs_804729941372645 = internal constant [11 x i8] c"record:r32\00" +@sc_cs_2859507767467227 = internal constant [18 x i8] c"array | undefined\00" +@sc_cs_4211405069914794 = internal constant [10 x i8] c"union:u24\00" +@sc_cs_239666599887116 = internal constant [12 x i8] c"this.rawReq\00" +@sc_cs_4210341737513202 = internal constant [12 x i8] c"this._pmNow\00" +@sc_cs_2820593363530420 = internal constant [13 x i8] c"this._parsed\00" +@sc_cs_579230036855125 = internal constant [20 x i8] c"this._sink.statusOf\00" +@sc_cs_845392426603274 = internal constant [20 x i8] c"this._sink.headerOf\00" +@sc_cs_4179862058638952 = internal constant [22 x i8] c"this._sink.headersMap\00" +@sc_cs_4193314680235269 = internal constant [19 x i8] c"this._sink.nodeRes\00" +@sc_cs_3951196332544625 = internal constant [20 x i8] c"this.sink.setStatus\00" +@sc_cs_3548747207791957 = internal constant [23 x i8] c"this.sink.appendHeader\00" +@sc_cs_4344474916287258 = internal constant [20 x i8] c"this.sink.setHeader\00" +@sc_cs_132549232319664 = internal constant [18 x i8] c"string conversion\00" +@sc_cs_4134463689533233 = internal constant [10 x i8] c"undefined\00" +@sc_cs_2043119860907636 = internal constant [5 x i8] c"null\00" +@sc_cs_3197286426789411 = internal constant [5 x i8] c"true\00" +@sc_cs_4446214944262365 = internal constant [6 x i8] c"false\00" +@sc_cs_3852344104315805 = internal constant [7 x i8] c"%error\00" +@sc_cs_3141069757846984 = internal constant [16 x i8] c"[object Object]\00" +@sc_cs_2298207874780604 = internal constant [5 x i8] c"name\00" +@sc_cs_3013970235377041 = internal constant [8 x i8] c"message\00" +@sc_cs_1222807074245902 = internal constant [3 x i8] c": \00" +@sc_cs_2763807487655546 = internal constant [10 x i8] c"function \00" +@sc_cs_3328797693070444 = internal constant [21 x i8] c"() { [native code] }\00" +@sc_cs_3182400578284434 = internal constant [17 x i8] c"[object Promise]\00" +@sc_cs_4040980926545257 = internal constant [11 x i8] c"this._send\00" +@sc_cs_2252369542214597 = internal constant [12 x i8] c"this.status\00" +@sc_cs_543104408299578 = internal constant [20 x i8] c"this.sink.writeBody\00" +@sc_cs_2097056599080311 = internal constant [20 x i8] c"this.sink.bodyBytes\00" +@sc_cs_3002302439247642 = internal constant [2 x i8] c"h\00" +@sc_cs_708899555714582 = internal constant [10 x i8] c"record:r7\00" +@sc_cs_1887425832114125 = internal constant [20 x i8] c"boolean | undefined\00" +@sc_cs_3113150508978810 = internal constant [10 x i8] c"union:u13\00" +@sc_cs_2277266704045385 = internal constant [10 x i8] c"multipart\00" +@sc_cs_3884343448446622 = internal constant [19 x i8] c"object | undefined\00" +@sc_cs_2786531977708587 = internal constant [10 x i8] c"union:u19\00" +@sc_cs_408244120040977 = internal constant [10 x i8] c"record:r6\00" +@sc_cs_2857538079689091 = internal constant [14 x i8] c"maxFieldBytes\00" +@sc_cs_3624345082936930 = internal constant [10 x i8] c"union:u15\00" +@sc_cs_2659449979257915 = internal constant [13 x i8] c"maxFileBytes\00" +@sc_cs_2882770253409103 = internal constant [9 x i8] c"maxFiles\00" +@sc_cs_4048119461312915 = internal constant [10 x i8] c"union:u18\00" +@sc_cs_3875462036084145 = internal constant [19 x i8] c"number | undefined\00" +@sc_cs_1776203598951489 = internal constant [32 x i8] c"m4.MultipartStorage | undefined\00" +@sc_cs_2420062830460865 = internal constant [10 x i8] c"this._add\00" +@sc_cs_143902260791844 = internal constant [13 x i8] c"this.handler\00" +@sc_cs_2931926363260223 = internal constant [28 x i8] c"func(httpReq,httpRes)=>void\00" +@sc_cs_968890379863199 = internal constant [17 x i8] c"this.fetchBridge\00" +@sc_cs_1951612592073524 = internal constant [12 x i8] c"this._regFn\00" +@sc_cs_625856284831778 = internal constant [11 x i8] c"rv._setWeb\00" +@sc_cs_3779354462845077 = internal constant [12 x i8] c"rv._setBody\00" +@sc_cs_3804612928743770 = internal constant [5 x i8] c"_idx\00" +@sc_cs_3599972234312006 = internal constant [11 x i8] c"record:r12\00" +@sc_cs_1810373001322451 = internal constant [8 x i8] c"_assets\00" +@sc_cs_3607504563658207 = internal constant [18 x i8] c"array\00" +@sc_cs_1140872696640102 = internal constant [11 x i8] c"record:r11\00" +@sc_cs_2538166612030291 = internal constant [10 x i8] c"encodings\00" +@sc_cs_4063863580779324 = internal constant [18 x i8] c"array\00" +@sc_cs_1956162535513610 = internal constant [11 x i8] c"record:r10\00" +@sc_cs_1683535768246717 = internal constant [4 x i8] c"enc\00" +@sc_cs_4445240590403708 = internal constant [5 x i8] c"etag\00" +@sc_cs_1096813006725504 = internal constant [10 x i8] c"immutable\00" +@sc_cs_2067668976369489 = internal constant [8 x i8] c"mtimeMs\00" +@sc_cs_334509345124372 = internal constant [5 x i8] c"type\00" +@sc_cs_2519527309428716 = internal constant [26 x i8] c"object:%m9.EmbeddedAssets\00" +@sc_cs_4488915209155319 = internal constant [9 x i8] c"this.add\00" +@sc_cs_662344961506331 = internal constant [4 x i8] c"src\00" +@sc_cs_4101812311759748 = internal constant [15 x i8] c"m6.AssetSource\00" +@sc_cs_3314970835853795 = internal constant [23 x i8] c"object:%m6.AssetSource\00" +@sc_cs_3595188456357610 = internal constant [22 x i8] c"object:%m8.DiskAssets\00" +@sc_cs_4143564844538255 = internal constant [24 x i8] c"object:%m14.BakedAssets\00" +@sc_cs_24845548896369 = internal constant [4 x i8] c"spa\00" +@sc_cs_365197477495960 = internal constant [4 x i8] c"api\00" +@sc_cs_488203381972006 = internal constant [6 x i8] c"index\00" +@sc_cs_938646781597298 = internal constant [3 x i8] c"cc\00" +@sc_cs_1267962741864417 = internal constant [5 x i8] c"root\00" +@sc_cs_2539353158381885 = internal constant [6 x i8] c"rroot\00" +@sc_cs_1021574860422195 = internal constant [8 x i8] c"_mtimes\00" +@sc_cs_1363884959710398 = internal constant [7 x i8] c"_sizes\00" +@sc_cs_864190948149583 = internal constant [25 x i8] c"object:%m11.StaticServer\00" +@sc_cs_3198879891697343 = internal constant [11 x i8] c"this.isApi\00" +@sc_cs_1825930128146299 = internal constant [11 x i8] c"record:r33\00" +@sc_cs_3553689444499593 = internal constant [6 x i8] c"error\00" +@sc_cs_2345038701066310 = internal constant [19 x i8] c"c.status(404).json\00" +@sc_cs_89252900281981 = internal constant [12 x i8] c"c.req.param\00" +@sc_cs_4405409442699003 = internal constant [19 x i8] c"c.status(403).text\00" +@sc_cs_1776008808819361 = internal constant [19 x i8] c"c.status(404).text\00" +@sc_cs_1751115912570399 = internal constant [13 x i8] c"this.src.get\00" +@sc_cs_2990177497704744 = internal constant [26 x i8] c"null | object | undefined\00" +@sc_cs_3268100869889769 = internal constant [10 x i8] c"union:u35\00" +@sc_cs_4063458104305799 = internal constant [10 x i8] c"this.send\00" +@sc_cs_857144462468593 = internal constant [10 x i8] c"this.pick\00" +@sc_cs_1498306113831208 = internal constant [10 x i8] c"union:u36\00" +@sc_cs_2766961976368107 = internal constant [18 x i8] c"array\00" +@sc_cs_2067294835765432 = internal constant [11 x i8] c"record:r14\00" +@sc_cs_2359144980483679 = internal constant [4 x i8] c"b64\00" +@sc_cs_448384591214783 = internal constant [5 x i8] c"encs\00" +@sc_cs_3299468148590259 = internal constant [18 x i8] c"array\00" +@sc_cs_2563538800453537 = internal constant [11 x i8] c"record:r13\00" +@sc_cs_1759114556739847 = internal constant [10 x i8] c"this.load\00" +@sc_cs_452564808083842 = internal constant [11 x i8] c"record:r20\00" +@sc_cs_4377402653539513 = internal constant [5 x i8] c"port\00" +@sc_cs_4357071885712774 = internal constant [34 x i8] c"buildApp(new BakedAssets()).serve\00" +@sc_cs_3078073717969559 = internal constant [7 x i8] c"Server\00" +@sc_cs_3142187572806275 = internal constant [10 x i8] c"netServer\00" +@sc_cs_691918933429116 = internal constant [10 x i8] c"union:u20\00" +@sc_cs_1834495602683357 = internal constant [69 x i8] c"func(string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App\00" +@sc_cs_2392962937543124 = internal constant [76 x i8] c"func(string,string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App\00" +@sc_cs_1996812579692584 = internal constant [18 x i8] c"function | string\00" +@sc_cs_998895400089623 = internal constant [10 x i8] c"union:u21\00" +@sc_cs_2607745839033357 = internal constant [92 x i8] c"func(union:u21,arraydyn)=>dyn>,...typed[])=>object:%m5.App\00" +@sc_cs_1615563165756018 = internal constant [52 x i8] c"func(func(object:%m5.CtxCore)=>dyn)=>object:%m5.App\00" +@sc_cs_2582782517029237 = internal constant [57 x i8] c"func(func(dyn,object:%m5.CtxCore)=>void)=>object:%m5.App\00" +@sc_cs_3643270957151775 = internal constant [7 x i8] c"m5.App\00" +@sc_cs_457260921344797 = internal constant [44 x i8] c"func(string,object:%m5.App)=>object:%m5.App\00" +@sc_cs_3395729563104566 = internal constant [15 x i8] c"m0.GenDispatch\00" +@sc_cs_2165660704272757 = internal constant [23 x i8] c"object:%m0.GenDispatch\00" +@sc_cs_177236993751959 = internal constant [45 x i8] c"func(object:%m0.GenDispatch)=>object:%m5.App\00" +@sc_cs_1090518300670182 = internal constant [12 x i8] c"m0.GenFetch\00" +@sc_cs_2798802470260116 = internal constant [20 x i8] c"object:%m0.GenFetch\00" +@sc_cs_4102009867172847 = internal constant [42 x i8] c"func(object:%m0.GenFetch)=>object:%m5.App\00" +@sc_cs_3643480643763557 = internal constant [19 x i8] c"m1.UpgradeDispatch\00" +@sc_cs_3870085012327510 = internal constant [27 x i8] c"object:%m1.UpgradeDispatch\00" +@sc_cs_1117094822997163 = internal constant [49 x i8] c"func(object:%m1.UpgradeDispatch)=>object:%m5.App\00" +@sc_cs_2057212120954729 = internal constant [40 x i8] c"func(httpReq,netSocket,bytes)=>void\00" +@sc_cs_3354128358198726 = internal constant [48 x i8] c"func()=>func(httpReq,netSocket,bytes)=>void\00" +@sc_cs_301648257142937 = internal constant [36 x i8] c"func()=>func(httpReq,httpRes)=>void\00" +@sc_cs_647597983044983 = internal constant [10 x i8] c"record:r8\00" +@sc_cs_1253490067536641 = internal constant [5 x i8] c"host\00" +@sc_cs_173552041479615 = internal constant [27 x i8] c"func(record:r8)=>netServer\00" +@sc_cs_2054221238945515 = internal constant [21 x i8] c"function | undefined\00" +@sc_cs_2359442629539563 = internal constant [10 x i8] c"union:u27\00" +@sc_cs_2222188176823686 = internal constant [21 x i8] c"m5.MpCfg | undefined\00" +@sc_cs_3915346829477755 = internal constant [10 x i8] c"union:u28\00" +@sc_cs_4434791701444334 = internal constant [100 x i8] c"func(union:u27,arraydyn)=>dyn>,record:r9,union:u15,union:u28)=>f64\00" +@sc_cs_1285199922266981 = internal constant [32 x i8] c"func(dyn,dyn,dyn)=>promise\00" +@sc_cs_901276133066810 = internal constant [37 x i8] c"func(f64,array,string)=>void\00" +@sc_cs_4047028909258918 = internal constant [79 x i8] c"func(string,string,union:u0,string,func(f64,array,string)=>void)=>void\00" +@sc_cs_249780872679356 = internal constant [88 x i8] c"func(string,string,union:u0,dyn,string,union:u1,object:%m2.ResponseSink)=>promise\00" +@sc_cs_3625634938669578 = internal constant [44 x i8] c"func(httpReq,object:%m2.ResponseSink)=>void\00" +@sc_cs_4010904986871976 = internal constant [17 x i8] c"m4.MemoryStorage\00" +@sc_cs_2523707913786933 = internal constant [18 x i8] c"m4.MemoryFileSink\00" +@sc_cs_4041255434968695 = internal constant [23 x i8] c"object:%m3.LiteRequest\00" +@sc_cs_1164598102066345 = internal constant [15 x i8] c"m3.LiteRequest\00" +@sc_cs_4118775550205102 = internal constant [20 x i8] c"m2.NodeResponseSink\00" +@sc_cs_870978337365731 = internal constant [17 x i8] c"m11.StaticServer\00" +@sc_cs_652580361931695 = internal constant [16 x i8] c"m3.LiteResponse\00" +@sc_cs_2201935167278521 = internal constant [19 x i8] c"m4.MultipartParser\00" +@sc_cs_1875086966829314 = internal constant [33 x i8] c"object:%m5.MethodNotAllowedError\00" +@sc_cs_1775999344942870 = internal constant [25 x i8] c"m5.MethodNotAllowedError\00" +@sc_cs_4196372432750886 = internal constant [15 x i8] c"m3.LiteHeaders\00" +@sc_cs_44520514718337 = internal constant [18 x i8] c"m9.EmbeddedAssets\00" +@sc_cs_3196909287126131 = internal constant [16 x i8] c"m14.BakedAssets\00" +@sc_cs_3984454165941240 = internal constant [43 x i8] c"func(string,union:u15)=>object:%m5.CtxCore\00" +@sc_cs_885587428425789 = internal constant [33 x i8] c"func(string)=>object:%m5.CtxCore\00" +@sc_cs_3038183441461216 = internal constant [10 x i8] c"union:u14\00" +@sc_cs_334287699604147 = internal constant [10 x i8] c"record:r4\00" +@sc_cs_3066695590452058 = internal constant [7 x i8] c"append\00" +@sc_cs_589165283907200 = internal constant [50 x i8] c"func(string,string,union:u14)=>object:%m5.CtxCore\00" +@sc_cs_3418894039723222 = internal constant [30 x i8] c"func(f64)=>object:%m5.CtxCore\00" +@sc_cs_1273036846250420 = internal constant [23 x i8] c"func(string,dyn)=>void\00" +@sc_cs_1401489145004524 = internal constant [30 x i8] c"func(dyn)=>object:%m5.CtxCore\00" +@sc_cs_2903134673160811 = internal constant [43 x i8] c"func(bytes,string)=>object:%m5.CtxCore\00" +@sc_cs_928164213955712 = internal constant [40 x i8] c"func(string,string)=>object:%m5.CtxCore\00" +@sc_cs_1122325011748487 = internal constant [11 x i8] c"record:r21\00" +@sc_cs_4290884524289030 = internal constant [7 x i8] c"c.json\00" +@sc_cs_3127122199549447 = internal constant [24 x i8] c"func(string)=>union:u35\00" +@sc_cs_65100522461730 = internal constant [14 x i8] c"m8.DiskAssets\00" +@sc_cs_3356957811084906 = internal constant [30 x i8] c"func(string,record:r11)=>void\00" +@sc_cs_2732233530704502 = internal constant [30 x i8] c"func(array)=>void\00" +@sc_cs_2251933729900935 = internal constant [23 x i8] c"ROUTE_CONTRACT_VERSION\00" +@sc_cs_2374877263538670 = internal constant [11 x i8] c"g.dispatch\00" +@sc_cs_3205401475211014 = internal constant [16 x i8] c"g.dispatchFetch\00" +@sc_cs_1137312206133953 = internal constant [10 x i8] c"g.upgrade\00" +@sc_cs_3694455830285465 = internal constant [14 x i8] c"app._dispatch\00" +@sc_cs_1207503272071744 = internal constant [24 x i8] c"func()=>promise\00" +@sc_cs_223123181947432 = internal constant [21 x i8] c"func()=>promise\00" +@sc_cs_1235448592878459 = internal constant [11 x i8] c"onRejected\00" +@sc_cs_1837334171651882 = internal constant [11 x i8] c"record:r23\00" +@sc_cs_2898582433338787 = internal constant [5 x i8] c"done\00" +@sc_cs_217677546466963 = internal constant [23 x i8] c"Uint8Array | undefined\00" +@sc_cs_317766872981707 = internal constant [10 x i8] c"union:u37\00" +@sc_cs_2951457732402023 = internal constant [4 x i8] c"_hs\00" +@sc_cs_4297677228401092 = internal constant [3 x i8] c"_t\00" +@sc_cs_1347488745603967 = internal constant [7 x i8] c"_ended\00" +@sc_cs_2774677165392416 = internal constant [17 x i8] c"lite.arrayBuffer\00" +@sc_cs_2727151776136871 = internal constant [13 x i8] c"promise\00" +@sc_cs_3930082970088621 = internal constant [18 x i8] c"app._dispatchPrim\00" +@sc_cs_2640370663486446 = internal constant [14 x i8] c"promise\00" +@sc_cs_3875089545086560 = internal constant [10 x i8] c"getReader\00" +@sc_cs_1259827915176370 = internal constant [12 x i8] c"b.getReader\00" +@sc_cs_1793359953353463 = internal constant [16 x i8] c"func(f64)=>void\00" +@sc_cs_1455899048496469 = internal constant [19 x i8] c"func(string)=>void\00" +@sc_cs_916628890312014 = internal constant [29 x i8] c"func(bytes,string)=>void\00" +@sc_cs_1272873061712689 = internal constant [23 x i8] c"func(string,f64)=>void\00" +@sc_cs_2141261385266017 = internal constant [30 x i8] c"func(f64,array)=>void\00" +@sc_cs_964906137923731 = internal constant [22 x i8] c"func(record:r1)=>void\00" +@sc_cs_1903274682137646 = internal constant [13 x i8] c"func()=>bool\00" +@sc_cs_1364242983314192 = internal constant [12 x i8] c"func()=>f64\00" +@sc_cs_3866987251297945 = internal constant [24 x i8] c"func(string)=>union:u33\00" +@sc_cs_372809600886995 = internal constant [18 x i8] c"func()=>record:r0\00" +@sc_cs_28620680064020 = internal constant [17 x i8] c"func()=>union:u3\00" +@sc_cs_3393462821733945 = internal constant [16 x i8] c"sink.toResponse\00" +@sc_cs_3782535335241788 = internal constant [15 x i8] c"func()=>string\00" +@sc_cs_62391474614842 = internal constant [24 x i8] c"func(string)=>union:u34\00" +@sc_cs_21374005649439 = internal constant [23 x i8] c"func(string)=>union:u2\00" +@sc_cs_1894164568731569 = internal constant [26 x i8] c"func(array)=>void\00" +@sc_cs_3904965855413848 = internal constant [22 x i8] c"func()=>array\00" +@sc_cs_4171889536153457 = internal constant [28 x i8] c"func(string)=>array\00" +@sc_cs_553299930292159 = internal constant [45 x i8] c"func(string)=>array\00" +@sc_cs_1062904759900852 = internal constant [57 x i8] c"func(array,array)=>void\00" +@sc_cs_511877503392273 = internal constant [16 x i8] c"promise\00" +@sc_cs_166879103840853 = internal constant [19 x i8] c"func(string)=>bool\00" +@sc_cs_2761382228043105 = internal constant [10 x i8] c"union:u31\00" +@sc_cs_3878340342191554 = internal constant [25 x i8] c"func(dyn,union:u31)=>dyn\00" +@sc_cs_1363959244591732 = internal constant [35 x i8] c"func(record:r11,string)=>union:u36\00" +@sc_cs_3064312976381386 = internal constant [11 x i8] c"srv.handle\00" +@sc_cs_1324295358917995 = internal constant [10 x i8] c"hs.append\00" +@sc_cs_4217381500900616 = internal constant [12 x i8] c"ctl.enqueue\00" +@sc_cs_897001462723037 = internal constant [10 x i8] c"ctl.close\00" +@sc_cs_517403358760410 = internal constant [15 x i8] c"self.setHeader\00" +@sc_cs_4467357854213836 = internal constant [8 x i8] c"resolve\00" +@sc_cs_4177961995716049 = internal constant [17 x i8] c"func()=>union:u6\00" +@sc_cs_3668476931976593 = internal constant [16 x i8] c"m4.DiskFileSink\00" +@sc_cs_2246533090824195 = internal constant [57 x i8] c"func(string,string,string)=>object:%m4.MultipartFileSink\00" +@sc_cs_544229772381623 = internal constant [15 x i8] c"m4.DiskStorage\00" +@sc_cs_1707336406926269 = internal constant [81 x i8] c"reading 'get' on this native class through an untyped value is not supported yet\00" +@sc_cs_2988681134725684 = internal constant [7 x i8] c"SC2020\00" +@sc_cs_2785503669010995 = internal constant [47 x i8] c"Cannot read properties of undefined (reading '\00" +@sc_cs_3253684798044657 = internal constant [42 x i8] c"Cannot read properties of null (reading '\00" +@sc_cs_2733163726930854 = internal constant [3 x i8] c"')\00" +@sc_cs_272862668042129 = internal constant [7 x i8] c"length\00" +@sc_cs_3120000046228632 = internal constant [11 x i8] c"hs.forEach\00" +@sc_cs_368290044818719 = internal constant [81 x i8] c"calling 'get' on this native class through an untyped value is not supported yet\00" +@sc_cs_731773075116702 = internal constant [4 x i8] c"get\00" +@sc_cs_2856513345585464 = internal constant [16 x i8] c"req.headers.get\00" +@sc_cs_1207708014012541 = internal constant [12 x i8] c"arrayBuffer\00" +@sc_cs_3359878076732110 = internal constant [16 x i8] c"req.arrayBuffer\00" +@sc_cs_1488801223928754 = internal constant [6 x i8] c"Error\00" +@sc_cs_1024475271419441 = internal constant [14 x i8] c"object:%Error\00" +@sc_cs_1143527378875226 = internal constant [6 x i8] c"allow\00" + +@sc_map_ops_935534849691578 = internal constant { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr null, ptr null, ptr @scr_str_retain_v, ptr @scr_str_release_v, ptr null, ptr null } +@sc_map_ops_3966376201201672 = internal constant { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr null, ptr null, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr null, ptr null } +@sc_map_ops_1290041105938883 = internal constant { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr null, ptr null, ptr @sc_nretain_string, ptr @scr_str_release_v, ptr null, ptr null } +@sc_map_ops_4482781317429940 = internal constant { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr null, ptr null, ptr @sc_nretain_array, ptr @scr_arr_release_v, ptr null, ptr null } + +@sc_g_m0_ROUTE_CONTRACT_VERSION = internal global double 0x0000000000000000 ; ROUTE_CONTRACT_VERSION +@sc_g_m4_EMPTY_U8 = internal global ptr null ; EMPTY_U8 +@sc_g_m4_MP_BOUNDARY = internal global double 0x0000000000000000 ; MP_BOUNDARY +@sc_g_m4_MP_AFTER = internal global double 0x0000000000000000 ; MP_AFTER +@sc_g_m4_MP_HEADERS = internal global double 0x0000000000000000 ; MP_HEADERS +@sc_g_m4_MP_CONTENT = internal global double 0x0000000000000000 ; MP_CONTENT +@sc_g_m4_MP_DONE = internal global double 0x0000000000000000 ; MP_DONE +@sc_g_m4_MP_ERR_MALFORMED = internal global double 0x0000000000000000 ; MP_ERR_MALFORMED +@sc_g_m4_MP_ERR_LIMIT = internal global double 0x0000000000000000 ; MP_ERR_LIMIT +@sc_g_m4_MP_MAX_HEADER = internal global double 0x0000000000000000 ; MP_MAX_HEADER +@sc_g_m5_EMPTY_S = internal global ptr null ; EMPTY_S +@sc_g_m5_EMPTY_N = internal global ptr null ; EMPTY_N +@sc_g_m5_Ctx = internal global ptr null ; Ctx +@sc_g_m5_ReqView = internal global ptr null ; ReqView +@sc_g_m5_CtxRes = internal global ptr null ; CtxRes +@sc_g_m5_MP_SHARED_MEM = internal global ptr null ; MP_SHARED_MEM +@sc_g_m7_TYPES = internal global ptr null ; TYPES +@sc_g_m10_DAYS = internal global ptr null ; DAYS +@sc_g_m10_MONTHS = internal global ptr null ; MONTHS +@sc_g_m11_IMMUTABLE_CC = internal global ptr null ; IMMUTABLE_CC +@sc_g_m14_RECORDS = internal global ptr null ; RECORDS +@sc_g_m0__x25_loaded = internal global i1 false ; %loaded +@sc_g_m1__x25_loaded = internal global i1 false ; %loaded +@sc_g_m2__x25_loaded = internal global i1 false ; %loaded +@sc_g_m3__x25_loaded = internal global i1 false ; %loaded +@sc_g_m4__x25_loaded = internal global i1 false ; %loaded +@sc_g_m5__x25_loaded = internal global i1 false ; %loaded +@sc_g_m6__x25_loaded = internal global i1 false ; %loaded +@sc_g_m7__x25_loaded = internal global i1 false ; %loaded +@sc_g_m8__x25_loaded = internal global i1 false ; %loaded +@sc_g_m9__x25_loaded = internal global i1 false ; %loaded +@sc_g_m10__x25_loaded = internal global i1 false ; %loaded +@sc_g_m11__x25_loaded = internal global i1 false ; %loaded +@sc_g_m12__x25_loaded = internal global i1 false ; %loaded +@sc_g_m13__x25_loaded = internal global i1 false ; %loaded +@sc_g_m14__x25_loaded = internal global i1 false ; %loaded +@sc_g_e__x25_loaded = internal global i1 false ; %loaded +@sc_g__x25_prototype_data__x25_m5_App = internal global ptr null ; App.prototype +@sc_g__x25_prototype_data__x25_m5_App_ready = internal global i1 false ; App.prototype.ready +@sc_g__x25_prototype_data__x25_m5_CtxCore = internal global ptr null ; CtxCore.prototype +@sc_g__x25_prototype_data__x25_m5_CtxCore_ready = internal global i1 false ; CtxCore.prototype.ready +@sc_g__x25_prototype_data__x25_m6_AssetSource = internal global ptr null ; AssetSource.prototype +@sc_g__x25_prototype_data__x25_m6_AssetSource_ready = internal global i1 false ; AssetSource.prototype.ready +@sc_g__x25_prototype_data__x25_m9_EmbeddedAssets = internal global ptr null ; EmbeddedAssets.prototype +@sc_g__x25_prototype_data__x25_m9_EmbeddedAssets_ready = internal global i1 false ; EmbeddedAssets.prototype.ready +@sc_g__x25_prototype_data__x25_m14_BakedAssets = internal global ptr null ; BakedAssets.prototype +@sc_g__x25_prototype_data__x25_m14_BakedAssets_ready = internal global i1 false ; BakedAssets.prototype.ready +@sc_g__x25_prototype_data__x25_m0_GenDispatch = internal global ptr null ; GenDispatch.prototype +@sc_g__x25_prototype_data__x25_m0_GenDispatch_ready = internal global i1 false ; GenDispatch.prototype.ready +@sc_g__x25_prototype_data__x25_m0_GenFetch = internal global ptr null ; GenFetch.prototype +@sc_g__x25_prototype_data__x25_m0_GenFetch_ready = internal global i1 false ; GenFetch.prototype.ready +@sc_g__x25_prototype_data__x25_m1_UpgradeDispatch = internal global ptr null ; UpgradeDispatch.prototype +@sc_g__x25_prototype_data__x25_m1_UpgradeDispatch_ready = internal global i1 false ; UpgradeDispatch.prototype.ready +@sc_g__x25_prototype_data__x25_m3_LiteRequest = internal global ptr null ; LiteRequest.prototype +@sc_g__x25_prototype_data__x25_m3_LiteRequest_ready = internal global i1 false ; LiteRequest.prototype.ready +@sc_g__x25_prototype_data__x25_m2_ResponseSink = internal global ptr null ; ResponseSink.prototype +@sc_g__x25_prototype_data__x25_m2_ResponseSink_ready = internal global i1 false ; ResponseSink.prototype.ready +@sc_g__x25_prototype_data__x25_m2_FetchResponseSink = internal global ptr null ; FetchResponseSink.prototype +@sc_g__x25_prototype_data__x25_m2_FetchResponseSink_ready = internal global i1 false ; FetchResponseSink.prototype.ready +@sc_g__x25_prototype_data__x25_m5_ReqViewCore = internal global ptr null ; ReqViewCore.prototype +@sc_g__x25_prototype_data__x25_m5_ReqViewCore_ready = internal global i1 false ; ReqViewCore.prototype.ready +@sc_g__x25_prototype_data__x25_m11_StaticServer = internal global ptr null ; StaticServer.prototype +@sc_g__x25_prototype_data__x25_m11_StaticServer_ready = internal global i1 false ; StaticServer.prototype.ready +@sc_g__x25_prototype_data__x25_m4_MultipartParser = internal global ptr null ; MultipartParser.prototype +@sc_g__x25_prototype_data__x25_m4_MultipartParser_ready = internal global i1 false ; MultipartParser.prototype.ready +@sc_g__x25_prototype_data__x25_m3_LiteResponse = internal global ptr null ; LiteResponse.prototype +@sc_g__x25_prototype_data__x25_m3_LiteResponse_ready = internal global i1 false ; LiteResponse.prototype.ready +@sc_g__x25_prototype_data__x25_m4_MultipartFileSink = internal global ptr null ; MultipartFileSink.prototype +@sc_g__x25_prototype_data__x25_m4_MultipartFileSink_ready = internal global i1 false ; MultipartFileSink.prototype.ready +@sc_g__x25_prototype_data__x25_m4_MultipartStorage = internal global ptr null ; MultipartStorage.prototype +@sc_g__x25_prototype_data__x25_m4_MultipartStorage_ready = internal global i1 false ; MultipartStorage.prototype.ready +@sc_g__x25_prototype_data__x25_m4_MemoryStorage = internal global ptr null ; MemoryStorage.prototype +@sc_g__x25_prototype_data__x25_m4_MemoryStorage_ready = internal global i1 false ; MemoryStorage.prototype.ready +@sc_g__x25_prototype_data__x25_m2_NodeResponseSink = internal global ptr null ; NodeResponseSink.prototype +@sc_g__x25_prototype_data__x25_m2_NodeResponseSink_ready = internal global i1 false ; NodeResponseSink.prototype.ready +@sc_g__x25_prototype_data__x25_m4_MemoryFileSink = internal global ptr null ; MemoryFileSink.prototype +@sc_g__x25_prototype_data__x25_m4_MemoryFileSink_ready = internal global i1 false ; MemoryFileSink.prototype.ready +@sc_g__x25_prototype_data__x25_m3_LiteHeaders = internal global ptr null ; LiteHeaders.prototype +@sc_g__x25_prototype_data__x25_m3_LiteHeaders_ready = internal global i1 false ; LiteHeaders.prototype.ready +@sc_g__x25_prototype_data__x25_m5_CtxResCore = internal global ptr null ; CtxResCore.prototype +@sc_g__x25_prototype_data__x25_m5_CtxResCore_ready = internal global i1 false ; CtxResCore.prototype.ready + +@sc_oom_msg = internal constant [24 x i8] c"scriptc: out of memory\0A\00" +define internal void @sc_oom() #0 { +entry: + call void @scr_trap(ptr @sc_oom_msg) + unreachable +} + +@sc_bad_tag_msg = internal constant [44 x i8] c"scriptc: internal error: invalid union tag\0A\00" +define internal void @sc_bad_tag() #0 { +entry: + call void @scr_trap(ptr @sc_bad_tag_msg) + unreachable +} + +@sc_bad_key_msg = internal constant [86 x i8] c"scriptc: TypeError: record has no key (typed slot \E2\80\94 no undefined is representable)\0A\00" +define internal void @sc_bad_key() #0 { +entry: + call void @scr_trap(ptr @sc_bad_key_msg) + unreachable +} + +define internal ptr @sc_retain_box(ptr %b) #0 { +entry: + %rc = load i64, ptr %b + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %b + br label %done +done: + ret ptr %b +} + +define internal zeroext i1 @sc_str_eq(ptr %a, ptr %b) #0 { +entry: + %same = icmp eq ptr %a, %b + br i1 %same, label %yes, label %lengths +lengths: + %alen.p = getelementptr inbounds %ScrStr, ptr %a, i32 0, i32 1 + %blen.p = getelementptr inbounds %ScrStr, ptr %b, i32 0, i32 1 + %alen = load i64, ptr %alen.p + %blen = load i64, ptr %blen.p + %samelen = icmp eq i64 %alen, %blen + br i1 %samelen, label %bytes, label %no +bytes: + %eq = call zeroext i1 @scr_str_eq(ptr %a, ptr %b) + ret i1 %eq +yes: + ret i1 true +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2587508618302557(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8751164109912108898 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2431234921623602(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 1 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i8, ptr %data, align 1 + %x0 = xor i8 %w0, 34 + %z0 = zext i8 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3440635113177870(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8386094127413096294 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 97 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2298207874780604(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1701667182 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4388468866828680(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7308604897068083558 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2725580638052193(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1414745936 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2541794298493390(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 5526864 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2494668324074259(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 310367240528 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1791854776991212(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 76228242195780 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4005573543169985(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 0 + ret i1 %samelen +} + +define internal zeroext i1 @sc_streq_2434240011052594(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 1 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i8, ptr %data, align 1 + %x0 = xor i8 %w0, 47 + %z0 = zext i8 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1834571860458263(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 1 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i8, ptr %data, align 1 + %x0 = xor i8 %w0, 42 + %z0 = zext i8 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4075616746236128(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 1 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i8, ptr %data, align 1 + %x0 = xor i8 %w0, 58 + %z0 = zext i8 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3185835515143599(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1145128264 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_367446482893939(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 5522759 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1666994892967735(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 2 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i16, ptr %data, align 1 + %x0 = xor i16 %w0, 11822 + %z0 = zext i16 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3618831577556636(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 1 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i8, ptr %data, align 1 + %x0 = xor i8 %w0, 46 + %z0 = zext i8 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_438854160789283(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 11 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7956503110378420014 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i24, ptr %p1, align 1 + %x1 = xor i24 %w1, 7239535 + %z1 = zext i24 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1687538661063814(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 1 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i8, ptr %data, align 1 + %x0 = xor i8 %w0, 48 + %z0 = zext i8 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2329537264393449(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 12 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 3275364211029340003 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i32, ptr %p1, align 1 + %x1 = xor i32 %w1, 1701869940 + %z1 = zext i32 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1256688351795902(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 19 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 3275364211029340003 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 8388362703419435364 + %o1 = or i64 %x0, %x1 + %p2 = getelementptr inbounds i8, ptr %data, i32 16 + %w2 = load i24, ptr %p2, align 1 + %x2 = xor i24 %w2, 7237481 + %z2 = zext i24 %x2 to i64 + %o2 = or i64 %o1, %z2 + %eq = icmp eq i64 %o2, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4006719217465510(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 11 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7166760226508402531 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i24, ptr %p1, align 1 + %x1 = xor i24 %w1, 7499636 + %z1 = zext i24 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_442512110453159(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 16 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7308895133777551199 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 6872337336461714759 + %o1 = or i64 %x0, %x1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3044709983387393(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 16 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7308895133777551199 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 6872337336461714771 + %o1 = or i64 %x0, %x1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4327941486179142(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 14 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8237205177173762408 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i48, ptr %p1, align 1 + %x1 = xor i48 %w1, 133541042417775 + %z1 = zext i48 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_900273229759677(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 16 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8103501230877990751 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 6872337336461714759 + %o1 = or i64 %x0, %x1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2545601642886305(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 16 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8103501230877990751 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 6872337336461714771 + %o1 = or i64 %x0, %x1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3038471479600896(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 13 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8390052652822590313 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i40, ptr %p1, align 1 + %x1 = xor i40 %w1, 439418712185 + %z1 = zext i40 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_327813112294278(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 20 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8751745755891331696 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 8243115044100207433 + %o1 = or i64 %x0, %x1 + %p2 = getelementptr inbounds i8, ptr %data, i32 16 + %w2 = load i32, ptr %p2, align 1 + %x2 = xor i32 %w2, 1701601889 + %z2 = zext i32 %x2 to i64 + %o2 = or i64 %o1, %z2 + %eq = icmp eq i64 %o2, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3302186402337583(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7453010373643562868 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2653701574536716(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 28797744804815222 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_860002567067755(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 6876843178028195679 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 95 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_619980451361384(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 14 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7308323375012409204 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i48, ptr %p1, align 1 + %x1 = xor i48 %w1, 113723913172051 + %z1 = zext i48 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3038119887745057(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 126879313915487 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2387748979716321(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7826783 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4074236996717255(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1936615007 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3834689050502795(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1937206623 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_772714621079184(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 6712927 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1253948269358290(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 512936537695 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_872249802202544(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1717923679 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3257120253469437(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32491021206578015 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3782354537448346(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7955997317698842207 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_886324725696546(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7237727 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_535630044833136(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 6910047 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4400741686745380(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7369567 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1668606746601237(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 77487190008415 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1388999587933298(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7368031 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1094398669481625(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1852139359 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1345623861448315(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7166464260227557215 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 104 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3774229428846185(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7370079 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_731773075116702(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7628135 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2007918756741504(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1953722224 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_971741391048674(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7632240 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1716842667196161(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 111550592214372 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2894558501580739(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 448345170288 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2800347990603543(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1684104552 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2948042885743279(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32491047111389295 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1670565919607657(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7105633 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3251470234448474(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 2 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i16, ptr %data, align 1 + %x0 = xor i16 %w0, 28271 + %z0 = zext i16 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2879707573315964(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 6648693 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3111096729023658(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7236850772014821230 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_668712189700762(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32210684679122543 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2436853855422636(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 435745550194 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2466306126986778(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 12 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8102935897100806519 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i32, ptr %p1, align 1 + %x1 = xor i32 %w1, 1751348321 + %z1 = zext i32 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1389753027152399(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 17 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7166464260127877495 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 7166460042653811816 + %o1 = or i64 %x0, %x1 + %p2 = getelementptr inbounds i8, ptr %data, i32 16 + %w2 = load i8, ptr %p2, align 1 + %x2 = xor i8 %w2, 104 + %z2 = zext i8 %x2 to i64 + %o2 = or i64 %o1, %z2 + %eq = icmp eq i64 %o2, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1148437194389594(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 11 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8243681155051972983 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i24, ptr %p1, align 1 + %x1 = xor i24 %w1, 6644833 + %z1 = zext i24 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4192469624085056(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 14 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 5216686113072574581 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i48, ptr %p1, align 1 + %x1 = xor i48 %w1, 125779935784545 + %z1 = zext i48 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_864781090888737(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32199663560843624 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_603267670272610(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 11 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7598208537440052582 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i24, ptr %p1, align 1 + %x1 = xor i24 %w1, 6645604 + %z1 = zext i24 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_646811555153625(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 435778905459 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4391217941138845(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8387187282640266611 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 26723 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2014847608589337(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 121248661467743 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_405767859507088(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1684300127 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4078327433052319(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 448345171302 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_156708963710691(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7595412479370618214 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 109 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1093190805819680(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 13 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7166460042653819999 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i40, ptr %p1, align 1 + %x1 = xor i40 %w1, 469920534632 + %z1 = zext i40 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3899522094323235(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7166460042653819999 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 104 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3447500980845638(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7431538 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_448101171860799(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1802398067 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4141049404401276(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8603398483185332831 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3621289080171698(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32498765033403231 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2163543391075186(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1953391987 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4022150258959820(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 495840228959 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3084154227263888(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8315142882439687775 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1951312618348557(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7562610 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_127274431826284(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 126948300911731 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_528144782449140(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 125779801367912 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1950596786618243(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7628147 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_48178627029362(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1852797802 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2677147133778287(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1954047348 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4044156596960274(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1819112552 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_161925136240866(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8386658473162859890 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_693828840439997(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 495623371106 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_587707337530151(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 431348872031 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3804612928743770(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 2019846495 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1810373001322451(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32497601399185759 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2227497482646049(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 6579297 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_228045523956680(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1684107116 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4062729090063393(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 474214786402 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1295387805544367(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 28542640877171827 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3528980137111930(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 284650135917 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4476522814667484(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 301964222829 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3328648022724882(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 18687764664443245 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1287587581000978(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 2002874975 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1774444802243527(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1650816863 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_964469684973146(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8318822943511898207 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1867568051177534(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 16 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8318822943511898207 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 8386668330298337604 + %o1 = or i64 %x0, %x1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1609576561362083(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 110429656606061 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_719487464480143(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7107189 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2826818497658723(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1752457584 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2528619671045714(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7565663 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4247546884021115(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7369055 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3282989543243776(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7172191 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4347805238344460(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 521376064095 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3191748704064557(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8315171486418627935 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_232607068610214(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7236270204105289055 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 115 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3786966061696883(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7823730 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_308138762104264(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 124679989191026 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2356143898347316(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 27695974007010143 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3600534565598564(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 469786321264 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1621825757343351(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 30769164589560671 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2827456990858395(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 131319940870239 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2968093406050353(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 521610294641 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3529749794644284(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7812691443447068017 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_124879919648070(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32481125886948721 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_616655122974952(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 2036625250 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_40786511283622(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8747238707471676255 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1048673592241930(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1701603686 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1081761464356753(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 495622842726 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3392166625234189(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 431315315046 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3375901898269401(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 126875152509286 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3532714511332900(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 13 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8389209181410128735 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i40, ptr %p1, align 1 + %x1 = xor i40 %w1, 500135194729 + %z1 = zext i40 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3624217920823549(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 28259044185698399 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3752021314181142(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8463496751980242291 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 115 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2364278031517622(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7306071583136966003 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 114 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_470306239805907(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 12 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7298193621464936545 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i32, ptr %p1, align 1 + %x1 = xor i32 %w1, 1919247457 + %z1 = zext i32 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4133069531575059(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7237076129719874167 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 121 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2253648670486996(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7310601421540585314 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 115 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_298897322184109(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 435744764535 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4085448292571548(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7018095194908750455 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 100 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3561861343106386(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7018141438267649637 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 109 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3108123016971750(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 500102554721 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2529432852777196(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 128017495192425 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4297539476301093(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 13 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8243105062445413225 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i40, ptr %p1, align 1 + %x1 = xor i40 %w1, 500068340595 + %z1 = zext i40 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1959461887910059(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 34181009552663908 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_181663572509014(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7372238063329703027 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_992600386266231(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7372236894830159208 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4198614539576238(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 5580930143043544424 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 28769 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3908714124573206(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32481026884530030 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3953364176447457(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1952805727 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3231205774586710(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32503098286171240 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_538032548850790(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32488787639690344 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4231320391602270(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32777993389761640 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2537232771826273(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 126905251883107 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1579912071364319(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 11 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 6013275707271112040 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i24, ptr %p1, align 1 + %x1 = xor i24 %w1, 7630437 + %z1 = zext i24 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1640919894513317(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 28259048448025697 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4191962028163388(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7596835234783720287 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 26478 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2098081682588801(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1819566943 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4448851817182856(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7954875725661496671 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4028208071947570(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7957702707510407028 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 25971 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2171724267474130(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1936028255 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1515898915129638(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7170399 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2556418033318189(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7561576 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2782259059515958(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 12 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8017379740190270823 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i32, ptr %p1, align 1 + %x1 = xor i32 %w1, 1701407599 + %z1 = zext i32 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_145319249654683(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 29382667006013286 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3013970235377041(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 28542640894207341 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1143527378875226(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 512970484833 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4331231100667432(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 120299557577823 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1497623537730125(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 120338095825759 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3626652862359804(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7631711 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3767316427932713(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 431348871263 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_270650669493903(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7306916064555987807 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1904556107358822(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7308332046703750495 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 66 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3347257245794453(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7308332046703750495 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 115 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_51498970823486(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7810764880132271455 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 16996 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3871774119671975(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 482804986719 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1511541293423217(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 28548172057110879 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3537803200604019(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 110416720651871 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2438149604853393(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 9 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7881702204764677727 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i8, ptr %p1, align 1 + %x1 = xor i8 %w1, 101 + %z1 = zext i8 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_87265031005560(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 435627322719 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2620371357038102(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 461413905247 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1445273163400741(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32481173248829023 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3078220272172636(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 111576429586015 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3003865410260240(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32481138620919391 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3833663445821831(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7500389 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3531366543973767(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1684366694 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1173128410961643(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 114844899371366 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1900193337948069(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7886488383174831455 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 25701 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3922224781708262(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 127996156013663 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1360183775732063(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7012232654659674463 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 29810 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_142546227685363(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7012232654425977695 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 29810 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2281930073577937(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 499984983391 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1113582459875923(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8390876053654889823 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_595629019077013(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7309475598608197997 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3603975379547098(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1702521203 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_662344961506331(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 6517363 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_24845548896369(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 6385779 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_365197477495960(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 6910049 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_488203381972006(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 517097156201 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_938646781597298(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 2 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i16, ptr %data, align 1 + %x0 = xor i16 %w0, 25443 + %z0 = zext i16 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2232031524457002(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 452854903657 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3423954012803281(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 111516215828840 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_700259281879664(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1684956531 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2478521587363481(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 4 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i32, ptr %data, align 1 + %x0 = xor i32 %w0, 1801677168 + %z0 = zext i32 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_952059176356082(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 6581861 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1026109439396001(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 500136108641 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_201462833315591(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32487744482075487 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1008105371634015(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 5 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i40, ptr %data, align 1 + %x0 = xor i40 %w0, 435845428063 + %z0 = zext i40 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2251933729900935(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 22 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 5711513503808180050 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i64, ptr %p1, align 1 + %x1 = xor i64 %w1, 6223785857884771406 + %o1 = or i64 %x0, %x1 + %p2 = getelementptr inbounds i8, ptr %data, i32 16 + %w2 = load i48, ptr %p2, align 1 + %x2 = xor i48 %w2, 86102439580229 + %z2 = zext i48 %x2 to i64 + %o2 = or i64 %o1, %z2 + %eq = icmp eq i64 %o2, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3862385552412238(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 8 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7521983764486121828 + %eq = icmp eq i64 %x0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_437194258546139(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 13 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7521983764486121828 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i40, ptr %p1, align 1 + %x1 = xor i40 %w1, 448345171270 + %z1 = zext i40 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2250671438728133(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 28539342341763189 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_977412068193087(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32495402123093352 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_2951457732402023(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 3 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i24, ptr %data, align 1 + %x0 = xor i24 %w0, 7563359 + %z0 = zext i24 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_4297677228401092(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 2 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i16, ptr %data, align 1 + %x0 = xor i16 %w0, 29791 + %z0 = zext i16 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1347488745603967(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 6 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i48, ptr %data, align 1 + %x0 = xor i48 %w0, 110386639431007 + %z0 = zext i48 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_1207708014012541(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 11 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 7382880253237162593 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i24, ptr %p1, align 1 + %x1 = xor i24 %w1, 7497062 + %z1 = zext i24 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_551454763233869(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 7 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i56, ptr %data, align 1 + %x0 = xor i56 %w0, 32777976897693042 + %z0 = zext i56 %x0 to i64 + %eq = icmp eq i64 %z0, 0 + ret i1 %eq +no: + ret i1 false +} + +define internal zeroext i1 @sc_streq_3196313521755681(ptr %s) #0 { +entry: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %samelen = icmp eq i64 %len, 10 + br i1 %samelen, label %bytes, label %no +bytes: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %w0 = load i64, ptr %data, align 1 + %x0 = xor i64 %w0, 8017378709950526579 + %p1 = getelementptr inbounds i8, ptr %data, i32 8 + %w1 = load i16, ptr %p1, align 1 + %x1 = xor i16 %w1, 25956 + %z1 = zext i16 %x1 to i64 + %o1 = or i64 %x0, %z1 + %eq = icmp eq i64 %o1, 0 + ret i1 %eq +no: + ret i1 false +} + +@scr_str_scan = external global { ptr, ptr, i64 } + +define internal double @sc_str_utf16_len(ptr %s) #0 { +entry: + %cw.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 2 + %cw = load i32, ptr %cw.p + %ascii = icmp slt i32 %cw, 0 + br i1 %ascii, label %fast, label %wide +fast: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %n = sitofp i64 %len to double + ret double %n +wide: + %scan.s = load ptr, ptr @scr_str_scan + %scan.same = icmp eq ptr %scan.s, %s + br i1 %scan.same, label %scan.load, label %slow +scan.load: + %scan.up = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 1 + %scan.units = load ptr, ptr %scan.up + %scan.np = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 2 + %scan.nw = load i64, ptr %scan.np + %scan.n = add i64 %scan.nw, 0 + br label %scan.len +scan.len: + %scan.dn = sitofp i64 %scan.n to double + ret double %scan.dn +slow: + %r = call double @scr_str_utf16_len(ptr %s) cold nocallback nounwind willreturn + ret double %r +} + +define internal double @sc_str_char_code_at(ptr %s, double %i) #0 { +entry: + %cw.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 2 + %cw = load i32, ptr %cw.p + %ascii = icmp slt i32 %cw, 0 + br i1 %ascii, label %bounds, label %wide +wide: + %scan.s = load ptr, ptr @scr_str_scan + %scan.same = icmp eq ptr %scan.s, %s + br i1 %scan.same, label %scan.load, label %slow +scan.load: + %scan.up = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 1 + %scan.units = load ptr, ptr %scan.up + %scan.np = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 2 + %scan.nw = load i64, ptr %scan.np + %scan.n = add i64 %scan.nw, 0 + br label %scan.bounds +scan.bounds: + %sx6 = fptosi double %i to i64 + %sx7 = freeze i64 %sx6 + %sx8 = sitofp i64 %sx7 to double + %sx9 = fcmp oeq double %sx8, %i + %sx10 = icmp ult i64 %sx7, %scan.n + %sx11 = and i1 %sx9, %sx10 + br i1 %sx11, label %scan.read, label %slow +scan.read: + %scan.k = add i64 %sx7, 0 + %scan.p = getelementptr inbounds i16, ptr %scan.units, i64 %scan.k + %scan.unit = load i16, ptr %scan.p + %scan.d = uitofp i16 %scan.unit to double + ret double %scan.d +bounds: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %ix0 = fptosi double %i to i64 + %ix1 = freeze i64 %ix0 + %ix2 = sitofp i64 %ix1 to double + %ix3 = fcmp oeq double %ix2, %i + %ix4 = icmp ult i64 %ix1, %len + %ix5 = and i1 %ix3, %ix4 + br i1 %ix5, label %read, label %slow +read: + %k = add i64 %ix1, 0 + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %p = getelementptr inbounds i8, ptr %data, i64 %k + %byte = load i8, ptr %p + %unit = uitofp i8 %byte to double + ret double %unit +slow: + %r = call double @scr_str_char_code_at(ptr %s, double %i) cold nocallback nounwind willreturn + ret double %r +} + +define internal double @sc_str_char_code_at_int(ptr %s, i64 %i) #0 { +entry: + %cw.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 2 + %cw = load i32, ptr %cw.p + %ascii = icmp slt i32 %cw, 0 + br i1 %ascii, label %bounds, label %wide +wide: + %scan.s = load ptr, ptr @scr_str_scan + %scan.same = icmp eq ptr %scan.s, %s + br i1 %scan.same, label %scan.load, label %slow +scan.load: + %scan.up = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 1 + %scan.units = load ptr, ptr %scan.up + %scan.np = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 2 + %scan.nw = load i64, ptr %scan.np + %scan.n = add i64 %scan.nw, 0 + br label %scan.bounds +scan.bounds: + %scan.ok = icmp ult i64 %i, %scan.n + br i1 %scan.ok, label %scan.read, label %slow +scan.read: + %scan.k = add i64 %i, 0 + %scan.p = getelementptr inbounds i16, ptr %scan.units, i64 %scan.k + %scan.unit = load i16, ptr %scan.p + %scan.d = uitofp i16 %scan.unit to double + ret double %scan.d +bounds: + %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1 + %len = load i64, ptr %len.p + %ok = icmp ult i64 %i, %len + br i1 %ok, label %read, label %slow +read: + %data = getelementptr inbounds %ScrStr, ptr %s, i32 1 + %p = getelementptr inbounds i8, ptr %data, i64 %i + %byte = load i8, ptr %p + %unit = uitofp i8 %byte to double + ret double %unit +slow: + %d = sitofp i64 %i to double + %r = call double @scr_str_char_code_at(ptr %s, double %d) cold nocallback nounwind willreturn + ret double %r +} + +define internal ptr @sc_rretain_r0(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r0_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r0, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_map_release(ptr %v0) ; [key: string] overflow + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r0(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r0_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r0_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r0_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r0() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r0, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r0, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + %ovf = call ptr @scr_map_new(i32 1, i32 2, ptr @sc_map_ops_935534849691578) + %ovfp = getelementptr inbounds %sc_rs_r0, ptr %o, i64 0, i32 1 + store ptr %ovf, ptr %ovfp + ret ptr %o +} + +define internal ptr @sc_rretain_r1(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r1_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r1, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; body + %f1 = getelementptr inbounds %sc_rs_r1, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @sc_rc_release_dyn(ptr %v1) ; headers + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r1(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r1_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r1_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r1_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_rtrace_r1.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r1, ptr @sc_rgcfree_r1, i32 32, i32 0 } + +define internal ptr @sc_rnew_r1() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r1, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r1.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r1, ptr null, i32 1) to i64), ptr @sc_rtrace_r1.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + ret ptr %o +} + +define internal void @sc_rtrace_r1(ptr %o, ptr %visit, ptr %ctx) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r1, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; body + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_rs_r1, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; headers + br label %tv1.next +tv1.next: + ret void +} + +define internal void @sc_rgcfree_r1(ptr %o) #0 { +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_rretain_r2(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r2_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r2, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_closure_release(ptr %v0) ; close + %f1 = getelementptr inbounds %sc_rs_r2, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_closure_release(ptr %v1) ; enqueue + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r2(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r2_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r2_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r2_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_rtrace_r2.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r2, ptr @sc_rgcfree_r2, i32 33, i32 0 } + +define internal ptr @sc_rnew_r2() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r2, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r2.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r2, ptr null, i32 1) to i64), ptr @sc_rtrace_r2.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + ret ptr %o +} + +define internal void @sc_rtrace_r2(ptr %o, ptr %visit, ptr %ctx) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r2, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; close + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_rs_r2, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; enqueue + br label %tv1.next +tv1.next: + ret void +} + +define internal void @sc_rgcfree_r2(ptr %o) #0 { +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_rretain_r3(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r3_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r3, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_map_release(ptr %v0) ; [key: string] overflow + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r3(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r3_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r3_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r3_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r3() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r3, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r3, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + %ovf = call ptr @scr_map_new(i32 1, i32 2, ptr @sc_map_ops_3966376201201672) + %ovfp = getelementptr inbounds %sc_rs_r3, ptr %o, i64 0, i32 1 + store ptr %ovf, ptr %ovfp + ret ptr %o +} + +define internal ptr @sc_rretain_r4(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r4(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r4_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r4_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r4() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r4, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r4, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r5(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r5_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r5, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; children + %f1 = getelementptr inbounds %sc_rs_r5, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; hf + %f2 = getelementptr inbounds %sc_rs_r5, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; hm + %f3 = getelementptr inbounds %sc_rs_r5, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; seg + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r5_destroy(ptr %o) #0 { +entry: + call void @sc_rrelease_r5_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_rrelease_r5(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r5_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r5_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r5_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r5() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r5, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r5, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r6(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r6_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r6, ptr %o, i64 0, i32 4 + %v0 = load ptr, ptr %f0 + call void @sc_release__x25_m4_MultipartStorage(ptr %v0) ; storage + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r6_destroy(ptr %o) #0 { +entry: + call void @sc_rrelease_r6_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_rrelease_r6(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r6_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r6_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r6_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_rtrace_r6.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r6, ptr @sc_rgcfree_r6, i32 34, i32 0 } + +define internal ptr @sc_rnew_r6() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r6, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r6.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r6, ptr null, i32 1) to i64), ptr @sc_rtrace_r6.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + ret ptr %o +} + +define internal void @sc_rtrace_r6(ptr %o, ptr %visit, ptr %ctx) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r6, ptr %o, i64 0, i32 4 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; storage + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_rgcfree_r6(ptr %o) #0 { +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_rretain_r7(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r7_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r7, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %td0.nn = icmp ne ptr %v0, null + br i1 %td0.nn, label %td0.chk, label %td0.next +td0.chk: + %td0.rc = load i64, ptr %v0 + %td0.last = icmp eq i64 %td0.rc, 1 + br i1 %td0.last, label %td0.dead, label %td0.shared +td0.shared: + call void @sc_rrelease_r6(ptr %v0) ; multipart + br label %td0.next +td0.dead: ; multipart: the last reference + store i64 0, ptr %v0 + %td0.bufp = getelementptr i8, ptr %v0, i64 -4 + %td0.buf = load i32, ptr %td0.bufp + %td0.queued = icmp slt i32 %td0.buf, 0 + br i1 %td0.queued, label %td0.unbuffer, label %td0.teardown +td0.unbuffer: + call void @scr_cyc_on_dead(ptr %v0) + br label %td0.teardown +td0.teardown: + %td0.short = icmp ult i32 %d, 16 + br i1 %td0.short, label %td0.direct, label %td0.bounded +td0.direct: + %td0.d = add i32 %d, 1 + call void @sc_rrelease_r6_destroy_d(ptr %v0, i32 %td0.d) + br label %td0.next +td0.bounded: + call void @scr_rc_destroy(ptr %v0, ptr @sc_rrelease_r6_destroy) + br label %td0.next +td0.next: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r7_destroy(ptr %o) #0 { +entry: + call void @sc_rrelease_r7_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_rrelease_r7(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r7_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r7_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r7_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_rtrace_r7.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r7, ptr @sc_rgcfree_r7, i32 35, i32 0 } + +define internal ptr @sc_rnew_r7() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r7, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r7.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r7, ptr null, i32 1) to i64), ptr @sc_rtrace_r7.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + ret ptr %o +} + +define internal void @sc_rtrace_r7(ptr %o, ptr %visit, ptr %ctx) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r7, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; multipart + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_rgcfree_r7(ptr %o) #0 { +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_rretain_r8(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r8_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r8, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; host + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r8(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r8_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r8_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r8_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r8() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r8, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r8, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r9(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r9_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r9, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; idxs + %f1 = getelementptr inbounds %sc_rs_r9, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; names + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r9(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r9_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r9_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r9_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r9() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r9, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r9, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r10(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r10_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r10, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_bytes_release(ptr %v0) ; body + %f1 = getelementptr inbounds %sc_rs_r10, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; enc + %f2 = getelementptr inbounds %sc_rs_r10, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; etag + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r10(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r10_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r10_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r10_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r10() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r10, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r10, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r11(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r11_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r11, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_bytes_release(ptr %v0) ; body + %f1 = getelementptr inbounds %sc_rs_r11, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; encodings + %f2 = getelementptr inbounds %sc_rs_r11, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; etag + %f3 = getelementptr inbounds %sc_rs_r11, ptr %o, i64 0, i32 7 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; type + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r11(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r11_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r11_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r11_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r11() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r11, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r11, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r12(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r12_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r12, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_map_release(ptr %v0) ; [key: string] overflow + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r12(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r12_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r12_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r12_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r12() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r12, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r12, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + %ovf = call ptr @scr_map_new(i32 1, i32 0, ptr null) + %ovfp = getelementptr inbounds %sc_rs_r12, ptr %o, i64 0, i32 1 + store ptr %ovf, ptr %ovfp + ret ptr %o +} + +define internal ptr @sc_rretain_r13(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r13(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r13_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r13_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + %f0 = getelementptr inbounds %sc_rs_r13, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; b64 + %f1 = getelementptr inbounds %sc_rs_r13, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; enc + %f2 = getelementptr inbounds %sc_rs_r13, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; etag + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r13() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r13, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r13, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r14(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r14_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; b64 + %f1 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; encs + %f2 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; etag + %f3 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 6 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; path + %f4 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 7 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; type + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r14(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r14_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r14_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r14_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r14() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r14, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r14, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r15(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r15_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r15, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; api + %f1 = getelementptr inbounds %sc_rs_r15, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; cacheControl + %f2 = getelementptr inbounds %sc_rs_r15, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; index + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r15(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r15_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r15_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r15_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r15() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r15, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r15, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r16(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r16_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r16, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %td0.nn = icmp ne ptr %v0, null + br i1 %td0.nn, label %td0.chk, label %td0.next +td0.chk: + %td0.rc = load i64, ptr %v0 + %td0.last = icmp eq i64 %td0.rc, 1 + br i1 %td0.last, label %td0.dead, label %td0.shared +td0.shared: + call void @sc_rrelease_r5(ptr %v0) ; node + br label %td0.next +td0.dead: ; node: the last reference + store i64 0, ptr %v0 + %td0.short = icmp ult i32 %d, 16 + br i1 %td0.short, label %td0.direct, label %td0.bounded +td0.direct: + %td0.d = add i32 %d, 1 + call void @sc_rrelease_r5_destroy_d(ptr %v0, i32 %td0.d) + br label %td0.next +td0.bounded: + call void @scr_rc_destroy(ptr %v0, ptr @sc_rrelease_r5_destroy) + br label %td0.next +td0.next: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r16_destroy(ptr %o) #0 { +entry: + call void @sc_rrelease_r16_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_rrelease_r16(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r16_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r16_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r16_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r16() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r16, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r16, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r17(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r17(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r17_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r17_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + %f0 = getelementptr inbounds %sc_rs_r17, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; a + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r17() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r17, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r17, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r18(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r18(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r18_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r18_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + %f0 = getelementptr inbounds %sc_rs_r18, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; 0 + %f1 = getelementptr inbounds %sc_rs_r18, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; 1 + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r18() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r18, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r18, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r19(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r19_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r19, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_closure_release(ptr %v0) ; forEach + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r19_destroy(ptr %o) #0 { +entry: + call void @sc_rrelease_r19_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_rrelease_r19(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r19_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r19_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r19_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_rtrace_r19.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r19, ptr @sc_rgcfree_r19, i32 36, i32 0 } + +define internal ptr @sc_rnew_r19() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r19, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r19.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r19, ptr null, i32 1) to i64), ptr @sc_rtrace_r19.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + ret ptr %o +} + +define internal void @sc_rtrace_r19(ptr %o, ptr %visit, ptr %ctx) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r19, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; forEach + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_rgcfree_r19(ptr %o) #0 { +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_rretain_r20(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r20(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r20_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r20_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r20() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r20, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r20, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r21(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r21(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r21_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r21_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + %f0 = getelementptr inbounds %sc_rs_r21, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; message + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r21() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r21, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r21, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r23(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r23_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r23, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @scr_union_release(ptr %v0) ; value + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r23(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r23_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r23_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r23_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r23() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r23, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r23, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r25(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r25(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r25_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r25_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + %f0 = getelementptr inbounds %sc_rs_r25, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; a + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r25() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r25, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r25, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r26(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r26_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r26, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_map_release(ptr %v0) ; [key: string] overflow + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r26(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r26_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r26_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r26_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r26() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r26, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r26, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + %ovf = call ptr @scr_map_new(i32 1, i32 2, ptr @sc_map_ops_1290041105938883) + %ovfp = getelementptr inbounds %sc_rs_r26, ptr %o, i64 0, i32 1 + store ptr %ovf, ptr %ovfp + ret ptr %o +} + +define internal ptr @sc_rretain_r27(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r27_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r27, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %td0.nn = icmp ne ptr %v0, null + br i1 %td0.nn, label %td0.chk, label %td0.next +td0.chk: + %td0.rc = load i64, ptr %v0 + %td0.last = icmp eq i64 %td0.rc, 1 + br i1 %td0.last, label %td0.dead, label %td0.shared +td0.shared: + call void @sc_rrelease_r19(ptr %v0) ; headers + br label %td0.next +td0.dead: ; headers: the last reference + store i64 0, ptr %v0 + %td0.bufp = getelementptr i8, ptr %v0, i64 -4 + %td0.buf = load i32, ptr %td0.bufp + %td0.queued = icmp slt i32 %td0.buf, 0 + br i1 %td0.queued, label %td0.unbuffer, label %td0.teardown +td0.unbuffer: + call void @scr_cyc_on_dead(ptr %v0) + br label %td0.teardown +td0.teardown: + %td0.short = icmp ult i32 %d, 16 + br i1 %td0.short, label %td0.direct, label %td0.bounded +td0.direct: + %td0.d = add i32 %d, 1 + call void @sc_rrelease_r19_destroy_d(ptr %v0, i32 %td0.d) + br label %td0.next +td0.bounded: + call void @scr_rc_destroy(ptr %v0, ptr @sc_rrelease_r19_destroy) + br label %td0.next +td0.next: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r27_destroy(ptr %o) #0 { +entry: + call void @sc_rrelease_r27_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_rrelease_r27(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r27_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r27_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r27_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_rtrace_r27.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r27, ptr @sc_rgcfree_r27, i32 37, i32 0 } + +define internal ptr @sc_rnew_r27() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r27, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r27.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r27, ptr null, i32 1) to i64), ptr @sc_rtrace_r27.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + ret ptr %o +} + +define internal void @sc_rtrace_r27(ptr %o, ptr %visit, ptr %ctx) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r27, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; headers + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_rgcfree_r27(ptr %o) #0 { +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_rretain_r28(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r28_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r28, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; headers + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r28(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r28_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r28_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r28_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r28() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r28, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r28, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r31(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r31_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r31, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %td0.nn = icmp ne ptr %v0, null + br i1 %td0.nn, label %td0.chk, label %td0.next +td0.chk: + %td0.rc = load i64, ptr %v0 + %td0.last = icmp eq i64 %td0.rc, 1 + br i1 %td0.last, label %td0.dead, label %td0.shared +td0.shared: + call void @sc_rrelease_r5(ptr %v0) ; node + br label %td0.next +td0.dead: ; node: the last reference + store i64 0, ptr %v0 + %td0.short = icmp ult i32 %d, 16 + br i1 %td0.short, label %td0.direct, label %td0.bounded +td0.direct: + %td0.d = add i32 %d, 1 + call void @sc_rrelease_r5_destroy_d(ptr %v0, i32 %td0.d) + br label %td0.next +td0.bounded: + call void @scr_rc_destroy(ptr %v0, ptr @sc_rrelease_r5_destroy) + br label %td0.next +td0.next: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r31_destroy(ptr %o) #0 { +entry: + call void @sc_rrelease_r31_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_rrelease_r31(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r31_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r31_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r31_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r31() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r31, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r31, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_rretain_r32(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r32_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_rs_r32, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_map_release(ptr %v0) ; [key: string] overflow + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_rrelease_r32(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r32_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r32_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r32_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r32() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r32, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r32, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + %ovf = call ptr @scr_map_new(i32 1, i32 2, ptr @sc_map_ops_4482781317429940) + %ovfp = getelementptr inbounds %sc_rs_r32, ptr %o, i64 0, i32 1 + store ptr %ovf, ptr %ovfp + ret ptr %o +} + +define internal ptr @sc_rretain_r33(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_rrelease_r33(ptr %o) #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_rrelease_r33_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_rrelease_r33_slow(ptr %o) noinline #0 { +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + %f0 = getelementptr inbounds %sc_rs_r33, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; error + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + br label %done +done: + ret void +} + +define internal ptr @sc_rnew_r33() #0 { +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r33, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r33, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +@sc_vtable__x25_m2_ResponseSink = internal constant %sc_vtt__x25_m2_ResponseSink { %ScrVt { i64 15, i64 18, ptr @sc_reld__x25_m2_ResponseSink }, ptr @sc_bf__x25__x25_m2_ResponseSink_setStatus, ptr @sc_bf__x25__x25_m2_ResponseSink_setHeader, ptr @sc_bf__x25__x25_m2_ResponseSink_appendHeader, ptr @sc_bf__x25__x25_m2_ResponseSink_writeBody, ptr @sc_bf__x25__x25_m2_ResponseSink_bodyBytes, ptr @sc_bf__x25__x25_m2_ResponseSink_redirect, ptr @sc_bf__x25__x25_m2_ResponseSink_write, ptr @sc_bf__x25__x25_m2_ResponseSink_writeHead, ptr @sc_bf__x25__x25_m2_ResponseSink_endStream, ptr @sc_bf__x25__x25_m2_ResponseSink_adopt, ptr @sc_bf__x25__x25_m2_ResponseSink_isSent, ptr @sc_bf__x25__x25_m2_ResponseSink_isHeadersSent, ptr @sc_bf__x25__x25_m2_ResponseSink_destroy, ptr @sc_bf__x25__x25_m2_ResponseSink_statusOf, ptr @sc_bf__x25__x25_m2_ResponseSink_headerOf, ptr @sc_bf__x25__x25_m2_ResponseSink_headersMap, ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes } ; class %m2.ResponseSink + +@sc_vtable__x25_m2_NodeResponseSink = internal constant %sc_vtt__x25_m2_ResponseSink { %ScrVt { i64 16, i64 16, ptr @sc_reld__x25_m2_NodeResponseSink }, ptr @sc_bf__x25__x25_m2_NodeResponseSink_setStatus, ptr @sc_bf__x25__x25_m2_NodeResponseSink_setHeader, ptr @sc_bf__x25__x25_m2_NodeResponseSink_appendHeader, ptr @sc_bf__x25__x25_m2_NodeResponseSink_writeBody, ptr @sc_bf__x25__x25_m2_NodeResponseSink_bodyBytes, ptr @sc_bf__x25__x25_m2_NodeResponseSink_redirect, ptr @sc_bf__x25__x25_m2_NodeResponseSink_write, ptr @sc_bf__x25__x25_m2_NodeResponseSink_writeHead, ptr @sc_bf__x25__x25_m2_NodeResponseSink_endStream, ptr @sc_bf__x25__x25_m2_ResponseSink_adopt, ptr @sc_bf__x25__x25_m2_NodeResponseSink_isSent, ptr @sc_bf__x25__x25_m2_NodeResponseSink_isHeadersSent, ptr @sc_bf__x25__x25_m2_NodeResponseSink_destroy, ptr @sc_bf__x25__x25_m2_NodeResponseSink_statusOf, ptr @sc_bf__x25__x25_m2_NodeResponseSink_headerOf, ptr @sc_bf__x25__x25_m2_NodeResponseSink_headersMap, ptr @sc_bf__x25__x25_m2_NodeResponseSink_nodeRes } ; class %m2.NodeResponseSink + +@sc_vtable__x25_m2_FetchResponseSink = internal constant %sc_vtt__x25_m2_ResponseSink { %ScrVt { i64 17, i64 18, ptr @sc_reld__x25_m2_FetchResponseSink }, ptr @sc_bf__x25__x25_m2_FetchResponseSink_setStatus, ptr @sc_bf__x25__x25_m2_FetchResponseSink_setHeader, ptr @sc_bf__x25__x25_m2_FetchResponseSink_appendHeader, ptr @sc_bf__x25__x25_m2_FetchResponseSink_writeBody, ptr @sc_bf__x25__x25_m2_FetchResponseSink_bodyBytes, ptr @sc_bf__x25__x25_m2_FetchResponseSink_redirect, ptr @sc_bf__x25__x25_m2_FetchResponseSink_write, ptr @sc_bf__x25__x25_m2_FetchResponseSink_writeHead, ptr @sc_bf__x25__x25_m2_FetchResponseSink_endStream, ptr @sc_bf__x25__x25_m2_FetchResponseSink_adopt, ptr @sc_bf__x25__x25_m2_FetchResponseSink_isSent, ptr @sc_bf__x25__x25_m2_FetchResponseSink_isHeadersSent, ptr @sc_bf__x25__x25_m2_FetchResponseSink_destroy, ptr @sc_bf__x25__x25_m2_FetchResponseSink_statusOf, ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf, ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap, ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes } ; class %m2.FetchResponseSink + +@sc_vtable__x25_m3_LiteResponse = internal constant %sc_vtt__x25_m2_ResponseSink { %ScrVt { i64 18, i64 18, ptr @sc_reld__x25_m3_LiteResponse }, ptr @sc_bf__x25__x25_m3_LiteResponse_setStatus, ptr @sc_bf__x25__x25_m3_LiteResponse_setHeader, ptr @sc_bf__x25__x25_m3_LiteResponse_appendHeader, ptr @sc_bf__x25__x25_m3_LiteResponse_writeBody, ptr @sc_bf__x25__x25_m3_LiteResponse_bodyBytes, ptr @sc_bf__x25__x25_m3_LiteResponse_redirect, ptr @sc_bf__x25__x25_m3_LiteResponse_write, ptr @sc_bf__x25__x25_m3_LiteResponse_writeHead, ptr @sc_bf__x25__x25_m3_LiteResponse_endStream, ptr @sc_bf__x25__x25_m3_LiteResponse_adopt, ptr @sc_bf__x25__x25_m3_LiteResponse_isSent, ptr @sc_bf__x25__x25_m3_LiteResponse_isHeadersSent, ptr @sc_bf__x25__x25_m3_LiteResponse_destroy, ptr @sc_bf__x25__x25_m2_FetchResponseSink_statusOf, ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf, ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap, ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes } ; class %m3.LiteResponse + +@sc_vtable__x25_m4_MultipartFileSink = internal constant %sc_vtt__x25_m4_MultipartFileSink { %ScrVt { i64 22, i64 24, ptr @sc_reld__x25_m4_MultipartFileSink }, ptr @sc_bf__x25__x25_m4_MultipartFileSink_write, ptr @sc_bf__x25__x25_m4_MultipartFileSink_file } ; class %m4.MultipartFileSink + +@sc_vtable__x25_m4_MultipartStorage = internal constant %sc_vtt__x25_m4_MultipartStorage { %ScrVt { i64 25, i64 27, ptr @sc_reld__x25_m4_MultipartStorage }, ptr @sc_bf__x25__x25_m4_MultipartStorage_begin } ; class %m4.MultipartStorage + +@sc_vtable__x25_m4_MemoryFileSink = internal constant %sc_vtt__x25_m4_MultipartFileSink { %ScrVt { i64 23, i64 23, ptr @sc_reld__x25_m4_MemoryFileSink }, ptr @sc_bf__x25__x25_m4_MemoryFileSink_write, ptr @sc_bf__x25__x25_m4_MemoryFileSink_file } ; class %m4.MemoryFileSink + +@sc_vtable__x25_m4_MemoryStorage = internal constant %sc_vtt__x25_m4_MultipartStorage { %ScrVt { i64 26, i64 26, ptr @sc_reld__x25_m4_MemoryStorage }, ptr @sc_bf__x25__x25_m4_MemoryStorage_begin } ; class %m4.MemoryStorage + +@sc_vtable__x25_m4_DiskFileSink = internal constant %sc_vtt__x25_m4_MultipartFileSink { %ScrVt { i64 24, i64 24, ptr @sc_reld__x25_m4_DiskFileSink }, ptr @sc_bf__x25__x25_m4_MultipartFileSink_write, ptr @sc_bf__x25__x25_m4_MultipartFileSink_file } ; class %m4.DiskFileSink + +@sc_vtable__x25_m4_DiskStorage = internal constant %sc_vtt__x25_m4_MultipartStorage { %ScrVt { i64 27, i64 27, ptr @sc_reld__x25_m4_DiskStorage }, ptr @sc_bf__x25__x25_m4_MultipartStorage_begin } ; class %m4.DiskStorage + +@sc_vtable__x25_m5_MethodNotAllowedError = internal constant %sc_vtt__x25_Error { %ScrVt { i64 11, i64 11, ptr @sc_reld__x25_m5_MethodNotAllowedError } } ; class %m5.MethodNotAllowedError + +@sc_vtable__x25_m6_AssetSource = internal constant %sc_vtt__x25_m6_AssetSource { %ScrVt { i64 35, i64 38, ptr @sc_reld__x25_m6_AssetSource }, ptr @sc_bf__x25__x25_m6_AssetSource_get } ; class %m6.AssetSource + +@sc_vtable__x25_m8_DiskAssets = internal constant %sc_vtt__x25_m6_AssetSource { %ScrVt { i64 36, i64 36, ptr @sc_reld__x25_m8_DiskAssets }, ptr @sc_bf__x25__x25_m6_AssetSource_get } ; class %m8.DiskAssets + +@sc_vtable__x25_m9_EmbeddedAssets = internal constant %sc_vtt__x25_m6_AssetSource { %ScrVt { i64 37, i64 38, ptr @sc_reld__x25_m9_EmbeddedAssets }, ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get } ; class %m9.EmbeddedAssets + +@sc_vtable__x25_m14_BakedAssets = internal constant %sc_vtt__x25_m6_AssetSource { %ScrVt { i64 38, i64 38, ptr @sc_reld__x25_m14_BakedAssets }, ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get } ; class %m14.BakedAssets + +define internal ptr @sc_retain__x25_m0_GenDispatch(ptr %o) #0 { ; retain %m0.GenDispatch +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m0_GenDispatch_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m0_GenDispatch(ptr %o) #0 { ; release %m0.GenDispatch (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m0_GenDispatch_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m0_GenDispatch_slow(ptr %o) noinline #0 { ; release %m0.GenDispatch +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m0_GenDispatch_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m0_GenDispatch.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m0_GenDispatch, ptr @sc_gcfree__x25_m0_GenDispatch, i32 38, i32 0 } + +define internal ptr @sc_new__x25_m0_GenDispatch() #0 { ; new %m0.GenDispatch +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m0_GenDispatch, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m0_GenDispatch.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m0_GenDispatch, ptr null, i32 1) to i64), ptr @sc_trace__x25_m0_GenDispatch.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv1 = call ptr @scr_dyn_undefined() + %uf1 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %o, i64 0, i32 2 + store ptr %ufv1, ptr %uf1 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m0_GenDispatch(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m0.GenDispatch +entry: + %f0 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m0_GenDispatch(ptr %o) #0 { ; gcFree %m0.GenDispatch +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m0_GenFetch(ptr %o) #0 { ; retain %m0.GenFetch +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m0_GenFetch_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m0_GenFetch(ptr %o) #0 { ; release %m0.GenFetch (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m0_GenFetch_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m0_GenFetch_slow(ptr %o) noinline #0 { ; release %m0.GenFetch +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m0_GenFetch_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m0_GenFetch.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m0_GenFetch, ptr @sc_gcfree__x25_m0_GenFetch, i32 39, i32 0 } + +define internal ptr @sc_new__x25_m0_GenFetch() #0 { ; new %m0.GenFetch +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m0_GenFetch, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m0_GenFetch.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m0_GenFetch, ptr null, i32 1) to i64), ptr @sc_trace__x25_m0_GenFetch.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv1 = call ptr @scr_dyn_undefined() + %uf1 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %o, i64 0, i32 2 + store ptr %ufv1, ptr %uf1 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m0_GenFetch(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m0.GenFetch +entry: + %f0 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m0_GenFetch(ptr %o) #0 { ; gcFree %m0.GenFetch +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %o) #0 { ; retain %m1.UpgradeDispatch +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m1_UpgradeDispatch_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m1_UpgradeDispatch(ptr %o) #0 { ; release %m1.UpgradeDispatch (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m1_UpgradeDispatch_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m1_UpgradeDispatch_slow(ptr %o) noinline #0 { ; release %m1.UpgradeDispatch +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m1_UpgradeDispatch_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m1_UpgradeDispatch.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m1_UpgradeDispatch, ptr @sc_gcfree__x25_m1_UpgradeDispatch, i32 40, i32 0 } + +define internal ptr @sc_new__x25_m1_UpgradeDispatch() #0 { ; new %m1.UpgradeDispatch +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m1_UpgradeDispatch, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m1_UpgradeDispatch.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m1_UpgradeDispatch, ptr null, i32 1) to i64), ptr @sc_trace__x25_m1_UpgradeDispatch.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %o, i64 0, i32 1 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m1_UpgradeDispatch(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m1.UpgradeDispatch +entry: + %f0 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m1_UpgradeDispatch(ptr %o) #0 { ; gcFree %m1.UpgradeDispatch +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m2_ResponseSink(ptr %o) #0 { ; retain %m2.ResponseSink +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m2_ResponseSink(ptr %o) #0 { ; release %m2.ResponseSink (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m2_ResponseSink_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m2_ResponseSink_slow(ptr %o) noinline #0 { ; release %m2.ResponseSink (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m2_ResponseSink_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m2_ResponseSink(ptr %o) #0 { ; direct release %m2.ResponseSink +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m2_ResponseSink_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m2_ResponseSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m2_ResponseSink, ptr @sc_gcfree__x25_m2_ResponseSink, i32 41, i32 0 } + +define internal ptr @sc_new__x25_m2_ResponseSink() #0 { ; new %m2.ResponseSink +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_ResponseSink, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m2_ResponseSink.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_ResponseSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m2_ResponseSink.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m2_ResponseSink, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m2_ResponseSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m2.ResponseSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m2_ResponseSink(ptr %o) #0 { ; gcFree %m2.ResponseSink +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m2_NodeResponseSink(ptr %o) #0 { ; retain %m2.NodeResponseSink +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m2_NodeResponseSink(ptr %o) #0 { ; release %m2.NodeResponseSink (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m2_NodeResponseSink_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m2_NodeResponseSink_slow(ptr %o) noinline #0 { ; release %m2.NodeResponseSink (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m2_NodeResponseSink_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_http_res_release(ptr %v1) ; res + %f2 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 5 + %v2 = load ptr, ptr %f2 + call void @sc_rrelease_r0(ptr %v2) ; _set + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m2_NodeResponseSink(ptr %o) #0 { ; direct release %m2.NodeResponseSink +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m2_NodeResponseSink_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m2_NodeResponseSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m2_NodeResponseSink, ptr @sc_gcfree__x25_m2_NodeResponseSink, i32 42, i32 0 } + +define internal ptr @sc_new__x25_m2_NodeResponseSink() #0 { ; new %m2.NodeResponseSink +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_NodeResponseSink, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m2_NodeResponseSink.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_NodeResponseSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m2_NodeResponseSink.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m2_NodeResponseSink, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m2_NodeResponseSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m2.NodeResponseSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m2_NodeResponseSink(ptr %o) #0 { ; gcFree %m2.NodeResponseSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + call void @scr_http_res_release(ptr %v0) ; res (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 5 + %v1 = load ptr, ptr %f1 + call void @sc_rrelease_r0(ptr %v1) ; _set (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m2_FetchResponseSink(ptr %o) #0 { ; retain %m2.FetchResponseSink +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m2_FetchResponseSink(ptr %o) #0 { ; release %m2.FetchResponseSink (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m2_FetchResponseSink_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m2_FetchResponseSink_slow(ptr %o) noinline #0 { ; release %m2.FetchResponseSink (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m2_FetchResponseSink_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 4 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; hdrKeys + %f2 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 5 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; hdrVals + %f3 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 6 + %v3 = load ptr, ptr %f3 + call void @scr_arr_release(ptr %v3) ; hdrList + %f4 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 7 + %v4 = load ptr, ptr %f4 + call void @scr_arr_release(ptr %v4) ; chunks + %f5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 10 + %v5 = load ptr, ptr %f5 + call void @sc_rrelease_r1(ptr %v5) ; adopted + %f6 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 12 + %v6 = load ptr, ptr %f6 + call void @sc_rrelease_r2(ptr %v6) ; _ctl + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m2_FetchResponseSink(ptr %o) #0 { ; direct release %m2.FetchResponseSink +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m2_FetchResponseSink_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m2_FetchResponseSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m2_FetchResponseSink, ptr @sc_gcfree__x25_m2_FetchResponseSink, i32 43, i32 0 } + +define internal ptr @sc_new__x25_m2_FetchResponseSink() #0 { ; new %m2.FetchResponseSink +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_FetchResponseSink, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m2_FetchResponseSink.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_FetchResponseSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m2_FetchResponseSink.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m2_FetchResponseSink, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m2_FetchResponseSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m2.FetchResponseSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 10 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; adopted + br label %tv1.next +tv1.next: + %f2 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 12 + %v2 = load ptr, ptr %f2 + %z2 = icmp eq ptr %v2, null + br i1 %z2, label %tv2.next, label %tv2.visit +tv2.visit: + call void %visit(ptr %v2, ptr %ctx) ; _ctl + br label %tv2.next +tv2.next: + ret void +} + +define internal void @sc_gcfree__x25_m2_FetchResponseSink(ptr %o) #0 { ; gcFree %m2.FetchResponseSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 4 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; hdrKeys (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 5 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; hdrVals (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 6 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; hdrList (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 7 + %v3 = load ptr, ptr %f3 + call void @scr_arr_release(ptr %v3) ; chunks (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m3_LiteHeaders(ptr %o) #0 { ; retain %m3.LiteHeaders +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m3_LiteHeaders_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_http_req_release(ptr %v0) ; _im + %f1 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @sc_rc_release_dyn(ptr %v1) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m3_LiteHeaders(ptr %o) #0 { ; release %m3.LiteHeaders (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m3_LiteHeaders_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m3_LiteHeaders_slow(ptr %o) noinline #0 { ; release %m3.LiteHeaders +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m3_LiteHeaders_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m3_LiteHeaders.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m3_LiteHeaders, ptr @sc_gcfree__x25_m3_LiteHeaders, i32 44, i32 0 } + +define internal ptr @sc_new__x25_m3_LiteHeaders() #0 { ; new %m3.LiteHeaders +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteHeaders, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m3_LiteHeaders.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteHeaders, ptr null, i32 1) to i64), ptr @sc_trace__x25_m3_LiteHeaders.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv1 = call ptr @scr_dyn_undefined() + %uf1 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 2 + store ptr %ufv1, ptr %uf1 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m3_LiteHeaders(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m3.LiteHeaders +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m3_LiteHeaders(ptr %o) #0 { ; gcFree %m3.LiteHeaders +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_http_req_release(ptr %v0) ; _im (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m3_LiteRequest(ptr %o) #0 { ; retain %m3.LiteRequest +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m3_LiteRequest_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; method + %f1 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; url + %f2 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @sc_rc_release_dyn(ptr %v2) ; headers + %f3 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 4 + %v3 = load ptr, ptr %f3 + call void @scr_http_req_release(ptr %v3) ; _im + %f4 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 5 + %v4 = load ptr, ptr %f4 + call void @sc_rrelease_r0(ptr %v4) ; _hs + %f5 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 6 + %v5 = load ptr, ptr %f5 + call void @scr_str_release(ptr %v5) ; _t + %f6 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 7 + %v6 = load ptr, ptr %f6 + call void @scr_arr_release(ptr %v6) ; _chunks + %f7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 9 + %v7 = load ptr, ptr %f7 + call void @sc_rc_release_dyn(ptr %v7) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m3_LiteRequest(ptr %o) #0 { ; release %m3.LiteRequest (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m3_LiteRequest_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m3_LiteRequest_slow(ptr %o) noinline #0 { ; release %m3.LiteRequest +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m3_LiteRequest_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m3_LiteRequest.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m3_LiteRequest, ptr @sc_gcfree__x25_m3_LiteRequest, i32 45, i32 0 } + +define internal ptr @sc_new__x25_m3_LiteRequest() #0 { ; new %m3.LiteRequest +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteRequest, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m3_LiteRequest.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteRequest, ptr null, i32 1) to i64), ptr @sc_trace__x25_m3_LiteRequest.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv2 = call ptr @scr_dyn_undefined() + %uf2 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 3 + store ptr %ufv2, ptr %uf2 ; headers starts undefined + %ufv8 = call ptr @scr_dyn_undefined() + %uf8 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 9 + store ptr %ufv8, ptr %uf8 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m3_LiteRequest(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m3.LiteRequest +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; headers + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 9 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; %dynProperties + br label %tv1.next +tv1.next: + ret void +} + +define internal void @sc_gcfree__x25_m3_LiteRequest(ptr %o) #0 { ; gcFree %m3.LiteRequest +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; method (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; url (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_http_req_release(ptr %v2) ; _im (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @sc_rrelease_r0(ptr %v3) ; _hs (acyclic) + %f4 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; _t (acyclic) + %f5 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 7 + %v5 = load ptr, ptr %f5 + call void @scr_arr_release(ptr %v5) ; _chunks (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m3_LiteResponse(ptr %o) #0 { ; retain %m3.LiteResponse +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m3_LiteResponse(ptr %o) #0 { ; release %m3.LiteResponse (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m3_LiteResponse_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m3_LiteResponse_slow(ptr %o) noinline #0 { ; release %m3.LiteResponse (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m3_LiteResponse_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 4 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; hdrKeys + %f2 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 5 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; hdrVals + %f3 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 6 + %v3 = load ptr, ptr %f3 + call void @scr_arr_release(ptr %v3) ; hdrList + %f4 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 7 + %v4 = load ptr, ptr %f4 + call void @scr_arr_release(ptr %v4) ; chunks + %f5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 10 + %v5 = load ptr, ptr %f5 + call void @sc_rrelease_r1(ptr %v5) ; adopted + %f6 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 12 + %v6 = load ptr, ptr %f6 + call void @sc_rrelease_r2(ptr %v6) ; _ctl + %f7 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 14 + %v7 = load ptr, ptr %f7 + call void @scr_http_res_release(ptr %v7) ; _res + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m3_LiteResponse(ptr %o) #0 { ; direct release %m3.LiteResponse +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m3_LiteResponse_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m3_LiteResponse.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m3_LiteResponse, ptr @sc_gcfree__x25_m3_LiteResponse, i32 46, i32 0 } + +define internal ptr @sc_new__x25_m3_LiteResponse() #0 { ; new %m3.LiteResponse +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteResponse, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m3_LiteResponse.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteResponse, ptr null, i32 1) to i64), ptr @sc_trace__x25_m3_LiteResponse.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m3_LiteResponse, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m3_LiteResponse(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m3.LiteResponse +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 10 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; adopted + br label %tv1.next +tv1.next: + %f2 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 12 + %v2 = load ptr, ptr %f2 + %z2 = icmp eq ptr %v2, null + br i1 %z2, label %tv2.next, label %tv2.visit +tv2.visit: + call void %visit(ptr %v2, ptr %ctx) ; _ctl + br label %tv2.next +tv2.next: + ret void +} + +define internal void @sc_gcfree__x25_m3_LiteResponse(ptr %o) #0 { ; gcFree %m3.LiteResponse +entry: + %f0 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 4 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; hdrKeys (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 5 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; hdrVals (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 6 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; hdrList (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 7 + %v3 = load ptr, ptr %f3 + call void @scr_arr_release(ptr %v3) ; chunks (acyclic) + %f4 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 14 + %v4 = load ptr, ptr %f4 + call void @scr_http_res_release(ptr %v4) ; _res (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m4_UploadedFile(ptr %o) #0 { ; retain %m4.UploadedFile +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_UploadedFile_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; field + %f1 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; filename + %f2 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; mimeType + %f3 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; path + %f4 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + call void @scr_union_release(ptr %v4) ; bytes + %f5 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 7 + %v5 = load ptr, ptr %f5 + call void @sc_rc_release_dyn(ptr %v5) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m4_UploadedFile(ptr %o) #0 { ; release %m4.UploadedFile (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_UploadedFile_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m4_UploadedFile_slow(ptr %o) noinline #0 { ; release %m4.UploadedFile +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m4_UploadedFile_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m4_UploadedFile.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_UploadedFile, ptr @sc_gcfree__x25_m4_UploadedFile, i32 47, i32 0 } + +define internal ptr @sc_new__x25_m4_UploadedFile() #0 { ; new %m4.UploadedFile +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_UploadedFile, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_UploadedFile.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_UploadedFile, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_UploadedFile.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv6 = call ptr @scr_dyn_undefined() + %uf6 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 7 + store ptr %ufv6, ptr %uf6 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m4_UploadedFile(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.UploadedFile +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 7 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m4_UploadedFile(ptr %o) #0 { ; gcFree %m4.UploadedFile +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; field (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; filename (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; mimeType (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; path (acyclic) + %f4 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + call void @scr_union_release(ptr %v4) ; bytes (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m4_MultipartFileSink(ptr %o) #0 { ; retain %m4.MultipartFileSink +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_MultipartFileSink(ptr %o) #0 { ; release %m4.MultipartFileSink (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_MultipartFileSink_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m4_MultipartFileSink_slow(ptr %o) noinline #0 { ; release %m4.MultipartFileSink (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m4_MultipartFileSink_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m4_MultipartFileSink(ptr %o) #0 { ; direct release %m4.MultipartFileSink +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_MultipartFileSink_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m4_MultipartFileSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MultipartFileSink, ptr @sc_gcfree__x25_m4_MultipartFileSink, i32 48, i32 0 } + +define internal ptr @sc_new__x25_m4_MultipartFileSink() #0 { ; new %m4.MultipartFileSink +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartFileSink, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MultipartFileSink.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartFileSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MultipartFileSink.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m4_MultipartFileSink, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m4_MultipartFileSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MultipartFileSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m4_MultipartFileSink(ptr %o) #0 { ; gcFree %m4.MultipartFileSink +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m4_MultipartStorage(ptr %o) #0 { ; retain %m4.MultipartStorage +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_MultipartStorage(ptr %o) #0 { ; release %m4.MultipartStorage (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_MultipartStorage_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m4_MultipartStorage_slow(ptr %o) noinline #0 { ; release %m4.MultipartStorage (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m4_MultipartStorage_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m4_MultipartStorage(ptr %o) #0 { ; direct release %m4.MultipartStorage +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_MultipartStorage_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m4_MultipartStorage.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MultipartStorage, ptr @sc_gcfree__x25_m4_MultipartStorage, i32 49, i32 0 } + +define internal ptr @sc_new__x25_m4_MultipartStorage() #0 { ; new %m4.MultipartStorage +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartStorage, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MultipartStorage.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartStorage, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MultipartStorage.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m4_MultipartStorage, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m4_MultipartStorage(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MultipartStorage +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m4_MultipartStorage(ptr %o) #0 { ; gcFree %m4.MultipartStorage +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m4_MemoryFileSink(ptr %o) #0 { ; retain %m4.MemoryFileSink +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_MemoryFileSink(ptr %o) #0 { ; release %m4.MemoryFileSink (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_MemoryFileSink_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m4_MemoryFileSink_slow(ptr %o) noinline #0 { ; release %m4.MemoryFileSink (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m4_MemoryFileSink_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; _field + %f2 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; _filename + %f3 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; _mime + %f4 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + call void @scr_arr_release(ptr %v4) ; _chunks + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m4_MemoryFileSink(ptr %o) #0 { ; direct release %m4.MemoryFileSink +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_MemoryFileSink_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m4_MemoryFileSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MemoryFileSink, ptr @sc_gcfree__x25_m4_MemoryFileSink, i32 50, i32 0 } + +define internal ptr @sc_new__x25_m4_MemoryFileSink() #0 { ; new %m4.MemoryFileSink +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MemoryFileSink, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MemoryFileSink.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MemoryFileSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MemoryFileSink.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m4_MemoryFileSink, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m4_MemoryFileSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MemoryFileSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m4_MemoryFileSink(ptr %o) #0 { ; gcFree %m4.MemoryFileSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; _field (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 4 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; _filename (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 5 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; _mime (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 6 + %v3 = load ptr, ptr %f3 + call void @scr_arr_release(ptr %v3) ; _chunks (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m4_MemoryStorage(ptr %o) #0 { ; retain %m4.MemoryStorage +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_MemoryStorage(ptr %o) #0 { ; release %m4.MemoryStorage (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_MemoryStorage_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m4_MemoryStorage_slow(ptr %o) noinline #0 { ; release %m4.MemoryStorage (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m4_MemoryStorage_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m4_MemoryStorage(ptr %o) #0 { ; direct release %m4.MemoryStorage +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_MemoryStorage_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m4_MemoryStorage.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MemoryStorage, ptr @sc_gcfree__x25_m4_MemoryStorage, i32 51, i32 0 } + +define internal ptr @sc_new__x25_m4_MemoryStorage() #0 { ; new %m4.MemoryStorage +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MemoryStorage, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MemoryStorage.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MemoryStorage, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MemoryStorage.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m4_MemoryStorage, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m4_MemoryStorage(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MemoryStorage +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m4_MemoryStorage(ptr %o) #0 { ; gcFree %m4.MemoryStorage +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m4_DiskFileSink(ptr %o) #0 { ; retain %m4.DiskFileSink +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_DiskFileSink(ptr %o) #0 { ; release %m4.DiskFileSink (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_DiskFileSink_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m4_DiskFileSink_slow(ptr %o) noinline #0 { ; release %m4.DiskFileSink (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m4_DiskFileSink_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; _field + %f2 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; _filename + %f3 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; _mime + %f4 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; _path + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m4_DiskFileSink(ptr %o) #0 { ; direct release %m4.DiskFileSink +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_DiskFileSink_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m4_DiskFileSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_DiskFileSink, ptr @sc_gcfree__x25_m4_DiskFileSink, i32 52, i32 0 } + +define internal ptr @sc_new__x25_m4_DiskFileSink() #0 { ; new %m4.DiskFileSink +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DiskFileSink, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_DiskFileSink.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DiskFileSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_DiskFileSink.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m4_DiskFileSink, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m4_DiskFileSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.DiskFileSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m4_DiskFileSink(ptr %o) #0 { ; gcFree %m4.DiskFileSink +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; _field (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 4 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; _filename (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 5 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; _mime (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 6 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; _path (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m4_DiskStorage(ptr %o) #0 { ; retain %m4.DiskStorage +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_DiskStorage(ptr %o) #0 { ; release %m4.DiskStorage (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_DiskStorage_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m4_DiskStorage_slow(ptr %o) noinline #0 { ; release %m4.DiskStorage (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m4_DiskStorage_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; dir + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m4_DiskStorage(ptr %o) #0 { ; direct release %m4.DiskStorage +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_DiskStorage_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m4_DiskStorage.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_DiskStorage, ptr @sc_gcfree__x25_m4_DiskStorage, i32 53, i32 0 } + +define internal ptr @sc_new__x25_m4_DiskStorage() #0 { ; new %m4.DiskStorage +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DiskStorage, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_DiskStorage.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DiskStorage, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_DiskStorage.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m4_DiskStorage, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m4_DiskStorage(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.DiskStorage +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m4_DiskStorage(ptr %o) #0 { ; gcFree %m4.DiskStorage +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; dir (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m4_DispositionParams(ptr %o) #0 { ; retain %m4.DispositionParams +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_DispositionParams_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; name + %f1 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; filename + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %o to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %o + store ptr %o, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %o) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m4_DispositionParams(ptr %o) #0 { ; release %m4.DispositionParams (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_DispositionParams_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m4_DispositionParams_slow(ptr %o) noinline #0 { ; release %m4.DispositionParams +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %done +free: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m4_DispositionParams_destroy) + br label %done +done: + ret void +} + +define internal ptr @sc_new__x25_m4_DispositionParams() #0 { ; new %m4.DispositionParams +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DispositionParams, ptr null, i32 1) to i64), 0 + %sa.small = icmp ule i64 %sa.n, 512 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DispositionParams, ptr null, i32 1) to i64)) + %sa.null = icmp eq ptr %sa.s, null + br i1 %sa.null, label %oom, label %sa.noted +oom: + call void @sc_oom() + unreachable +sa.noted: + br label %sa.done +sa.done: + %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ] + store i64 1, ptr %o + ret ptr %o +} + +define internal ptr @sc_retain__x25_m4_MultipartParser(ptr %o) #0 { ; retain %m4.MultipartParser +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m4_MultipartParser_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; _delim + %f1 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; _cterm + %f2 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_bytes_release(ptr %v2) ; _pend + %f3 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @sc_release__x25_m4_MultipartStorage(ptr %v3) ; _storage + %f4 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 11 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; _field + %f5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 12 + %v5 = load ptr, ptr %f5 + call void @scr_str_release(ptr %v5) ; _filename + %f6 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 13 + %v6 = load ptr, ptr %f6 + call void @scr_str_release(ptr %v6) ; _mime + %f7 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 14 + %v7 = load ptr, ptr %f7 + call void @sc_release__x25_m4_MultipartFileSink(ptr %v7) ; _sink + %f8 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 15 + %v8 = load ptr, ptr %f8 + call void @scr_arr_release(ptr %v8) ; _fbytes + %f9 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 19 + %v9 = load ptr, ptr %f9 + call void @scr_arr_release(ptr %v9) ; files + %f10 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 20 + %v10 = load ptr, ptr %f10 + call void @scr_arr_release(ptr %v10) ; fields + %f11 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 21 + %v11 = load ptr, ptr %f11 + call void @sc_rc_release_dyn(ptr %v11) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m4_MultipartParser(ptr %o) #0 { ; release %m4.MultipartParser (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m4_MultipartParser_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m4_MultipartParser_slow(ptr %o) noinline #0 { ; release %m4.MultipartParser +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m4_MultipartParser_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m4_MultipartParser.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MultipartParser, ptr @sc_gcfree__x25_m4_MultipartParser, i32 54, i32 0 } + +define internal ptr @sc_new__x25_m4_MultipartParser() #0 { ; new %m4.MultipartParser +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartParser, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MultipartParser.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartParser, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MultipartParser.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv20 = call ptr @scr_dyn_undefined() + %uf20 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 21 + store ptr %ufv20, ptr %uf20 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m4_MultipartParser(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MultipartParser +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 5 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; _storage + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 14 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; _sink + br label %tv1.next +tv1.next: + %f2 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 19 + %v2 = load ptr, ptr %f2 + %z2 = icmp eq ptr %v2, null + br i1 %z2, label %tv2.next, label %tv2.visit +tv2.visit: + call void %visit(ptr %v2, ptr %ctx) ; files + br label %tv2.next +tv2.next: + %f3 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 21 + %v3 = load ptr, ptr %f3 + %z3 = icmp eq ptr %v3, null + br i1 %z3, label %tv3.next, label %tv3.visit +tv3.visit: + call void %visit(ptr %v3, ptr %ctx) ; %dynProperties + br label %tv3.next +tv3.next: + ret void +} + +define internal void @sc_gcfree__x25_m4_MultipartParser(ptr %o) #0 { ; gcFree %m4.MultipartParser +entry: + %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; _delim (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; _cterm (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_bytes_release(ptr %v2) ; _pend (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 11 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; _field (acyclic) + %f4 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 12 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; _filename (acyclic) + %f5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 13 + %v5 = load ptr, ptr %f5 + call void @scr_str_release(ptr %v5) ; _mime (acyclic) + %f6 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 15 + %v6 = load ptr, ptr %f6 + call void @scr_arr_release(ptr %v6) ; _fbytes (acyclic) + %f7 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 20 + %v7 = load ptr, ptr %f7 + call void @scr_arr_release(ptr %v7) ; fields (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m5_ReqViewCore(ptr %o) #0 { ; retain %m5.ReqViewCore +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m5_ReqViewCore_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_union_release(ptr %v0) ; _raw + %f1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @sc_rc_release_dyn(ptr %v1) ; _web + %f2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @sc_rrelease_r0(ptr %v2) ; _headers + %f3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 4 + %v3 = load ptr, ptr %f3 + call void @sc_rrelease_r3(ptr %v3) ; _headersDistinct + %f4 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 5 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; method + %f5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 6 + %v5 = load ptr, ptr %f5 + call void @scr_str_release(ptr %v5) ; url + %f6 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 7 + %v6 = load ptr, ptr %f6 + call void @scr_str_release(ptr %v6) ; path + %f7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 8 + %v7 = load ptr, ptr %f7 + call void @scr_str_release(ptr %v7) ; _qs + %f8 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 9 + %v8 = load ptr, ptr %f8 + call void @scr_arr_release(ptr %v8) ; _qp + %f9 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 10 + %v9 = load ptr, ptr %f9 + call void @scr_arr_release(ptr %v9) ; _pm + %f10 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 11 + %v10 = load ptr, ptr %f10 + call void @scr_arr_release(ptr %v10) ; _pn + %f11 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 12 + %v11 = load ptr, ptr %f11 + call void @scr_arr_release(ptr %v11) ; _pi + %f12 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 14 + %v12 = load ptr, ptr %f12 + call void @scr_str_release(ptr %v12) ; _body + %f13 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 15 + %v13 = load ptr, ptr %f13 + call void @scr_arr_release(ptr %v13) ; _mpFiles + %f14 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 16 + %v14 = load ptr, ptr %f14 + call void @scr_arr_release(ptr %v14) ; _mpFields + %f15 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 17 + %v15 = load ptr, ptr %f15 + call void @sc_rc_release_dyn(ptr %v15) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m5_ReqViewCore_destroy(ptr %o) #0 { +entry: + call void @sc_release__x25_m5_ReqViewCore_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_release__x25_m5_ReqViewCore(ptr %o) #0 { ; release %m5.ReqViewCore (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m5_ReqViewCore_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m5_ReqViewCore_slow(ptr %o) noinline #0 { ; release %m5.ReqViewCore +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_ReqViewCore_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m5_ReqViewCore.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_ReqViewCore, ptr @sc_gcfree__x25_m5_ReqViewCore, i32 55, i32 0 } + +define internal ptr @sc_new__x25_m5_ReqViewCore() #0 { ; new %m5.ReqViewCore +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_ReqViewCore, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_ReqViewCore.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_ReqViewCore, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_ReqViewCore.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv1 = call ptr @scr_dyn_undefined() + %uf1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 2 + store ptr %ufv1, ptr %uf1 ; _web starts undefined + %ufv16 = call ptr @scr_dyn_undefined() + %uf16 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 17 + store ptr %ufv16, ptr %uf16 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m5_ReqViewCore(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.ReqViewCore +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; _web + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 15 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; _mpFiles + br label %tv1.next +tv1.next: + %f2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 17 + %v2 = load ptr, ptr %f2 + %z2 = icmp eq ptr %v2, null + br i1 %z2, label %tv2.next, label %tv2.visit +tv2.visit: + call void %visit(ptr %v2, ptr %ctx) ; %dynProperties + br label %tv2.next +tv2.next: + ret void +} + +define internal void @sc_gcfree__x25_m5_ReqViewCore(ptr %o) #0 { ; gcFree %m5.ReqViewCore +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_union_release(ptr %v0) ; _raw (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @sc_rrelease_r0(ptr %v1) ; _headers (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @sc_rrelease_r3(ptr %v2) ; _headersDistinct (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; method (acyclic) + %f4 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; url (acyclic) + %f5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 7 + %v5 = load ptr, ptr %f5 + call void @scr_str_release(ptr %v5) ; path (acyclic) + %f6 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 8 + %v6 = load ptr, ptr %f6 + call void @scr_str_release(ptr %v6) ; _qs (acyclic) + %f7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 9 + %v7 = load ptr, ptr %f7 + call void @scr_arr_release(ptr %v7) ; _qp (acyclic) + %f8 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 10 + %v8 = load ptr, ptr %f8 + call void @scr_arr_release(ptr %v8) ; _pm (acyclic) + %f9 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 11 + %v9 = load ptr, ptr %f9 + call void @scr_arr_release(ptr %v9) ; _pn (acyclic) + %f10 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 12 + %v10 = load ptr, ptr %f10 + call void @scr_arr_release(ptr %v10) ; _pi (acyclic) + %f11 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 14 + %v11 = load ptr, ptr %f11 + call void @scr_str_release(ptr %v11) ; _body (acyclic) + %f12 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 16 + %v12 = load ptr, ptr %f12 + call void @scr_arr_release(ptr %v12) ; _mpFields (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m5_CtxResCore(ptr %o) #0 { ; retain %m5.CtxResCore +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m5_CtxResCore_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @sc_release__x25_m2_ResponseSink(ptr %v0) ; _sink + %f1 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @sc_rc_release_dyn(ptr %v1) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m5_CtxResCore_destroy(ptr %o) #0 { +entry: + call void @sc_release__x25_m5_CtxResCore_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_release__x25_m5_CtxResCore(ptr %o) #0 { ; release %m5.CtxResCore (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m5_CtxResCore_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m5_CtxResCore_slow(ptr %o) noinline #0 { ; release %m5.CtxResCore +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_CtxResCore_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m5_CtxResCore.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_CtxResCore, ptr @sc_gcfree__x25_m5_CtxResCore, i32 56, i32 0 } + +define internal ptr @sc_new__x25_m5_CtxResCore() #0 { ; new %m5.CtxResCore +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_CtxResCore, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_CtxResCore.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_CtxResCore, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_CtxResCore.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv1 = call ptr @scr_dyn_undefined() + %uf1 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 2 + store ptr %ufv1, ptr %uf1 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m5_CtxResCore(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.CtxResCore +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; _sink + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; %dynProperties + br label %tv1.next +tv1.next: + ret void +} + +define internal void @sc_gcfree__x25_m5_CtxResCore(ptr %o) #0 { ; gcFree %m5.CtxResCore +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m5_CtxCore(ptr %o) #0 { ; retain %m5.CtxCore +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m5_CtxCore_destroy_d(ptr %o, i32 %d) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %td0.nn = icmp ne ptr %v0, null + br i1 %td0.nn, label %td0.chk, label %td0.next +td0.chk: + %td0.rc = load i64, ptr %v0 + %td0.last = icmp eq i64 %td0.rc, 1 + br i1 %td0.last, label %td0.dead, label %td0.shared +td0.shared: + call void @sc_release__x25_m5_ReqViewCore(ptr %v0) ; req + br label %td0.next +td0.dead: ; req: the last reference + store i64 0, ptr %v0 + %td0.bufp = getelementptr i8, ptr %v0, i64 -4 + %td0.buf = load i32, ptr %td0.bufp + %td0.queued = icmp slt i32 %td0.buf, 0 + br i1 %td0.queued, label %td0.unbuffer, label %td0.teardown +td0.unbuffer: + call void @scr_cyc_on_dead(ptr %v0) + br label %td0.teardown +td0.teardown: + %td0.short = icmp ult i32 %d, 16 + br i1 %td0.short, label %td0.direct, label %td0.bounded +td0.direct: + %td0.d = add i32 %d, 1 + call void @sc_release__x25_m5_ReqViewCore_destroy_d(ptr %v0, i32 %td0.d) + br label %td0.next +td0.bounded: + call void @scr_rc_destroy(ptr %v0, ptr @sc_release__x25_m5_ReqViewCore_destroy) + br label %td0.next +td0.next: + %f1 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @sc_release__x25_m2_ResponseSink(ptr %v1) ; sink + %f2 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + %td2.nn = icmp ne ptr %v2, null + br i1 %td2.nn, label %td2.chk, label %td2.next +td2.chk: + %td2.rc = load i64, ptr %v2 + %td2.last = icmp eq i64 %td2.rc, 1 + br i1 %td2.last, label %td2.dead, label %td2.shared +td2.shared: + call void @sc_release__x25_m5_CtxResCore(ptr %v2) ; _resView + br label %td2.next +td2.dead: ; _resView: the last reference + store i64 0, ptr %v2 + %td2.bufp = getelementptr i8, ptr %v2, i64 -4 + %td2.buf = load i32, ptr %td2.bufp + %td2.queued = icmp slt i32 %td2.buf, 0 + br i1 %td2.queued, label %td2.unbuffer, label %td2.teardown +td2.unbuffer: + call void @scr_cyc_on_dead(ptr %v2) + br label %td2.teardown +td2.teardown: + %td2.short = icmp ult i32 %d, 16 + br i1 %td2.short, label %td2.direct, label %td2.bounded +td2.direct: + %td2.d = add i32 %d, 1 + call void @sc_release__x25_m5_CtxResCore_destroy_d(ptr %v2, i32 %td2.d) + br label %td2.next +td2.bounded: + call void @scr_rc_destroy(ptr %v2, ptr @sc_release__x25_m5_CtxResCore_destroy) + br label %td2.next +td2.next: + %f3 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 6 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; _vars + %f4 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 7 + %v4 = load ptr, ptr %f4 + call void @scr_union_release(ptr %v4) ; _nodeRes + %f5 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 8 + %v5 = load ptr, ptr %f5 + call void @sc_rc_release_dyn(ptr %v5) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m5_CtxCore_destroy(ptr %o) #0 { +entry: + call void @sc_release__x25_m5_CtxCore_destroy_d(ptr %o, i32 0) + ret void +} +define internal void @sc_release__x25_m5_CtxCore(ptr %o) #0 { ; release %m5.CtxCore (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m5_CtxCore_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m5_CtxCore_slow(ptr %o) noinline #0 { ; release %m5.CtxCore +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_CtxCore_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m5_CtxCore.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_CtxCore, ptr @sc_gcfree__x25_m5_CtxCore, i32 57, i32 0 } + +define internal ptr @sc_new__x25_m5_CtxCore() #0 { ; new %m5.CtxCore +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_CtxCore, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_CtxCore.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_CtxCore, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_CtxCore.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv7 = call ptr @scr_dyn_undefined() + %uf7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 8 + store ptr %ufv7, ptr %uf7 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m5_CtxCore(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.CtxCore +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; req + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; sink + br label %tv1.next +tv1.next: + %f2 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + %z2 = icmp eq ptr %v2, null + br i1 %z2, label %tv2.next, label %tv2.visit +tv2.visit: + call void %visit(ptr %v2, ptr %ctx) ; _resView + br label %tv2.next +tv2.next: + %f3 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 8 + %v3 = load ptr, ptr %f3 + %z3 = icmp eq ptr %v3, null + br i1 %z3, label %tv3.next, label %tv3.visit +tv3.visit: + call void %visit(ptr %v3, ptr %ctx) ; %dynProperties + br label %tv3.next +tv3.next: + ret void +} + +define internal void @sc_gcfree__x25_m5_CtxCore(ptr %o) #0 { ; gcFree %m5.CtxCore +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 6 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; _vars (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 7 + %v1 = load ptr, ptr %f1 + call void @scr_union_release(ptr %v1) ; _nodeRes (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m5_MpCfg(ptr %o) #0 { ; retain %m5.MpCfg +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m5_MpCfg_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_release__x25_m4_MultipartStorage(ptr %v0) ; storage + %f1 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 6 + %v1 = load ptr, ptr %f1 + call void @sc_rc_release_dyn(ptr %v1) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m5_MpCfg(ptr %o) #0 { ; release %m5.MpCfg (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m5_MpCfg_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m5_MpCfg_slow(ptr %o) noinline #0 { ; release %m5.MpCfg +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_MpCfg_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m5_MpCfg.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_MpCfg, ptr @sc_gcfree__x25_m5_MpCfg, i32 58, i32 0 } + +define internal ptr @sc_new__x25_m5_MpCfg() #0 { ; new %m5.MpCfg +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_MpCfg, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_MpCfg.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_MpCfg, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_MpCfg.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv5 = call ptr @scr_dyn_undefined() + %uf5 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 6 + store ptr %ufv5, ptr %uf5 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m5_MpCfg(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.MpCfg +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; storage + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 6 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; %dynProperties + br label %tv1.next +tv1.next: + ret void +} + +define internal void @sc_gcfree__x25_m5_MpCfg(ptr %o) #0 { ; gcFree %m5.MpCfg +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %o) #0 { ; retain %m5.MethodNotAllowedError +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m5_MethodNotAllowedError(ptr %o) #0 { ; release %m5.MethodNotAllowedError (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m5_MethodNotAllowedError_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; name + %f1 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; message + %f2 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; %code + %f3 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @sc_rc_release_dyn(ptr %v3) ; %cause + %f4 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 11 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; %stackFrames + %f5 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 12 + %v5 = load ptr, ptr %f5 + call void @scr_str_release(ptr %v5) ; %stack + %f6 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 14 + %v6 = load ptr, ptr %f6 + call void @scr_str_release(ptr %v6) ; %systemCall + %f7 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 15 + %v7 = load ptr, ptr %f7 + call void @scr_str_release(ptr %v7) ; %systemPath + %f8 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 16 + %v8 = load ptr, ptr %f8 + call void @scr_str_release(ptr %v8) ; %systemDest + %f9 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 17 + %v9 = load ptr, ptr %f9 + call void @scr_str_release(ptr %v9) ; %systemMessage + %f10 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 18 + %v10 = load ptr, ptr %f10 + call void @scr_str_release(ptr %v10) ; %systemCode + %f11 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 21 + %v11 = load ptr, ptr %f11 + call void @scr_str_release(ptr %v11) ; allow + %f12 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 22 + %v12 = load ptr, ptr %f12 + call void @sc_rc_release_dyn(ptr %v12) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m5_MethodNotAllowedError(ptr %o) #0 { ; direct release %m5.MethodNotAllowedError +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m5_MethodNotAllowedError_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m5_MethodNotAllowedError.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_MethodNotAllowedError, ptr @sc_gcfree__x25_m5_MethodNotAllowedError, i32 59, i32 0 } + +define internal ptr @sc_new__x25_m5_MethodNotAllowedError() #0 { ; new %m5.MethodNotAllowedError +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_MethodNotAllowedError, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_MethodNotAllowedError.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_MethodNotAllowedError, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_MethodNotAllowedError.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m5_MethodNotAllowedError, ptr %vtp, !invariant.group !{} + %ufv20 = call ptr @scr_dyn_undefined() + %uf20 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 22 + store ptr %ufv20, ptr %uf20 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m5_MethodNotAllowedError(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.MethodNotAllowedError +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 5 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %cause + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 22 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; %dynProperties + br label %tv1.next +tv1.next: + ret void +} + +define internal void @sc_gcfree__x25_m5_MethodNotAllowedError(ptr %o) #0 { ; gcFree %m5.MethodNotAllowedError +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; name (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; message (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; %code (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 11 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; %stackFrames (acyclic) + %f4 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 12 + %v4 = load ptr, ptr %f4 + call void @scr_str_release(ptr %v4) ; %stack (acyclic) + %f5 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 14 + %v5 = load ptr, ptr %f5 + call void @scr_str_release(ptr %v5) ; %systemCall (acyclic) + %f6 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 15 + %v6 = load ptr, ptr %f6 + call void @scr_str_release(ptr %v6) ; %systemPath (acyclic) + %f7 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 16 + %v7 = load ptr, ptr %f7 + call void @scr_str_release(ptr %v7) ; %systemDest (acyclic) + %f8 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 17 + %v8 = load ptr, ptr %f8 + call void @scr_str_release(ptr %v8) ; %systemMessage (acyclic) + %f9 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 18 + %v9 = load ptr, ptr %f9 + call void @scr_str_release(ptr %v9) ; %systemCode (acyclic) + %f10 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 21 + %v10 = load ptr, ptr %f10 + call void @scr_str_release(ptr %v10) ; allow (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m5_App(ptr %o) #0 { ; retain %m5.App +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m5_App_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; _nodes + %f1 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 2 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; _mw + %f2 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 3 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; _fns + %f3 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 4 + %v3 = load ptr, ptr %f3 + call void @scr_arr_release(ptr %v3) ; _mws + %f4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 5 + %v4 = load ptr, ptr %f4 + call void @scr_closure_release(ptr %v4) ; _nf + %f5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 6 + %v5 = load ptr, ptr %f5 + call void @scr_arr_release(ptr %v5) ; _nfmw + %f6 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 7 + %v6 = load ptr, ptr %f6 + call void @scr_union_release(ptr %v6) ; _oef + %f7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 8 + %v7 = load ptr, ptr %f7 + call void @scr_arr_release(ptr %v7) ; _chains + %f8 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 9 + %v8 = load ptr, ptr %f8 + call void @scr_closure_release(ptr %v8) ; _nfchain + %f9 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 10 + %v9 = load ptr, ptr %f9 + call void @scr_arr_release(ptr %v9) ; _pn + %f10 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 11 + %v10 = load ptr, ptr %f10 + call void @scr_arr_release(ptr %v10) ; _pi + %f11 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 12 + %v11 = load ptr, ptr %f11 + call void @scr_arr_release(ptr %v11) ; _sp + %f12 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 13 + %v12 = load ptr, ptr %f12 + call void @scr_arr_release(ptr %v12) ; _bodyF + %f13 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 14 + %v13 = load ptr, ptr %f13 + call void @scr_arr_release(ptr %v13) ; _mp + %f14 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 15 + %v14 = load ptr, ptr %f14 + call void @scr_closure_release(ptr %v14) ; _gen + %f15 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 16 + %v15 = load ptr, ptr %f15 + call void @scr_closure_release(ptr %v15) ; _genFetch + %f16 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 17 + %v16 = load ptr, ptr %f16 + call void @scr_closure_release(ptr %v16) ; _up + %f17 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 18 + %v17 = load ptr, ptr %f17 + call void @sc_rc_release_dyn(ptr %v17) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m5_App(ptr %o) #0 { ; release %m5.App (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m5_App_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m5_App_slow(ptr %o) noinline #0 { ; release %m5.App +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_App_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m5_App.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_App, ptr @sc_gcfree__x25_m5_App, i32 60, i32 0 } + +define internal ptr @sc_new__x25_m5_App() #0 { ; new %m5.App +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_App, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_App.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_App, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_App.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv17 = call ptr @scr_dyn_undefined() + %uf17 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 18 + store ptr %ufv17, ptr %uf17 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m5_App(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.App +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; _mw + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; _fns + br label %tv1.next +tv1.next: + %f2 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + %z2 = icmp eq ptr %v2, null + br i1 %z2, label %tv2.next, label %tv2.visit +tv2.visit: + call void %visit(ptr %v2, ptr %ctx) ; _mws + br label %tv2.next +tv2.next: + %f3 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + %z3 = icmp eq ptr %v3, null + br i1 %z3, label %tv3.next, label %tv3.visit +tv3.visit: + call void %visit(ptr %v3, ptr %ctx) ; _nf + br label %tv3.next +tv3.next: + %f4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + %z4 = icmp eq ptr %v4, null + br i1 %z4, label %tv4.next, label %tv4.visit +tv4.visit: + call void %visit(ptr %v4, ptr %ctx) ; _nfmw + br label %tv4.next +tv4.next: + %f5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 7 + %v5 = load ptr, ptr %f5 + %z5 = icmp eq ptr %v5, null + br i1 %z5, label %tv5.next, label %tv5.visit +tv5.visit: + call void %visit(ptr %v5, ptr %ctx) ; _oef + br label %tv5.next +tv5.next: + %f6 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 8 + %v6 = load ptr, ptr %f6 + %z6 = icmp eq ptr %v6, null + br i1 %z6, label %tv6.next, label %tv6.visit +tv6.visit: + call void %visit(ptr %v6, ptr %ctx) ; _chains + br label %tv6.next +tv6.next: + %f7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 9 + %v7 = load ptr, ptr %f7 + %z7 = icmp eq ptr %v7, null + br i1 %z7, label %tv7.next, label %tv7.visit +tv7.visit: + call void %visit(ptr %v7, ptr %ctx) ; _nfchain + br label %tv7.next +tv7.next: + %f8 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 14 + %v8 = load ptr, ptr %f8 + %z8 = icmp eq ptr %v8, null + br i1 %z8, label %tv8.next, label %tv8.visit +tv8.visit: + call void %visit(ptr %v8, ptr %ctx) ; _mp + br label %tv8.next +tv8.next: + %f9 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 15 + %v9 = load ptr, ptr %f9 + %z9 = icmp eq ptr %v9, null + br i1 %z9, label %tv9.next, label %tv9.visit +tv9.visit: + call void %visit(ptr %v9, ptr %ctx) ; _gen + br label %tv9.next +tv9.next: + %f10 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 16 + %v10 = load ptr, ptr %f10 + %z10 = icmp eq ptr %v10, null + br i1 %z10, label %tv10.next, label %tv10.visit +tv10.visit: + call void %visit(ptr %v10, ptr %ctx) ; _genFetch + br label %tv10.next +tv10.next: + %f11 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 17 + %v11 = load ptr, ptr %f11 + %z11 = icmp eq ptr %v11, null + br i1 %z11, label %tv11.next, label %tv11.visit +tv11.visit: + call void %visit(ptr %v11, ptr %ctx) ; _up + br label %tv11.next +tv11.next: + %f12 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 18 + %v12 = load ptr, ptr %f12 + %z12 = icmp eq ptr %v12, null + br i1 %z12, label %tv12.next, label %tv12.visit +tv12.visit: + call void %visit(ptr %v12, ptr %ctx) ; %dynProperties + br label %tv12.next +tv12.next: + ret void +} + +define internal void @sc_gcfree__x25_m5_App(ptr %o) #0 { ; gcFree %m5.App +entry: + %f0 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; _nodes (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 10 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; _pn (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 11 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; _pi (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 12 + %v3 = load ptr, ptr %f3 + call void @scr_arr_release(ptr %v3) ; _sp (acyclic) + %f4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 13 + %v4 = load ptr, ptr %f4 + call void @scr_arr_release(ptr %v4) ; _bodyF (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m6_AssetSource(ptr %o) #0 { ; retain %m6.AssetSource +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m6_AssetSource(ptr %o) #0 { ; release %m6.AssetSource (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m6_AssetSource_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m6_AssetSource_slow(ptr %o) noinline #0 { ; release %m6.AssetSource (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m6_AssetSource_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m6_AssetSource(ptr %o) #0 { ; direct release %m6.AssetSource +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m6_AssetSource_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m6_AssetSource.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m6_AssetSource, ptr @sc_gcfree__x25_m6_AssetSource, i32 61, i32 0 } + +define internal ptr @sc_new__x25_m6_AssetSource() #0 { ; new %m6.AssetSource +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m6_AssetSource, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m6_AssetSource.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m6_AssetSource, ptr null, i32 1) to i64), ptr @sc_trace__x25_m6_AssetSource.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m6_AssetSource, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m6_AssetSource(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m6.AssetSource +entry: + %f0 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m6_AssetSource(ptr %o) #0 { ; gcFree %m6.AssetSource +entry: + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m8_DiskAssets(ptr %o) #0 { ; retain %m8.DiskAssets +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m8_DiskAssets(ptr %o) #0 { ; release %m8.DiskAssets (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m8_DiskAssets_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m8_DiskAssets_slow(ptr %o) noinline #0 { ; release %m8.DiskAssets (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m8_DiskAssets_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; root + %f2 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; rroot + %f3 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @sc_rrelease_r12(ptr %v3) ; _idx + %f4 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + call void @scr_arr_release(ptr %v4) ; _assets + %f5 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 7 + %v5 = load ptr, ptr %f5 + call void @scr_arr_release(ptr %v5) ; _mtimes + %f6 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 8 + %v6 = load ptr, ptr %f6 + call void @scr_arr_release(ptr %v6) ; _sizes + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m8_DiskAssets(ptr %o) #0 { ; direct release %m8.DiskAssets +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m8_DiskAssets_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m8_DiskAssets.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m8_DiskAssets, ptr @sc_gcfree__x25_m8_DiskAssets, i32 62, i32 0 } + +define internal ptr @sc_new__x25_m8_DiskAssets() #0 { ; new %m8.DiskAssets +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m8_DiskAssets, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m8_DiskAssets.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m8_DiskAssets, ptr null, i32 1) to i64), ptr @sc_trace__x25_m8_DiskAssets.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m8_DiskAssets, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m8_DiskAssets(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m8.DiskAssets +entry: + %f0 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m8_DiskAssets(ptr %o) #0 { ; gcFree %m8.DiskAssets +entry: + %f0 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + call void @scr_str_release(ptr %v0) ; root (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 4 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; rroot (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 5 + %v2 = load ptr, ptr %f2 + call void @sc_rrelease_r12(ptr %v2) ; _idx (acyclic) + %f3 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 6 + %v3 = load ptr, ptr %f3 + call void @scr_arr_release(ptr %v3) ; _assets (acyclic) + %f4 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 7 + %v4 = load ptr, ptr %f4 + call void @scr_arr_release(ptr %v4) ; _mtimes (acyclic) + %f5 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 8 + %v5 = load ptr, ptr %f5 + call void @scr_arr_release(ptr %v5) ; _sizes (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %o) #0 { ; retain %m9.EmbeddedAssets +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m9_EmbeddedAssets(ptr %o) #0 { ; release %m9.EmbeddedAssets (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m9_EmbeddedAssets_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m9_EmbeddedAssets_slow(ptr %o) noinline #0 { ; release %m9.EmbeddedAssets (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m9_EmbeddedAssets_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @sc_rrelease_r12(ptr %v1) ; _idx + %f2 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; _assets + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m9_EmbeddedAssets(ptr %o) #0 { ; direct release %m9.EmbeddedAssets +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m9_EmbeddedAssets_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m9_EmbeddedAssets.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m9_EmbeddedAssets, ptr @sc_gcfree__x25_m9_EmbeddedAssets, i32 63, i32 0 } + +define internal ptr @sc_new__x25_m9_EmbeddedAssets() #0 { ; new %m9.EmbeddedAssets +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m9_EmbeddedAssets, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m9_EmbeddedAssets.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m9_EmbeddedAssets, ptr null, i32 1) to i64), ptr @sc_trace__x25_m9_EmbeddedAssets.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m9_EmbeddedAssets, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m9_EmbeddedAssets(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m9.EmbeddedAssets +entry: + %f0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m9_EmbeddedAssets(ptr %o) #0 { ; gcFree %m9.EmbeddedAssets +entry: + %f0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + call void @sc_rrelease_r12(ptr %v0) ; _idx (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 4 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; _assets (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m11_StaticServer(ptr %o) #0 { ; retain %m11.StaticServer +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m11_StaticServer_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + call void @sc_release__x25_m6_AssetSource(ptr %v0) ; src + %f1 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; api + %f2 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; index + %f3 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 5 + %v3 = load ptr, ptr %f3 + call void @scr_str_release(ptr %v3) ; cc + %f4 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 6 + %v4 = load ptr, ptr %f4 + call void @sc_rc_release_dyn(ptr %v4) ; %dynProperties + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} +define internal void @sc_release__x25_m11_StaticServer(ptr %o) #0 { ; release %m11.StaticServer (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m11_StaticServer_slow(ptr %o) + br label %done +done: + ret void +} +define internal void @sc_release__x25_m11_StaticServer_slow(ptr %o) noinline #0 { ; release %m11.StaticServer +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %dec +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m11_StaticServer_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m11_StaticServer.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m11_StaticServer, ptr @sc_gcfree__x25_m11_StaticServer, i32 64, i32 0 } + +define internal ptr @sc_new__x25_m11_StaticServer() #0 { ; new %m11.StaticServer +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m11_StaticServer, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m11_StaticServer.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m11_StaticServer, ptr null, i32 1) to i64), ptr @sc_trace__x25_m11_StaticServer.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %ufv5 = call ptr @scr_dyn_undefined() + %uf5 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 6 + store ptr %ufv5, ptr %uf5 ; %dynProperties starts undefined + ret ptr %o +} + +define internal void @sc_trace__x25_m11_StaticServer(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m11.StaticServer +entry: + %f0 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 1 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; src + br label %tv0.next +tv0.next: + %f1 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 6 + %v1 = load ptr, ptr %f1 + %z1 = icmp eq ptr %v1, null + br i1 %z1, label %tv1.next, label %tv1.visit +tv1.visit: + call void %visit(ptr %v1, ptr %ctx) ; %dynProperties + br label %tv1.next +tv1.next: + ret void +} + +define internal void @sc_gcfree__x25_m11_StaticServer(ptr %o) #0 { ; gcFree %m11.StaticServer +entry: + %f0 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + call void @scr_arr_release(ptr %v0) ; api (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 4 + %v1 = load ptr, ptr %f1 + call void @scr_str_release(ptr %v1) ; index (acyclic) + %f2 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 5 + %v2 = load ptr, ptr %f2 + call void @scr_str_release(ptr %v2) ; cc (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_retain__x25_m14_BakedAssets(ptr %o) #0 { ; retain %m14.BakedAssets +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal void @sc_release__x25_m14_BakedAssets(ptr %o) #0 { ; release %m14.BakedAssets (fast path) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %rcm2 = sub i64 %rc, 2 + %shared = icmp ult i64 %rcm2, -3 + br i1 %shared, label %dec, label %slow +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +slow: + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %slowcall +slowcall: + call void @sc_release__x25_m14_BakedAssets_slow(ptr %o) + br label %done +done: + ret void +} + +define internal void @sc_release__x25_m14_BakedAssets_slow(ptr %o) noinline #0 { ; release %m14.BakedAssets (dispatches) +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %disp +disp: + %vtp = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 1 + %vt = load ptr, ptr %vtp + %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2 + %rel = load ptr, ptr %relp + call void %rel(ptr %o) ; the DYNAMIC class's teardown + br label %done +done: + ret void +} + +define internal void @sc_reld__x25_m14_BakedAssets_destroy(ptr %o) #0 { +entry: + %f0 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties + %f1 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 3 + %v1 = load ptr, ptr %f1 + call void @sc_rrelease_r12(ptr %v1) ; _idx + %f2 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 4 + %v2 = load ptr, ptr %f2 + call void @scr_arr_release(ptr %v2) ; _assets + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal void @sc_reld__x25_m14_BakedAssets(ptr %o) #0 { ; direct release %m14.BakedAssets +entry: + %rc = load i64, ptr %o + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %dead = icmp eq i64 %n, 0 + br i1 %dead, label %free, label %root +free: + %dbufp = getelementptr i8, ptr %o, i64 -4 + %dbuf = load i32, ptr %dbufp + %dqueued = icmp slt i32 %dbuf, 0 + br i1 %dqueued, label %unbuffer, label %teardown +unbuffer: + call void @scr_cyc_on_dead(ptr %o) + br label %teardown +teardown: + call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m14_BakedAssets_destroy) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +@sc_trace__x25_m14_BakedAssets.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m14_BakedAssets, ptr @sc_gcfree__x25_m14_BakedAssets, i32 65, i32 0 } + +define internal ptr @sc_new__x25_m14_BakedAssets() #0 { ; new %m14.BakedAssets +entry: + %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m14_BakedAssets, ptr null, i32 1) to i64), 8 + %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m14_BakedAssets.cyctype, i32 0, i32 3 + %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4 + %sa.reg = icmp ne i32 %sa.tid, 0 + %sa.fits0 = icmp ule i64 %sa.n, 512 + %sa.small = and i1 %sa.reg, %sa.fits0 + br i1 %sa.small, label %sa.class, label %sa.slow +sa.class: + %sa.nm1 = sub i64 %sa.n, 1 + %sa.k = lshr i64 %sa.nm1, 3 + %sa.fine = icmp ule i64 %sa.n, 128 + %sa.kc = add i64 %sa.k, 16 + %sa.cc = lshr i64 %sa.kc, 1 + %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc + %sa.c8 = shl i64 %sa.c, 3 + %sa.fo = add i64 %sa.c8, 24 + %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo + %sa.b = load ptr, ptr %sa.fp + %sa.hit = icmp ne ptr %sa.b, null + %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true) + br i1 %sa.hitx, label %sa.pop, label %sa.bump +sa.pop: ; recycled blocks are dirty + %sa.next = load ptr, ptr %sa.b + store ptr %sa.next, ptr %sa.fp + %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8 + %sa.zn = sub i64 %sa.n, 8 + call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false) + br label %sa.fast +sa.bump: ; fresh reservation memory is already zero + %sa.c1 = add i64 %sa.c, 1 + %sa.wide = icmp eq i64 %sa.c, 6 + %sa.widez = zext i1 %sa.wide to i64 + %sa.c1w = add i64 %sa.c1, %sa.widez + %sa.szf = shl i64 %sa.c1w, 3 + %sa.cs = sub i64 %sa.c1, 8 + %sa.szc = shl i64 %sa.cs, 4 + %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc + %sa.bo = add i64 %sa.c8, 344 + %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo + %sa.lo = add i64 %sa.c8, 664 + %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo + %sa.p = load ptr, ptr %sa.bp + %sa.l = load ptr, ptr %sa.lp + %sa.pi = ptrtoint ptr %sa.p to i64 + %sa.li = ptrtoint ptr %sa.l to i64 + %sa.room = sub i64 %sa.li, %sa.pi + %sa.fits = icmp uge i64 %sa.room, %sa.sz + %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true) + br i1 %sa.fitsx, label %sa.carve, label %sa.slow +sa.carve: + %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz + store ptr %sa.np, ptr %sa.bp + br label %sa.fast +sa.fast: + %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ] + %sa.id = trunc i32 %sa.tid to i16 + store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id + %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2 + store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen + %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4 + store i32 0, ptr %sa.bufp ; ScrCycHdr.buf + %sa.live = load i64, ptr @scr_cyc_live + %sa.live1 = add i64 %sa.live, 1 + store i64 %sa.live1, ptr @scr_cyc_live + %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8 + br label %sa.done +sa.slow: + %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m14_BakedAssets, ptr null, i32 1) to i64), ptr @sc_trace__x25_m14_BakedAssets.cyctype) + br label %sa.done +sa.done: + %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ] + store i64 1, ptr %o + %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o) + %vtp = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o.vt, i64 0, i32 1 + store ptr @sc_vtable__x25_m14_BakedAssets, ptr %vtp, !invariant.group !{} + %ufv0 = call ptr @scr_dyn_undefined() + %uf0 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 2 + store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined + ret ptr %o.vt +} + +define internal void @sc_trace__x25_m14_BakedAssets(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m14.BakedAssets +entry: + %f0 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 2 + %v0 = load ptr, ptr %f0 + %z0 = icmp eq ptr %v0, null + br i1 %z0, label %tv0.next, label %tv0.visit +tv0.visit: + call void %visit(ptr %v0, ptr %ctx) ; %dynProperties + br label %tv0.next +tv0.next: + ret void +} + +define internal void @sc_gcfree__x25_m14_BakedAssets(ptr %o) #0 { ; gcFree %m14.BakedAssets +entry: + %f0 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 3 + %v0 = load ptr, ptr %f0 + call void @sc_rrelease_r12(ptr %v0) ; _idx (acyclic) + %f1 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 4 + %v1 = load ptr, ptr %f1 + call void @scr_arr_release(ptr %v1) ; _assets (acyclic) + %sf.hook = load ptr, ptr @scr_weak_dispose_hook + %sf.has = icmp ne ptr %sf.hook, null + %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false) + br i1 %sf.hasx, label %sf.observe, label %sf.block +sf.observe: ; weak collections observe the disposal + call void %sf.hook(ptr %o) + br label %sf.block +sf.block: + %sf.live = load i64, ptr @scr_cyc_live + %sf.live1 = sub i64 %sf.live, 1 + store i64 %sf.live1, ptr @scr_cyc_live + %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8 + %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3 + %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen + %sf.old = icmp eq i8 %sf.gen, 2 + br i1 %sf.old, label %sf.oldcount, label %sf.accounted +sf.oldcount: + %sf.freed = load i64, ptr @scr_cyc_old_freed + %sf.freed1 = add i64 %sf.freed, 1 + store i64 %sf.freed1, ptr @scr_cyc_old_freed + br label %sf.accounted +sf.accounted: + %sf.base = load i64, ptr @scr_sa + %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8 + %sf.span = load i64, ptr %sf.spanp + %sf.bi = ptrtoint ptr %sf.blk to i64 + %sf.off = sub i64 %sf.bi, %sf.base + %sf.in = icmp ult i64 %sf.off, %sf.span + %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true) + br i1 %sf.inx, label %sf.push, label %sf.sys +sf.push: + %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16 + %sf.sh32 = load i32, ptr %sf.shp + %sf.sh = zext i32 %sf.sh32 to i64 + %sf.c = lshr i64 %sf.off, %sf.sh + %sf.c8 = shl i64 %sf.c, 3 + %sf.fo = add i64 %sf.c8, 24 + %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo + %sf.head = load ptr, ptr %sf.fp + store ptr %sf.head, ptr %sf.blk + store ptr %sf.blk, ptr %sf.fp + br label %sf.done +sf.sys: ; outside the reservation, or the allocator is compiled out + call void @scr_rt_free(ptr %sf.blk) + br label %sf.done +sf.done: + ret void +} + +define internal ptr @sc_dc_0(ptr %d, ptr %path) #0 { ; check string +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1252517681993947, i64 6) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1252517681993947, i64 6) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_0(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1252517681993947, i64 6, ptr %t8, ptr @scr_str_retain_v, ptr @scr_str_release_v, i1 false) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 3 + br i1 %t12, label %dc.k8, label %dc.f9 +dc.f9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1252517681993947, ptr %d) + ret ptr null +dc.k8: + %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_str_retain_v(ptr %t14) + ret ptr %t15 +} + +define internal ptr @sc_dc_1(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_391578306055374, i64 13) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_391578306055374, i64 13) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_1(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_391578306055374, i64 13, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new(i32 2, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_0(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_td_0(ptr %v) #0 { ; to-dyn string +entry: + %t0 = call ptr @scr_dyn_new_str(ptr %v) ; retains v + ret ptr %t0 +} + +define internal double @sc_dc_2(ptr %d, ptr %path) #0 { ; check f64 +entry: + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 2 + br i1 %t2, label %dc.k0, label %dc.f1 +dc.f1: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_326035158597717, ptr %d) + ret double 0x0000000000000000 +dc.k0: + %t3 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t4 = load double, ptr %t3 + ret double %t4 +} + +define internal zeroext i1 @sc_dc_3(ptr %d, ptr %path) #0 { ; check bool +entry: + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 1 + br i1 %t2, label %dc.k0, label %dc.f1 +dc.f1: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3369235369748796, ptr %d) + ret i1 false +dc.k0: + %t3 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.b + %t4 = load i8, ptr %t3 + %t5 = trunc i8 %t4 to i1 + ret i1 %t5 +} + +define internal zeroext i1 @sc_dm_0(ptr %d) #0 { ; matches null +entry: + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 12 + br i1 %t2, label %dm.tr.mat0, label %dm.tr.plain1 +dm.tr.mat0: + %t3 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t4 = call zeroext i1 @sc_dm_0(ptr %t3) + call void @scr_dyn_release_v(ptr %t3) + ret i1 %t4 +dm.tr.plain1: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 0 + ret i1 %t7 +} + +define internal zeroext i1 @sc_dm_2(ptr %d) #0 { ; matches f64 +entry: + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 12 + br i1 %t2, label %dm.tr.mat0, label %dm.tr.plain1 +dm.tr.mat0: + %t3 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t4 = call zeroext i1 @sc_dm_2(ptr %t3) + call void @scr_dyn_release_v(ptr %t3) + ret i1 %t4 +dm.tr.plain1: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 2 + ret i1 %t7 +} + +define internal zeroext i1 @sc_dm_1(ptr %d) #0 { ; matches record:r1 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2073431270519518, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_1(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_127274431826284, i64 6) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_2(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + ret i1 true +dm.f4: + ret i1 false +} + +define internal ptr @sc_dc_6(ptr %d, ptr %path) #0 { ; check dyn +entry: + %t0 = call ptr @scr_dyn_retain_v(ptr %d) + ret ptr %t0 +} + +@sc_rnames_0 = internal constant [3 x ptr] [ptr @sc_cs_127274431826284, ptr @sc_cs_616655122974952, ptr @sc_cs_977412068193087] +@sc_rnames_0_lens = internal constant [3 x i64] [i64 6, i64 4, i64 7] + +define internal ptr @sc_dc_5(ptr %d, ptr %path) #0 { ; check record:r1 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2073431270519518, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2073431270519518, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_5(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r1(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r1, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; body + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r1, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; headers + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + %t18 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 3 + %t19 = getelementptr inbounds %sc_rs_r1, ptr %t8, i64 0, i32 3 + %t20 = load double, ptr %t18 ; status + %t21 = load double, ptr %t19 + store double %t21, ptr %t18 + store double %t20, ptr %t19 + call void @sc_rrelease_r1(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2073431270519518, i64 9, ptr %t8, ptr @sc_rretain_r1, ptr @sc_rrelease_r1, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t22 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 5 + %t25 = icmp eq i32 %t23, 13 + %t26 = or i1 %t24, %t25 + br i1 %t26, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r1() + %t27 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4) + %t28.cell = load ptr, ptr @scr_exc_active + %t28.kind = load i32, ptr %t28.cell + %t28 = icmp ne i32 %t28.kind, 0 + br i1 %t28, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t27) + call void @sc_rrelease_r1(ptr %r0) + ret ptr null +dcr.read.k13: + %t29 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t29 + %t30 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_616655122974952, ptr %t30 + %t31 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t31 + %t32 = call ptr @sc_dc_6(ptr %t27, ptr %dcp) + call void @scr_dyn_release(ptr %t27) + %t33 = getelementptr inbounds %sc_rs_r1, ptr %r0, i64 0, i32 1 ; .body + store ptr %t32, ptr %t33 + %t34.cell = load ptr, ptr @scr_exc_active + %t34.kind = load i32, ptr %t34.cell + %t34 = icmp ne i32 %t34.kind, 0 + br i1 %t34, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r1(ptr %r0) + ret ptr null +dcr.k15: + %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_977412068193087, i64 7) + %t36.cell = load ptr, ptr @scr_exc_active + %t36.kind = load i32, ptr %t36.cell + %t36 = icmp ne i32 %t36.kind, 0 + br i1 %t36, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t35) + call void @sc_rrelease_r1(ptr %r0) + ret ptr null +dcr.read.k17: + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_977412068193087, ptr %t38 + %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t39 + %t40 = call ptr @sc_dc_6(ptr %t35, ptr %dcp) + call void @scr_dyn_release(ptr %t35) + %t41 = getelementptr inbounds %sc_rs_r1, ptr %r0, i64 0, i32 2 ; .headers + store ptr %t40, ptr %t41 + %t42.cell = load ptr, ptr @scr_exc_active + %t42.kind = load i32, ptr %t42.cell + %t42 = icmp ne i32 %t42.kind, 0 + br i1 %t42, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r1(ptr %r0) + ret ptr null +dcr.k19: + %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_127274431826284, i64 6) + %t44.cell = load ptr, ptr @scr_exc_active + %t44.kind = load i32, ptr %t44.cell + %t44 = icmp ne i32 %t44.kind, 0 + br i1 %t44, label %dcr.read.u20, label %dcr.read.k21 +dcr.read.u20: + call void @scr_dyn_release(ptr %t43) + call void @sc_rrelease_r1(ptr %r0) + ret ptr null +dcr.read.k21: + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_127274431826284, ptr %t46 + %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t47 + %t48 = call double @sc_dc_2(ptr %t43, ptr %dcp) + call void @scr_dyn_release(ptr %t43) + %t49 = getelementptr inbounds %sc_rs_r1, ptr %r0, i64 0, i32 3 ; .status + store double %t48, ptr %t49 + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dcr.u22, label %dcr.k23 +dcr.u22: + call void @sc_rrelease_r1(ptr %r0) + ret ptr null +dcr.k23: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_0, ptr @sc_rnames_0_lens, i64 3) + ret ptr %r0 +} + +define internal ptr @sc_dc_4(ptr %d, ptr %path) #0 { ; check union:u4 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2645883945401328, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_1(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_5(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_4(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1247828793356534, ptr %d) + ret ptr null +} + +define internal zeroext i1 @sc_dm_4(ptr %d) #0 { ; matches func()=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1577281003310918, i64 12) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_4(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + ret i1 %t6 +} + +define internal zeroext i1 @sc_dm_5(ptr %d) #0 { ; matches func(bytes)=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2962741746049877, i64 21) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_5(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + ret i1 %t6 +} + +define internal zeroext i1 @sc_dm_3(ptr %d) #0 { ; matches record:r2 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4309965218388288, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_3(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_863112869792180, i64 5) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_4(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3739322700708094, i64 7) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dm.read.u10, label %dm.read.k11 +dm.read.u10: + call void @scr_dyn_release(ptr %t14) + ret i1 false +dm.read.k11: + %t16 = call zeroext i1 @sc_dm_5(ptr %t14) + call void @scr_dyn_release(ptr %t14) + br i1 %t16, label %dm.n9, label %dm.f4 +dm.n9: + ret i1 true +dm.f4: + ret i1 false +} + +define internal void @sc_dfa_0(ptr %sc_env) #0 { ; dyn fn adapter to func()=>void +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t3 = call ptr @scr_dyn_call(ptr %t2, ptr null, i64 0, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + %t4.cell = load ptr, ptr @scr_exc_active + %t4.kind = load i32, ptr %t4.cell + %t4 = icmp ne i32 %t4.kind, 0 + br i1 %t4, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret void +dfa.k1: + call void @scr_dyn_release(ptr %t3) + ret void +} + +define internal ptr @sc_dc_9(ptr %d, ptr %path) #0 { ; check func()=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1577281003310918, i64 12) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1577281003310918, i64 12) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_9(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1577281003310918, i64 12, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_1577281003310918) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_0, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_td_1(ptr %v) #0 { ; to-dyn bytes +entry: + %t0 = call ptr @scr_dyn_new_bytes(ptr %v) + ret ptr %t0 +} + +define internal void @sc_dfa_1(ptr %sc_env, ptr %a0) #0 { ; dyn fn adapter to func(bytes)=>void +entry: + %s3 = alloca [1 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_1(ptr %a0) + %t5 = getelementptr inbounds [1 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @scr_bytes_release(ptr %a0) + %t6 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 1, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + %t7.cell = load ptr, ptr @scr_exc_active + %t7.kind = load i32, ptr %t7.cell + %t7 = icmp ne i32 %t7.kind, 0 + br i1 %t7, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret void +dfa.k1: + call void @scr_dyn_release(ptr %t6) + ret void +} + +define internal ptr @sc_dc_10(ptr %d, ptr %path) #0 { ; check func(bytes)=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2962741746049877, i64 21) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2962741746049877, i64 21) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_10(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2962741746049877, i64 21, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_2962741746049877) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_1, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +@sc_rnames_1 = internal constant [2 x ptr] [ptr @sc_cs_3739322700708094, ptr @sc_cs_863112869792180] +@sc_rnames_1_lens = internal constant [2 x i64] [i64 7, i64 5] + +define internal ptr @sc_dc_8(ptr %d, ptr %path) #0 { ; check record:r2 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4309965218388288, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4309965218388288, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_8(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r2(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r2, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r2, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; close + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r2, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r2, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; enqueue + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + call void @sc_rrelease_r2(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4309965218388288, i64 9, ptr %t8, ptr @sc_rretain_r2, ptr @sc_rrelease_r2, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 5 + %t21 = icmp eq i32 %t19, 13 + %t22 = or i1 %t20, %t21 + br i1 %t22, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r2() + %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_863112869792180, i64 5) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t23) + call void @sc_rrelease_r2(ptr %r0) + ret ptr null +dcr.read.k13: + %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t25 + %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_863112869792180, ptr %t26 + %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t27 + %t28 = call ptr @sc_dc_9(ptr %t23, ptr %dcp) + call void @scr_dyn_release(ptr %t23) + %t29 = getelementptr inbounds %sc_rs_r2, ptr %r0, i64 0, i32 1 ; .close + store ptr %t28, ptr %t29 + %t30.cell = load ptr, ptr @scr_exc_active + %t30.kind = load i32, ptr %t30.cell + %t30 = icmp ne i32 %t30.kind, 0 + br i1 %t30, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r2(ptr %r0) + ret ptr null +dcr.k15: + %t31 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3739322700708094, i64 7) + %t32.cell = load ptr, ptr @scr_exc_active + %t32.kind = load i32, ptr %t32.cell + %t32 = icmp ne i32 %t32.kind, 0 + br i1 %t32, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t31) + call void @sc_rrelease_r2(ptr %r0) + ret ptr null +dcr.read.k17: + %t33 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t33 + %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_3739322700708094, ptr %t34 + %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t35 + %t36 = call ptr @sc_dc_10(ptr %t31, ptr %dcp) + call void @scr_dyn_release(ptr %t31) + %t37 = getelementptr inbounds %sc_rs_r2, ptr %r0, i64 0, i32 2 ; .enqueue + store ptr %t36, ptr %t37 + %t38.cell = load ptr, ptr @scr_exc_active + %t38.kind = load i32, ptr %t38.cell + %t38 = icmp ne i32 %t38.kind, 0 + br i1 %t38, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r2(ptr %r0) + ret ptr null +dcr.k19: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_1, ptr @sc_rnames_1_lens, i64 2) + ret ptr %r0 +} + +define internal ptr @sc_dc_7(ptr %d, ptr %path) #0 { ; check union:u5 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3823276195442570, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_3(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_8(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_7(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1247828793356534, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_11(ptr %d, ptr %path) #0 { ; check httpRes +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1975741313327935, i64 7) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1975741313327935, i64 7) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_11(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1975741313327935, i64 7, ptr %t8, ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, i1 false) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call ptr @scr_dyn_handle_unbox(ptr %d, i32 1, ptr %path, ptr @sc_cs_4248929987867812) + ret ptr %t10 +} + +define internal ptr @sc_td_2(double %v) #0 { ; to-dyn f64 +entry: + %t0 = call ptr @scr_dyn_new_num(double %v) + ret ptr %t0 +} + +define internal zeroext i1 @sc_dm_6(ptr %d) #0 { ; matches string +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1252517681993947, i64 6) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_6(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 3 + ret i1 %t8 +} + +define internal ptr @sc_td_3(i1 %v) #0 { ; to-dyn bool +entry: + %t0 = call ptr @scr_dyn_new_bool(i1 %v) + ret ptr %t0 +} + +define internal ptr @sc_td_4(ptr %v) #0 { ; to-dyn dyn +entry: + %t0 = call ptr @scr_dyn_retain_v(ptr %v) + ret ptr %t0 +} + +define internal ptr @sc_dc_12(ptr %d, ptr %path) #0 { ; check bytes +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_890094799952442, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_890094799952442, i64 9) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_12(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_890094799952442, i64 9, ptr %t8, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, i1 false) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_bytes_is(ptr %d, i32 0) + br i1 %t10, label %dc.bytes8, label %dc.bytes.fail9 +dc.bytes.fail9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1987398004402823, ptr %d) + ret ptr null +dc.bytes8: + %t11 = call ptr @scr_dyn_bytes_unbox(ptr %d) + ret ptr %t11 +} + +define internal ptr @sc_dfk_0(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(bytes)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_12(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + call void %t13(ptr %c, ptr %t10) + %t14.cell = load ptr, ptr @scr_exc_active + %t14.kind = load i32, ptr %t14.cell + %t14 = icmp ne i32 %t14.kind, 0 + br i1 %t14, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t15 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t15) + ret ptr %t16 +} + +define internal ptr @sc_dfb_0(ptr %v, ptr %fname) #0 { ; box func(bytes)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_0, i32 1, ptr @sc_cs_2962741746049877, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_5(ptr %v) #0 { ; to-dyn func(bytes)=>void +entry: + %t0 = call ptr @sc_dfb_0(ptr %v, ptr null) + ret ptr %t0 +} + +define internal ptr @sc_dfk_1(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>void +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + call void %t1(ptr %c) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t3 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t3) + ret ptr %t4 +} + +define internal ptr @sc_dfb_1(ptr %v, ptr %fname) #0 { ; box func()=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_1, i32 0, ptr @sc_cs_1577281003310918, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_6(ptr %v) #0 { ; to-dyn func()=>void +entry: + %t0 = call ptr @sc_dfb_1(ptr %v, ptr null) + ret ptr %t0 +} + +define internal ptr @sc_td_7(ptr %v) #0 { ; to-dyn httpRes +entry: + %t0 = call ptr @scr_dyn_new_handle(ptr %v, i32 1) + ret ptr %t0 +} + +define internal ptr @sc_dc_13(ptr %d, ptr %path) #0 { ; check record:r0 +entry: + %dcp = alloca %ScrDynPath + %s26 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_77530061052946, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_77530061052946, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_13(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r0(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r0, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r0, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; [key: string] overflow + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r0(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_77530061052946, i64 9, ptr %t8, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + br i1 %t16, label %dcr.k10, label %dcr.f11 +dcr.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.k10: + %r0 = call ptr @sc_rnew_r0() + %t17 = getelementptr inbounds %sc_rs_r0, ptr %r0, i64 0, i32 1 + %t18 = load ptr, ptr %t17 ; overflow map + %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto + %t20 = load i8, ptr %t19 + %t21 = getelementptr inbounds i8, ptr %t18, i64 11 + store i8 %t20, ptr %t21 + %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t23 = load i64, ptr %t22 + %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t25 = load ptr, ptr %t24 + store i64 0, ptr %s26 + br label %dcv.c12 +dcv.c12: + %t27 = load i64, ptr %s26 + %t28 = icmp ult i64 %t27, %t23 + br i1 %t28, label %dcv.b13, label %dcv.e15 +dcv.b13: + %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry) + %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds i8, ptr %t30, i64 8 + %t33 = load i64, ptr %t32 + %t34 = getelementptr inbounds i8, ptr %t30, i64 16 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t36 + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t38 + %t39 = call ptr @sc_dc_0(ptr %t35, ptr %dcp) + %t40.cell = load ptr, ptr @scr_exc_active + %t40.kind = load i32, ptr %t40.cell + %t40 = icmp ne i32 %t40.kind, 0 + br i1 %t40, label %dcv.u16, label %dcv.k17 +dcv.u16: + call void @sc_rrelease_r0(ptr %r0) + ret ptr null +dcv.k17: + %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33) + call void @scr_map_set_str_ref(ptr %t18, ptr %t41, ptr %t39) ; v moves in + call void @scr_str_release(ptr %t41) + br label %dcv.n14 +dcv.n14: + %t42 = add i64 %t27, 1 + store i64 %t42, ptr %s26 + br label %dcv.c12 +dcv.e15: + ret ptr %r0 +} + +define internal ptr @sc_td_8(ptr %v) #0 { ; to-dyn record:r0 +entry: + %s11 = alloca double + %t1 = getelementptr inbounds %sc_rs_r0, ptr %v, i64 0, i32 1 + %t2 = load ptr, ptr %t1 ; overflow map + %t3 = getelementptr inbounds i8, ptr %t2, i64 11 + %t4 = load i8, ptr %t3 + %t5 = icmp ne i8 %t4, 0 + %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj + %t0 = call ptr %t6() + %t7 = getelementptr inbounds %sc_rs_r0, ptr %v, i64 0, i32 1 + %t8 = load ptr, ptr %t7 ; overflow map + %t9 = call ptr @scr_map_keys_js_order(ptr %t8) + %t10 = call double @scr_arr_len(ptr %t9) + store double 0x0000000000000000, ptr %s11 + br label %count.c0 +count.c0: + %t12 = load double, ptr %s11 + %t13 = fcmp olt double %t12, %t10 + br i1 %t13, label %count.b1, label %count.e3 +count.b1: + %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1) + %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1 + %t16 = load i64, ptr %t15 + %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data + %t18 = call ptr @scr_map_get_str_ref(ptr %t8, ptr %t14) + %t19 = call ptr @sc_td_0(ptr %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t19) + call void @scr_str_release(ptr %t18) + call void @scr_str_release(ptr %t14) + br label %count.n2 +count.n2: + %t20 = fadd double %t12, 0x3FF0000000000000 + store double %t20, ptr %s11 + br label %count.c0 +count.e3: + call void @scr_arr_release(ptr %t9) + call ptr @scr_dyn_mark_snapshot(ptr %t0) + ret ptr %t0 +} + +define internal zeroext i1 @sc_dm_7(ptr %d) #0 { ; matches httpRes +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1975741313327935, i64 7) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_7(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 9 + br i1 %t8, label %dm.handle4, label %dm.handle.no5 +dm.handle4: + %t9 = getelementptr inbounds i8, ptr %d, i64 24 ; ->v.handle.tag + %t10 = load i32, ptr %t9 + %t11 = icmp eq i32 %t10, 1 + ret i1 %t11 +dm.handle.no5: + ret i1 false +} + +define internal ptr @sc_dc_14(ptr %d, ptr %path) #0 { ; check union:u3 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_498395081877643, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_7(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_11(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr @sc_unit_0 +dcu.n5: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_498395081877643, i64 8) + %t10 = icmp ne ptr %t9, null + %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t12 = call ptr @sc_dc_14(ptr %t11, ptr %path) + call void @scr_dyn_release_v(ptr %t11) + %t13 = icmp ne ptr %t12, null + br i1 %t13, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t9) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t10, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t16 = load i32, ptr %t14 ; tag + %t17 = load i32, ptr %t15 + store i32 %t17, ptr %t14 + store i32 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2 + %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2 + %t20 = load ptr, ptr %t18 ; retain + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3 + %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3 + %t24 = load ptr, ptr %t22 ; release + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4 + %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4 + %t28 = load ptr, ptr %t26 ; trace + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5 + %t32 = load i64, ptr %t30 ; slot + %t33 = load i64, ptr %t31 + store i64 %t33, ptr %t30 + store i64 %t32, ptr %t31 + call void @scr_union_release(ptr %t12) + ret ptr %t9 +dcu.put13: + store i8 1, ptr @sc_retype_guard_0 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_498395081877643, i64 8, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false) + ret ptr %t12 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2940485024011043, ptr %d) + ret ptr null +} + +define internal zeroext i1 @sc_dm_8(ptr %d) #0 { ; matches httpReq +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_599526513062751, i64 7) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_8(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 9 + br i1 %t8, label %dm.handle4, label %dm.handle.no5 +dm.handle4: + %t9 = getelementptr inbounds i8, ptr %d, i64 24 ; ->v.handle.tag + %t10 = load i32, ptr %t9 + %t11 = icmp eq i32 %t10, 0 + ret i1 %t11 +dm.handle.no5: + ret i1 false +} + +define internal ptr @sc_dc_16(ptr %d, ptr %path) #0 { ; check httpReq +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_599526513062751, i64 7) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_599526513062751, i64 7) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_16(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_599526513062751, i64 7, ptr %t8, ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, i1 false) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call ptr @scr_dyn_handle_unbox(ptr %d, i32 0, ptr %path, ptr @sc_cs_3187356258740123) + ret ptr %t10 +} + +define internal ptr @sc_dc_15(ptr %d, ptr %path) #0 { ; check union:u8 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_432476671481835, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_8(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_16(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr @sc_unit_1 +dcu.n5: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_432476671481835, i64 8) + %t10 = icmp ne ptr %t9, null + %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t12 = call ptr @sc_dc_15(ptr %t11, ptr %path) + call void @scr_dyn_release_v(ptr %t11) + %t13 = icmp ne ptr %t12, null + br i1 %t13, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t9) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t10, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t16 = load i32, ptr %t14 ; tag + %t17 = load i32, ptr %t15 + store i32 %t17, ptr %t14 + store i32 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2 + %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2 + %t20 = load ptr, ptr %t18 ; retain + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3 + %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3 + %t24 = load ptr, ptr %t22 ; release + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4 + %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4 + %t28 = load ptr, ptr %t26 ; trace + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5 + %t32 = load i64, ptr %t30 ; slot + %t33 = load i64, ptr %t31 + store i64 %t33, ptr %t30 + store i64 %t32, ptr %t31 + call void @scr_union_release(ptr %t12) + ret ptr %t9 +dcu.put13: + store i8 1, ptr @sc_retype_guard_1 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_432476671481835, i64 8, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false) + ret ptr %t12 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1163958522919087, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_17(ptr %d, ptr %path) #0 { ; check record:r3 +entry: + %dcp = alloca %ScrDynPath + %s26 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4113144339560478, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4113144339560478, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_17(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r3(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r3, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r3, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; [key: string] overflow + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r3(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4113144339560478, i64 9, ptr %t8, ptr @sc_rretain_r3, ptr @sc_rrelease_r3, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + br i1 %t16, label %dcr.k10, label %dcr.f11 +dcr.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.k10: + %r0 = call ptr @sc_rnew_r3() + %t17 = getelementptr inbounds %sc_rs_r3, ptr %r0, i64 0, i32 1 + %t18 = load ptr, ptr %t17 ; overflow map + %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto + %t20 = load i8, ptr %t19 + %t21 = getelementptr inbounds i8, ptr %t18, i64 11 + store i8 %t20, ptr %t21 + %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t23 = load i64, ptr %t22 + %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t25 = load ptr, ptr %t24 + store i64 0, ptr %s26 + br label %dcv.c12 +dcv.c12: + %t27 = load i64, ptr %s26 + %t28 = icmp ult i64 %t27, %t23 + br i1 %t28, label %dcv.b13, label %dcv.e15 +dcv.b13: + %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry) + %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds i8, ptr %t30, i64 8 + %t33 = load i64, ptr %t32 + %t34 = getelementptr inbounds i8, ptr %t30, i64 16 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t36 + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t38 + %t39 = call ptr @sc_dc_1(ptr %t35, ptr %dcp) + %t40.cell = load ptr, ptr @scr_exc_active + %t40.kind = load i32, ptr %t40.cell + %t40 = icmp ne i32 %t40.kind, 0 + br i1 %t40, label %dcv.u16, label %dcv.k17 +dcv.u16: + call void @sc_rrelease_r3(ptr %r0) + ret ptr null +dcv.k17: + %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33) + call void @scr_map_set_str_ref(ptr %t18, ptr %t41, ptr %t39) ; v moves in + call void @scr_str_release(ptr %t41) + br label %dcv.n14 +dcv.n14: + %t42 = add i64 %t27, 1 + store i64 %t42, ptr %s26 + br label %dcv.c12 +dcv.e15: + ret ptr %r0 +} + +define internal zeroext i1 @sc_dm_9(ptr %d) #0 { ; matches array +entry: + %s13 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_391578306055374, i64 13) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_9(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 4 + br i1 %t8, label %dm.a5, label %dm.f4 +dm.a5: + %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t10 = load i64, ptr %t9 + %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t12 = load ptr, ptr %t11 + store i64 0, ptr %s13 + br label %dm.el.c6 +dm.el.c6: + %t14 = load i64, ptr %s13 + %t15 = icmp ult i64 %t14, %t10 + br i1 %t15, label %dm.el.b7, label %dm.el.e9 +dm.el.b7: + %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14) + br i1 %t16, label %dm.present10, label %dm.hole11 +dm.hole11: + br label %dm.el.n8 +dm.present10: + %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14 + %t18 = load ptr, ptr %t17 + %t19 = call zeroext i1 @sc_dm_6(ptr %t18) + br i1 %t19, label %dm.eo12, label %dm.f4 +dm.eo12: + br label %dm.el.n8 +dm.el.n8: + %t20 = add i64 %t14, 1 + store i64 %t20, ptr %s13 + br label %dm.el.c6 +dm.el.e9: + ret i1 true +dm.f4: + ret i1 false +} + +define internal ptr @sc_dc_18(ptr %d, ptr %path) #0 { ; check union:u9 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3630455646248203, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_9(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_1(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_18(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_604520491832555, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_19(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1394349160211144, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1394349160211144, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_19(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1394349160211144, i64 10, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new(i32 0, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call double @sc_dc_2(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_f64(ptr %t35, double %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_dc_21(ptr %d, ptr %path) #0 { ; check object:%m4.UploadedFile +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_4408523527888294 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4408523527888294, i64 23) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4408523527888294, i64 23) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_21(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4408523527888294, i64 23, ptr %t18, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1506316332237548, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_20(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_359158576128586, i64 30) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_359158576128586, i64 30) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_20(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_359158576128586, i64 30, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_21(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_td_10(ptr %v) #0 { ; to-dyn httpReq +entry: + %t0 = call ptr @scr_dyn_new_handle(ptr %v, i32 0) + ret ptr %t0 +} + +define internal ptr @sc_td_9(ptr %v) #0 { ; to-dyn union:u8 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_td_10(ptr %t3) ; httpReq + ret ptr %t4 +tdu.a2: + %t5 = call ptr @scr_dyn_new_null() + ret ptr %t5 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_td_12(ptr %v) #0 { ; to-dyn array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %v) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %v, double %t3) + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %tda.hole5, label %tda.present6 +tda.hole5: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %tda.done8 +tda.present6: + %t6 = fcmp oeq double %t5, 2.0 + br i1 %t6, label %tda.undefined4, label %tda.value7 +tda.undefined4: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %tda.done8 +tda.value7: + %t10 = call ptr @scr_arr_get_ref(ptr %v, double %t3) ; +1 + %t11 = call ptr @sc_td_0(ptr %t10) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @scr_str_release(ptr %t10) + br label %tda.done8 +tda.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %v, ptr %t0) + call ptr @scr_dyn_mark_snapshot(ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_td_11(ptr %v) #0 { ; to-dyn record:r3 +entry: + %s11 = alloca double + %t1 = getelementptr inbounds %sc_rs_r3, ptr %v, i64 0, i32 1 + %t2 = load ptr, ptr %t1 ; overflow map + %t3 = getelementptr inbounds i8, ptr %t2, i64 11 + %t4 = load i8, ptr %t3 + %t5 = icmp ne i8 %t4, 0 + %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj + %t0 = call ptr %t6() + %t7 = getelementptr inbounds %sc_rs_r3, ptr %v, i64 0, i32 1 + %t8 = load ptr, ptr %t7 ; overflow map + %t9 = call ptr @scr_map_keys_js_order(ptr %t8) + %t10 = call double @scr_arr_len(ptr %t9) + store double 0x0000000000000000, ptr %s11 + br label %count.c0 +count.c0: + %t12 = load double, ptr %s11 + %t13 = fcmp olt double %t12, %t10 + br i1 %t13, label %count.b1, label %count.e3 +count.b1: + %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1) + %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1 + %t16 = load i64, ptr %t15 + %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data + %t18 = call ptr @scr_map_get_str_ref(ptr %t8, ptr %t14) + %t19 = call ptr @sc_td_12(ptr %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t19) + call void @scr_arr_release(ptr %t18) + call void @scr_str_release(ptr %t14) + br label %count.n2 +count.n2: + %t20 = fadd double %t12, 0x3FF0000000000000 + store double %t20, ptr %s11 + br label %count.c0 +count.e3: + call void @scr_arr_release(ptr %t9) + call ptr @scr_dyn_mark_snapshot(ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_dc_22(ptr %d, ptr %path) #0 { ; check union:u2 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3779007912036835, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_6(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_0(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_22(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2963203079617577, ptr %d) + ret ptr null +} + +define internal zeroext i1 @sc_dm_10(ptr %d) #0 { ; matches bytes +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_890094799952442, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_10(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @scr_dyn_bytes_is(ptr %d, i32 0) + ret i1 %t6 +} + +define internal ptr @sc_dc_23(ptr %d, ptr %path) #0 { ; check union:u1 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3177974258746099, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_10(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_12(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr @sc_unit_2 +dcu.n5: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3177974258746099, i64 8) + %t10 = icmp ne ptr %t9, null + %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t12 = call ptr @sc_dc_23(ptr %t11, ptr %path) + call void @scr_dyn_release_v(ptr %t11) + %t13 = icmp ne ptr %t12, null + br i1 %t13, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t9) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t10, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t16 = load i32, ptr %t14 ; tag + %t17 = load i32, ptr %t15 + store i32 %t17, ptr %t14 + store i32 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2 + %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2 + %t20 = load ptr, ptr %t18 ; retain + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3 + %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3 + %t24 = load ptr, ptr %t22 ; release + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4 + %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4 + %t28 = load ptr, ptr %t26 ; trace + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5 + %t32 = load i64, ptr %t30 ; slot + %t33 = load i64, ptr %t31 + store i64 %t33, ptr %t30 + store i64 %t32, ptr %t31 + call void @scr_union_release(ptr %t12) + ret ptr %t9 +dcu.put13: + store i8 1, ptr @sc_retype_guard_2 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3177974258746099, i64 8, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false) + ret ptr %t12 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_123840256131120, ptr %d) + ret ptr null +} + +define internal ptr @sc_td_13(ptr %v) #0 { ; to-dyn union:u2 +entry: + %t1 = icmp eq ptr %v, null + %t0 = select i1 %t1, i32 0, i32 1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = call ptr @scr_dyn_new_null() + ret ptr %t2 +tdu.a2: + %t3 = call ptr @sc_td_0(ptr %v) ; string + ret ptr %t3 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal zeroext i1 @sc_dm_11(ptr %d) #0 { ; matches object:%m4.UploadedFile +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4408523527888294, i64 23) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_11(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + ret i1 false +} + +define internal ptr @sc_dc_24(ptr %d, ptr %path) #0 { ; check object:%m4.MultipartStorage +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3635319175845957 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3635319175845957, i64 27) + %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3456310594719780, i64 24) + %t12 = or i1 %t10, %t11 + %t13 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2020403498516894, i64 22) + %t14 = or i1 %t12, %t13 + br i1 %t14, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t15 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t15 +dc.nt5: + %t16 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 12 + br i1 %t18, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t19 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3635319175845957, i64 27) + %t20 = icmp ne ptr %t19, null + br i1 %t20, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t19 +dc.tr.mat9: + %t21 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t22 = call ptr @sc_dc_24(ptr %t21, ptr %path) + call void @scr_dyn_release_v(ptr %t21) + %t23 = icmp ne ptr %t22, null + br i1 %t23, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3635319175845957, i64 27, ptr %t22, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t22 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_732719066880106, ptr %d) + ret ptr null +} + +define internal zeroext i1 @sc_dm_12(ptr %d) #0 { ; matches object:%m4.MultipartFileSink +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2072202777142634, i64 28) + %t1 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3728566007289652, i64 25) + %t2 = or i1 %t0, %t1 + %t3 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3573893819363590, i64 23) + %t4 = or i1 %t2, %t3 + br i1 %t4, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call zeroext i1 @sc_dm_12(ptr %t8) + call void @scr_dyn_release_v(ptr %t8) + ret i1 %t9 +dm.tr.plain3: + ret i1 false +} + +define internal ptr @sc_dc_26(ptr %d, ptr %path) #0 { ; check object:%m4.MultipartFileSink +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2072202777142634 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2072202777142634, i64 28) + %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3728566007289652, i64 25) + %t12 = or i1 %t10, %t11 + %t13 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3573893819363590, i64 23) + %t14 = or i1 %t12, %t13 + br i1 %t14, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t15 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t15 +dc.nt5: + %t16 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 12 + br i1 %t18, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t19 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2072202777142634, i64 28) + %t20 = icmp ne ptr %t19, null + br i1 %t20, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t19 +dc.tr.mat9: + %t21 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t22 = call ptr @sc_dc_26(ptr %t21, ptr %path) + call void @scr_dyn_release_v(ptr %t21) + %t23 = icmp ne ptr %t22, null + br i1 %t23, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2072202777142634, i64 28, ptr %t22, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t22 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_66701276742327, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_25(ptr %d, ptr %path) #0 { ; check union:u7 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1025932502227499, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_12(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_26(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_25(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2768938828382994, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_27(ptr %d, ptr %path) #0 { ; check array> +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_944430815723409, i64 16) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_944430815723409, i64 16) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_27(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_944430815723409, i64 16, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new(i32 4, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_12(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_dc_28(ptr %d, ptr %path) #0 { ; check object:%m5.ReqViewCore +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_660811353369478 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_660811353369478, i64 22) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_660811353369478, i64 22) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_28(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_660811353369478, i64 22, ptr %t18, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3755338419287822, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_29(ptr %d, ptr %path) #0 { ; check object:%m2.ResponseSink +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_629517122853751 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_629517122853751, i64 23) + %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3326437563644705, i64 27) + %t12 = or i1 %t10, %t11 + %t13 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2434838942941195, i64 28) + %t14 = or i1 %t12, %t13 + %t15 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4074974279575818, i64 23) + %t16 = or i1 %t14, %t15 + br i1 %t16, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t17 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t17 +dc.nt5: + %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 12 + br i1 %t20, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t21 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_629517122853751, i64 23) + %t22 = icmp ne ptr %t21, null + br i1 %t22, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t21 +dc.tr.mat9: + %t23 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t24 = call ptr @sc_dc_29(ptr %t23, ptr %path) + call void @scr_dyn_release_v(ptr %t23) + %t25 = icmp ne ptr %t24, null + br i1 %t25, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_629517122853751, i64 23, ptr %t24, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t24 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2615525442307220, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_30(ptr %d, ptr %path) #0 { ; check object:%m5.CtxResCore +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_1746033898805369 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1746033898805369, i64 21) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1746033898805369, i64 21) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_30(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1746033898805369, i64 21, ptr %t18, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3109582547850563, ptr %d) + ret ptr null +} + +define internal ptr @sc_td_14(ptr %v) #0 { ; to-dyn union:u3 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_td_7(ptr %t3) ; httpRes + ret ptr %t4 +tdu.a2: + %t5 = call ptr @scr_dyn_new_null() + ret ptr %t5 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_td_15(ptr %v) #0 { ; to-dyn object:%m5.MethodNotAllowedError +entry: + %t0 = call ptr @scr_dyn_from_error(ptr %v) + ret ptr %t0 +} + +@sc_rnames_2 = internal constant [5 x ptr] [ptr @sc_cs_4121162754829271, ptr @sc_cs_196246007442230, ptr @sc_cs_291439443305035, ptr @sc_cs_3240132313272141, ptr @sc_cs_1774234212108265] +@sc_rnames_2_lens = internal constant [5 x i64] [i64 3, i64 4, i64 8, i64 2, i64 2] + +define internal ptr @sc_dc_32(ptr %d, ptr %path) #0 { ; check record:r5 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1186397750780220, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1186397750780220, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_32(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r5(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; children + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; hf + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + %t18 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 3 + %t19 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 3 + %t20 = load ptr, ptr %t18 ; hm + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 4 + %t23 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 4 + %t24 = load double, ptr %t22 ; kind + %t25 = load double, ptr %t23 + store double %t25, ptr %t22 + store double %t24, ptr %t23 + %t26 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 5 + %t27 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 5 + %t28 = load ptr, ptr %t26 ; seg + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + call void @sc_rrelease_r5(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1186397750780220, i64 9, ptr %t8, ptr @sc_rretain_r5, ptr @sc_rrelease_r5, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 5 + %t33 = icmp eq i32 %t31, 13 + %t34 = or i1 %t32, %t33 + br i1 %t34, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r5() + %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_291439443305035, i64 8) + %t36.cell = load ptr, ptr @scr_exc_active + %t36.kind = load i32, ptr %t36.cell + %t36 = icmp ne i32 %t36.kind, 0 + br i1 %t36, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t35) + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.read.k13: + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_291439443305035, ptr %t38 + %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t39 + %t40 = call ptr @sc_dc_19(ptr %t35, ptr %dcp) + call void @scr_dyn_release(ptr %t35) + %t41 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 1 ; .children + store ptr %t40, ptr %t41 + %t42.cell = load ptr, ptr @scr_exc_active + %t42.kind = load i32, ptr %t42.cell + %t42 = icmp ne i32 %t42.kind, 0 + br i1 %t42, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.k15: + %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1774234212108265, i64 2) + %t44.cell = load ptr, ptr @scr_exc_active + %t44.kind = load i32, ptr %t44.cell + %t44 = icmp ne i32 %t44.kind, 0 + br i1 %t44, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t43) + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.read.k17: + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_1774234212108265, ptr %t46 + %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t47 + %t48 = call ptr @sc_dc_19(ptr %t43, ptr %dcp) + call void @scr_dyn_release(ptr %t43) + %t49 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 2 ; .hf + store ptr %t48, ptr %t49 + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.k19: + %t51 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3240132313272141, i64 2) + %t52.cell = load ptr, ptr @scr_exc_active + %t52.kind = load i32, ptr %t52.cell + %t52 = icmp ne i32 %t52.kind, 0 + br i1 %t52, label %dcr.read.u20, label %dcr.read.k21 +dcr.read.u20: + call void @scr_dyn_release(ptr %t51) + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.read.k21: + %t53 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t53 + %t54 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_3240132313272141, ptr %t54 + %t55 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t55 + %t56 = call ptr @sc_dc_1(ptr %t51, ptr %dcp) + call void @scr_dyn_release(ptr %t51) + %t57 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 3 ; .hm + store ptr %t56, ptr %t57 + %t58.cell = load ptr, ptr @scr_exc_active + %t58.kind = load i32, ptr %t58.cell + %t58 = icmp ne i32 %t58.kind, 0 + br i1 %t58, label %dcr.u22, label %dcr.k23 +dcr.u22: + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.k23: + %t59 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_196246007442230, i64 4) + %t60.cell = load ptr, ptr @scr_exc_active + %t60.kind = load i32, ptr %t60.cell + %t60 = icmp ne i32 %t60.kind, 0 + br i1 %t60, label %dcr.read.u24, label %dcr.read.k25 +dcr.read.u24: + call void @scr_dyn_release(ptr %t59) + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.read.k25: + %t61 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t61 + %t62 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_196246007442230, ptr %t62 + %t63 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t63 + %t64 = call double @sc_dc_2(ptr %t59, ptr %dcp) + call void @scr_dyn_release(ptr %t59) + %t65 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 4 ; .kind + store double %t64, ptr %t65 + %t66.cell = load ptr, ptr @scr_exc_active + %t66.kind = load i32, ptr %t66.cell + %t66 = icmp ne i32 %t66.kind, 0 + br i1 %t66, label %dcr.u26, label %dcr.k27 +dcr.u26: + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.k27: + %t67 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4121162754829271, i64 3) + %t68.cell = load ptr, ptr @scr_exc_active + %t68.kind = load i32, ptr %t68.cell + %t68 = icmp ne i32 %t68.kind, 0 + br i1 %t68, label %dcr.read.u28, label %dcr.read.k29 +dcr.read.u28: + call void @scr_dyn_release(ptr %t67) + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.read.k29: + %t69 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t69 + %t70 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_4121162754829271, ptr %t70 + %t71 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t71 + %t72 = call ptr @sc_dc_0(ptr %t67, ptr %dcp) + call void @scr_dyn_release(ptr %t67) + %t73 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 5 ; .seg + store ptr %t72, ptr %t73 + %t74.cell = load ptr, ptr @scr_exc_active + %t74.kind = load i32, ptr %t74.cell + %t74 = icmp ne i32 %t74.kind, 0 + br i1 %t74, label %dcr.u30, label %dcr.k31 +dcr.u30: + call void @sc_rrelease_r5(ptr %r0) + ret ptr null +dcr.k31: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_2, ptr @sc_rnames_2_lens, i64 5) + ret ptr %r0 +} + +define internal ptr @sc_dc_31(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4447116402536209, i64 16) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4447116402536209, i64 16) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_31(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4447116402536209, i64 16, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r5.sc_rrelease_r5.null, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_32(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_td_16(ptr %v) #0 { ; to-dyn object:%m5.CtxCore +entry: + %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + ret ptr %t0 +} + +define internal ptr @sc_dfk_2(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>dyn +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + ret ptr %t2 +} + +define internal ptr @sc_dfb_2(ptr %v, ptr %fname) #0 { ; box func()=>dyn into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_2, i32 0, ptr @sc_cs_1333419199285231, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfa_2(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(object:%m5.CtxCore,func()=>dyn)=>dyn +entry: + %s3 = alloca [2 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_16(ptr %a0) + %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @sc_release__x25_m5_CtxCore(ptr %a0) + %t6 = call ptr @sc_dfb_2(ptr %a1, ptr null) + %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1 + store ptr %t6, ptr %t7 + call void @scr_closure_release(ptr %a1) + %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + call void @scr_dyn_release(ptr %t6) + %t9.cell = load ptr, ptr @scr_exc_active + %t9.kind = load i32, ptr %t9.cell + %t9 = icmp ne i32 %t9.kind, 0 + br i1 %t9, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret ptr null +dfa.k1: + ret ptr %t8 +} + +define internal ptr @sc_dc_34(ptr %d, ptr %path) #0 { ; check func(object:%m5.CtxCore,func()=>dyn)=>dyn +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2955110042506774, i64 41) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2955110042506774, i64 41) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_34(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2955110042506774, i64 41, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_2955110042506774) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_2, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_dc_33(ptr %d, ptr %path) #0 { ; check arraydyn)=>dyn> +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_623184722659282, i64 48) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_623184722659282, i64 48) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_33(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_623184722659282, i64 48, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_34(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_dfa_3(ptr %sc_env, ptr %a0) #0 { ; dyn fn adapter to func(object:%m5.CtxCore)=>dyn +entry: + %s3 = alloca [1 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_16(ptr %a0) + %t5 = getelementptr inbounds [1 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @sc_release__x25_m5_CtxCore(ptr %a0) + %t6 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 1, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + %t7.cell = load ptr, ptr @scr_exc_active + %t7.kind = load i32, ptr %t7.cell + %t7 = icmp ne i32 %t7.kind, 0 + br i1 %t7, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret ptr null +dfa.k1: + ret ptr %t6 +} + +define internal ptr @sc_dc_36(ptr %d, ptr %path) #0 { ; check func(object:%m5.CtxCore)=>dyn +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_808362516667040, i64 29) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_808362516667040, i64 29) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_36(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_808362516667040, i64 29, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_808362516667040) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_3, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_dc_35(ptr %d, ptr %path) #0 { ; check arraydyn> +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1913588278853018, i64 36) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1913588278853018, i64 36) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_35(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1913588278853018, i64 36, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_36(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_dc_37(ptr %d, ptr %path) #0 { ; check arraydyn)=>dyn>> +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3192918191117730, i64 55) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3192918191117730, i64 55) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_37(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3192918191117730, i64 55, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_arr_retain_v.scr_arr_release_v.scr_arr_trace_v, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_33(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal zeroext i1 @sc_dm_13(ptr %d) #0 { ; matches func(dyn,object:%m5.CtxCore)=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_727563387933933, i64 34) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_13(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + ret i1 %t6 +} + +define internal void @sc_dfa_4(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(dyn,object:%m5.CtxCore)=>void +entry: + %s3 = alloca [2 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @scr_dyn_retain_v(ptr %a0) + %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @sc_rc_release_dyn(ptr %a0) + %t6 = call ptr @sc_td_16(ptr %a1) + %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1 + store ptr %t6, ptr %t7 + call void @sc_release__x25_m5_CtxCore(ptr %a1) + %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + call void @scr_dyn_release(ptr %t6) + %t9.cell = load ptr, ptr @scr_exc_active + %t9.kind = load i32, ptr %t9.cell + %t9 = icmp ne i32 %t9.kind, 0 + br i1 %t9, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret void +dfa.k1: + call void @scr_dyn_release(ptr %t8) + ret void +} + +define internal ptr @sc_dc_39(ptr %d, ptr %path) #0 { ; check func(dyn,object:%m5.CtxCore)=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_727563387933933, i64 34) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_727563387933933, i64 34) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_39(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_727563387933933, i64 34, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_727563387933933) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_4, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_dc_38(ptr %d, ptr %path) #0 { ; check union:u17 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1735677603229141, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_13(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_39(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr @sc_unit_4 +dcu.n5: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1735677603229141, i64 9) + %t10 = icmp ne ptr %t9, null + %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t12 = call ptr @sc_dc_38(ptr %t11, ptr %path) + call void @scr_dyn_release_v(ptr %t11) + %t13 = icmp ne ptr %t12, null + br i1 %t13, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t9) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t10, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t16 = load i32, ptr %t14 ; tag + %t17 = load i32, ptr %t15 + store i32 %t17, ptr %t14 + store i32 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2 + %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2 + %t20 = load ptr, ptr %t18 ; retain + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3 + %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3 + %t24 = load ptr, ptr %t22 ; release + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4 + %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4 + %t28 = load ptr, ptr %t26 ; trace + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5 + %t32 = load i64, ptr %t30 ; slot + %t33 = load i64, ptr %t31 + store i64 %t33, ptr %t30 + store i64 %t32, ptr %t31 + call void @scr_union_release(ptr %t12) + ret ptr %t9 +dcu.put13: + store i8 1, ptr @sc_retype_guard_3 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1735677603229141, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 true) + ret ptr %t12 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_186414858701681, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_40(ptr %d, ptr %path) #0 { ; check array> +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2337619831431474, i64 20) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2337619831431474, i64 20) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_40(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2337619831431474, i64 20, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new(i32 3, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_1(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_dc_41(ptr %d, ptr %path) #0 { ; check array> +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2888908392807325, i64 17) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2888908392807325, i64 17) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_41(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2888908392807325, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new(i32 3, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_19(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_dc_43(ptr %d, ptr %path) #0 { ; check object:%m5.MpCfg +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_4336131790391205 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4336131790391205, i64 16) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4336131790391205, i64 16) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_43(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4336131790391205, i64 16, ptr %t18, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1133834010774452, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_42(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_125327543764853, i64 23) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_125327543764853, i64 23) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_42(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_125327543764853, i64 23, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_retain__x25_m5_MpCfg.sc_release__x25_m5_MpCfg.sc_trace__x25_m5_MpCfg, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_43(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal zeroext i1 @sc_dfa_5(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(httpReq,httpRes)=>bool +entry: + %s3 = alloca [2 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_10(ptr %a0) + %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @scr_http_req_release(ptr %a0) + %t6 = call ptr @sc_td_7(ptr %a1) + %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1 + store ptr %t6, ptr %t7 + call void @scr_http_res_release(ptr %a1) + %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + call void @scr_dyn_release(ptr %t6) + %t9.cell = load ptr, ptr @scr_exc_active + %t9.kind = load i32, ptr %t9.cell + %t9 = icmp ne i32 %t9.kind, 0 + br i1 %t9, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret i1 false +dfa.k1: + %t10 = call i1 @sc_dc_3(ptr %t8, ptr null) + call void @scr_dyn_release(ptr %t8) + ret i1 %t10 +} + +define internal ptr @sc_dc_44(ptr %d, ptr %path) #0 { ; check func(httpReq,httpRes)=>bool +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4045032624819002, i64 27) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4045032624819002, i64 27) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_44(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4045032624819002, i64 27, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_4045032624819002) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_5, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_td_17(ptr %v) #0 { ; to-dyn union:u0 +entry: + %t1 = icmp eq ptr %v, null + %t0 = select i1 %t1, i32 0, i32 1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = call ptr @scr_dyn_new_null() + ret ptr %t2 +tdu.a2: + %t3 = call ptr @sc_td_8(ptr %v) ; record + ret ptr %t3 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_td_18(ptr %v) #0 { ; to-dyn union:u1 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_td_1(ptr %t3) ; bytes + ret ptr %t4 +tdu.a2: + %t5 = call ptr @scr_dyn_new_null() + ret ptr %t5 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_td_19(ptr %v) #0 { ; to-dyn object:%m2.FetchResponseSink +entry: + %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + ret ptr %t0 +} + +define internal ptr @sc_dc_46(ptr %d, ptr %path) #0 { ; check promise +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4366892077034776, i64 13) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4366892077034776, i64 13) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_46(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4366892077034776, i64 13, ptr %t8, ptr @scr_promise_retain_v, ptr @scr_promise_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 10 + br i1 %t12, label %dc.k8, label %dc.f9 +dc.f9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544024079890110, ptr %d) + ret ptr null +dc.k8: + %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_promise_new() + call void @scr_promise_share_identity(ptr %t15, ptr %t14) + call void @scr_promise_race_add(ptr %t15, ptr %t14, ptr @sc_dpa_0) + ret ptr %t15 +} + +define internal ptr @sc_dfa_6(ptr %sc_env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; dyn fn adapter to func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise +entry: + %s3 = alloca [7 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_0(ptr %a0) + %t5 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @scr_str_release(ptr %a0) + %t6 = call ptr @sc_td_0(ptr %a1) + %t7 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 1 + store ptr %t6, ptr %t7 + call void @scr_str_release(ptr %a1) + %t8 = call ptr @sc_td_17(ptr %a2) + %t9 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 2 + store ptr %t8, ptr %t9 + call void @sc_rrelease_r0(ptr %a2) + %t10 = call ptr @scr_dyn_retain_v(ptr %a3) + %t11 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 3 + store ptr %t10, ptr %t11 + call void @sc_rc_release_dyn(ptr %a3) + %t12 = call ptr @sc_td_0(ptr %a4) + %t13 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 4 + store ptr %t12, ptr %t13 + call void @scr_str_release(ptr %a4) + %t14 = call ptr @sc_td_18(ptr %a5) + %t15 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 5 + store ptr %t14, ptr %t15 + call void @scr_union_release(ptr %a5) + %t16 = call ptr @sc_td_19(ptr %a6) + %t17 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 6 + store ptr %t16, ptr %t17 + call void @sc_release__x25_m2_FetchResponseSink(ptr %a6) + %t18 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 7, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + call void @scr_dyn_release(ptr %t6) + call void @scr_dyn_release(ptr %t8) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t12) + call void @scr_dyn_release(ptr %t14) + call void @scr_dyn_release(ptr %t16) + %t19.cell = load ptr, ptr @scr_exc_active + %t19.kind = load i32, ptr %t19.cell + %t19 = icmp ne i32 %t19.kind, 0 + br i1 %t19, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret ptr null +dfa.k1: + %t20 = call ptr @sc_dc_46(ptr %t18, ptr null) + call void @scr_dyn_release(ptr %t18) + ret ptr %t20 +} + +define internal ptr @sc_dc_45(ptr %d, ptr %path) #0 { ; check func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1337005955311507, i64 92) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1337005955311507, i64 92) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_45(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1337005955311507, i64 92, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_1337005955311507) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_6, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_td_20(ptr %v) #0 { ; to-dyn netSocket +entry: + %t0 = call ptr @scr_dyn_new_handle(ptr %v, i32 2) + ret ptr %t0 +} + +define internal zeroext i1 @sc_dfa_7(ptr %sc_env, ptr %a0, ptr %a1, ptr %a2) #0 { ; dyn fn adapter to func(httpReq,netSocket,bytes)=>bool +entry: + %s3 = alloca [3 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_10(ptr %a0) + %t5 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @scr_http_req_release(ptr %a0) + %t6 = call ptr @sc_td_20(ptr %a1) + %t7 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 1 + store ptr %t6, ptr %t7 + call void @scr_net_sock_release(ptr %a1) + %t8 = call ptr @sc_td_1(ptr %a2) + %t9 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 2 + store ptr %t8, ptr %t9 + call void @scr_bytes_release(ptr %a2) + %t10 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 3, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + call void @scr_dyn_release(ptr %t6) + call void @scr_dyn_release(ptr %t8) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret i1 false +dfa.k1: + %t12 = call i1 @sc_dc_3(ptr %t10, ptr null) + call void @scr_dyn_release(ptr %t10) + ret i1 %t12 +} + +define internal ptr @sc_dc_47(ptr %d, ptr %path) #0 { ; check func(httpReq,netSocket,bytes)=>bool +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1343665872547170, i64 39) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1343665872547170, i64 39) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_47(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1343665872547170, i64 39, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_1343665872547170) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_7, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal zeroext i1 @sc_dm_15(ptr %d) #0 { ; matches array +entry: + %s13 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1394349160211144, i64 10) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_15(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 4 + br i1 %t8, label %dm.a5, label %dm.f4 +dm.a5: + %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t10 = load i64, ptr %t9 + %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t12 = load ptr, ptr %t11 + store i64 0, ptr %s13 + br label %dm.el.c6 +dm.el.c6: + %t14 = load i64, ptr %s13 + %t15 = icmp ult i64 %t14, %t10 + br i1 %t15, label %dm.el.b7, label %dm.el.e9 +dm.el.b7: + %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14) + br i1 %t16, label %dm.present10, label %dm.hole11 +dm.hole11: + br label %dm.el.n8 +dm.present10: + %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14 + %t18 = load ptr, ptr %t17 + %t19 = call zeroext i1 @sc_dm_2(ptr %t18) + br i1 %t19, label %dm.eo12, label %dm.f4 +dm.eo12: + br label %dm.el.n8 +dm.el.n8: + %t20 = add i64 %t14, 1 + store i64 %t20, ptr %s13 + br label %dm.el.c6 +dm.el.e9: + ret i1 true +dm.f4: + ret i1 false +} + +define internal zeroext i1 @sc_dm_14(ptr %d) #0 { ; matches record:r5 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1186397750780220, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_14(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_291439443305035, i64 8) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_15(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1774234212108265, i64 2) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dm.read.u10, label %dm.read.k11 +dm.read.u10: + call void @scr_dyn_release(ptr %t14) + ret i1 false +dm.read.k11: + %t16 = call zeroext i1 @sc_dm_15(ptr %t14) + call void @scr_dyn_release(ptr %t14) + br i1 %t16, label %dm.n9, label %dm.f4 +dm.n9: + %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3240132313272141, i64 2) + %t18.cell = load ptr, ptr @scr_exc_active + %t18.kind = load i32, ptr %t18.cell + %t18 = icmp ne i32 %t18.kind, 0 + br i1 %t18, label %dm.read.u13, label %dm.read.k14 +dm.read.u13: + call void @scr_dyn_release(ptr %t17) + ret i1 false +dm.read.k14: + %t19 = call zeroext i1 @sc_dm_9(ptr %t17) + call void @scr_dyn_release(ptr %t17) + br i1 %t19, label %dm.n12, label %dm.f4 +dm.n12: + %t20 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_196246007442230, i64 4) + %t21.cell = load ptr, ptr @scr_exc_active + %t21.kind = load i32, ptr %t21.cell + %t21 = icmp ne i32 %t21.kind, 0 + br i1 %t21, label %dm.read.u16, label %dm.read.k17 +dm.read.u16: + call void @scr_dyn_release(ptr %t20) + ret i1 false +dm.read.k17: + %t22 = call zeroext i1 @sc_dm_2(ptr %t20) + call void @scr_dyn_release(ptr %t20) + br i1 %t22, label %dm.n15, label %dm.f4 +dm.n15: + %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4121162754829271, i64 3) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dm.read.u19, label %dm.read.k20 +dm.read.u19: + call void @scr_dyn_release(ptr %t23) + ret i1 false +dm.read.k20: + %t25 = call zeroext i1 @sc_dm_6(ptr %t23) + call void @scr_dyn_release(ptr %t23) + br i1 %t25, label %dm.n18, label %dm.f4 +dm.n18: + ret i1 true +dm.f4: + ret i1 false +} + +define internal ptr @sc_dc_48(ptr %d, ptr %path) #0 { ; check object:%m5.CtxCore +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2875643240706496 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2875643240706496, i64 18) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2875643240706496, i64 18) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_48(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2875643240706496, i64 18, ptr %t18, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1121367206520398, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfa_8(ptr %sc_env) #0 { ; dyn fn adapter to func()=>dyn +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t3 = call ptr @scr_dyn_call(ptr %t2, ptr null, i64 0, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + %t4.cell = load ptr, ptr @scr_exc_active + %t4.kind = load i32, ptr %t4.cell + %t4 = icmp ne i32 %t4.kind, 0 + br i1 %t4, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret ptr null +dfa.k1: + ret ptr %t3 +} + +define internal ptr @sc_dc_49(ptr %d, ptr %path) #0 { ; check func()=>dyn +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1333419199285231, i64 11) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1333419199285231, i64 11) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_49(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1333419199285231, i64 11, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_1333419199285231) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_8, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_dfk_3(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m5.CtxCore,func()=>dyn)=>dyn +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_48(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_49(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @sc_release__x25_m5_CtxCore(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + ret ptr %t26 +} + +define internal ptr @sc_dfb_3(ptr %v, ptr %fname) #0 { ; box func(object:%m5.CtxCore,func()=>dyn)=>dyn into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_3, i32 2, ptr @sc_cs_2955110042506774, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_21(ptr %v) #0 { ; to-dyn func(object:%m5.CtxCore,func()=>dyn)=>dyn +entry: + %t0 = call ptr @sc_dfb_3(ptr %v, ptr null) + ret ptr %t0 +} + +define internal zeroext i1 @sc_dm_16(ptr %d) #0 { ; matches func(object:%m5.CtxCore,func()=>dyn)=>dyn +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2955110042506774, i64 41) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_16(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + ret i1 %t6 +} + +define internal ptr @sc_dfk_4(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m5.CtxCore)=>dyn +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_48(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + ret ptr %t14 +} + +define internal ptr @sc_dfb_4(ptr %v, ptr %fname) #0 { ; box func(object:%m5.CtxCore)=>dyn into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_4, i32 1, ptr @sc_cs_808362516667040, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_22(ptr %v) #0 { ; to-dyn func(object:%m5.CtxCore)=>dyn +entry: + %t0 = call ptr @sc_dfb_4(ptr %v, ptr null) + ret ptr %t0 +} + +define internal zeroext i1 @sc_dm_17(ptr %d) #0 { ; matches func(object:%m5.CtxCore)=>dyn +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_808362516667040, i64 29) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_17(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + ret i1 %t6 +} + +define internal zeroext i1 @sc_dm_18(ptr %d) #0 { ; matches arraydyn)=>dyn> +entry: + %s13 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_623184722659282, i64 48) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_18(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 4 + br i1 %t8, label %dm.a5, label %dm.f4 +dm.a5: + %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t10 = load i64, ptr %t9 + %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t12 = load ptr, ptr %t11 + store i64 0, ptr %s13 + br label %dm.el.c6 +dm.el.c6: + %t14 = load i64, ptr %s13 + %t15 = icmp ult i64 %t14, %t10 + br i1 %t15, label %dm.el.b7, label %dm.el.e9 +dm.el.b7: + %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14) + br i1 %t16, label %dm.present10, label %dm.hole11 +dm.hole11: + br label %dm.el.n8 +dm.present10: + %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14 + %t18 = load ptr, ptr %t17 + %t19 = call zeroext i1 @sc_dm_16(ptr %t18) + br i1 %t19, label %dm.eo12, label %dm.f4 +dm.eo12: + br label %dm.el.n8 +dm.el.n8: + %t20 = add i64 %t14, 1 + store i64 %t20, ptr %s13 + br label %dm.el.c6 +dm.el.e9: + ret i1 true +dm.f4: + ret i1 false +} + +define internal ptr @sc_dfk_5(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn,object:%m5.CtxCore)=>void +entry: + %s0 = alloca ptr + %s7 = alloca ptr + %s13 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + %t8 = icmp ult i64 1, %argc + br i1 %t8, label %dfk.h3, label %dfk.m4 +dfk.h3: + %t9 = getelementptr inbounds ptr, ptr %args, i64 1 + %t10 = load ptr, ptr %t9 + store ptr %t10, ptr %s7 + br label %dfk.j5 +dfk.m4: + %t11 = call ptr @scr_dyn_undefined() + store ptr %t11, ptr %s7 + br label %dfk.j5 +dfk.j5: + %t12 = load ptr, ptr %s7 + %t14 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 0 + store ptr null, ptr %t14 + %t15 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 1 + store ptr null, ptr %t15 + %t16 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 2 + store i64 1, ptr %t16 + %t17 = call ptr @sc_dc_48(ptr %t12, ptr %s13) + %t18.cell = load ptr, ptr @scr_exc_active + %t18.kind = load i32, ptr %t18.cell + %t18 = icmp ne i32 %t18.kind, 0 + br i1 %t18, label %dfk.u6, label %dfk.k7 +dfk.u6: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +dfk.k7: + %t19 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t20 = load ptr, ptr %t19 + call void %t20(ptr %c, ptr %t6, ptr %t17) + %t21.cell = load ptr, ptr @scr_exc_active + %t21.kind = load i32, ptr %t21.cell + %t21 = icmp ne i32 %t21.kind, 0 + br i1 %t21, label %dfkr.u8, label %dfkr.k9 +dfkr.u8: + ret ptr null +dfkr.k9: + %t22 = call ptr @scr_dyn_undefined() + %t23 = call ptr @scr_dyn_retain_v(ptr %t22) + ret ptr %t23 +} + +define internal ptr @sc_dfb_5(ptr %v, ptr %fname) #0 { ; box func(dyn,object:%m5.CtxCore)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_5, i32 2, ptr @sc_cs_727563387933933, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_23(ptr %v) #0 { ; to-dyn union:u17 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_dfb_5(ptr %t3, ptr null) + ret ptr %t4 +tdu.a2: + %t5 = call ptr @scr_dyn_new_null() + ret ptr %t5 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal zeroext i1 @sc_dm_19(ptr %d) #0 { ; matches object:%m4.MultipartStorage +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3635319175845957, i64 27) + %t1 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3456310594719780, i64 24) + %t2 = or i1 %t0, %t1 + %t3 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2020403498516894, i64 22) + %t4 = or i1 %t2, %t3 + br i1 %t4, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call zeroext i1 @sc_dm_19(ptr %t8) + call void @scr_dyn_release_v(ptr %t8) + ret i1 %t9 +dm.tr.plain3: + ret i1 false +} + +define internal ptr @sc_dc_50(ptr %d, ptr %path) #0 { ; check union:u16 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2901406798989589, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_19(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_24(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_50(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3582125375999435, ptr %d) + ret ptr null +} + +define internal zeroext i1 @sc_dm_20(ptr %d) #0 { ; matches object:%m5.MpCfg +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4336131790391205, i64 16) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_20(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + ret i1 false +} + +define internal ptr @sc_dfk_6(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,httpRes)=>bool +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_11(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_http_req_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call i1 %t25(ptr %c, ptr %t10, ptr %t22) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t28 = call ptr @sc_td_3(i1 %t26) + ret ptr %t28 +} + +define internal ptr @sc_dfb_6(ptr %v, ptr %fname) #0 { ; box func(httpReq,httpRes)=>bool into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_6, i32 2, ptr @sc_cs_4045032624819002, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_24(ptr %v) #0 { ; to-dyn func(httpReq,httpRes)=>bool +entry: + %t0 = call ptr @sc_dfb_6(ptr %v, ptr null) + ret ptr %t0 +} + +define internal zeroext i1 @sc_dm_21(ptr %d) #0 { ; matches record:r0 +entry: + %s13 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_77530061052946, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_21(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + br i1 %t8, label %dm.o5, label %dm.f4 +dm.o5: + %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t10 = load i64, ptr %t9 + %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t12 = load ptr, ptr %t11 + store i64 0, ptr %s13 + br label %dm.ov.c6 +dm.ov.c6: + %t14 = load i64, ptr %s13 + %t15 = icmp ult i64 %t14, %t10 + br i1 %t15, label %dm.ov.b7, label %dm.ov.e9 +dm.ov.b7: + %t16 = mul i64 %t14, 48 ; sizeof(ScrDynEntry) + %t17 = getelementptr inbounds i8, ptr %t12, i64 %t16 + %t18 = load ptr, ptr %t17 + %t19 = getelementptr inbounds i8, ptr %t17, i64 8 + %t20 = load i64, ptr %t19 + %t21 = getelementptr inbounds i8, ptr %t17, i64 16 + %t22 = load ptr, ptr %t21 + %t23 = call zeroext i1 @sc_dm_6(ptr %t22) + br i1 %t23, label %dm.vo10, label %dm.f4 +dm.vo10: + br label %dm.ov.n8 +dm.ov.n8: + %t24 = add i64 %t14, 1 + store i64 %t24, ptr %s13 + br label %dm.ov.c6 +dm.ov.e9: + ret i1 true +dm.f4: + ret i1 false +} + +define internal ptr @sc_dc_51(ptr %d, ptr %path) #0 { ; check union:u0 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_461841367492022, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_21(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_13(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_51(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1247828793356534, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_52(ptr %d, ptr %path) #0 { ; check object:%m2.FetchResponseSink +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2434838942941195 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2434838942941195, i64 28) + %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4074974279575818, i64 23) + %t12 = or i1 %t10, %t11 + br i1 %t12, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t13 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t13 +dc.nt5: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 12 + br i1 %t16, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t17 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2434838942941195, i64 28) + %t18 = icmp ne ptr %t17, null + br i1 %t18, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t17 +dc.tr.mat9: + %t19 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t20 = call ptr @sc_dc_52(ptr %t19, ptr %path) + call void @scr_dyn_release_v(ptr %t19) + %t21 = icmp ne ptr %t20, null + br i1 %t21, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2434838942941195, i64 28, ptr %t20, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t20 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_654972114762654, ptr %d) + ret ptr null +} + +define internal void @sc_pda_0(ptr %dst, ptr %src) #0 { ; dyn-box settle adapter for promise +entry: + %t0 = call zeroext i1 @scr_promise_payload_bool(ptr %src) + %t1 = call ptr @scr_dyn_new_bool(i1 %t0) + call void @scr_promise_fulfill_ref(ptr %dst, ptr %t1, ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + ret void +} + +define internal ptr @sc_td_26(ptr %v) #0 { ; to-dyn promise +entry: + %t0 = call ptr @scr_dyn_new_promise_adapting(ptr %v, ptr @sc_pda_0) + ret ptr %t0 +} + +define internal ptr @sc_dfk_7(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %s36 = alloca ptr + %s43 = alloca ptr + %s49 = alloca %ScrDynPath + %s55 = alloca ptr + %s61 = alloca %ScrDynPath + %s67 = alloca ptr + %s73 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_51(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + ret ptr null +dfk.k14: + %t37 = icmp ult i64 3, %argc + br i1 %t37, label %dfk.h15, label %dfk.m16 +dfk.h15: + %t38 = getelementptr inbounds ptr, ptr %args, i64 3 + %t39 = load ptr, ptr %t38 + store ptr %t39, ptr %s36 + br label %dfk.j17 +dfk.m16: + %t40 = call ptr @scr_dyn_undefined() + store ptr %t40, ptr %s36 + br label %dfk.j17 +dfk.j17: + %t41 = load ptr, ptr %s36 + %t42 = call ptr @scr_dyn_retain_v(ptr %t41) + %t44 = icmp ult i64 4, %argc + br i1 %t44, label %dfk.h18, label %dfk.m19 +dfk.h18: + %t45 = getelementptr inbounds ptr, ptr %args, i64 4 + %t46 = load ptr, ptr %t45 + store ptr %t46, ptr %s43 + br label %dfk.j20 +dfk.m19: + %t47 = call ptr @scr_dyn_undefined() + store ptr %t47, ptr %s43 + br label %dfk.j20 +dfk.j20: + %t48 = load ptr, ptr %s43 + %t50 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 0 + store ptr null, ptr %t50 + %t51 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 1 + store ptr null, ptr %t51 + %t52 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 2 + store i64 4, ptr %t52 + %t53 = call ptr @sc_dc_0(ptr %t48, ptr %s49) + %t54.cell = load ptr, ptr @scr_exc_active + %t54.kind = load i32, ptr %t54.cell + %t54 = icmp ne i32 %t54.kind, 0 + br i1 %t54, label %dfk.u21, label %dfk.k22 +dfk.u21: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @sc_rrelease_r0(ptr %t34) + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +dfk.k22: + %t56 = icmp ult i64 5, %argc + br i1 %t56, label %dfk.h23, label %dfk.m24 +dfk.h23: + %t57 = getelementptr inbounds ptr, ptr %args, i64 5 + %t58 = load ptr, ptr %t57 + store ptr %t58, ptr %s55 + br label %dfk.j25 +dfk.m24: + %t59 = call ptr @scr_dyn_undefined() + store ptr %t59, ptr %s55 + br label %dfk.j25 +dfk.j25: + %t60 = load ptr, ptr %s55 + %t62 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 0 + store ptr null, ptr %t62 + %t63 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 1 + store ptr null, ptr %t63 + %t64 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 2 + store i64 5, ptr %t64 + %t65 = call ptr @sc_dc_23(ptr %t60, ptr %s61) + %t66.cell = load ptr, ptr @scr_exc_active + %t66.kind = load i32, ptr %t66.cell + %t66 = icmp ne i32 %t66.kind, 0 + br i1 %t66, label %dfk.u26, label %dfk.k27 +dfk.u26: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @sc_rrelease_r0(ptr %t34) + call void @sc_rc_release_dyn(ptr %t42) + call void @scr_str_release(ptr %t53) + ret ptr null +dfk.k27: + %t68 = icmp ult i64 6, %argc + br i1 %t68, label %dfk.h28, label %dfk.m29 +dfk.h28: + %t69 = getelementptr inbounds ptr, ptr %args, i64 6 + %t70 = load ptr, ptr %t69 + store ptr %t70, ptr %s67 + br label %dfk.j30 +dfk.m29: + %t71 = call ptr @scr_dyn_undefined() + store ptr %t71, ptr %s67 + br label %dfk.j30 +dfk.j30: + %t72 = load ptr, ptr %s67 + %t74 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 0 + store ptr null, ptr %t74 + %t75 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 1 + store ptr null, ptr %t75 + %t76 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 2 + store i64 6, ptr %t76 + %t77 = call ptr @sc_dc_52(ptr %t72, ptr %s73) + %t78.cell = load ptr, ptr @scr_exc_active + %t78.kind = load i32, ptr %t78.cell + %t78 = icmp ne i32 %t78.kind, 0 + br i1 %t78, label %dfk.u31, label %dfk.k32 +dfk.u31: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @sc_rrelease_r0(ptr %t34) + call void @sc_rc_release_dyn(ptr %t42) + call void @scr_str_release(ptr %t53) + call void @scr_union_release(ptr %t65) + ret ptr null +dfk.k32: + %t79 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t80 = load ptr, ptr %t79 + %t81 = call ptr %t80(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t42, ptr %t53, ptr %t65, ptr %t77) + %t82.cell = load ptr, ptr @scr_exc_active + %t82.kind = load i32, ptr %t82.cell + %t82 = icmp ne i32 %t82.kind, 0 + br i1 %t82, label %dfkr.u33, label %dfkr.k34 +dfkr.u33: + ret ptr null +dfkr.k34: + %t83 = call ptr @sc_td_26(ptr %t81) + call void @scr_promise_release(ptr %t81) + ret ptr %t83 +} + +define internal ptr @sc_dfb_7(ptr %v, ptr %fname) #0 { ; box func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_7, i32 7, ptr @sc_cs_1337005955311507, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_25(ptr %v) #0 { ; to-dyn func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise +entry: + %t0 = call ptr @sc_dfb_7(ptr %v, ptr null) + ret ptr %t0 +} + +define internal ptr @sc_dc_53(ptr %d, ptr %path) #0 { ; check netSocket +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1042621854675129, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1042621854675129, i64 9) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_53(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1042621854675129, i64 9, ptr %t8, ptr @scr_net_sock_retain_v, ptr @scr_net_sock_release_v, i1 false) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call ptr @scr_dyn_handle_unbox(ptr %d, i32 2, ptr %path, ptr @sc_cs_2822304354360785) + ret ptr %t10 +} + +define internal ptr @sc_dfk_8(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,netSocket,bytes)=>bool +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_53(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_http_req_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_12(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_http_req_release(ptr %t10) + call void @scr_net_sock_release(ptr %t22) + ret ptr null +dfk.k14: + %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call i1 %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34) + %t39.cell = load ptr, ptr @scr_exc_active + %t39.kind = load i32, ptr %t39.cell + %t39 = icmp ne i32 %t39.kind, 0 + br i1 %t39, label %dfkr.u15, label %dfkr.k16 +dfkr.u15: + ret ptr null +dfkr.k16: + %t40 = call ptr @sc_td_3(i1 %t38) + ret ptr %t40 +} + +define internal ptr @sc_dfb_8(ptr %v, ptr %fname) #0 { ; box func(httpReq,netSocket,bytes)=>bool into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_8, i32 3, ptr @sc_cs_1343665872547170, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_27(ptr %v) #0 { ; to-dyn func(httpReq,netSocket,bytes)=>bool +entry: + %t0 = call ptr @sc_dfb_8(ptr %v, ptr null) + ret ptr %t0 +} + +define internal ptr @sc_td_28(ptr %v) #0 { ; to-dyn union:u27 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_dfb_4(ptr %t3, ptr null) + ret ptr %t4 +tdu.a2: + %t5 = call ptr @scr_dyn_undefined() + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + ret ptr %t6 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +@sc_rnames_3 = internal constant [3 x ptr] [ptr @sc_cs_3073289709162707, ptr @sc_cs_621103891786213, ptr @sc_cs_2193851355834945] +@sc_rnames_3_lens = internal constant [3 x i64] [i64 5, i64 4, i64 5] + +define internal ptr @sc_dc_54(ptr %d, ptr %path) #0 { ; check record:r9 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1790505695584955, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1790505695584955, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_54(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r9(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r9, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r9, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; idxs + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r9, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r9, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; names + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + %t18 = getelementptr inbounds %sc_rs_r9, ptr %t5, i64 0, i32 3 + %t19 = getelementptr inbounds %sc_rs_r9, ptr %t8, i64 0, i32 3 + %t20 = load double, ptr %t18 ; splat + %t21 = load double, ptr %t19 + store double %t21, ptr %t18 + store double %t20, ptr %t19 + call void @sc_rrelease_r9(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1790505695584955, i64 9, ptr %t8, ptr @sc_rretain_r9, ptr @sc_rrelease_r9, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t22 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 5 + %t25 = icmp eq i32 %t23, 13 + %t26 = or i1 %t24, %t25 + br i1 %t26, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r9() + %t27 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_621103891786213, i64 4) + %t28.cell = load ptr, ptr @scr_exc_active + %t28.kind = load i32, ptr %t28.cell + %t28 = icmp ne i32 %t28.kind, 0 + br i1 %t28, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t27) + call void @sc_rrelease_r9(ptr %r0) + ret ptr null +dcr.read.k13: + %t29 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t29 + %t30 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_621103891786213, ptr %t30 + %t31 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t31 + %t32 = call ptr @sc_dc_19(ptr %t27, ptr %dcp) + call void @scr_dyn_release(ptr %t27) + %t33 = getelementptr inbounds %sc_rs_r9, ptr %r0, i64 0, i32 1 ; .idxs + store ptr %t32, ptr %t33 + %t34.cell = load ptr, ptr @scr_exc_active + %t34.kind = load i32, ptr %t34.cell + %t34 = icmp ne i32 %t34.kind, 0 + br i1 %t34, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r9(ptr %r0) + ret ptr null +dcr.k15: + %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3073289709162707, i64 5) + %t36.cell = load ptr, ptr @scr_exc_active + %t36.kind = load i32, ptr %t36.cell + %t36 = icmp ne i32 %t36.kind, 0 + br i1 %t36, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t35) + call void @sc_rrelease_r9(ptr %r0) + ret ptr null +dcr.read.k17: + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_3073289709162707, ptr %t38 + %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t39 + %t40 = call ptr @sc_dc_1(ptr %t35, ptr %dcp) + call void @scr_dyn_release(ptr %t35) + %t41 = getelementptr inbounds %sc_rs_r9, ptr %r0, i64 0, i32 2 ; .names + store ptr %t40, ptr %t41 + %t42.cell = load ptr, ptr @scr_exc_active + %t42.kind = load i32, ptr %t42.cell + %t42 = icmp ne i32 %t42.kind, 0 + br i1 %t42, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r9(ptr %r0) + ret ptr null +dcr.k19: + %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2193851355834945, i64 5) + %t44.cell = load ptr, ptr @scr_exc_active + %t44.kind = load i32, ptr %t44.cell + %t44 = icmp ne i32 %t44.kind, 0 + br i1 %t44, label %dcr.read.u20, label %dcr.read.k21 +dcr.read.u20: + call void @scr_dyn_release(ptr %t43) + call void @sc_rrelease_r9(ptr %r0) + ret ptr null +dcr.read.k21: + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2193851355834945, ptr %t46 + %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t47 + %t48 = call double @sc_dc_2(ptr %t43, ptr %dcp) + call void @scr_dyn_release(ptr %t43) + %t49 = getelementptr inbounds %sc_rs_r9, ptr %r0, i64 0, i32 3 ; .splat + store double %t48, ptr %t49 + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dcr.u22, label %dcr.k23 +dcr.u22: + call void @sc_rrelease_r9(ptr %r0) + ret ptr null +dcr.k23: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_3, ptr @sc_rnames_3_lens, i64 3) + ret ptr %r0 +} + +define internal ptr @sc_td_29(ptr %v) #0 { ; to-dyn union:u15 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = call double @scr_union_get_f64(ptr %v) + %t3 = call ptr @sc_td_2(double %t2) + ret ptr %t3 +tdu.a2: + %t4 = call ptr @scr_dyn_undefined() + %t5 = call ptr @scr_dyn_retain_v(ptr %t4) + ret ptr %t5 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_dfk_9(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + call void %t25(ptr %c, ptr %t10, ptr %t22) + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t27 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t27) + ret ptr %t28 +} + +define internal ptr @sc_dfb_9(ptr %v, ptr %fname) #0 { ; box func(string,string)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_9, i32 2, ptr @sc_cs_3563927413032978, ptr %fname) + ret ptr %r +} + +define internal void @sc_dfa_9(ptr %sc_env, ptr %a0) #0 { ; dyn fn adapter to func(func(string,string)=>void)=>void +entry: + %s3 = alloca [1 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_dfb_9(ptr %a0, ptr null) + %t5 = getelementptr inbounds [1 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @scr_closure_release(ptr %a0) + %t6 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 1, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + %t7.cell = load ptr, ptr @scr_exc_active + %t7.kind = load i32, ptr %t7.cell + %t7 = icmp ne i32 %t7.kind, 0 + br i1 %t7, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret void +dfa.k1: + call void @scr_dyn_release(ptr %t6) + ret void +} + +define internal ptr @sc_dc_57(ptr %d, ptr %path) #0 { ; check func(func(string,string)=>void)=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4163660238022989, i64 37) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4163660238022989, i64 37) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_57(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4163660238022989, i64 37, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_4163660238022989) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_9, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +@sc_rnames_4 = internal constant [1 x ptr] [ptr @sc_cs_145319249654683] +@sc_rnames_4_lens = internal constant [1 x i64] [i64 7] + +define internal ptr @sc_dc_56(ptr %d, ptr %path) #0 { ; check record:r19 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3499761349904598, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3499761349904598, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_56(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r19(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r19, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r19, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; forEach + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r19(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3499761349904598, i64 10, ptr %t8, ptr @sc_rretain_r19, ptr @sc_rrelease_r19, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + %t17 = icmp eq i32 %t15, 13 + %t18 = or i1 %t16, %t17 + br i1 %t18, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r19() + %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_145319249654683, i64 7) + %t20.cell = load ptr, ptr @scr_exc_active + %t20.kind = load i32, ptr %t20.cell + %t20 = icmp ne i32 %t20.kind, 0 + br i1 %t20, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t19) + call void @sc_rrelease_r19(ptr %r0) + ret ptr null +dcr.read.k13: + %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t21 + %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_145319249654683, ptr %t22 + %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t23 + %t24 = call ptr @sc_dc_57(ptr %t19, ptr %dcp) + call void @scr_dyn_release(ptr %t19) + %t25 = getelementptr inbounds %sc_rs_r19, ptr %r0, i64 0, i32 1 ; .forEach + store ptr %t24, ptr %t25 + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r19(ptr %r0) + ret ptr null +dcr.k15: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_4, ptr @sc_rnames_4_lens, i64 1) + ret ptr %r0 +} + +@sc_rnames_5 = internal constant [1 x ptr] [ptr @sc_cs_977412068193087] +@sc_rnames_5_lens = internal constant [1 x i64] [i64 7] + +define internal ptr @sc_dc_55(ptr %d, ptr %path) #0 { ; check record:r27 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_240677902164883, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_240677902164883, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_55(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r27(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r27, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r27, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; headers + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r27(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_240677902164883, i64 10, ptr %t8, ptr @sc_rretain_r27, ptr @sc_rrelease_r27, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + %t17 = icmp eq i32 %t15, 13 + %t18 = or i1 %t16, %t17 + br i1 %t18, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r27() + %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_977412068193087, i64 7) + %t20.cell = load ptr, ptr @scr_exc_active + %t20.kind = load i32, ptr %t20.cell + %t20 = icmp ne i32 %t20.kind, 0 + br i1 %t20, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t19) + call void @sc_rrelease_r27(ptr %r0) + ret ptr null +dcr.read.k13: + %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t21 + %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_977412068193087, ptr %t22 + %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t23 + %t24 = call ptr @sc_dc_56(ptr %t19, ptr %dcp) + call void @scr_dyn_release(ptr %t19) + %t25 = getelementptr inbounds %sc_rs_r27, ptr %r0, i64 0, i32 1 ; .headers + store ptr %t24, ptr %t25 + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r27(ptr %r0) + ret ptr null +dcr.k15: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_5, ptr @sc_rnames_5_lens, i64 1) + ret ptr %r0 +} + +define internal ptr @sc_dfk_10(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn)=>dyn +entry: + %s0 = alloca ptr + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + %t7 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr %t8(ptr %c, ptr %t6) + %t10.cell = load ptr, ptr @scr_exc_active + %t10.kind = load i32, ptr %t10.cell + %t10 = icmp ne i32 %t10.kind, 0 + br i1 %t10, label %dfkr.u3, label %dfkr.k4 +dfkr.u3: + ret ptr null +dfkr.k4: + ret ptr %t9 +} + +define internal ptr @sc_dfb_10(ptr %v, ptr %fname) #0 { ; box func(dyn)=>dyn into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_10, i32 1, ptr @sc_cs_1732097993084521, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_11(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m5.CtxCore)=>object:%m5.CtxCore +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_48(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_16(ptr %t14) + call void @sc_release__x25_m5_CtxCore(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_11(ptr %v, ptr %fname) #0 { ; box func(object:%m5.CtxCore)=>object:%m5.CtxCore into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_11, i32 1, ptr @sc_cs_1027255970561450, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_30(ptr %v) #0 { ; to-dyn union:u10 +entry: + %t1 = icmp eq ptr %v, null + %t0 = select i1 %t1, i32 1, i32 0 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = call ptr @sc_td_0(ptr %v) ; string + ret ptr %t2 +tdu.a2: + %t3 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t3) + ret ptr %t4 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_dfk_12(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn)=>void +entry: + %s0 = alloca ptr + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + %t7 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + call void %t8(ptr %c, ptr %t6) + %t9.cell = load ptr, ptr @scr_exc_active + %t9.kind = load i32, ptr %t9.cell + %t9 = icmp ne i32 %t9.kind, 0 + br i1 %t9, label %dfkr.u3, label %dfkr.k4 +dfkr.u3: + ret ptr null +dfkr.k4: + %t10 = call ptr @scr_dyn_undefined() + %t11 = call ptr @scr_dyn_retain_v(ptr %t10) + ret ptr %t11 +} + +define internal ptr @sc_dfb_12(ptr %v, ptr %fname) #0 { ; box func(dyn)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_12, i32 1, ptr @sc_cs_2380721326422626, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_60(ptr %d, ptr %path) #0 { ; check record:r18 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3675905637404462, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3675905637404462, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_60(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r18(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r18, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r18, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; 0 + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r18, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r18, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; 1 + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + call void @sc_rrelease_r18(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3675905637404462, i64 10, ptr %t8, ptr @sc_rretain_r18, ptr @sc_rrelease_r18, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 4 + br i1 %t20, label %dct.k10, label %dct.f11 +dct.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dct.k10: + %t21 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t22 = load i64, ptr %t21 + %t23 = icmp eq i64 %t22, 2 + br i1 %t23, label %dct.g12, label %dct.a13 +dct.a13: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3860738644764732, ptr %d) + ret ptr null +dct.g12: + %r0 = call ptr @sc_rnew_r18() + %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t25 = load ptr, ptr %t24 + %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t26 + %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t27 + %t28 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t28 + %t29 = getelementptr inbounds ptr, ptr %t25, i64 0 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @sc_dc_0(ptr %t30, ptr %dcp) + %t32 = getelementptr inbounds %sc_rs_r18, ptr %r0, i64 0, i32 1 ; .0 + store ptr %t31, ptr %t32 + %t33.cell = load ptr, ptr @scr_exc_active + %t33.kind = load i32, ptr %t33.cell + %t33 = icmp ne i32 %t33.kind, 0 + br i1 %t33, label %dct.u14, label %dct.k15 +dct.u14: + call void @sc_rrelease_r18(ptr %r0) + ret ptr null +dct.k15: + %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t34 + %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t35 + %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 1, ptr %t36 + %t37 = getelementptr inbounds ptr, ptr %t25, i64 1 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @sc_dc_0(ptr %t38, ptr %dcp) + %t40 = getelementptr inbounds %sc_rs_r18, ptr %r0, i64 0, i32 2 ; .1 + store ptr %t39, ptr %t40 + %t41.cell = load ptr, ptr @scr_exc_active + %t41.kind = load i32, ptr %t41.cell + %t41 = icmp ne i32 %t41.kind, 0 + br i1 %t41, label %dct.u16, label %dct.k17 +dct.u16: + call void @sc_rrelease_r18(ptr %r0) + ret ptr null +dct.k17: + ret ptr %r0 +} + +define internal ptr @sc_dc_59(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2480898009178335, i64 17) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2480898009178335, i64 17) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_59(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2480898009178335, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r18.sc_rrelease_r18.null, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_60(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +@sc_rnames_6 = internal constant [2 x ptr] [ptr @sc_cs_127274431826284, ptr @sc_cs_977412068193087] +@sc_rnames_6_lens = internal constant [2 x i64] [i64 6, i64 7] + +define internal ptr @sc_dc_58(ptr %d, ptr %path) #0 { ; check record:r28 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4037022469737195, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4037022469737195, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_58(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r28(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r28, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r28, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; headers + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r28, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r28, ptr %t8, i64 0, i32 2 + %t16 = load double, ptr %t14 ; status + %t17 = load double, ptr %t15 + store double %t17, ptr %t14 + store double %t16, ptr %t15 + call void @sc_rrelease_r28(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4037022469737195, i64 10, ptr %t8, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 5 + %t21 = icmp eq i32 %t19, 13 + %t22 = or i1 %t20, %t21 + br i1 %t22, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r28() + %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_977412068193087, i64 7) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t23) + call void @sc_rrelease_r28(ptr %r0) + ret ptr null +dcr.read.k13: + %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t25 + %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_977412068193087, ptr %t26 + %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t27 + %t28 = call ptr @sc_dc_59(ptr %t23, ptr %dcp) + call void @scr_dyn_release(ptr %t23) + %t29 = getelementptr inbounds %sc_rs_r28, ptr %r0, i64 0, i32 1 ; .headers + store ptr %t28, ptr %t29 + %t30.cell = load ptr, ptr @scr_exc_active + %t30.kind = load i32, ptr %t30.cell + %t30 = icmp ne i32 %t30.kind, 0 + br i1 %t30, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r28(ptr %r0) + ret ptr null +dcr.k15: + %t31 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_127274431826284, i64 6) + %t32.cell = load ptr, ptr @scr_exc_active + %t32.kind = load i32, ptr %t32.cell + %t32 = icmp ne i32 %t32.kind, 0 + br i1 %t32, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t31) + call void @sc_rrelease_r28(ptr %r0) + ret ptr null +dcr.read.k17: + %t33 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t33 + %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_127274431826284, ptr %t34 + %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t35 + %t36 = call double @sc_dc_2(ptr %t31, ptr %dcp) + call void @scr_dyn_release(ptr %t31) + %t37 = getelementptr inbounds %sc_rs_r28, ptr %r0, i64 0, i32 2 ; .status + store double %t36, ptr %t37 + %t38.cell = load ptr, ptr @scr_exc_active + %t38.kind = load i32, ptr %t38.cell + %t38 = icmp ne i32 %t38.kind, 0 + br i1 %t38, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r28(ptr %r0) + ret ptr null +dcr.k19: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_6, ptr @sc_rnames_6_lens, i64 2) + ret ptr %r0 +} + +define internal zeroext i1 @sc_dm_22(ptr %d) #0 { ; matches record:r18 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3675905637404462, i64 10) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_22(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 4 + br i1 %t8, label %dm.a5, label %dm.f4 +dm.a5: + %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t10 = load i64, ptr %t9 + %t11 = icmp eq i64 %t10, 2 + br i1 %t11, label %dm.l6, label %dm.f4 +dm.l6: + %t12 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds ptr, ptr %t13, i64 0 + %t15 = load ptr, ptr %t14 + %t16 = call zeroext i1 @sc_dm_6(ptr %t15) + br i1 %t16, label %dm.i7, label %dm.f4 +dm.i7: + %t17 = getelementptr inbounds ptr, ptr %t13, i64 1 + %t18 = load ptr, ptr %t17 + %t19 = call zeroext i1 @sc_dm_6(ptr %t18) + br i1 %t19, label %dm.i8, label %dm.f4 +dm.i8: + ret i1 true +dm.f4: + ret i1 false +} + +define internal zeroext i1 @sc_dm_23(ptr %d) #0 { ; matches undefined +entry: + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 12 + br i1 %t2, label %dm.tr.mat0, label %dm.tr.plain1 +dm.tr.mat0: + %t3 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t4 = call zeroext i1 @sc_dm_23(ptr %t3) + call void @scr_dyn_release_v(ptr %t3) + ret i1 %t4 +dm.tr.plain1: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 6 + ret i1 %t7 +} + +define internal ptr @sc_dc_62(ptr %d, ptr %path) #0 { ; check union:u10 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_705340187317161, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_6(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_0(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_62(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2043702143033338, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_61(ptr %d, ptr %path) #0 { ; check record:r26 +entry: + %dcp = alloca %ScrDynPath + %s26 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1809980931226750, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1809980931226750, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_61(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r26(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r26, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r26, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; [key: string] overflow + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r26(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1809980931226750, i64 10, ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + br i1 %t16, label %dcr.k10, label %dcr.f11 +dcr.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.k10: + %r0 = call ptr @sc_rnew_r26() + %t17 = getelementptr inbounds %sc_rs_r26, ptr %r0, i64 0, i32 1 + %t18 = load ptr, ptr %t17 ; overflow map + %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto + %t20 = load i8, ptr %t19 + %t21 = getelementptr inbounds i8, ptr %t18, i64 11 + store i8 %t20, ptr %t21 + %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t23 = load i64, ptr %t22 + %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t25 = load ptr, ptr %t24 + store i64 0, ptr %s26 + br label %dcv.c12 +dcv.c12: + %t27 = load i64, ptr %s26 + %t28 = icmp ult i64 %t27, %t23 + br i1 %t28, label %dcv.b13, label %dcv.e15 +dcv.b13: + %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry) + %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds i8, ptr %t30, i64 8 + %t33 = load i64, ptr %t32 + %t34 = getelementptr inbounds i8, ptr %t30, i64 16 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t36 + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t38 + %t39 = call ptr @sc_dc_62(ptr %t35, ptr %dcp) + %t40.cell = load ptr, ptr @scr_exc_active + %t40.kind = load i32, ptr %t40.cell + %t40 = icmp ne i32 %t40.kind, 0 + br i1 %t40, label %dcv.u16, label %dcv.k17 +dcv.u16: + call void @sc_rrelease_r26(ptr %r0) + ret ptr null +dcv.k17: + %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33) + call void @scr_map_set_str_ref(ptr %t18, ptr %t41, ptr %t39) ; v moves in + call void @scr_str_release(ptr %t41) + br label %dcv.n14 +dcv.n14: + %t42 = add i64 %t27, 1 + store i64 %t42, ptr %s26 + br label %dcv.c12 +dcv.e15: + ret ptr %r0 +} + +define internal ptr @sc_td_31(ptr %v) #0 { ; to-dyn record:r26 +entry: + %s11 = alloca double + %t1 = getelementptr inbounds %sc_rs_r26, ptr %v, i64 0, i32 1 + %t2 = load ptr, ptr %t1 ; overflow map + %t3 = getelementptr inbounds i8, ptr %t2, i64 11 + %t4 = load i8, ptr %t3 + %t5 = icmp ne i8 %t4, 0 + %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj + %t0 = call ptr %t6() + %t7 = getelementptr inbounds %sc_rs_r26, ptr %v, i64 0, i32 1 + %t8 = load ptr, ptr %t7 ; overflow map + %t9 = call ptr @scr_map_keys_js_order(ptr %t8) + %t10 = call double @scr_arr_len(ptr %t9) + store double 0x0000000000000000, ptr %s11 + br label %count.c0 +count.c0: + %t12 = load double, ptr %s11 + %t13 = fcmp olt double %t12, %t10 + br i1 %t13, label %count.b1, label %count.e3 +count.b1: + %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1) + %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1 + %t16 = load i64, ptr %t15 + %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data + %t18 = call ptr @scr_map_get_str_ref(ptr %t8, ptr %t14) + %t19 = call ptr @sc_td_30(ptr %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t19) + call void @scr_str_release(ptr %t18) + call void @scr_str_release(ptr %t14) + br label %count.n2 +count.n2: + %t20 = fadd double %t12, 0x3FF0000000000000 + store double %t20, ptr %s11 + br label %count.c0 +count.e3: + call void @scr_arr_release(ptr %t9) + call ptr @scr_dyn_mark_snapshot(ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_dc_63(ptr %d, ptr %path) #0 { ; check union:u33 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_865192974725865, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr @sc_nullable_null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_6(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_0(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t5, label %dcu.h6, label %dcu.n7 +dcu.h6: + ret ptr null +dcu.n7: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap8, label %dcu.fail9 +dcu.cap8: + %t9 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t10 = call ptr @sc_dc_63(ptr %t9, ptr %path) + call void @scr_dyn_release_v(ptr %t9) + ret ptr %t10 +dcu.fail9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1070419772986421, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_64(ptr %d, ptr %path) #0 { ; check union:u6 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2743256915545032, i64 8) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_11(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_21(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_64(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3791194611423265, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_66(ptr %d, ptr %path) #0 { ; check union:u24 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4211405069914794, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_9(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_1(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_66(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2859507767467227, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_65(ptr %d, ptr %path) #0 { ; check record:r32 +entry: + %dcp = alloca %ScrDynPath + %s26 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_804729941372645, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_804729941372645, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_65(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r32(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r32, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r32, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; [key: string] overflow + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r32(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_804729941372645, i64 10, ptr %t8, ptr @sc_rretain_r32, ptr @sc_rrelease_r32, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + br i1 %t16, label %dcr.k10, label %dcr.f11 +dcr.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.k10: + %r0 = call ptr @sc_rnew_r32() + %t17 = getelementptr inbounds %sc_rs_r32, ptr %r0, i64 0, i32 1 + %t18 = load ptr, ptr %t17 ; overflow map + %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto + %t20 = load i8, ptr %t19 + %t21 = getelementptr inbounds i8, ptr %t18, i64 11 + store i8 %t20, ptr %t21 + %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t23 = load i64, ptr %t22 + %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t25 = load ptr, ptr %t24 + store i64 0, ptr %s26 + br label %dcv.c12 +dcv.c12: + %t27 = load i64, ptr %s26 + %t28 = icmp ult i64 %t27, %t23 + br i1 %t28, label %dcv.b13, label %dcv.e15 +dcv.b13: + %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry) + %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds i8, ptr %t30, i64 8 + %t33 = load i64, ptr %t32 + %t34 = getelementptr inbounds i8, ptr %t30, i64 16 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t36 + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t38 + %t39 = call ptr @sc_dc_66(ptr %t35, ptr %dcp) + %t40.cell = load ptr, ptr @scr_exc_active + %t40.kind = load i32, ptr %t40.cell + %t40 = icmp ne i32 %t40.kind, 0 + br i1 %t40, label %dcv.u16, label %dcv.k17 +dcv.u16: + call void @sc_rrelease_r32(ptr %r0) + ret ptr null +dcv.k17: + %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33) + call void @scr_map_set_str_ref(ptr %t18, ptr %t41, ptr %t39) ; v moves in + call void @scr_str_release(ptr %t41) + br label %dcv.n14 +dcv.n14: + %t42 = add i64 %t27, 1 + store i64 %t42, ptr %s26 + br label %dcv.c12 +dcv.e15: + ret ptr %r0 +} + +define internal ptr @sc_td_33(ptr %v) #0 { ; to-dyn union:u24 +entry: + %t1 = icmp eq ptr %v, null + %t0 = select i1 %t1, i32 1, i32 0 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = call ptr @sc_td_12(ptr %v) ; array + ret ptr %t2 +tdu.a2: + %t3 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t3) + ret ptr %t4 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_td_32(ptr %v) #0 { ; to-dyn record:r32 +entry: + %s11 = alloca double + %t1 = getelementptr inbounds %sc_rs_r32, ptr %v, i64 0, i32 1 + %t2 = load ptr, ptr %t1 ; overflow map + %t3 = getelementptr inbounds i8, ptr %t2, i64 11 + %t4 = load i8, ptr %t3 + %t5 = icmp ne i8 %t4, 0 + %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj + %t0 = call ptr %t6() + %t7 = getelementptr inbounds %sc_rs_r32, ptr %v, i64 0, i32 1 + %t8 = load ptr, ptr %t7 ; overflow map + %t9 = call ptr @scr_map_keys_js_order(ptr %t8) + %t10 = call double @scr_arr_len(ptr %t9) + store double 0x0000000000000000, ptr %s11 + br label %count.c0 +count.c0: + %t12 = load double, ptr %s11 + %t13 = fcmp olt double %t12, %t10 + br i1 %t13, label %count.b1, label %count.e3 +count.b1: + %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1) + %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1 + %t16 = load i64, ptr %t15 + %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data + %t18 = call ptr @scr_map_get_str_ref(ptr %t8, ptr %t14) + %t19 = call ptr @sc_td_33(ptr %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t19) + call void @scr_arr_release(ptr %t18) + call void @scr_str_release(ptr %t14) + br label %count.n2 +count.n2: + %t20 = fadd double %t12, 0x3FF0000000000000 + store double %t20, ptr %s11 + br label %count.c0 +count.e3: + call void @scr_arr_release(ptr %t9) + call ptr @scr_dyn_mark_snapshot(ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ds_buf(ptr %b, ptr %d) #0 { ; String(unknown), recursive +entry: + %s19 = alloca i64 + %s35 = alloca ptr + %s43 = alloca ptr + %s52 = alloca i1 + %s59 = alloca i1 + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + switch i32 %t1, label %ds.d0 [ i32 0, label %ds.k01 i32 1, label %ds.k12 i32 2, label %ds.k23 i32 3, label %ds.k34 i32 4, label %ds.k45 i32 5, label %ds.k56 i32 6, label %ds.k67 i32 7, label %ds.k78 i32 8, label %ds.k89 i32 9, label %ds.k910 i32 10, label %ds.k1011 i32 12, label %ds.k1212 i32 13, label %ds.k1313 i32 14, label %ds.k1414 i32 15, label %ds.k1515 ] +ds.k1313: + call void @scr_dyn_proxy_unsupported(ptr @sc_cs_132549232319664) + br label %ds.d0 +ds.k1212: + %t2 = call ptr @scr_dyn_typed_ref_string_view(ptr %d) + call void @sc_ds_buf(ptr %b, ptr %t2) + call void @scr_dyn_release_v(ptr %t2) + br label %ds.d0 +ds.k67: + call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_4134463689533233, i64 9) ; "undefined" + br label %ds.d0 +ds.k01: + call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_2043119860907636, i64 4) ; "null" + br label %ds.d0 +ds.k12: + %t3 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.b + %t4 = load i8, ptr %t3 + %t5 = trunc i8 %t4 to i1 + %t6 = select i1 %t5, ptr @sc_cs_3197286426789411, ptr @sc_cs_4446214944262365 + call void @scr_jb_puts(ptr %b, ptr %t6) + br label %ds.d0 +ds.k1414: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_bigint_to_string(ptr %t8, double 0x4024000000000000) + call void @scr_jb_put_str(ptr %b, ptr %t9) + call void @scr_str_release(ptr %t9) + br label %ds.d0 +ds.k1515: + %t10 = call ptr @scr_dyn_string_coerce(ptr %d) + call void @scr_str_release(ptr %t10) + br label %ds.d0 +ds.k23: + %t11 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t12 = load double, ptr %t11 + call void @scr_jb_put_number(ptr %b, double %t12) + br label %ds.d0 +ds.k34: + %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t14 = load ptr, ptr %t13 + call void @scr_jb_put_str(ptr %b, ptr %t14) + br label %ds.d0 +ds.k45: + %t15 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t16 = load i64, ptr %t15 + %t17 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t18 = load ptr, ptr %t17 + store i64 0, ptr %s19 + br label %ds.ar.c16 +ds.ar.c16: + %t20 = load i64, ptr %s19 + %t21 = icmp ult i64 %t20, %t16 + br i1 %t21, label %ds.ar.b17, label %ds.ar.e19 +ds.ar.b17: + %t22 = icmp ugt i64 %t20, 0 + br i1 %t22, label %ds.cm20, label %ds.el21 +ds.cm20: + call void @scr_jb_putc(ptr %b, i8 44) + br label %ds.el21 +ds.el21: + %t23 = getelementptr inbounds ptr, ptr %t18, i64 %t20 + %t24 = load ptr, ptr %t23 + %t25 = getelementptr inbounds i8, ptr %t24, i64 8 ; ->kind + %t26 = load i32, ptr %t25 + %t27 = icmp eq i32 %t26, 6 + %t28 = icmp eq i32 %t26, 0 + %t29 = or i1 %t27, %t28 + br i1 %t29, label %ds.sk22, label %ds.rc23 +ds.sk22: + br label %ds.ar.n18 +ds.rc23: + call void @sc_ds_buf(ptr %b, ptr %t24) + br label %ds.ar.n18 +ds.ar.n18: + %t30 = add i64 %t20, 1 + store i64 %t30, ptr %s19 + br label %ds.ar.c16 +ds.ar.e19: + br label %ds.d0 +ds.k56: + %t31 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3852344104315805, i64 6) ; .%error + %t32 = icmp ne ptr %t31, null + br i1 %t32, label %ds.er24, label %ds.pl25 +ds.pl25: + call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_3141069757846984, i64 15) ; "[object Object]" + br label %ds.d0 +ds.er24: + %t33 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2298207874780604, i64 4) ; .name + %t34 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3013970235377041, i64 7) ; .message + store ptr null, ptr %s35 + %t36 = icmp ne ptr %t33, null + br i1 %t36, label %ds.en.t26, label %ds.en.j27 +ds.en.t26: + %t37 = getelementptr inbounds i8, ptr %t33, i64 8 ; ->kind + %t38 = load i32, ptr %t37 + %t39 = icmp eq i32 %t38, 3 + br i1 %t39, label %ds.en.s28, label %ds.en.j27 +ds.en.s28: + %t40 = getelementptr inbounds i8, ptr %t33, i64 16 ; ->v + %t41 = load ptr, ptr %t40 + store ptr %t41, ptr %s35 + br label %ds.en.j27 +ds.en.j27: + %t42 = load ptr, ptr %s35 + store ptr null, ptr %s43 + %t44 = icmp ne ptr %t34, null + br i1 %t44, label %ds.em.t29, label %ds.em.j30 +ds.em.t29: + %t45 = getelementptr inbounds i8, ptr %t34, i64 8 ; ->kind + %t46 = load i32, ptr %t45 + %t47 = icmp eq i32 %t46, 3 + br i1 %t47, label %ds.em.s31, label %ds.em.j30 +ds.em.s31: + %t48 = getelementptr inbounds i8, ptr %t34, i64 16 ; ->v + %t49 = load ptr, ptr %t48 + store ptr %t49, ptr %s43 + br label %ds.em.j30 +ds.em.j30: + %t50 = load ptr, ptr %s43 + %t51 = icmp ne ptr %t42, null + br i1 %t51, label %ds.pn.t32, label %ds.pn.j33 +ds.pn.t32: + call void @scr_jb_put_str(ptr %b, ptr %t42) + br label %ds.pn.j33 +ds.pn.j33: + store i1 false, ptr %s52 + %t53 = icmp ne ptr %t42, null + br i1 %t53, label %ds.ln.t34, label %ds.ln.j35 +ds.ln.t34: + %t54 = getelementptr inbounds %ScrStr, ptr %t42, i64 0, i32 1 + %t55 = load i64, ptr %t54 + %t56 = getelementptr inbounds i8, ptr %t42, i64 24 ; ->data + %t57 = icmp ne i64 %t55, 0 + store i1 %t57, ptr %s52 + br label %ds.ln.j35 +ds.ln.j35: + %t58 = load i1, ptr %s52 + store i1 false, ptr %s59 + %t60 = icmp ne ptr %t50, null + br i1 %t60, label %ds.lm.t36, label %ds.lm.j37 +ds.lm.t36: + %t61 = getelementptr inbounds %ScrStr, ptr %t50, i64 0, i32 1 + %t62 = load i64, ptr %t61 + %t63 = getelementptr inbounds i8, ptr %t50, i64 24 ; ->data + %t64 = icmp ne i64 %t62, 0 + store i1 %t64, ptr %s59 + br label %ds.lm.j37 +ds.lm.j37: + %t65 = load i1, ptr %s59 + %t66 = and i1 %t58, %t65 + br i1 %t66, label %ds.cl38, label %ds.cj39 +ds.cl38: + call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_1222807074245902, i64 2) ; ": " + br label %ds.cj39 +ds.cj39: + %t67 = icmp ne ptr %t50, null + br i1 %t67, label %ds.pm.t40, label %ds.pm.j41 +ds.pm.t40: + call void @scr_jb_put_str(ptr %b, ptr %t50) + br label %ds.pm.j41 +ds.pm.j41: + br label %ds.d0 +ds.k78: + %t68 = getelementptr inbounds i8, ptr %d, i64 12 ; ->buffer + %t69 = load i8, ptr %t68 + %t70 = icmp ne i8 %t69, 0 + br i1 %t70, label %ds.bu42, label %ds.bj43 +ds.bu42: + %t71 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t72 = load ptr, ptr %t71 + %t73 = call ptr @scr_bytes_to_str(ptr %t72, ptr @sc_lit_2605532998565466) + call void @scr_jb_put_str(ptr %b, ptr %t73) + call void @scr_str_release(ptr %t73) + br label %ds.d0 +ds.bj43: + %t74 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t75 = load ptr, ptr %t74 + %t76 = call ptr @scr_bytes_join(ptr %t75, ptr @sc_lit_3662817572149066) + call void @scr_jb_put_str(ptr %b, ptr %t76) + call void @scr_str_release(ptr %t76) + br label %ds.d0 +ds.k89: + call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_2763807487655546, i64 9) ; "function " + %t77 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.fn.name + %t78 = load ptr, ptr %t77 + %t79 = icmp ne ptr %t78, null + br i1 %t79, label %ds.fn44, label %ds.fj45 +ds.fn44: + call void @scr_jb_puts(ptr %b, ptr %t78) + br label %ds.fj45 +ds.fj45: + call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_3328797693070444, i64 20) ; "() { [native code] }" + br label %ds.d0 +ds.k910: + %t80 = call ptr @scr_dyn_to_string(ptr %d, ptr null) + call void @scr_jb_put_str(ptr %b, ptr %t80) + call void @scr_str_release(ptr %t80) + br label %ds.d0 +ds.k1011: + call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_3182400578284434, i64 16) ; "[object Promise]" + br label %ds.d0 +ds.d0: + ret void +} + +define internal ptr @sc_ds(ptr %d) #0 { ; String(unknown) -> owned (+1) +entry: + %dsb = alloca %ScrJsonBuf + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 3 + br i1 %t2, label %ds.f0, label %ds.s1 +ds.f0: + %t3 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t4 = load ptr, ptr %t3 + %t5 = call ptr @scr_str_retain_v(ptr %t4) + ret ptr %t5 +ds.s1: + call void @scr_jb_init(ptr %dsb) + call void @sc_ds_buf(ptr %dsb, ptr %d) + %t6 = call ptr @scr_jb_finish(ptr %dsb) + ret ptr %t6 +} + +define internal zeroext i1 @sc_dm_24(ptr %d) #0 { ; matches bool +entry: + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + %t2 = icmp eq i32 %t1, 12 + br i1 %t2, label %dm.tr.mat0, label %dm.tr.plain1 +dm.tr.mat0: + %t3 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t4 = call zeroext i1 @sc_dm_24(ptr %t3) + call void @scr_dyn_release_v(ptr %t3) + ret i1 %t4 +dm.tr.plain1: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 1 + ret i1 %t7 +} + +define internal ptr @sc_dc_68(ptr %d, ptr %path) #0 { ; check union:u13 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3113150508978810, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_24(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call zeroext i1 @sc_dc_3(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_bool(i32 0, i1 %t3) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr @sc_unit_5 +dcu.n5: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3113150508978810, i64 9) + %t10 = icmp ne ptr %t9, null + %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t12 = call ptr @sc_dc_68(ptr %t11, ptr %path) + call void @scr_dyn_release_v(ptr %t11) + %t13 = icmp ne ptr %t12, null + br i1 %t13, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t9) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t10, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t16 = load i32, ptr %t14 ; tag + %t17 = load i32, ptr %t15 + store i32 %t17, ptr %t14 + store i32 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2 + %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2 + %t20 = load ptr, ptr %t18 ; retain + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3 + %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3 + %t24 = load ptr, ptr %t22 ; release + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4 + %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4 + %t28 = load ptr, ptr %t26 ; trace + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5 + %t32 = load i64, ptr %t30 ; slot + %t33 = load i64, ptr %t31 + store i64 %t33, ptr %t30 + store i64 %t32, ptr %t31 + call void @scr_union_release(ptr %t12) + ret ptr %t9 +dcu.put13: + store i8 1, ptr @sc_retype_guard_4 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3113150508978810, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false) + ret ptr %t12 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1887425832114125, ptr %d) + ret ptr null +} + +define internal zeroext i1 @sc_dm_26(ptr %d) #0 { ; matches union:u15 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3624345082936930, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_26(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @sc_dm_2(ptr %d) + br i1 %t6, label %dm.y4, label %dm.n5 +dm.n5: + %t7 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t7, label %dm.y4, label %dm.n6 +dm.n6: + ret i1 false +dm.y4: + ret i1 true +} + +define internal zeroext i1 @sc_dm_27(ptr %d) #0 { ; matches union:u18 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4048119461312915, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_27(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @sc_dm_19(ptr %d) + br i1 %t6, label %dm.y4, label %dm.n5 +dm.n5: + %t7 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t7, label %dm.y4, label %dm.n6 +dm.n6: + ret i1 false +dm.y4: + ret i1 true +} + +define internal zeroext i1 @sc_dm_25(ptr %d) #0 { ; matches record:r6 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_408244120040977, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_25(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2857538079689091, i64 13) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_26(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2659449979257915, i64 12) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dm.read.u10, label %dm.read.k11 +dm.read.u10: + call void @scr_dyn_release(ptr %t14) + ret i1 false +dm.read.k11: + %t16 = call zeroext i1 @sc_dm_26(ptr %t14) + call void @scr_dyn_release(ptr %t14) + br i1 %t16, label %dm.n9, label %dm.f4 +dm.n9: + %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2882770253409103, i64 8) + %t18.cell = load ptr, ptr @scr_exc_active + %t18.kind = load i32, ptr %t18.cell + %t18 = icmp ne i32 %t18.kind, 0 + br i1 %t18, label %dm.read.u13, label %dm.read.k14 +dm.read.u13: + call void @scr_dyn_release(ptr %t17) + ret i1 false +dm.read.k14: + %t19 = call zeroext i1 @sc_dm_26(ptr %t17) + call void @scr_dyn_release(ptr %t17) + br i1 %t19, label %dm.n12, label %dm.f4 +dm.n12: + %t20 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1295387805544367, i64 7) + %t21.cell = load ptr, ptr @scr_exc_active + %t21.kind = load i32, ptr %t21.cell + %t21 = icmp ne i32 %t21.kind, 0 + br i1 %t21, label %dm.read.u16, label %dm.read.k17 +dm.read.u16: + call void @scr_dyn_release(ptr %t20) + ret i1 false +dm.read.k17: + %t22 = call zeroext i1 @sc_dm_27(ptr %t20) + call void @scr_dyn_release(ptr %t20) + br i1 %t22, label %dm.n15, label %dm.f4 +dm.n15: + ret i1 true +dm.f4: + ret i1 false +} + +define internal ptr @sc_dc_71(ptr %d, ptr %path) #0 { ; check union:u15 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3624345082936930, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_2(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call double @sc_dc_2(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_f64(i32 0, double %t3) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr @sc_unit_3 +dcu.n5: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3624345082936930, i64 9) + %t10 = icmp ne ptr %t9, null + %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t12 = call ptr @sc_dc_71(ptr %t11, ptr %path) + call void @scr_dyn_release_v(ptr %t11) + %t13 = icmp ne ptr %t12, null + br i1 %t13, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t9) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t10, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t16 = load i32, ptr %t14 ; tag + %t17 = load i32, ptr %t15 + store i32 %t17, ptr %t14 + store i32 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2 + %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2 + %t20 = load ptr, ptr %t18 ; retain + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3 + %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3 + %t24 = load ptr, ptr %t22 ; release + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4 + %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4 + %t28 = load ptr, ptr %t26 ; trace + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5 + %t32 = load i64, ptr %t30 ; slot + %t33 = load i64, ptr %t31 + store i64 %t33, ptr %t30 + store i64 %t32, ptr %t31 + call void @scr_union_release(ptr %t12) + ret ptr %t9 +dcu.put13: + store i8 1, ptr @sc_retype_guard_5 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3624345082936930, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false) + ret ptr %t12 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3875462036084145, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_72(ptr %d, ptr %path) #0 { ; check union:u18 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4048119461312915, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_19(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_24(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_72(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1776203598951489, ptr %d) + ret ptr null +} + +@sc_rnames_7 = internal constant [4 x ptr] [ptr @sc_cs_1295387805544367, ptr @sc_cs_2659449979257915, ptr @sc_cs_2882770253409103, ptr @sc_cs_2857538079689091] +@sc_rnames_7_lens = internal constant [4 x i64] [i64 7, i64 12, i64 8, i64 13] + +define internal ptr @sc_dc_70(ptr %d, ptr %path) #0 { ; check record:r6 +entry: + %dcp = alloca %ScrDynPath + %s54 = alloca ptr + %s91 = alloca ptr + %s128 = alloca ptr + %s157 = alloca ptr + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_408244120040977, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_408244120040977, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_70(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r6(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r6, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r6, ptr %t8, i64 0, i32 1 + %t12 = load { i32, i64 }, ptr %t10 ; maxFieldBytes + %t13 = load { i32, i64 }, ptr %t11 + store { i32, i64 } %t13, ptr %t10 + store { i32, i64 } %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r6, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r6, ptr %t8, i64 0, i32 2 + %t16 = load { i32, i64 }, ptr %t14 ; maxFileBytes + %t17 = load { i32, i64 }, ptr %t15 + store { i32, i64 } %t17, ptr %t14 + store { i32, i64 } %t16, ptr %t15 + %t18 = getelementptr inbounds %sc_rs_r6, ptr %t5, i64 0, i32 3 + %t19 = getelementptr inbounds %sc_rs_r6, ptr %t8, i64 0, i32 3 + %t20 = load { i32, i64 }, ptr %t18 ; maxFiles + %t21 = load { i32, i64 }, ptr %t19 + store { i32, i64 } %t21, ptr %t18 + store { i32, i64 } %t20, ptr %t19 + %t22 = getelementptr inbounds %sc_rs_r6, ptr %t5, i64 0, i32 4 + %t23 = getelementptr inbounds %sc_rs_r6, ptr %t8, i64 0, i32 4 + %t24 = load ptr, ptr %t22 ; storage + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + call void @sc_rrelease_r6(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_408244120040977, i64 9, ptr %t8, ptr @sc_rretain_r6, ptr @sc_rrelease_r6, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t26 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t27 = load i32, ptr %t26 + %t28 = icmp eq i32 %t27, 5 + %t29 = icmp eq i32 %t27, 13 + %t30 = or i1 %t28, %t29 + br i1 %t30, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r6() + %t31 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2857538079689091, i64 13) + %t32.cell = load ptr, ptr @scr_exc_active + %t32.kind = load i32, ptr %t32.cell + %t32 = icmp ne i32 %t32.kind, 0 + br i1 %t32, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t31) + call void @sc_rrelease_r6(ptr %r0) + ret ptr null +dcr.read.k13: + %t33 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t33 + %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2857538079689091, ptr %t34 + %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t35 + %t36 = call ptr @sc_dc_71(ptr %t31, ptr %dcp) + call void @scr_dyn_release(ptr %t31) + %t37 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 1 ; .maxFieldBytes + %t38 = icmp eq ptr %t36, null + %t39 = select i1 %t38, ptr @sc_union_none, ptr %t36 + %t40 = getelementptr inbounds %ScrUnion, ptr %t39, i64 0, i32 1 + %t42 = load i32, ptr %t40 + %t41 = getelementptr inbounds %ScrUnion, ptr %t39, i64 0, i32 5 + %t43 = load i64, ptr %t41 + %t44 = getelementptr inbounds { i32, i64 }, ptr %t37, i32 0, i32 0 + store i32 %t42, ptr %t44 + %t45 = getelementptr inbounds { i32, i64 }, ptr %t37, i32 0, i32 1 + store i64 %t43, ptr %t45 + %t46.cell = load ptr, ptr @scr_exc_active + %t46.kind = load i32, ptr %t46.cell + %t46 = icmp ne i32 %t46.kind, 0 + br i1 %t46, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @scr_union_release(ptr %t36) + call void @sc_rrelease_r6(ptr %r0) + ret ptr null +dcr.k15: + %t48 = getelementptr inbounds %ScrUnion, ptr %t36, i64 0, i32 1 + %t47 = load i32, ptr %t48 + %t49 = icmp eq i32 %t47, 1 + %t50 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t51 = load i32, ptr %t50 + %t52 = icmp eq i32 %t51, 5 + %t53 = and i1 %t49, %t52 + store ptr %t36, ptr %s54 + br i1 %t53, label %dcr.has16, label %dcr.hasj17 +dcr.has16: + %t55 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2857538079689091, i64 13) ; .maxFieldBytes + %t56 = icmp eq ptr %t55, null + %t57 = select i1 %t56, ptr @sc_absent_1, ptr %t36 + store ptr %t57, ptr %s54 + br label %dcr.hasj17 +dcr.hasj17: + %t58 = load ptr, ptr %s54 + %t59 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 1 ; .maxFieldBytes + %t60 = icmp eq ptr %t58, null + %t61 = select i1 %t60, ptr @sc_union_none, ptr %t58 + %t62 = getelementptr inbounds %ScrUnion, ptr %t61, i64 0, i32 1 + %t64 = load i32, ptr %t62 + %t63 = getelementptr inbounds %ScrUnion, ptr %t61, i64 0, i32 5 + %t65 = load i64, ptr %t63 + %t66 = getelementptr inbounds { i32, i64 }, ptr %t59, i32 0, i32 0 + store i32 %t64, ptr %t66 + %t67 = getelementptr inbounds { i32, i64 }, ptr %t59, i32 0, i32 1 + store i64 %t65, ptr %t67 + call void @scr_union_release(ptr %t36) + %t68 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2659449979257915, i64 12) + %t69.cell = load ptr, ptr @scr_exc_active + %t69.kind = load i32, ptr %t69.cell + %t69 = icmp ne i32 %t69.kind, 0 + br i1 %t69, label %dcr.read.u18, label %dcr.read.k19 +dcr.read.u18: + call void @scr_dyn_release(ptr %t68) + call void @sc_rrelease_r6(ptr %r0) + ret ptr null +dcr.read.k19: + %t70 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t70 + %t71 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2659449979257915, ptr %t71 + %t72 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t72 + %t73 = call ptr @sc_dc_71(ptr %t68, ptr %dcp) + call void @scr_dyn_release(ptr %t68) + %t74 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 2 ; .maxFileBytes + %t75 = icmp eq ptr %t73, null + %t76 = select i1 %t75, ptr @sc_union_none, ptr %t73 + %t77 = getelementptr inbounds %ScrUnion, ptr %t76, i64 0, i32 1 + %t79 = load i32, ptr %t77 + %t78 = getelementptr inbounds %ScrUnion, ptr %t76, i64 0, i32 5 + %t80 = load i64, ptr %t78 + %t81 = getelementptr inbounds { i32, i64 }, ptr %t74, i32 0, i32 0 + store i32 %t79, ptr %t81 + %t82 = getelementptr inbounds { i32, i64 }, ptr %t74, i32 0, i32 1 + store i64 %t80, ptr %t82 + %t83.cell = load ptr, ptr @scr_exc_active + %t83.kind = load i32, ptr %t83.cell + %t83 = icmp ne i32 %t83.kind, 0 + br i1 %t83, label %dcr.u20, label %dcr.k21 +dcr.u20: + call void @scr_union_release(ptr %t73) + call void @sc_rrelease_r6(ptr %r0) + ret ptr null +dcr.k21: + %t85 = getelementptr inbounds %ScrUnion, ptr %t73, i64 0, i32 1 + %t84 = load i32, ptr %t85 + %t86 = icmp eq i32 %t84, 1 + %t87 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 5 + %t90 = and i1 %t86, %t89 + store ptr %t73, ptr %s91 + br i1 %t90, label %dcr.has22, label %dcr.hasj23 +dcr.has22: + %t92 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2659449979257915, i64 12) ; .maxFileBytes + %t93 = icmp eq ptr %t92, null + %t94 = select i1 %t93, ptr @sc_absent_1, ptr %t73 + store ptr %t94, ptr %s91 + br label %dcr.hasj23 +dcr.hasj23: + %t95 = load ptr, ptr %s91 + %t96 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 2 ; .maxFileBytes + %t97 = icmp eq ptr %t95, null + %t98 = select i1 %t97, ptr @sc_union_none, ptr %t95 + %t99 = getelementptr inbounds %ScrUnion, ptr %t98, i64 0, i32 1 + %t101 = load i32, ptr %t99 + %t100 = getelementptr inbounds %ScrUnion, ptr %t98, i64 0, i32 5 + %t102 = load i64, ptr %t100 + %t103 = getelementptr inbounds { i32, i64 }, ptr %t96, i32 0, i32 0 + store i32 %t101, ptr %t103 + %t104 = getelementptr inbounds { i32, i64 }, ptr %t96, i32 0, i32 1 + store i64 %t102, ptr %t104 + call void @scr_union_release(ptr %t73) + %t105 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2882770253409103, i64 8) + %t106.cell = load ptr, ptr @scr_exc_active + %t106.kind = load i32, ptr %t106.cell + %t106 = icmp ne i32 %t106.kind, 0 + br i1 %t106, label %dcr.read.u24, label %dcr.read.k25 +dcr.read.u24: + call void @scr_dyn_release(ptr %t105) + call void @sc_rrelease_r6(ptr %r0) + ret ptr null +dcr.read.k25: + %t107 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t107 + %t108 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2882770253409103, ptr %t108 + %t109 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t109 + %t110 = call ptr @sc_dc_71(ptr %t105, ptr %dcp) + call void @scr_dyn_release(ptr %t105) + %t111 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 3 ; .maxFiles + %t112 = icmp eq ptr %t110, null + %t113 = select i1 %t112, ptr @sc_union_none, ptr %t110 + %t114 = getelementptr inbounds %ScrUnion, ptr %t113, i64 0, i32 1 + %t116 = load i32, ptr %t114 + %t115 = getelementptr inbounds %ScrUnion, ptr %t113, i64 0, i32 5 + %t117 = load i64, ptr %t115 + %t118 = getelementptr inbounds { i32, i64 }, ptr %t111, i32 0, i32 0 + store i32 %t116, ptr %t118 + %t119 = getelementptr inbounds { i32, i64 }, ptr %t111, i32 0, i32 1 + store i64 %t117, ptr %t119 + %t120.cell = load ptr, ptr @scr_exc_active + %t120.kind = load i32, ptr %t120.cell + %t120 = icmp ne i32 %t120.kind, 0 + br i1 %t120, label %dcr.u26, label %dcr.k27 +dcr.u26: + call void @scr_union_release(ptr %t110) + call void @sc_rrelease_r6(ptr %r0) + ret ptr null +dcr.k27: + %t122 = getelementptr inbounds %ScrUnion, ptr %t110, i64 0, i32 1 + %t121 = load i32, ptr %t122 + %t123 = icmp eq i32 %t121, 1 + %t124 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t125 = load i32, ptr %t124 + %t126 = icmp eq i32 %t125, 5 + %t127 = and i1 %t123, %t126 + store ptr %t110, ptr %s128 + br i1 %t127, label %dcr.has28, label %dcr.hasj29 +dcr.has28: + %t129 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2882770253409103, i64 8) ; .maxFiles + %t130 = icmp eq ptr %t129, null + %t131 = select i1 %t130, ptr @sc_absent_1, ptr %t110 + store ptr %t131, ptr %s128 + br label %dcr.hasj29 +dcr.hasj29: + %t132 = load ptr, ptr %s128 + %t133 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 3 ; .maxFiles + %t134 = icmp eq ptr %t132, null + %t135 = select i1 %t134, ptr @sc_union_none, ptr %t132 + %t136 = getelementptr inbounds %ScrUnion, ptr %t135, i64 0, i32 1 + %t138 = load i32, ptr %t136 + %t137 = getelementptr inbounds %ScrUnion, ptr %t135, i64 0, i32 5 + %t139 = load i64, ptr %t137 + %t140 = getelementptr inbounds { i32, i64 }, ptr %t133, i32 0, i32 0 + store i32 %t138, ptr %t140 + %t141 = getelementptr inbounds { i32, i64 }, ptr %t133, i32 0, i32 1 + store i64 %t139, ptr %t141 + call void @scr_union_release(ptr %t110) + %t142 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1295387805544367, i64 7) + %t143.cell = load ptr, ptr @scr_exc_active + %t143.kind = load i32, ptr %t143.cell + %t143 = icmp ne i32 %t143.kind, 0 + br i1 %t143, label %dcr.read.u30, label %dcr.read.k31 +dcr.read.u30: + call void @scr_dyn_release(ptr %t142) + call void @sc_rrelease_r6(ptr %r0) + ret ptr null +dcr.read.k31: + %t144 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t144 + %t145 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_1295387805544367, ptr %t145 + %t146 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t146 + %t147 = call ptr @sc_dc_72(ptr %t142, ptr %dcp) + call void @scr_dyn_release(ptr %t142) + %t148 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 4 ; .storage + store ptr %t147, ptr %t148 + %t149.cell = load ptr, ptr @scr_exc_active + %t149.kind = load i32, ptr %t149.cell + %t149 = icmp ne i32 %t149.kind, 0 + br i1 %t149, label %dcr.u32, label %dcr.k33 +dcr.u32: + call void @sc_rrelease_r6(ptr %r0) + ret ptr null +dcr.k33: + %t151 = icmp eq ptr %t147, null + %t150 = select i1 %t151, i32 1, i32 0 + %t152 = icmp eq i32 %t150, 1 + %t153 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t154 = load i32, ptr %t153 + %t155 = icmp eq i32 %t154, 5 + %t156 = and i1 %t152, %t155 + store ptr %t147, ptr %s157 + br i1 %t156, label %dcr.has34, label %dcr.hasj35 +dcr.has34: + %t158 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1295387805544367, i64 7) ; .storage + %t159 = icmp eq ptr %t158, null + %t160 = select i1 %t159, ptr @sc_nullable_absent, ptr %t147 + store ptr %t160, ptr %s157 + br label %dcr.hasj35 +dcr.hasj35: + %t161 = load ptr, ptr %s157 + %t162 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 4 ; .storage + store ptr %t161, ptr %t162 + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_7, ptr @sc_rnames_7_lens, i64 4) + ret ptr %r0 +} + +define internal ptr @sc_dc_69(ptr %d, ptr %path) #0 { ; check union:u19 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2786531977708587, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_25(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_70(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_69(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3884343448446622, ptr %d) + ret ptr null +} + +@sc_rnames_8 = internal constant [2 x ptr] [ptr @sc_cs_616655122974952, ptr @sc_cs_2277266704045385] +@sc_rnames_8_lens = internal constant [2 x i64] [i64 4, i64 9] + +define internal ptr @sc_dc_67(ptr %d, ptr %path) #0 { ; check record:r7 +entry: + %dcp = alloca %ScrDynPath + %s46 = alloca ptr + %s75 = alloca ptr + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_708899555714582, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_708899555714582, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_67(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r7(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r7, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r7, ptr %t8, i64 0, i32 1 + %t12 = load { i32, i64 }, ptr %t10 ; body + %t13 = load { i32, i64 }, ptr %t11 + store { i32, i64 } %t13, ptr %t10 + store { i32, i64 } %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r7, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r7, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; multipart + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + call void @sc_rrelease_r7(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_708899555714582, i64 9, ptr %t8, ptr @sc_rretain_r7, ptr @sc_rrelease_r7, i1 true) + ret ptr %t8 +dc.tr.plain3: + %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 5 + %t21 = icmp eq i32 %t19, 13 + %t22 = or i1 %t20, %t21 + br i1 %t22, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r7() + %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t23) + call void @sc_rrelease_r7(ptr %r0) + ret ptr null +dcr.read.k13: + %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t25 + %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_616655122974952, ptr %t26 + %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t27 + %t28 = call ptr @sc_dc_68(ptr %t23, ptr %dcp) + call void @scr_dyn_release(ptr %t23) + %t29 = getelementptr inbounds %sc_rs_r7, ptr %r0, i64 0, i32 1 ; .body + %t30 = icmp eq ptr %t28, null + %t31 = select i1 %t30, ptr @sc_union_none, ptr %t28 + %t32 = getelementptr inbounds %ScrUnion, ptr %t31, i64 0, i32 1 + %t34 = load i32, ptr %t32 + %t33 = getelementptr inbounds %ScrUnion, ptr %t31, i64 0, i32 5 + %t35 = load i64, ptr %t33 + %t36 = getelementptr inbounds { i32, i64 }, ptr %t29, i32 0, i32 0 + store i32 %t34, ptr %t36 + %t37 = getelementptr inbounds { i32, i64 }, ptr %t29, i32 0, i32 1 + store i64 %t35, ptr %t37 + %t38.cell = load ptr, ptr @scr_exc_active + %t38.kind = load i32, ptr %t38.cell + %t38 = icmp ne i32 %t38.kind, 0 + br i1 %t38, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @scr_union_release(ptr %t28) + call void @sc_rrelease_r7(ptr %r0) + ret ptr null +dcr.k15: + %t40 = getelementptr inbounds %ScrUnion, ptr %t28, i64 0, i32 1 + %t39 = load i32, ptr %t40 + %t41 = icmp eq i32 %t39, 1 + %t42 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t43 = load i32, ptr %t42 + %t44 = icmp eq i32 %t43, 5 + %t45 = and i1 %t41, %t44 + store ptr %t28, ptr %s46 + br i1 %t45, label %dcr.has16, label %dcr.hasj17 +dcr.has16: + %t47 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_616655122974952, i64 4) ; .body + %t48 = icmp eq ptr %t47, null + %t49 = select i1 %t48, ptr @sc_absent_0, ptr %t28 + store ptr %t49, ptr %s46 + br label %dcr.hasj17 +dcr.hasj17: + %t50 = load ptr, ptr %s46 + %t51 = getelementptr inbounds %sc_rs_r7, ptr %r0, i64 0, i32 1 ; .body + %t52 = icmp eq ptr %t50, null + %t53 = select i1 %t52, ptr @sc_union_none, ptr %t50 + %t54 = getelementptr inbounds %ScrUnion, ptr %t53, i64 0, i32 1 + %t56 = load i32, ptr %t54 + %t55 = getelementptr inbounds %ScrUnion, ptr %t53, i64 0, i32 5 + %t57 = load i64, ptr %t55 + %t58 = getelementptr inbounds { i32, i64 }, ptr %t51, i32 0, i32 0 + store i32 %t56, ptr %t58 + %t59 = getelementptr inbounds { i32, i64 }, ptr %t51, i32 0, i32 1 + store i64 %t57, ptr %t59 + call void @scr_union_release(ptr %t28) + %t60 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2277266704045385, i64 9) + %t61.cell = load ptr, ptr @scr_exc_active + %t61.kind = load i32, ptr %t61.cell + %t61 = icmp ne i32 %t61.kind, 0 + br i1 %t61, label %dcr.read.u18, label %dcr.read.k19 +dcr.read.u18: + call void @scr_dyn_release(ptr %t60) + call void @sc_rrelease_r7(ptr %r0) + ret ptr null +dcr.read.k19: + %t62 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t62 + %t63 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2277266704045385, ptr %t63 + %t64 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t64 + %t65 = call ptr @sc_dc_69(ptr %t60, ptr %dcp) + call void @scr_dyn_release(ptr %t60) + %t66 = getelementptr inbounds %sc_rs_r7, ptr %r0, i64 0, i32 2 ; .multipart + store ptr %t65, ptr %t66 + %t67.cell = load ptr, ptr @scr_exc_active + %t67.kind = load i32, ptr %t67.cell + %t67 = icmp ne i32 %t67.kind, 0 + br i1 %t67, label %dcr.u20, label %dcr.k21 +dcr.u20: + call void @sc_rrelease_r7(ptr %r0) + ret ptr null +dcr.k21: + %t69 = icmp eq ptr %t65, null + %t68 = select i1 %t69, i32 1, i32 0 + %t70 = icmp eq i32 %t68, 1 + %t71 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t72 = load i32, ptr %t71 + %t73 = icmp eq i32 %t72, 5 + %t74 = and i1 %t70, %t73 + store ptr %t65, ptr %s75 + br i1 %t74, label %dcr.has22, label %dcr.hasj23 +dcr.has22: + %t76 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2277266704045385, i64 9) ; .multipart + %t77 = icmp eq ptr %t76, null + %t78 = select i1 %t77, ptr @sc_nullable_absent, ptr %t65 + store ptr %t78, ptr %s75 + br label %dcr.hasj23 +dcr.hasj23: + %t79 = load ptr, ptr %s75 + %t80 = getelementptr inbounds %sc_rs_r7, ptr %r0, i64 0, i32 2 ; .multipart + store ptr %t79, ptr %t80 + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_8, ptr @sc_rnames_8_lens, i64 2) + ret ptr %r0 +} + +define internal ptr @sc_td_34(ptr %v) #0 { ; to-dyn union:u13 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = call zeroext i1 @scr_union_get_bool(ptr %v) + %t3 = call ptr @scr_dyn_new_bool(i1 %t2) + ret ptr %t3 +tdu.a2: + %t4 = call ptr @scr_dyn_undefined() + %t5 = call ptr @scr_dyn_retain_v(ptr %t4) + ret ptr %t5 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal void @sc_dfa_10(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(httpReq,httpRes)=>void +entry: + %s3 = alloca [2 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_10(ptr %a0) + %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @scr_http_req_release(ptr %a0) + %t6 = call ptr @sc_td_7(ptr %a1) + %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1 + store ptr %t6, ptr %t7 + call void @scr_http_res_release(ptr %a1) + %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + call void @scr_dyn_release(ptr %t6) + %t9.cell = load ptr, ptr @scr_exc_active + %t9.kind = load i32, ptr %t9.cell + %t9 = icmp ne i32 %t9.kind, 0 + br i1 %t9, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret void +dfa.k1: + call void @scr_dyn_release(ptr %t8) + ret void +} + +define internal ptr @sc_dc_73(ptr %d, ptr %path) #0 { ; check func(httpReq,httpRes)=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2931926363260223, i64 27) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2931926363260223, i64 27) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_73(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2931926363260223, i64 27, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_2931926363260223) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_10, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_dc_74(ptr %d, ptr %path) #0 { ; check record:r12 +entry: + %dcp = alloca %ScrDynPath + %s26 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3599972234312006, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3599972234312006, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_74(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r12(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r12, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r12, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; [key: string] overflow + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r12(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3599972234312006, i64 10, ptr %t8, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + br i1 %t16, label %dcr.k10, label %dcr.f11 +dcr.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.k10: + %r0 = call ptr @sc_rnew_r12() + %t17 = getelementptr inbounds %sc_rs_r12, ptr %r0, i64 0, i32 1 + %t18 = load ptr, ptr %t17 ; overflow map + %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto + %t20 = load i8, ptr %t19 + %t21 = getelementptr inbounds i8, ptr %t18, i64 11 + store i8 %t20, ptr %t21 + %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t23 = load i64, ptr %t22 + %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t25 = load ptr, ptr %t24 + store i64 0, ptr %s26 + br label %dcv.c12 +dcv.c12: + %t27 = load i64, ptr %s26 + %t28 = icmp ult i64 %t27, %t23 + br i1 %t28, label %dcv.b13, label %dcv.e15 +dcv.b13: + %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry) + %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29 + %t31 = load ptr, ptr %t30 + %t32 = getelementptr inbounds i8, ptr %t30, i64 8 + %t33 = load i64, ptr %t32 + %t34 = getelementptr inbounds i8, ptr %t30, i64 16 + %t35 = load ptr, ptr %t34 + %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t36 + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t38 + %t39 = call double @sc_dc_2(ptr %t35, ptr %dcp) + %t40.cell = load ptr, ptr @scr_exc_active + %t40.kind = load i32, ptr %t40.cell + %t40 = icmp ne i32 %t40.kind, 0 + br i1 %t40, label %dcv.u16, label %dcv.k17 +dcv.u16: + call void @sc_rrelease_r12(ptr %r0) + ret ptr null +dcv.k17: + %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33) + call void @scr_map_set_str_f64(ptr %t18, ptr %t41, double %t39) + call void @scr_str_release(ptr %t41) + br label %dcv.n14 +dcv.n14: + %t42 = add i64 %t27, 1 + store i64 %t42, ptr %s26 + br label %dcv.c12 +dcv.e15: + ret ptr %r0 +} + +@sc_rnames_9 = internal constant [3 x ptr] [ptr @sc_cs_1683535768246717, ptr @sc_cs_616655122974952, ptr @sc_cs_4445240590403708] +@sc_rnames_9_lens = internal constant [3 x i64] [i64 3, i64 4, i64 4] + +define internal ptr @sc_dc_78(ptr %d, ptr %path) #0 { ; check record:r10 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1956162535513610, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1956162535513610, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_78(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r10(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r10, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r10, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; body + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r10, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r10, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; enc + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + %t18 = getelementptr inbounds %sc_rs_r10, ptr %t5, i64 0, i32 3 + %t19 = getelementptr inbounds %sc_rs_r10, ptr %t8, i64 0, i32 3 + %t20 = load ptr, ptr %t18 ; etag + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + call void @sc_rrelease_r10(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1956162535513610, i64 10, ptr %t8, ptr @sc_rretain_r10, ptr @sc_rrelease_r10, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t22 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 5 + %t25 = icmp eq i32 %t23, 13 + %t26 = or i1 %t24, %t25 + br i1 %t26, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r10() + %t27 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4) + %t28.cell = load ptr, ptr @scr_exc_active + %t28.kind = load i32, ptr %t28.cell + %t28 = icmp ne i32 %t28.kind, 0 + br i1 %t28, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t27) + call void @sc_rrelease_r10(ptr %r0) + ret ptr null +dcr.read.k13: + %t29 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t29 + %t30 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_616655122974952, ptr %t30 + %t31 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t31 + %t32 = call ptr @sc_dc_12(ptr %t27, ptr %dcp) + call void @scr_dyn_release(ptr %t27) + %t33 = getelementptr inbounds %sc_rs_r10, ptr %r0, i64 0, i32 1 ; .body + store ptr %t32, ptr %t33 + %t34.cell = load ptr, ptr @scr_exc_active + %t34.kind = load i32, ptr %t34.cell + %t34 = icmp ne i32 %t34.kind, 0 + br i1 %t34, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r10(ptr %r0) + ret ptr null +dcr.k15: + %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1683535768246717, i64 3) + %t36.cell = load ptr, ptr @scr_exc_active + %t36.kind = load i32, ptr %t36.cell + %t36 = icmp ne i32 %t36.kind, 0 + br i1 %t36, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t35) + call void @sc_rrelease_r10(ptr %r0) + ret ptr null +dcr.read.k17: + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_1683535768246717, ptr %t38 + %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t39 + %t40 = call ptr @sc_dc_0(ptr %t35, ptr %dcp) + call void @scr_dyn_release(ptr %t35) + %t41 = getelementptr inbounds %sc_rs_r10, ptr %r0, i64 0, i32 2 ; .enc + store ptr %t40, ptr %t41 + %t42.cell = load ptr, ptr @scr_exc_active + %t42.kind = load i32, ptr %t42.cell + %t42 = icmp ne i32 %t42.kind, 0 + br i1 %t42, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r10(ptr %r0) + ret ptr null +dcr.k19: + %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4) + %t44.cell = load ptr, ptr @scr_exc_active + %t44.kind = load i32, ptr %t44.cell + %t44 = icmp ne i32 %t44.kind, 0 + br i1 %t44, label %dcr.read.u20, label %dcr.read.k21 +dcr.read.u20: + call void @scr_dyn_release(ptr %t43) + call void @sc_rrelease_r10(ptr %r0) + ret ptr null +dcr.read.k21: + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_4445240590403708, ptr %t46 + %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t47 + %t48 = call ptr @sc_dc_0(ptr %t43, ptr %dcp) + call void @scr_dyn_release(ptr %t43) + %t49 = getelementptr inbounds %sc_rs_r10, ptr %r0, i64 0, i32 3 ; .etag + store ptr %t48, ptr %t49 + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dcr.u22, label %dcr.k23 +dcr.u22: + call void @sc_rrelease_r10(ptr %r0) + ret ptr null +dcr.k23: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_9, ptr @sc_rnames_9_lens, i64 3) + ret ptr %r0 +} + +define internal ptr @sc_dc_77(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4063863580779324, i64 17) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4063863580779324, i64 17) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_77(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4063863580779324, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r10.sc_rrelease_r10.null, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_78(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +@sc_rnames_10 = internal constant [7 x ptr] [ptr @sc_cs_616655122974952, ptr @sc_cs_334509345124372, ptr @sc_cs_4445240590403708, ptr @sc_cs_3603975379547098, ptr @sc_cs_2067668976369489, ptr @sc_cs_1096813006725504, ptr @sc_cs_2538166612030291] +@sc_rnames_10_lens = internal constant [7 x i64] [i64 4, i64 4, i64 4, i64 4, i64 7, i64 9, i64 9] + +define internal ptr @sc_dc_76(ptr %d, ptr %path) #0 { ; check record:r11 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1140872696640102, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1140872696640102, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_76(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r11(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; body + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; encodings + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + %t18 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 3 + %t19 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 3 + %t20 = load ptr, ptr %t18 ; etag + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 4 + %t23 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 4 + %t24 = load i8, ptr %t22 ; immutable + %t25 = load i8, ptr %t23 + store i8 %t25, ptr %t22 + store i8 %t24, ptr %t23 + %t26 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 5 + %t27 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 5 + %t28 = load double, ptr %t26 ; mtimeMs + %t29 = load double, ptr %t27 + store double %t29, ptr %t26 + store double %t28, ptr %t27 + %t30 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 6 + %t31 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 6 + %t32 = load double, ptr %t30 ; size + %t33 = load double, ptr %t31 + store double %t33, ptr %t30 + store double %t32, ptr %t31 + %t34 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 7 + %t35 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 7 + %t36 = load ptr, ptr %t34 ; type + %t37 = load ptr, ptr %t35 + store ptr %t37, ptr %t34 + store ptr %t36, ptr %t35 + call void @sc_rrelease_r11(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1140872696640102, i64 10, ptr %t8, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t38 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t39 = load i32, ptr %t38 + %t40 = icmp eq i32 %t39, 5 + %t41 = icmp eq i32 %t39, 13 + %t42 = or i1 %t40, %t41 + br i1 %t42, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r11() + %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4) + %t44.cell = load ptr, ptr @scr_exc_active + %t44.kind = load i32, ptr %t44.cell + %t44 = icmp ne i32 %t44.kind, 0 + br i1 %t44, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t43) + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.read.k13: + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_616655122974952, ptr %t46 + %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t47 + %t48 = call ptr @sc_dc_12(ptr %t43, ptr %dcp) + call void @scr_dyn_release(ptr %t43) + %t49 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 1 ; .body + store ptr %t48, ptr %t49 + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.k15: + %t51 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2538166612030291, i64 9) + %t52.cell = load ptr, ptr @scr_exc_active + %t52.kind = load i32, ptr %t52.cell + %t52 = icmp ne i32 %t52.kind, 0 + br i1 %t52, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t51) + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.read.k17: + %t53 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t53 + %t54 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2538166612030291, ptr %t54 + %t55 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t55 + %t56 = call ptr @sc_dc_77(ptr %t51, ptr %dcp) + call void @scr_dyn_release(ptr %t51) + %t57 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 2 ; .encodings + store ptr %t56, ptr %t57 + %t58.cell = load ptr, ptr @scr_exc_active + %t58.kind = load i32, ptr %t58.cell + %t58 = icmp ne i32 %t58.kind, 0 + br i1 %t58, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.k19: + %t59 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4) + %t60.cell = load ptr, ptr @scr_exc_active + %t60.kind = load i32, ptr %t60.cell + %t60 = icmp ne i32 %t60.kind, 0 + br i1 %t60, label %dcr.read.u20, label %dcr.read.k21 +dcr.read.u20: + call void @scr_dyn_release(ptr %t59) + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.read.k21: + %t61 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t61 + %t62 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_4445240590403708, ptr %t62 + %t63 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t63 + %t64 = call ptr @sc_dc_0(ptr %t59, ptr %dcp) + call void @scr_dyn_release(ptr %t59) + %t65 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 3 ; .etag + store ptr %t64, ptr %t65 + %t66.cell = load ptr, ptr @scr_exc_active + %t66.kind = load i32, ptr %t66.cell + %t66 = icmp ne i32 %t66.kind, 0 + br i1 %t66, label %dcr.u22, label %dcr.k23 +dcr.u22: + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.k23: + %t67 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1096813006725504, i64 9) + %t68.cell = load ptr, ptr @scr_exc_active + %t68.kind = load i32, ptr %t68.cell + %t68 = icmp ne i32 %t68.kind, 0 + br i1 %t68, label %dcr.read.u24, label %dcr.read.k25 +dcr.read.u24: + call void @scr_dyn_release(ptr %t67) + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.read.k25: + %t69 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t69 + %t70 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_1096813006725504, ptr %t70 + %t71 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t71 + %t72 = call i1 @sc_dc_3(ptr %t67, ptr %dcp) + call void @scr_dyn_release(ptr %t67) + %t73 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 4 ; .immutable + %t74 = zext i1 %t72 to i8 + store i8 %t74, ptr %t73 + %t75.cell = load ptr, ptr @scr_exc_active + %t75.kind = load i32, ptr %t75.cell + %t75 = icmp ne i32 %t75.kind, 0 + br i1 %t75, label %dcr.u26, label %dcr.k27 +dcr.u26: + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.k27: + %t76 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2067668976369489, i64 7) + %t77.cell = load ptr, ptr @scr_exc_active + %t77.kind = load i32, ptr %t77.cell + %t77 = icmp ne i32 %t77.kind, 0 + br i1 %t77, label %dcr.read.u28, label %dcr.read.k29 +dcr.read.u28: + call void @scr_dyn_release(ptr %t76) + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.read.k29: + %t78 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t78 + %t79 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2067668976369489, ptr %t79 + %t80 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t80 + %t81 = call double @sc_dc_2(ptr %t76, ptr %dcp) + call void @scr_dyn_release(ptr %t76) + %t82 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 5 ; .mtimeMs + store double %t81, ptr %t82 + %t83.cell = load ptr, ptr @scr_exc_active + %t83.kind = load i32, ptr %t83.cell + %t83 = icmp ne i32 %t83.kind, 0 + br i1 %t83, label %dcr.u30, label %dcr.k31 +dcr.u30: + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.k31: + %t84 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3603975379547098, i64 4) + %t85.cell = load ptr, ptr @scr_exc_active + %t85.kind = load i32, ptr %t85.cell + %t85 = icmp ne i32 %t85.kind, 0 + br i1 %t85, label %dcr.read.u32, label %dcr.read.k33 +dcr.read.u32: + call void @scr_dyn_release(ptr %t84) + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.read.k33: + %t86 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t86 + %t87 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_3603975379547098, ptr %t87 + %t88 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t88 + %t89 = call double @sc_dc_2(ptr %t84, ptr %dcp) + call void @scr_dyn_release(ptr %t84) + %t90 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 6 ; .size + store double %t89, ptr %t90 + %t91.cell = load ptr, ptr @scr_exc_active + %t91.kind = load i32, ptr %t91.cell + %t91 = icmp ne i32 %t91.kind, 0 + br i1 %t91, label %dcr.u34, label %dcr.k35 +dcr.u34: + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.k35: + %t92 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_334509345124372, i64 4) + %t93.cell = load ptr, ptr @scr_exc_active + %t93.kind = load i32, ptr %t93.cell + %t93 = icmp ne i32 %t93.kind, 0 + br i1 %t93, label %dcr.read.u36, label %dcr.read.k37 +dcr.read.u36: + call void @scr_dyn_release(ptr %t92) + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.read.k37: + %t94 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t94 + %t95 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_334509345124372, ptr %t95 + %t96 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t96 + %t97 = call ptr @sc_dc_0(ptr %t92, ptr %dcp) + call void @scr_dyn_release(ptr %t92) + %t98 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 7 ; .type + store ptr %t97, ptr %t98 + %t99.cell = load ptr, ptr @scr_exc_active + %t99.kind = load i32, ptr %t99.cell + %t99 = icmp ne i32 %t99.kind, 0 + br i1 %t99, label %dcr.u38, label %dcr.k39 +dcr.u38: + call void @sc_rrelease_r11(ptr %r0) + ret ptr null +dcr.k39: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_10, ptr @sc_rnames_10_lens, i64 7) + ret ptr %r0 +} + +define internal ptr @sc_dc_75(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3607504563658207, i64 17) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3607504563658207, i64 17) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_75(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3607504563658207, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r11.sc_rrelease_r11.null, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_76(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal ptr @sc_td_35(ptr %v) #0 { ; to-dyn record:r12 +entry: + %s11 = alloca double + %s18 = alloca double + %t1 = getelementptr inbounds %sc_rs_r12, ptr %v, i64 0, i32 1 + %t2 = load ptr, ptr %t1 ; overflow map + %t3 = getelementptr inbounds i8, ptr %t2, i64 11 + %t4 = load i8, ptr %t3 + %t5 = icmp ne i8 %t4, 0 + %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj + %t0 = call ptr %t6() + %t7 = getelementptr inbounds %sc_rs_r12, ptr %v, i64 0, i32 1 + %t8 = load ptr, ptr %t7 ; overflow map + %t9 = call ptr @scr_map_keys_js_order(ptr %t8) + %t10 = call double @scr_arr_len(ptr %t9) + store double 0x0000000000000000, ptr %s11 + br label %count.c0 +count.c0: + %t12 = load double, ptr %s11 + %t13 = fcmp olt double %t12, %t10 + br i1 %t13, label %count.b1, label %count.e3 +count.b1: + %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1) + %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1 + %t16 = load i64, ptr %t15 + %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data + store double 0x0000000000000000, ptr %s18 + %t19 = call zeroext i1 @scr_map_get_str_f64(ptr %t8, ptr %t14, ptr %s18) + %t20 = load double, ptr %s18 + %t21 = call ptr @scr_dyn_new_num(double %t20) + call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t21) + call void @scr_str_release(ptr %t14) + br label %count.n2 +count.n2: + %t22 = fadd double %t12, 0x3FF0000000000000 + store double %t22, ptr %s11 + br label %count.c0 +count.e3: + call void @scr_arr_release(ptr %t9) + call ptr @scr_dyn_mark_snapshot(ptr %t0) + ret ptr %t0 +} + +define internal zeroext i1 @sc_dm_28(ptr %d) #0 { ; matches record:r10 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1956162535513610, i64 10) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_28(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_10(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1683535768246717, i64 3) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dm.read.u10, label %dm.read.k11 +dm.read.u10: + call void @scr_dyn_release(ptr %t14) + ret i1 false +dm.read.k11: + %t16 = call zeroext i1 @sc_dm_6(ptr %t14) + call void @scr_dyn_release(ptr %t14) + br i1 %t16, label %dm.n9, label %dm.f4 +dm.n9: + %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4) + %t18.cell = load ptr, ptr @scr_exc_active + %t18.kind = load i32, ptr %t18.cell + %t18 = icmp ne i32 %t18.kind, 0 + br i1 %t18, label %dm.read.u13, label %dm.read.k14 +dm.read.u13: + call void @scr_dyn_release(ptr %t17) + ret i1 false +dm.read.k14: + %t19 = call zeroext i1 @sc_dm_6(ptr %t17) + call void @scr_dyn_release(ptr %t17) + br i1 %t19, label %dm.n12, label %dm.f4 +dm.n12: + ret i1 true +dm.f4: + ret i1 false +} + +define internal zeroext i1 @sc_dm_30(ptr %d) #0 { ; matches array +entry: + %s13 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4063863580779324, i64 17) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_30(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 4 + br i1 %t8, label %dm.a5, label %dm.f4 +dm.a5: + %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t10 = load i64, ptr %t9 + %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t12 = load ptr, ptr %t11 + store i64 0, ptr %s13 + br label %dm.el.c6 +dm.el.c6: + %t14 = load i64, ptr %s13 + %t15 = icmp ult i64 %t14, %t10 + br i1 %t15, label %dm.el.b7, label %dm.el.e9 +dm.el.b7: + %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14) + br i1 %t16, label %dm.present10, label %dm.hole11 +dm.hole11: + br label %dm.el.n8 +dm.present10: + %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14 + %t18 = load ptr, ptr %t17 + %t19 = call zeroext i1 @sc_dm_28(ptr %t18) + br i1 %t19, label %dm.eo12, label %dm.f4 +dm.eo12: + br label %dm.el.n8 +dm.el.n8: + %t20 = add i64 %t14, 1 + store i64 %t20, ptr %s13 + br label %dm.el.c6 +dm.el.e9: + ret i1 true +dm.f4: + ret i1 false +} + +define internal zeroext i1 @sc_dm_29(ptr %d) #0 { ; matches record:r11 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1140872696640102, i64 10) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_29(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_10(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2538166612030291, i64 9) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dm.read.u10, label %dm.read.k11 +dm.read.u10: + call void @scr_dyn_release(ptr %t14) + ret i1 false +dm.read.k11: + %t16 = call zeroext i1 @sc_dm_30(ptr %t14) + call void @scr_dyn_release(ptr %t14) + br i1 %t16, label %dm.n9, label %dm.f4 +dm.n9: + %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4) + %t18.cell = load ptr, ptr @scr_exc_active + %t18.kind = load i32, ptr %t18.cell + %t18 = icmp ne i32 %t18.kind, 0 + br i1 %t18, label %dm.read.u13, label %dm.read.k14 +dm.read.u13: + call void @scr_dyn_release(ptr %t17) + ret i1 false +dm.read.k14: + %t19 = call zeroext i1 @sc_dm_6(ptr %t17) + call void @scr_dyn_release(ptr %t17) + br i1 %t19, label %dm.n12, label %dm.f4 +dm.n12: + %t20 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1096813006725504, i64 9) + %t21.cell = load ptr, ptr @scr_exc_active + %t21.kind = load i32, ptr %t21.cell + %t21 = icmp ne i32 %t21.kind, 0 + br i1 %t21, label %dm.read.u16, label %dm.read.k17 +dm.read.u16: + call void @scr_dyn_release(ptr %t20) + ret i1 false +dm.read.k17: + %t22 = call zeroext i1 @sc_dm_24(ptr %t20) + call void @scr_dyn_release(ptr %t20) + br i1 %t22, label %dm.n15, label %dm.f4 +dm.n15: + %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2067668976369489, i64 7) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dm.read.u19, label %dm.read.k20 +dm.read.u19: + call void @scr_dyn_release(ptr %t23) + ret i1 false +dm.read.k20: + %t25 = call zeroext i1 @sc_dm_2(ptr %t23) + call void @scr_dyn_release(ptr %t23) + br i1 %t25, label %dm.n18, label %dm.f4 +dm.n18: + %t26 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3603975379547098, i64 4) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dm.read.u22, label %dm.read.k23 +dm.read.u22: + call void @scr_dyn_release(ptr %t26) + ret i1 false +dm.read.k23: + %t28 = call zeroext i1 @sc_dm_2(ptr %t26) + call void @scr_dyn_release(ptr %t26) + br i1 %t28, label %dm.n21, label %dm.f4 +dm.n21: + %t29 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_334509345124372, i64 4) + %t30.cell = load ptr, ptr @scr_exc_active + %t30.kind = load i32, ptr %t30.cell + %t30 = icmp ne i32 %t30.kind, 0 + br i1 %t30, label %dm.read.u25, label %dm.read.k26 +dm.read.u25: + call void @scr_dyn_release(ptr %t29) + ret i1 false +dm.read.k26: + %t31 = call zeroext i1 @sc_dm_6(ptr %t29) + call void @scr_dyn_release(ptr %t29) + br i1 %t31, label %dm.n24, label %dm.f4 +dm.n24: + ret i1 true +dm.f4: + ret i1 false +} + +define internal ptr @sc_dc_79(ptr %d, ptr %path) #0 { ; check object:%m6.AssetSource +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3314970835853795 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3314970835853795, i64 22) + %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3595188456357610, i64 21) + %t12 = or i1 %t10, %t11 + %t13 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2519527309428716, i64 25) + %t14 = or i1 %t12, %t13 + %t15 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4143564844538255, i64 23) + %t16 = or i1 %t14, %t15 + br i1 %t16, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t17 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t17 +dc.nt5: + %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 12 + br i1 %t20, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t21 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3314970835853795, i64 22) + %t22 = icmp ne ptr %t21, null + br i1 %t22, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t21 +dc.tr.mat9: + %t23 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t24 = call ptr @sc_dc_79(ptr %t23, ptr %path) + call void @scr_dyn_release_v(ptr %t23) + %t25 = icmp ne ptr %t24, null + br i1 %t25, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3314970835853795, i64 22, ptr %t24, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t24 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_4101812311759748, ptr %d) + ret ptr null +} + +@sc_rnames_11 = internal constant [1 x ptr] [ptr @sc_cs_3553689444499593] +@sc_rnames_11_lens = internal constant [1 x i64] [i64 5] + +define internal ptr @sc_dc_80(ptr %d, ptr %path) #0 { ; check record:r33 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1825930128146299, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1825930128146299, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_80(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r33(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r33, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r33, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; error + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r33(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1825930128146299, i64 10, ptr %t8, ptr @sc_rretain_r33, ptr @sc_rrelease_r33, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + %t17 = icmp eq i32 %t15, 13 + %t18 = or i1 %t16, %t17 + br i1 %t18, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r33() + %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3553689444499593, i64 5) + %t20.cell = load ptr, ptr @scr_exc_active + %t20.kind = load i32, ptr %t20.cell + %t20 = icmp ne i32 %t20.kind, 0 + br i1 %t20, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t19) + call void @sc_rrelease_r33(ptr %r0) + ret ptr null +dcr.read.k13: + %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t21 + %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_3553689444499593, ptr %t22 + %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t23 + %t24 = call ptr @sc_dc_0(ptr %t19, ptr %dcp) + call void @scr_dyn_release(ptr %t19) + %t25 = getelementptr inbounds %sc_rs_r33, ptr %r0, i64 0, i32 1 ; .error + store ptr %t24, ptr %t25 + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r33(ptr %r0) + ret ptr null +dcr.k15: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_11, ptr @sc_rnames_11_lens, i64 1) + ret ptr %r0 +} + +define internal ptr @sc_dc_81(ptr %d, ptr %path) #0 { ; check union:u35 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3268100869889769, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr @sc_nullable_null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_29(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_76(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t5, label %dcu.h6, label %dcu.n7 +dcu.h6: + ret ptr null +dcu.n7: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap8, label %dcu.fail9 +dcu.cap8: + %t9 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t10 = call ptr @sc_dc_81(ptr %t9, ptr %path) + call void @scr_dyn_release_v(ptr %t9) + ret ptr %t10 +dcu.fail9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2990177497704744, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_82(ptr %d, ptr %path) #0 { ; check union:u36 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1498306113831208, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_0(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + ret ptr @sc_nullable_null +dcu.n3: + %t3 = call zeroext i1 @sc_dm_28(ptr %d) + br i1 %t3, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t4 = call ptr @sc_dc_78(ptr %d, ptr %path) + ret ptr %t4 +dcu.n5: + %t5 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t5, label %dcu.h6, label %dcu.n7 +dcu.h6: + ret ptr null +dcu.n7: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap8, label %dcu.fail9 +dcu.cap8: + %t9 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t10 = call ptr @sc_dc_82(ptr %t9, ptr %path) + call void @scr_dyn_release_v(ptr %t9) + ret ptr %t10 +dcu.fail9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2990177497704744, ptr %d) + ret ptr null +} + +@sc_rnames_12 = internal constant [3 x ptr] [ptr @sc_cs_1683535768246717, ptr @sc_cs_2359144980483679, ptr @sc_cs_4445240590403708] +@sc_rnames_12_lens = internal constant [3 x i64] [i64 3, i64 3, i64 4] + +define internal ptr @sc_dc_86(ptr %d, ptr %path) #0 { ; check record:r13 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2563538800453537, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2563538800453537, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_86(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r13(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r13, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r13, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; b64 + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r13, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r13, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; enc + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + %t18 = getelementptr inbounds %sc_rs_r13, ptr %t5, i64 0, i32 3 + %t19 = getelementptr inbounds %sc_rs_r13, ptr %t8, i64 0, i32 3 + %t20 = load ptr, ptr %t18 ; etag + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + call void @sc_rrelease_r13(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2563538800453537, i64 10, ptr %t8, ptr @sc_rretain_r13, ptr @sc_rrelease_r13, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t22 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 5 + %t25 = icmp eq i32 %t23, 13 + %t26 = or i1 %t24, %t25 + br i1 %t26, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r13() + %t27 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2359144980483679, i64 3) + %t28.cell = load ptr, ptr @scr_exc_active + %t28.kind = load i32, ptr %t28.cell + %t28 = icmp ne i32 %t28.kind, 0 + br i1 %t28, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t27) + call void @sc_rrelease_r13(ptr %r0) + ret ptr null +dcr.read.k13: + %t29 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t29 + %t30 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2359144980483679, ptr %t30 + %t31 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t31 + %t32 = call ptr @sc_dc_0(ptr %t27, ptr %dcp) + call void @scr_dyn_release(ptr %t27) + %t33 = getelementptr inbounds %sc_rs_r13, ptr %r0, i64 0, i32 1 ; .b64 + store ptr %t32, ptr %t33 + %t34.cell = load ptr, ptr @scr_exc_active + %t34.kind = load i32, ptr %t34.cell + %t34 = icmp ne i32 %t34.kind, 0 + br i1 %t34, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r13(ptr %r0) + ret ptr null +dcr.k15: + %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1683535768246717, i64 3) + %t36.cell = load ptr, ptr @scr_exc_active + %t36.kind = load i32, ptr %t36.cell + %t36 = icmp ne i32 %t36.kind, 0 + br i1 %t36, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t35) + call void @sc_rrelease_r13(ptr %r0) + ret ptr null +dcr.read.k17: + %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t37 + %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_1683535768246717, ptr %t38 + %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t39 + %t40 = call ptr @sc_dc_0(ptr %t35, ptr %dcp) + call void @scr_dyn_release(ptr %t35) + %t41 = getelementptr inbounds %sc_rs_r13, ptr %r0, i64 0, i32 2 ; .enc + store ptr %t40, ptr %t41 + %t42.cell = load ptr, ptr @scr_exc_active + %t42.kind = load i32, ptr %t42.cell + %t42 = icmp ne i32 %t42.kind, 0 + br i1 %t42, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r13(ptr %r0) + ret ptr null +dcr.k19: + %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4) + %t44.cell = load ptr, ptr @scr_exc_active + %t44.kind = load i32, ptr %t44.cell + %t44 = icmp ne i32 %t44.kind, 0 + br i1 %t44, label %dcr.read.u20, label %dcr.read.k21 +dcr.read.u20: + call void @scr_dyn_release(ptr %t43) + call void @sc_rrelease_r13(ptr %r0) + ret ptr null +dcr.read.k21: + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_4445240590403708, ptr %t46 + %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t47 + %t48 = call ptr @sc_dc_0(ptr %t43, ptr %dcp) + call void @scr_dyn_release(ptr %t43) + %t49 = getelementptr inbounds %sc_rs_r13, ptr %r0, i64 0, i32 3 ; .etag + store ptr %t48, ptr %t49 + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dcr.u22, label %dcr.k23 +dcr.u22: + call void @sc_rrelease_r13(ptr %r0) + ret ptr null +dcr.k23: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_12, ptr @sc_rnames_12_lens, i64 3) + ret ptr %r0 +} + +define internal ptr @sc_dc_85(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3299468148590259, i64 17) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3299468148590259, i64 17) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_85(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3299468148590259, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r13.sc_rrelease_r13.null, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_86(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +@sc_rnames_13 = internal constant [7 x ptr] [ptr @sc_cs_2826818497658723, ptr @sc_cs_334509345124372, ptr @sc_cs_2359144980483679, ptr @sc_cs_4445240590403708, ptr @sc_cs_2067668976369489, ptr @sc_cs_1096813006725504, ptr @sc_cs_448384591214783] +@sc_rnames_13_lens = internal constant [7 x i64] [i64 4, i64 4, i64 3, i64 4, i64 7, i64 9, i64 4] + +define internal ptr @sc_dc_84(ptr %d, ptr %path) #0 { ; check record:r14 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2067294835765432, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2067294835765432, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_84(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r14(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; b64 + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; encs + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + %t18 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 3 + %t19 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 3 + %t20 = load ptr, ptr %t18 ; etag + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 4 + %t23 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 4 + %t24 = load i8, ptr %t22 ; immutable + %t25 = load i8, ptr %t23 + store i8 %t25, ptr %t22 + store i8 %t24, ptr %t23 + %t26 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 5 + %t27 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 5 + %t28 = load double, ptr %t26 ; mtimeMs + %t29 = load double, ptr %t27 + store double %t29, ptr %t26 + store double %t28, ptr %t27 + %t30 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 6 + %t31 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 6 + %t32 = load ptr, ptr %t30 ; path + %t33 = load ptr, ptr %t31 + store ptr %t33, ptr %t30 + store ptr %t32, ptr %t31 + %t34 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 7 + %t35 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 7 + %t36 = load ptr, ptr %t34 ; type + %t37 = load ptr, ptr %t35 + store ptr %t37, ptr %t34 + store ptr %t36, ptr %t35 + call void @sc_rrelease_r14(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2067294835765432, i64 10, ptr %t8, ptr @sc_rretain_r14, ptr @sc_rrelease_r14, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t38 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t39 = load i32, ptr %t38 + %t40 = icmp eq i32 %t39, 5 + %t41 = icmp eq i32 %t39, 13 + %t42 = or i1 %t40, %t41 + br i1 %t42, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r14() + %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2359144980483679, i64 3) + %t44.cell = load ptr, ptr @scr_exc_active + %t44.kind = load i32, ptr %t44.cell + %t44 = icmp ne i32 %t44.kind, 0 + br i1 %t44, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t43) + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.read.k13: + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2359144980483679, ptr %t46 + %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t47 + %t48 = call ptr @sc_dc_0(ptr %t43, ptr %dcp) + call void @scr_dyn_release(ptr %t43) + %t49 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 1 ; .b64 + store ptr %t48, ptr %t49 + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.k15: + %t51 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_448384591214783, i64 4) + %t52.cell = load ptr, ptr @scr_exc_active + %t52.kind = load i32, ptr %t52.cell + %t52 = icmp ne i32 %t52.kind, 0 + br i1 %t52, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t51) + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.read.k17: + %t53 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t53 + %t54 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_448384591214783, ptr %t54 + %t55 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t55 + %t56 = call ptr @sc_dc_85(ptr %t51, ptr %dcp) + call void @scr_dyn_release(ptr %t51) + %t57 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 2 ; .encs + store ptr %t56, ptr %t57 + %t58.cell = load ptr, ptr @scr_exc_active + %t58.kind = load i32, ptr %t58.cell + %t58 = icmp ne i32 %t58.kind, 0 + br i1 %t58, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.k19: + %t59 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4) + %t60.cell = load ptr, ptr @scr_exc_active + %t60.kind = load i32, ptr %t60.cell + %t60 = icmp ne i32 %t60.kind, 0 + br i1 %t60, label %dcr.read.u20, label %dcr.read.k21 +dcr.read.u20: + call void @scr_dyn_release(ptr %t59) + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.read.k21: + %t61 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t61 + %t62 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_4445240590403708, ptr %t62 + %t63 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t63 + %t64 = call ptr @sc_dc_0(ptr %t59, ptr %dcp) + call void @scr_dyn_release(ptr %t59) + %t65 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 3 ; .etag + store ptr %t64, ptr %t65 + %t66.cell = load ptr, ptr @scr_exc_active + %t66.kind = load i32, ptr %t66.cell + %t66 = icmp ne i32 %t66.kind, 0 + br i1 %t66, label %dcr.u22, label %dcr.k23 +dcr.u22: + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.k23: + %t67 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1096813006725504, i64 9) + %t68.cell = load ptr, ptr @scr_exc_active + %t68.kind = load i32, ptr %t68.cell + %t68 = icmp ne i32 %t68.kind, 0 + br i1 %t68, label %dcr.read.u24, label %dcr.read.k25 +dcr.read.u24: + call void @scr_dyn_release(ptr %t67) + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.read.k25: + %t69 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t69 + %t70 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_1096813006725504, ptr %t70 + %t71 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t71 + %t72 = call i1 @sc_dc_3(ptr %t67, ptr %dcp) + call void @scr_dyn_release(ptr %t67) + %t73 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 4 ; .immutable + %t74 = zext i1 %t72 to i8 + store i8 %t74, ptr %t73 + %t75.cell = load ptr, ptr @scr_exc_active + %t75.kind = load i32, ptr %t75.cell + %t75 = icmp ne i32 %t75.kind, 0 + br i1 %t75, label %dcr.u26, label %dcr.k27 +dcr.u26: + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.k27: + %t76 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2067668976369489, i64 7) + %t77.cell = load ptr, ptr @scr_exc_active + %t77.kind = load i32, ptr %t77.cell + %t77 = icmp ne i32 %t77.kind, 0 + br i1 %t77, label %dcr.read.u28, label %dcr.read.k29 +dcr.read.u28: + call void @scr_dyn_release(ptr %t76) + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.read.k29: + %t78 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t78 + %t79 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2067668976369489, ptr %t79 + %t80 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t80 + %t81 = call double @sc_dc_2(ptr %t76, ptr %dcp) + call void @scr_dyn_release(ptr %t76) + %t82 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 5 ; .mtimeMs + store double %t81, ptr %t82 + %t83.cell = load ptr, ptr @scr_exc_active + %t83.kind = load i32, ptr %t83.cell + %t83 = icmp ne i32 %t83.kind, 0 + br i1 %t83, label %dcr.u30, label %dcr.k31 +dcr.u30: + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.k31: + %t84 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2826818497658723, i64 4) + %t85.cell = load ptr, ptr @scr_exc_active + %t85.kind = load i32, ptr %t85.cell + %t85 = icmp ne i32 %t85.kind, 0 + br i1 %t85, label %dcr.read.u32, label %dcr.read.k33 +dcr.read.u32: + call void @scr_dyn_release(ptr %t84) + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.read.k33: + %t86 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t86 + %t87 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2826818497658723, ptr %t87 + %t88 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t88 + %t89 = call ptr @sc_dc_0(ptr %t84, ptr %dcp) + call void @scr_dyn_release(ptr %t84) + %t90 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 6 ; .path + store ptr %t89, ptr %t90 + %t91.cell = load ptr, ptr @scr_exc_active + %t91.kind = load i32, ptr %t91.cell + %t91 = icmp ne i32 %t91.kind, 0 + br i1 %t91, label %dcr.u34, label %dcr.k35 +dcr.u34: + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.k35: + %t92 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_334509345124372, i64 4) + %t93.cell = load ptr, ptr @scr_exc_active + %t93.kind = load i32, ptr %t93.cell + %t93 = icmp ne i32 %t93.kind, 0 + br i1 %t93, label %dcr.read.u36, label %dcr.read.k37 +dcr.read.u36: + call void @scr_dyn_release(ptr %t92) + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.read.k37: + %t94 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t94 + %t95 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_334509345124372, ptr %t95 + %t96 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t96 + %t97 = call ptr @sc_dc_0(ptr %t92, ptr %dcp) + call void @scr_dyn_release(ptr %t92) + %t98 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 7 ; .type + store ptr %t97, ptr %t98 + %t99.cell = load ptr, ptr @scr_exc_active + %t99.kind = load i32, ptr %t99.cell + %t99 = icmp ne i32 %t99.kind, 0 + br i1 %t99, label %dcr.u38, label %dcr.k39 +dcr.u38: + call void @sc_rrelease_r14(ptr %r0) + ret ptr null +dcr.k39: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_13, ptr @sc_rnames_13_lens, i64 7) + ret ptr %r0 +} + +define internal ptr @sc_dc_83(ptr %d, ptr %path) #0 { ; check array +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2766961976368107, i64 17) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2766961976368107, i64 17) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_83(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @scr_arr_release(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + call void @scr_arr_outline(ptr %t5) + call void @scr_arr_outline(ptr %t8) + %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1 + %t12 = load i64, ptr %t10 ; length + %t13 = load i64, ptr %t11 + store i64 %t13, ptr %t10 + store i64 %t12, ptr %t11 + %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2 + %t16 = load i64, ptr %t14 ; capacity + %t17 = load i64, ptr %t15 + store i64 %t17, ptr %t14 + store i64 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8 + %t20 = load ptr, ptr %t18 ; data + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9 + %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9 + %t24 = load ptr, ptr %t22 ; presence + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6 + %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6 + %t28 = load i32, ptr %t26 ; filled + %t29 = load i32, ptr %t27 + store i32 %t29, ptr %t26 + store i32 %t28, ptr %t27 + call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8) + call void @scr_arr_release(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2766961976368107, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 4 + br i1 %t32, label %dca.k10, label %dca.f11 +dca.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d) + ret ptr null +dca.k10: + %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t34 = load i64, ptr %t33 + %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r14.sc_rrelease_r14.null, i64 %t34) + %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t37 = load ptr, ptr %t36 + store i64 0, ptr %s38 + br label %dca.c12 +dca.c12: + %t39 = load i64, ptr %s38 + %t40 = icmp ult i64 %t39, %t34 + br i1 %t40, label %dca.b13, label %dca.e15 +dca.b13: + %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39) + br i1 %t41, label %dca.present16, label %dca.hole17 +dca.hole17: + %t42 = sitofp i64 %t39 to double + %t43 = fadd double %t42, 1.0 + call void @scr_arr_set_len(ptr %t35, double %t43) + br label %dca.done18 +dca.present16: + %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr null, ptr %t45 + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 %t39, ptr %t46 + %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @sc_dc_84(ptr %t48, ptr %dcp) + %t50.cell = load ptr, ptr @scr_exc_active + %t50.kind = load i32, ptr %t50.cell + %t50 = icmp ne i32 %t50.kind, 0 + br i1 %t50, label %dca.u19, label %dca.k20 +dca.u19: + call void @scr_arr_release(ptr %t35) + ret ptr null +dca.k20: + %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49) + br label %dca.done18 +dca.done18: + br label %dca.n14 +dca.n14: + %t52 = add i64 %t39, 1 + store i64 %t52, ptr %s38 + br label %dca.c12 +dca.e15: + ret ptr %t35 +} + +define internal zeroext i1 @sc_dm_31(ptr %d) #0 { ; matches record:r13 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2563538800453537, i64 10) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_31(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2359144980483679, i64 3) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_6(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1683535768246717, i64 3) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dm.read.u10, label %dm.read.k11 +dm.read.u10: + call void @scr_dyn_release(ptr %t14) + ret i1 false +dm.read.k11: + %t16 = call zeroext i1 @sc_dm_6(ptr %t14) + call void @scr_dyn_release(ptr %t14) + br i1 %t16, label %dm.n9, label %dm.f4 +dm.n9: + %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4) + %t18.cell = load ptr, ptr @scr_exc_active + %t18.kind = load i32, ptr %t18.cell + %t18 = icmp ne i32 %t18.kind, 0 + br i1 %t18, label %dm.read.u13, label %dm.read.k14 +dm.read.u13: + call void @scr_dyn_release(ptr %t17) + ret i1 false +dm.read.k14: + %t19 = call zeroext i1 @sc_dm_6(ptr %t17) + call void @scr_dyn_release(ptr %t17) + br i1 %t19, label %dm.n12, label %dm.f4 +dm.n12: + ret i1 true +dm.f4: + ret i1 false +} + +define internal zeroext i1 @sc_dm_33(ptr %d) #0 { ; matches array +entry: + %s13 = alloca i64 + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3299468148590259, i64 17) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_33(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 4 + br i1 %t8, label %dm.a5, label %dm.f4 +dm.a5: + %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t10 = load i64, ptr %t9 + %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t12 = load ptr, ptr %t11 + store i64 0, ptr %s13 + br label %dm.el.c6 +dm.el.c6: + %t14 = load i64, ptr %s13 + %t15 = icmp ult i64 %t14, %t10 + br i1 %t15, label %dm.el.b7, label %dm.el.e9 +dm.el.b7: + %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14) + br i1 %t16, label %dm.present10, label %dm.hole11 +dm.hole11: + br label %dm.el.n8 +dm.present10: + %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14 + %t18 = load ptr, ptr %t17 + %t19 = call zeroext i1 @sc_dm_31(ptr %t18) + br i1 %t19, label %dm.eo12, label %dm.f4 +dm.eo12: + br label %dm.el.n8 +dm.el.n8: + %t20 = add i64 %t14, 1 + store i64 %t20, ptr %s13 + br label %dm.el.c6 +dm.el.e9: + ret i1 true +dm.f4: + ret i1 false +} + +define internal zeroext i1 @sc_dm_32(ptr %d) #0 { ; matches record:r14 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2067294835765432, i64 10) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_32(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2359144980483679, i64 3) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_6(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_448384591214783, i64 4) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dm.read.u10, label %dm.read.k11 +dm.read.u10: + call void @scr_dyn_release(ptr %t14) + ret i1 false +dm.read.k11: + %t16 = call zeroext i1 @sc_dm_33(ptr %t14) + call void @scr_dyn_release(ptr %t14) + br i1 %t16, label %dm.n9, label %dm.f4 +dm.n9: + %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4) + %t18.cell = load ptr, ptr @scr_exc_active + %t18.kind = load i32, ptr %t18.cell + %t18 = icmp ne i32 %t18.kind, 0 + br i1 %t18, label %dm.read.u13, label %dm.read.k14 +dm.read.u13: + call void @scr_dyn_release(ptr %t17) + ret i1 false +dm.read.k14: + %t19 = call zeroext i1 @sc_dm_6(ptr %t17) + call void @scr_dyn_release(ptr %t17) + br i1 %t19, label %dm.n12, label %dm.f4 +dm.n12: + %t20 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1096813006725504, i64 9) + %t21.cell = load ptr, ptr @scr_exc_active + %t21.kind = load i32, ptr %t21.cell + %t21 = icmp ne i32 %t21.kind, 0 + br i1 %t21, label %dm.read.u16, label %dm.read.k17 +dm.read.u16: + call void @scr_dyn_release(ptr %t20) + ret i1 false +dm.read.k17: + %t22 = call zeroext i1 @sc_dm_24(ptr %t20) + call void @scr_dyn_release(ptr %t20) + br i1 %t22, label %dm.n15, label %dm.f4 +dm.n15: + %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2067668976369489, i64 7) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dm.read.u19, label %dm.read.k20 +dm.read.u19: + call void @scr_dyn_release(ptr %t23) + ret i1 false +dm.read.k20: + %t25 = call zeroext i1 @sc_dm_2(ptr %t23) + call void @scr_dyn_release(ptr %t23) + br i1 %t25, label %dm.n18, label %dm.f4 +dm.n18: + %t26 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2826818497658723, i64 4) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dm.read.u22, label %dm.read.k23 +dm.read.u22: + call void @scr_dyn_release(ptr %t26) + ret i1 false +dm.read.k23: + %t28 = call zeroext i1 @sc_dm_6(ptr %t26) + call void @scr_dyn_release(ptr %t26) + br i1 %t28, label %dm.n21, label %dm.f4 +dm.n21: + %t29 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_334509345124372, i64 4) + %t30.cell = load ptr, ptr @scr_exc_active + %t30.kind = load i32, ptr %t30.cell + %t30 = icmp ne i32 %t30.kind, 0 + br i1 %t30, label %dm.read.u25, label %dm.read.k26 +dm.read.u25: + call void @scr_dyn_release(ptr %t29) + ret i1 false +dm.read.k26: + %t31 = call zeroext i1 @sc_dm_6(ptr %t29) + call void @scr_dyn_release(ptr %t29) + br i1 %t31, label %dm.n24, label %dm.f4 +dm.n24: + ret i1 true +dm.f4: + ret i1 false +} + +@sc_rnames_14 = internal constant [1 x ptr] [ptr @sc_cs_4377402653539513] +@sc_rnames_14_lens = internal constant [1 x i64] [i64 4] + +define internal ptr @sc_dc_87(ptr %d, ptr %path) #0 { ; check record:r20 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_452564808083842, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_452564808083842, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_87(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r20(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r20, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r20, ptr %t8, i64 0, i32 1 + %t12 = load double, ptr %t10 ; port + %t13 = load double, ptr %t11 + store double %t13, ptr %t10 + store double %t12, ptr %t11 + call void @sc_rrelease_r20(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_452564808083842, i64 10, ptr %t8, ptr @sc_rretain_r20, ptr @sc_rrelease_r20, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + %t17 = icmp eq i32 %t15, 13 + %t18 = or i1 %t16, %t17 + br i1 %t18, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r20() + %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4377402653539513, i64 4) + %t20.cell = load ptr, ptr @scr_exc_active + %t20.kind = load i32, ptr %t20.cell + %t20 = icmp ne i32 %t20.kind, 0 + br i1 %t20, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t19) + call void @sc_rrelease_r20(ptr %r0) + ret ptr null +dcr.read.k13: + %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t21 + %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_4377402653539513, ptr %t22 + %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t23 + %t24 = call double @sc_dc_2(ptr %t19, ptr %dcp) + call void @scr_dyn_release(ptr %t19) + %t25 = getelementptr inbounds %sc_rs_r20, ptr %r0, i64 0, i32 1 ; .port + store double %t24, ptr %t25 + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r20(ptr %r0) + ret ptr null +dcr.k15: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_14, ptr @sc_rnames_14_lens, i64 1) + ret ptr %r0 +} + +define internal ptr @sc_dc_88(ptr %d, ptr %path) #0 { ; check netServer +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3142187572806275, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3142187572806275, i64 9) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_88(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3142187572806275, i64 9, ptr %t8, ptr @scr_net_server_retain_v, ptr @scr_net_server_release_v, i1 false) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call ptr @scr_dyn_handle_unbox(ptr %d, i32 3, ptr %path, ptr @sc_cs_3078073717969559) + ret ptr %t10 +} + +define internal zeroext i1 @sc_dm_35(ptr %d) #0 { ; matches union:u13 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3113150508978810, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_35(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @sc_dm_24(ptr %d) + br i1 %t6, label %dm.y4, label %dm.n5 +dm.n5: + %t7 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t7, label %dm.y4, label %dm.n6 +dm.n6: + ret i1 false +dm.y4: + ret i1 true +} + +define internal zeroext i1 @sc_dm_36(ptr %d) #0 { ; matches union:u19 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2786531977708587, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_36(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = call zeroext i1 @sc_dm_25(ptr %d) + br i1 %t6, label %dm.y4, label %dm.n5 +dm.n5: + %t7 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t7, label %dm.y4, label %dm.n6 +dm.n6: + ret i1 false +dm.y4: + ret i1 true +} + +define internal zeroext i1 @sc_dm_34(ptr %d) #0 { ; matches record:r7 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_708899555714582, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_34(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_35(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2277266704045385, i64 9) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dm.read.u10, label %dm.read.k11 +dm.read.u10: + call void @scr_dyn_release(ptr %t14) + ret i1 false +dm.read.k11: + %t16 = call zeroext i1 @sc_dm_36(ptr %t14) + call void @scr_dyn_release(ptr %t14) + br i1 %t16, label %dm.n9, label %dm.f4 +dm.n9: + ret i1 true +dm.f4: + ret i1 false +} + +define internal ptr @sc_dc_89(ptr %d, ptr %path) #0 { ; check union:u20 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_691918933429116, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_34(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_67(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_89(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3884343448446622, ptr %d) + ret ptr null +} + +define internal ptr @sc_td_36(ptr %v) #0 { ; to-dyn object:%m5.App +entry: + %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + ret ptr %t0 +} + +define internal ptr @sc_dfk_13(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_36(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_89(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_str_release(ptr %t10) + call void @scr_closure_release(ptr %t22) + ret ptr null +dfk.k14: + %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call ptr %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34) + %t39.cell = load ptr, ptr @scr_exc_active + %t39.kind = load i32, ptr %t39.cell + %t39 = icmp ne i32 %t39.kind, 0 + br i1 %t39, label %dfkr.u15, label %dfkr.k16 +dfkr.u15: + ret ptr null +dfkr.k16: + %t40 = call ptr @sc_td_36(ptr %t38) + call void @sc_release__x25_m5_App(ptr %t38) + ret ptr %t40 +} + +define internal ptr @sc_dfb_13(ptr %v, ptr %fname) #0 { ; box func(string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_13, i32 3, ptr @sc_cs_1834495602683357, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_14(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %s36 = alloca ptr + %s42 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_36(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + ret ptr null +dfk.k14: + %t37 = icmp ult i64 3, %argc + br i1 %t37, label %dfk.h15, label %dfk.m16 +dfk.h15: + %t38 = getelementptr inbounds ptr, ptr %args, i64 3 + %t39 = load ptr, ptr %t38 + store ptr %t39, ptr %s36 + br label %dfk.j17 +dfk.m16: + %t40 = call ptr @scr_dyn_undefined() + store ptr %t40, ptr %s36 + br label %dfk.j17 +dfk.j17: + %t41 = load ptr, ptr %s36 + %t43 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 0 + store ptr null, ptr %t43 + %t44 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 1 + store ptr null, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 2 + store i64 3, ptr %t45 + %t46 = call ptr @sc_dc_89(ptr %t41, ptr %s42) + %t47.cell = load ptr, ptr @scr_exc_active + %t47.kind = load i32, ptr %t47.cell + %t47 = icmp ne i32 %t47.kind, 0 + br i1 %t47, label %dfk.u18, label %dfk.k19 +dfk.u18: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @scr_closure_release(ptr %t34) + ret ptr null +dfk.k19: + %t48 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t49 = load ptr, ptr %t48 + %t50 = call ptr %t49(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t46) + %t51.cell = load ptr, ptr @scr_exc_active + %t51.kind = load i32, ptr %t51.cell + %t51 = icmp ne i32 %t51.kind, 0 + br i1 %t51, label %dfkr.u20, label %dfkr.k21 +dfkr.u20: + ret ptr null +dfkr.k21: + %t52 = call ptr @sc_td_36(ptr %t50) + call void @sc_release__x25_m5_App(ptr %t50) + ret ptr %t52 +} + +define internal ptr @sc_dfb_14(ptr %v, ptr %fname) #0 { ; box func(string,string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_14, i32 4, ptr @sc_cs_2392962937543124, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_90(ptr %d, ptr %path) #0 { ; check union:u21 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_998895400089623, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_16(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_34(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_6(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + %t6 = call ptr @sc_dc_0(ptr %d, ptr %path) + %t7 = call ptr @scr_union_new_ref(i32 1, ptr %t6, ptr @scr_str_retain_v, ptr @scr_str_release_v, ptr null) + ret ptr %t7 +dcu.n5: + %t8 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 12 + br i1 %t10, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t11 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_998895400089623, i64 9) + %t12 = icmp ne ptr %t11, null + %t13 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t14 = call ptr @sc_dc_90(ptr %t13, ptr %path) + call void @scr_dyn_release_v(ptr %t13) + %t15 = icmp ne ptr %t14, null + br i1 %t15, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t12, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t11) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t12, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t16 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 1 + %t17 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 1 + %t18 = load i32, ptr %t16 ; tag + %t19 = load i32, ptr %t17 + store i32 %t19, ptr %t16 + store i32 %t18, ptr %t17 + %t20 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 2 + %t21 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 2 + %t22 = load ptr, ptr %t20 ; retain + %t23 = load ptr, ptr %t21 + store ptr %t23, ptr %t20 + store ptr %t22, ptr %t21 + %t24 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 3 + %t25 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 3 + %t26 = load ptr, ptr %t24 ; release + %t27 = load ptr, ptr %t25 + store ptr %t27, ptr %t24 + store ptr %t26, ptr %t25 + %t28 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 4 + %t29 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 4 + %t30 = load ptr, ptr %t28 ; trace + %t31 = load ptr, ptr %t29 + store ptr %t31, ptr %t28 + store ptr %t30, ptr %t29 + %t32 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 5 + %t33 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 5 + %t34 = load i64, ptr %t32 ; slot + %t35 = load i64, ptr %t33 + store i64 %t35, ptr %t32 + store i64 %t34, ptr %t33 + call void @scr_union_release(ptr %t14) + ret ptr %t11 +dcu.put13: + store i8 1, ptr @sc_retype_guard_6 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_998895400089623, i64 9, ptr %t14, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 true) + ret ptr %t14 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1996812579692584, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_15(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(union:u21,arraydyn)=>dyn>,...typed[])=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s13 = alloca i64 + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_90(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = call ptr @scr_dyn_new_arr() + store i64 1, ptr %s13 + br label %dfk.rc5 +dfk.rc5: + %t14 = load i64, ptr %s13 + %t15 = icmp ult i64 %t14, %argc + br i1 %t15, label %dfk.rb6, label %dfk.re7 +dfk.rb6: + %t16 = getelementptr inbounds ptr, ptr %args, i64 %t14 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @scr_dyn_retain_v(ptr %t17) + call void @scr_dyn_arr_push(ptr %t12, ptr %t18) + %t19 = add i64 %t14, 1 + store i64 %t19, ptr %s13 + br label %dfk.rc5 +dfk.re7: + %t20 = call ptr @sc_dc_33(ptr %t12, ptr null) + call void @scr_dyn_release(ptr %t12) + %t21.cell = load ptr, ptr @scr_exc_active + %t21.kind = load i32, ptr %t21.cell + %t21 = icmp ne i32 %t21.kind, 0 + br i1 %t21, label %dfk.rest.u8, label %dfk.rest.k9 +dfk.rest.u8: + call void @scr_union_release(ptr %t10) + ret ptr null +dfk.rest.k9: + %t22 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t23 = load ptr, ptr %t22 + %t24 = call ptr %t23(ptr %c, ptr %t10, ptr %t20) + %t25.cell = load ptr, ptr @scr_exc_active + %t25.kind = load i32, ptr %t25.cell + %t25 = icmp ne i32 %t25.kind, 0 + br i1 %t25, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t26 = call ptr @sc_td_36(ptr %t24) + call void @sc_release__x25_m5_App(ptr %t24) + ret ptr %t26 +} + +define internal ptr @sc_dfb_15(ptr %v, ptr %fname) #0 { ; box func(union:u21,arraydyn)=>dyn>,...typed[])=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_15, i32 1, ptr @sc_cs_2607745839033357, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_16(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(func(object:%m5.CtxCore)=>dyn)=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_36(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_36(ptr %t14) + call void @sc_release__x25_m5_App(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_16(ptr %v, ptr %fname) #0 { ; box func(func(object:%m5.CtxCore)=>dyn)=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_16, i32 1, ptr @sc_cs_1615563165756018, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_17(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(func(dyn,object:%m5.CtxCore)=>void)=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_39(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_36(ptr %t14) + call void @sc_release__x25_m5_App(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_17(ptr %v, ptr %fname) #0 { ; box func(func(dyn,object:%m5.CtxCore)=>void)=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_17, i32 1, ptr @sc_cs_2582782517029237, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_91(ptr %d, ptr %path) #0 { ; check object:%m5.App +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_21424698936986 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m5_App(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_21424698936986, i64 14) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_21424698936986, i64 14) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_91(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_21424698936986, i64 14, ptr %t18, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3643270957151775, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_18(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,object:%m5.App)=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_91(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t28 = call ptr @sc_td_36(ptr %t26) + call void @sc_release__x25_m5_App(ptr %t26) + ret ptr %t28 +} + +define internal ptr @sc_dfb_18(ptr %v, ptr %fname) #0 { ; box func(string,object:%m5.App)=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_18, i32 2, ptr @sc_cs_457260921344797, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_92(ptr %d, ptr %path) #0 { ; check object:%m0.GenDispatch +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2165660704272757 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2165660704272757, i64 22) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2165660704272757, i64 22) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_92(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2165660704272757, i64 22, ptr %t18, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3395729563104566, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_19(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m0.GenDispatch)=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_92(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_36(ptr %t14) + call void @sc_release__x25_m5_App(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_19(ptr %v, ptr %fname) #0 { ; box func(object:%m0.GenDispatch)=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_19, i32 1, ptr @sc_cs_177236993751959, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_93(ptr %d, ptr %path) #0 { ; check object:%m0.GenFetch +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2798802470260116 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2798802470260116, i64 19) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2798802470260116, i64 19) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_93(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2798802470260116, i64 19, ptr %t18, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1090518300670182, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_20(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m0.GenFetch)=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_93(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_36(ptr %t14) + call void @sc_release__x25_m5_App(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_20(ptr %v, ptr %fname) #0 { ; box func(object:%m0.GenFetch)=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_20, i32 1, ptr @sc_cs_4102009867172847, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_94(ptr %d, ptr %path) #0 { ; check object:%m1.UpgradeDispatch +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3870085012327510 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3870085012327510, i64 26) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3870085012327510, i64 26) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_94(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3870085012327510, i64 26, ptr %t18, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3643480643763557, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_21(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m1.UpgradeDispatch)=>object:%m5.App +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_94(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_36(ptr %t14) + call void @sc_release__x25_m5_App(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_21(ptr %v, ptr %fname) #0 { ; box func(object:%m1.UpgradeDispatch)=>object:%m5.App into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_21, i32 1, ptr @sc_cs_1117094822997163, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_23(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,netSocket,bytes)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_53(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_http_req_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_12(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_http_req_release(ptr %t10) + call void @scr_net_sock_release(ptr %t22) + ret ptr null +dfk.k14: + %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t37 = load ptr, ptr %t36 + call void %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34) + %t38.cell = load ptr, ptr @scr_exc_active + %t38.kind = load i32, ptr %t38.cell + %t38 = icmp ne i32 %t38.kind, 0 + br i1 %t38, label %dfkr.u15, label %dfkr.k16 +dfkr.u15: + ret ptr null +dfkr.k16: + %t39 = call ptr @scr_dyn_undefined() + %t40 = call ptr @scr_dyn_retain_v(ptr %t39) + ret ptr %t40 +} + +define internal ptr @sc_dfb_23(ptr %v, ptr %fname) #0 { ; box func(httpReq,netSocket,bytes)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_23, i32 3, ptr @sc_cs_2057212120954729, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_22(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>func(httpReq,netSocket,bytes)=>void +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_dfb_23(ptr %t2, ptr null) + call void @scr_closure_release(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_22(ptr %v, ptr %fname) #0 { ; box func()=>func(httpReq,netSocket,bytes)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_22, i32 0, ptr @sc_cs_3354128358198726, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_25(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,httpRes)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_11(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_http_req_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + call void %t25(ptr %c, ptr %t10, ptr %t22) + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t27 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t27) + ret ptr %t28 +} + +define internal ptr @sc_dfb_25(ptr %v, ptr %fname) #0 { ; box func(httpReq,httpRes)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_25, i32 2, ptr @sc_cs_2931926363260223, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_24(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>func(httpReq,httpRes)=>void +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_dfb_25(ptr %t2, ptr null) + call void @scr_closure_release(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_24(ptr %v, ptr %fname) #0 { ; box func()=>func(httpReq,httpRes)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_24, i32 0, ptr @sc_cs_301648257142937, ptr %fname) + ret ptr %r +} + +@sc_rnames_15 = internal constant [2 x ptr] [ptr @sc_cs_4377402653539513, ptr @sc_cs_1253490067536641] +@sc_rnames_15_lens = internal constant [2 x i64] [i64 4, i64 4] + +define internal ptr @sc_dc_95(ptr %d, ptr %path) #0 { ; check record:r8 +entry: + %dcp = alloca %ScrDynPath + %s38 = alloca ptr + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_647597983044983, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_647597983044983, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_95(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r8(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r8, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r8, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; host + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r8, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r8, ptr %t8, i64 0, i32 2 + %t16 = load double, ptr %t14 ; port + %t17 = load double, ptr %t15 + store double %t17, ptr %t14 + store double %t16, ptr %t15 + call void @sc_rrelease_r8(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_647597983044983, i64 9, ptr %t8, ptr @sc_rretain_r8, ptr @sc_rrelease_r8, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 5 + %t21 = icmp eq i32 %t19, 13 + %t22 = or i1 %t20, %t21 + br i1 %t22, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r8() + %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1253490067536641, i64 4) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t23) + call void @sc_rrelease_r8(ptr %r0) + ret ptr null +dcr.read.k13: + %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t25 + %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_1253490067536641, ptr %t26 + %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t27 + %t28 = call ptr @sc_dc_62(ptr %t23, ptr %dcp) + call void @scr_dyn_release(ptr %t23) + %t29 = getelementptr inbounds %sc_rs_r8, ptr %r0, i64 0, i32 1 ; .host + store ptr %t28, ptr %t29 + %t30.cell = load ptr, ptr @scr_exc_active + %t30.kind = load i32, ptr %t30.cell + %t30 = icmp ne i32 %t30.kind, 0 + br i1 %t30, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r8(ptr %r0) + ret ptr null +dcr.k15: + %t32 = icmp eq ptr %t28, null + %t31 = select i1 %t32, i32 1, i32 0 + %t33 = icmp eq i32 %t31, 1 + %t34 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t35 = load i32, ptr %t34 + %t36 = icmp eq i32 %t35, 5 + %t37 = and i1 %t33, %t36 + store ptr %t28, ptr %s38 + br i1 %t37, label %dcr.has16, label %dcr.hasj17 +dcr.has16: + %t39 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1253490067536641, i64 4) ; .host + %t40 = icmp eq ptr %t39, null + %t41 = select i1 %t40, ptr @sc_nullable_absent, ptr %t28 + store ptr %t41, ptr %s38 + br label %dcr.hasj17 +dcr.hasj17: + %t42 = load ptr, ptr %s38 + %t43 = getelementptr inbounds %sc_rs_r8, ptr %r0, i64 0, i32 1 ; .host + store ptr %t42, ptr %t43 + %t44 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4377402653539513, i64 4) + %t45.cell = load ptr, ptr @scr_exc_active + %t45.kind = load i32, ptr %t45.cell + %t45 = icmp ne i32 %t45.kind, 0 + br i1 %t45, label %dcr.read.u18, label %dcr.read.k19 +dcr.read.u18: + call void @scr_dyn_release(ptr %t44) + call void @sc_rrelease_r8(ptr %r0) + ret ptr null +dcr.read.k19: + %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t46 + %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_4377402653539513, ptr %t47 + %t48 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t48 + %t49 = call double @sc_dc_2(ptr %t44, ptr %dcp) + call void @scr_dyn_release(ptr %t44) + %t50 = getelementptr inbounds %sc_rs_r8, ptr %r0, i64 0, i32 2 ; .port + store double %t49, ptr %t50 + %t51.cell = load ptr, ptr @scr_exc_active + %t51.kind = load i32, ptr %t51.cell + %t51 = icmp ne i32 %t51.kind, 0 + br i1 %t51, label %dcr.u20, label %dcr.k21 +dcr.u20: + call void @sc_rrelease_r8(ptr %r0) + ret ptr null +dcr.k21: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_15, ptr @sc_rnames_15_lens, i64 2) + ret ptr %r0 +} + +define internal ptr @sc_td_37(ptr %v) #0 { ; to-dyn netServer +entry: + %t0 = call ptr @scr_dyn_new_handle(ptr %v, i32 3) + ret ptr %t0 +} + +define internal ptr @sc_dfk_26(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(record:r8)=>netServer +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_95(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_37(ptr %t14) + call void @scr_net_server_release(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_26(ptr %v, ptr %fname) #0 { ; box func(record:r8)=>netServer into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_26, i32 1, ptr @sc_cs_173552041479615, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_96(ptr %d, ptr %path) #0 { ; check union:u27 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2359442629539563, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_17(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_36(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr @sc_unit_6 +dcu.n5: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2359442629539563, i64 9) + %t10 = icmp ne ptr %t9, null + %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t12 = call ptr @sc_dc_96(ptr %t11, ptr %path) + call void @scr_dyn_release_v(ptr %t11) + %t13 = icmp ne ptr %t12, null + br i1 %t13, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t9) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t10, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t16 = load i32, ptr %t14 ; tag + %t17 = load i32, ptr %t15 + store i32 %t17, ptr %t14 + store i32 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2 + %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2 + %t20 = load ptr, ptr %t18 ; retain + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3 + %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3 + %t24 = load ptr, ptr %t22 ; release + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4 + %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4 + %t28 = load ptr, ptr %t26 ; trace + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5 + %t32 = load i64, ptr %t30 ; slot + %t33 = load i64, ptr %t31 + store i64 %t33, ptr %t30 + store i64 %t32, ptr %t31 + call void @scr_union_release(ptr %t12) + ret ptr %t9 +dcu.put13: + store i8 1, ptr @sc_retype_guard_7 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2359442629539563, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 true) + ret ptr %t12 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2054221238945515, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_97(ptr %d, ptr %path) #0 { ; check union:u28 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3915346829477755, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_20(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_43(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_97(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2222188176823686, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_27(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(union:u27,arraydyn)=>dyn>,record:r9,union:u15,union:u28)=>f64 +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %s36 = alloca ptr + %s42 = alloca %ScrDynPath + %s48 = alloca ptr + %s54 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_96(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_33(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_union_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_54(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_union_release(ptr %t10) + call void @scr_arr_release(ptr %t22) + ret ptr null +dfk.k14: + %t37 = icmp ult i64 3, %argc + br i1 %t37, label %dfk.h15, label %dfk.m16 +dfk.h15: + %t38 = getelementptr inbounds ptr, ptr %args, i64 3 + %t39 = load ptr, ptr %t38 + store ptr %t39, ptr %s36 + br label %dfk.j17 +dfk.m16: + %t40 = call ptr @scr_dyn_undefined() + store ptr %t40, ptr %s36 + br label %dfk.j17 +dfk.j17: + %t41 = load ptr, ptr %s36 + %t43 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 0 + store ptr null, ptr %t43 + %t44 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 1 + store ptr null, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 2 + store i64 3, ptr %t45 + %t46 = call ptr @sc_dc_71(ptr %t41, ptr %s42) + %t47.cell = load ptr, ptr @scr_exc_active + %t47.kind = load i32, ptr %t47.cell + %t47 = icmp ne i32 %t47.kind, 0 + br i1 %t47, label %dfk.u18, label %dfk.k19 +dfk.u18: + call void @scr_union_release(ptr %t10) + call void @scr_arr_release(ptr %t22) + call void @sc_rrelease_r9(ptr %t34) + ret ptr null +dfk.k19: + %t49 = icmp ult i64 4, %argc + br i1 %t49, label %dfk.h20, label %dfk.m21 +dfk.h20: + %t50 = getelementptr inbounds ptr, ptr %args, i64 4 + %t51 = load ptr, ptr %t50 + store ptr %t51, ptr %s48 + br label %dfk.j22 +dfk.m21: + %t52 = call ptr @scr_dyn_undefined() + store ptr %t52, ptr %s48 + br label %dfk.j22 +dfk.j22: + %t53 = load ptr, ptr %s48 + %t55 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 0 + store ptr null, ptr %t55 + %t56 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 1 + store ptr null, ptr %t56 + %t57 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 2 + store i64 4, ptr %t57 + %t58 = call ptr @sc_dc_97(ptr %t53, ptr %s54) + %t59.cell = load ptr, ptr @scr_exc_active + %t59.kind = load i32, ptr %t59.cell + %t59 = icmp ne i32 %t59.kind, 0 + br i1 %t59, label %dfk.u23, label %dfk.k24 +dfk.u23: + call void @scr_union_release(ptr %t10) + call void @scr_arr_release(ptr %t22) + call void @sc_rrelease_r9(ptr %t34) + call void @scr_union_release(ptr %t46) + ret ptr null +dfk.k24: + %t60 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t61 = load ptr, ptr %t60 + %t62 = call double %t61(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t46, ptr %t58) + %t63.cell = load ptr, ptr @scr_exc_active + %t63.kind = load i32, ptr %t63.cell + %t63 = icmp ne i32 %t63.kind, 0 + br i1 %t63, label %dfkr.u25, label %dfkr.k26 +dfkr.u25: + ret ptr null +dfkr.k26: + %t64 = call ptr @sc_td_2(double %t62) + ret ptr %t64 +} + +define internal ptr @sc_dfb_27(ptr %v, ptr %fname) #0 { ; box func(union:u27,arraydyn)=>dyn>,record:r9,union:u15,union:u28)=>f64 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_27, i32 5, ptr @sc_cs_4434791701444334, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_38(ptr %v) #0 { ; to-dyn promise +entry: + %t0 = call ptr @scr_dyn_new_promise(ptr %v) + ret ptr %t0 +} + +define internal ptr @sc_dfk_28(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn,dyn,dyn)=>promise +entry: + %s0 = alloca ptr + %s7 = alloca ptr + %s14 = alloca ptr + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + %t8 = icmp ult i64 1, %argc + br i1 %t8, label %dfk.h3, label %dfk.m4 +dfk.h3: + %t9 = getelementptr inbounds ptr, ptr %args, i64 1 + %t10 = load ptr, ptr %t9 + store ptr %t10, ptr %s7 + br label %dfk.j5 +dfk.m4: + %t11 = call ptr @scr_dyn_undefined() + store ptr %t11, ptr %s7 + br label %dfk.j5 +dfk.j5: + %t12 = load ptr, ptr %s7 + %t13 = call ptr @scr_dyn_retain_v(ptr %t12) + %t15 = icmp ult i64 2, %argc + br i1 %t15, label %dfk.h6, label %dfk.m7 +dfk.h6: + %t16 = getelementptr inbounds ptr, ptr %args, i64 2 + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %s14 + br label %dfk.j8 +dfk.m7: + %t18 = call ptr @scr_dyn_undefined() + store ptr %t18, ptr %s14 + br label %dfk.j8 +dfk.j8: + %t19 = load ptr, ptr %s14 + %t20 = call ptr @scr_dyn_retain_v(ptr %t19) + %t21 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t22 = load ptr, ptr %t21 + %t23 = call ptr %t22(ptr %c, ptr %t6, ptr %t13, ptr %t20) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dfkr.u9, label %dfkr.k10 +dfkr.u9: + ret ptr null +dfkr.k10: + %t25 = call ptr @sc_td_38(ptr %t23) + call void @scr_promise_release(ptr %t23) + ret ptr %t25 +} + +define internal ptr @sc_dfb_28(ptr %v, ptr %fname) #0 { ; box func(dyn,dyn,dyn)=>promise into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_28, i32 3, ptr @sc_cs_1285199922266981, ptr %fname) + ret ptr %r +} + +define internal void @sc_dfa_11(ptr %sc_env, double %a0, ptr %a1, ptr %a2) #0 { ; dyn fn adapter to func(f64,array,string)=>void +entry: + %s3 = alloca [3 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_2(double %a0) + %t5 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + %t6 = call ptr @sc_td_12(ptr %a1) + %t7 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 1 + store ptr %t6, ptr %t7 + call void @scr_arr_release(ptr %a1) + %t8 = call ptr @sc_td_0(ptr %a2) + %t9 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 2 + store ptr %t8, ptr %t9 + call void @scr_str_release(ptr %a2) + %t10 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 3, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + call void @scr_dyn_release(ptr %t6) + call void @scr_dyn_release(ptr %t8) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret void +dfa.k1: + call void @scr_dyn_release(ptr %t10) + ret void +} + +define internal ptr @sc_dc_98(ptr %d, ptr %path) #0 { ; check func(f64,array,string)=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_901276133066810, i64 36) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_901276133066810, i64 36) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_98(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_901276133066810, i64 36, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_901276133066810) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_11, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_dfk_29(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,union:u0,string,func(f64,array,string)=>void)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %s36 = alloca ptr + %s42 = alloca %ScrDynPath + %s48 = alloca ptr + %s54 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_51(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + ret ptr null +dfk.k14: + %t37 = icmp ult i64 3, %argc + br i1 %t37, label %dfk.h15, label %dfk.m16 +dfk.h15: + %t38 = getelementptr inbounds ptr, ptr %args, i64 3 + %t39 = load ptr, ptr %t38 + store ptr %t39, ptr %s36 + br label %dfk.j17 +dfk.m16: + %t40 = call ptr @scr_dyn_undefined() + store ptr %t40, ptr %s36 + br label %dfk.j17 +dfk.j17: + %t41 = load ptr, ptr %s36 + %t43 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 0 + store ptr null, ptr %t43 + %t44 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 1 + store ptr null, ptr %t44 + %t45 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 2 + store i64 3, ptr %t45 + %t46 = call ptr @sc_dc_0(ptr %t41, ptr %s42) + %t47.cell = load ptr, ptr @scr_exc_active + %t47.kind = load i32, ptr %t47.cell + %t47 = icmp ne i32 %t47.kind, 0 + br i1 %t47, label %dfk.u18, label %dfk.k19 +dfk.u18: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @sc_rrelease_r0(ptr %t34) + ret ptr null +dfk.k19: + %t49 = icmp ult i64 4, %argc + br i1 %t49, label %dfk.h20, label %dfk.m21 +dfk.h20: + %t50 = getelementptr inbounds ptr, ptr %args, i64 4 + %t51 = load ptr, ptr %t50 + store ptr %t51, ptr %s48 + br label %dfk.j22 +dfk.m21: + %t52 = call ptr @scr_dyn_undefined() + store ptr %t52, ptr %s48 + br label %dfk.j22 +dfk.j22: + %t53 = load ptr, ptr %s48 + %t55 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 0 + store ptr null, ptr %t55 + %t56 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 1 + store ptr null, ptr %t56 + %t57 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 2 + store i64 4, ptr %t57 + %t58 = call ptr @sc_dc_98(ptr %t53, ptr %s54) + %t59.cell = load ptr, ptr @scr_exc_active + %t59.kind = load i32, ptr %t59.cell + %t59 = icmp ne i32 %t59.kind, 0 + br i1 %t59, label %dfk.u23, label %dfk.k24 +dfk.u23: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @sc_rrelease_r0(ptr %t34) + call void @scr_str_release(ptr %t46) + ret ptr null +dfk.k24: + %t60 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t61 = load ptr, ptr %t60 + call void %t61(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t46, ptr %t58) + %t62.cell = load ptr, ptr @scr_exc_active + %t62.kind = load i32, ptr %t62.cell + %t62 = icmp ne i32 %t62.kind, 0 + br i1 %t62, label %dfkr.u25, label %dfkr.k26 +dfkr.u25: + ret ptr null +dfkr.k26: + %t63 = call ptr @scr_dyn_undefined() + %t64 = call ptr @scr_dyn_retain_v(ptr %t63) + ret ptr %t64 +} + +define internal ptr @sc_dfb_29(ptr %v, ptr %fname) #0 { ; box func(string,string,union:u0,string,func(f64,array,string)=>void)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_29, i32 5, ptr @sc_cs_4047028909258918, ptr %fname) + ret ptr %r +} + +define internal void @sc_pda_1(ptr %dst, ptr %src) #0 { ; dyn-box settle adapter for promise +entry: + %t0 = call ptr @scr_dyn_undefined() + %t1 = call ptr @scr_dyn_retain_v(ptr %t0) + call void @scr_promise_fulfill_ref(ptr %dst, ptr %t1, ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + ret void +} + +define internal ptr @sc_td_39(ptr %v) #0 { ; to-dyn promise +entry: + %t0 = call ptr @scr_dyn_new_promise_adapting(ptr %v, ptr @sc_pda_1) + ret ptr %t0 +} + +define internal ptr @sc_dfk_30(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,union:u0,dyn,string,union:u1,object:%m2.ResponseSink)=>promise +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %s36 = alloca ptr + %s43 = alloca ptr + %s49 = alloca %ScrDynPath + %s55 = alloca ptr + %s61 = alloca %ScrDynPath + %s67 = alloca ptr + %s73 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_51(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + ret ptr null +dfk.k14: + %t37 = icmp ult i64 3, %argc + br i1 %t37, label %dfk.h15, label %dfk.m16 +dfk.h15: + %t38 = getelementptr inbounds ptr, ptr %args, i64 3 + %t39 = load ptr, ptr %t38 + store ptr %t39, ptr %s36 + br label %dfk.j17 +dfk.m16: + %t40 = call ptr @scr_dyn_undefined() + store ptr %t40, ptr %s36 + br label %dfk.j17 +dfk.j17: + %t41 = load ptr, ptr %s36 + %t42 = call ptr @scr_dyn_retain_v(ptr %t41) + %t44 = icmp ult i64 4, %argc + br i1 %t44, label %dfk.h18, label %dfk.m19 +dfk.h18: + %t45 = getelementptr inbounds ptr, ptr %args, i64 4 + %t46 = load ptr, ptr %t45 + store ptr %t46, ptr %s43 + br label %dfk.j20 +dfk.m19: + %t47 = call ptr @scr_dyn_undefined() + store ptr %t47, ptr %s43 + br label %dfk.j20 +dfk.j20: + %t48 = load ptr, ptr %s43 + %t50 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 0 + store ptr null, ptr %t50 + %t51 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 1 + store ptr null, ptr %t51 + %t52 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 2 + store i64 4, ptr %t52 + %t53 = call ptr @sc_dc_0(ptr %t48, ptr %s49) + %t54.cell = load ptr, ptr @scr_exc_active + %t54.kind = load i32, ptr %t54.cell + %t54 = icmp ne i32 %t54.kind, 0 + br i1 %t54, label %dfk.u21, label %dfk.k22 +dfk.u21: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @sc_rrelease_r0(ptr %t34) + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +dfk.k22: + %t56 = icmp ult i64 5, %argc + br i1 %t56, label %dfk.h23, label %dfk.m24 +dfk.h23: + %t57 = getelementptr inbounds ptr, ptr %args, i64 5 + %t58 = load ptr, ptr %t57 + store ptr %t58, ptr %s55 + br label %dfk.j25 +dfk.m24: + %t59 = call ptr @scr_dyn_undefined() + store ptr %t59, ptr %s55 + br label %dfk.j25 +dfk.j25: + %t60 = load ptr, ptr %s55 + %t62 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 0 + store ptr null, ptr %t62 + %t63 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 1 + store ptr null, ptr %t63 + %t64 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 2 + store i64 5, ptr %t64 + %t65 = call ptr @sc_dc_23(ptr %t60, ptr %s61) + %t66.cell = load ptr, ptr @scr_exc_active + %t66.kind = load i32, ptr %t66.cell + %t66 = icmp ne i32 %t66.kind, 0 + br i1 %t66, label %dfk.u26, label %dfk.k27 +dfk.u26: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @sc_rrelease_r0(ptr %t34) + call void @sc_rc_release_dyn(ptr %t42) + call void @scr_str_release(ptr %t53) + ret ptr null +dfk.k27: + %t68 = icmp ult i64 6, %argc + br i1 %t68, label %dfk.h28, label %dfk.m29 +dfk.h28: + %t69 = getelementptr inbounds ptr, ptr %args, i64 6 + %t70 = load ptr, ptr %t69 + store ptr %t70, ptr %s67 + br label %dfk.j30 +dfk.m29: + %t71 = call ptr @scr_dyn_undefined() + store ptr %t71, ptr %s67 + br label %dfk.j30 +dfk.j30: + %t72 = load ptr, ptr %s67 + %t74 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 0 + store ptr null, ptr %t74 + %t75 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 1 + store ptr null, ptr %t75 + %t76 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 2 + store i64 6, ptr %t76 + %t77 = call ptr @sc_dc_29(ptr %t72, ptr %s73) + %t78.cell = load ptr, ptr @scr_exc_active + %t78.kind = load i32, ptr %t78.cell + %t78 = icmp ne i32 %t78.kind, 0 + br i1 %t78, label %dfk.u31, label %dfk.k32 +dfk.u31: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + call void @sc_rrelease_r0(ptr %t34) + call void @sc_rc_release_dyn(ptr %t42) + call void @scr_str_release(ptr %t53) + call void @scr_union_release(ptr %t65) + ret ptr null +dfk.k32: + %t79 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t80 = load ptr, ptr %t79 + %t81 = call ptr %t80(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t42, ptr %t53, ptr %t65, ptr %t77) + %t82.cell = load ptr, ptr @scr_exc_active + %t82.kind = load i32, ptr %t82.cell + %t82 = icmp ne i32 %t82.kind, 0 + br i1 %t82, label %dfkr.u33, label %dfkr.k34 +dfkr.u33: + ret ptr null +dfkr.k34: + %t83 = call ptr @sc_td_39(ptr %t81) + call void @scr_promise_release(ptr %t81) + ret ptr %t83 +} + +define internal ptr @sc_dfb_30(ptr %v, ptr %fname) #0 { ; box func(string,string,union:u0,dyn,string,union:u1,object:%m2.ResponseSink)=>promise into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_30, i32 7, ptr @sc_cs_249780872679356, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_31(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,object:%m2.ResponseSink)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_29(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_http_req_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + call void %t25(ptr %c, ptr %t10, ptr %t22) + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t27 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t27) + ret ptr %t28 +} + +define internal ptr @sc_dfb_31(ptr %v, ptr %fname) #0 { ; box func(httpReq,object:%m2.ResponseSink)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_31, i32 2, ptr @sc_cs_3625634938669578, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_99(ptr %d, ptr %path) #0 { ; check object:%m4.MemoryStorage +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3456310594719780 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3456310594719780, i64 24) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3456310594719780, i64 24) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_99(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3456310594719780, i64 24, ptr %t18, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_4010904986871976, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_100(ptr %d, ptr %path) #0 { ; check object:%m4.MemoryFileSink +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3728566007289652 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3728566007289652, i64 25) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3728566007289652, i64 25) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_100(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3728566007289652, i64 25, ptr %t18, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2523707913786933, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_101(ptr %d, ptr %path) #0 { ; check object:%m3.LiteRequest +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_4041255434968695 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4041255434968695, i64 22) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4041255434968695, i64 22) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_101(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4041255434968695, i64 22, ptr %t18, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1164598102066345, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_102(ptr %d, ptr %path) #0 { ; check object:%m2.NodeResponseSink +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3326437563644705 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3326437563644705, i64 27) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3326437563644705, i64 27) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_102(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3326437563644705, i64 27, ptr %t18, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_4118775550205102, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_103(ptr %d, ptr %path) #0 { ; check object:%m11.StaticServer +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_864190948149583 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_864190948149583, i64 24) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_864190948149583, i64 24) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_103(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_864190948149583, i64 24, ptr %t18, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_870978337365731, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_104(ptr %d, ptr %path) #0 { ; check object:%m3.LiteResponse +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_4074974279575818 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4074974279575818, i64 23) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4074974279575818, i64 23) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_104(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4074974279575818, i64 23, ptr %t18, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_652580361931695, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_105(ptr %d, ptr %path) #0 { ; check object:%m4.MultipartParser +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3163508115280491 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3163508115280491, i64 26) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3163508115280491, i64 26) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_105(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3163508115280491, i64 26, ptr %t18, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2201935167278521, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_106(ptr %d, ptr %path) #0 { ; check object:%m5.MethodNotAllowedError +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_1875086966829314 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1875086966829314, i64 32) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1875086966829314, i64 32) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_106(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1875086966829314, i64 32, ptr %t18, ptr @sc_retain__x25_m5_MethodNotAllowedError, ptr @sc_release__x25_m5_MethodNotAllowedError, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1775999344942870, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_107(ptr %d, ptr %path) #0 { ; check object:%m3.LiteHeaders +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_67546268704151 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_67546268704151, i64 22) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_67546268704151, i64 22) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_107(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_67546268704151, i64 22, ptr %t18, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_4196372432750886, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_108(ptr %d, ptr %path) #0 { ; check object:%m9.EmbeddedAssets +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2519527309428716 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2519527309428716, i64 25) + %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4143564844538255, i64 23) + %t12 = or i1 %t10, %t11 + br i1 %t12, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t13 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t13 +dc.nt5: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 12 + br i1 %t16, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t17 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2519527309428716, i64 25) + %t18 = icmp ne ptr %t17, null + br i1 %t18, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t17 +dc.tr.mat9: + %t19 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t20 = call ptr @sc_dc_108(ptr %t19, ptr %path) + call void @scr_dyn_release_v(ptr %t19) + %t21 = icmp ne ptr %t20, null + br i1 %t21, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2519527309428716, i64 25, ptr %t20, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t20 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_44520514718337, ptr %d) + ret ptr null +} + +define internal ptr @sc_dc_109(ptr %d, ptr %path) #0 { ; check object:%m14.BakedAssets +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_4143564844538255 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4143564844538255, i64 23) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4143564844538255, i64 23) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_109(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4143564844538255, i64 23, ptr %t18, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3196909287126131, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_32(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,union:u15)=>object:%m5.CtxCore +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_71(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t28 = call ptr @sc_td_16(ptr %t26) + call void @sc_release__x25_m5_CtxCore(ptr %t26) + ret ptr %t28 +} + +define internal ptr @sc_dfb_32(ptr %v, ptr %fname) #0 { ; box func(string,union:u15)=>object:%m5.CtxCore into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_32, i32 2, ptr @sc_cs_3984454165941240, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_33(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>object:%m5.CtxCore +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_16(ptr %t14) + call void @sc_release__x25_m5_CtxCore(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_33(ptr %v, ptr %fname) #0 { ; box func(string)=>object:%m5.CtxCore into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_33, i32 1, ptr @sc_cs_885587428425789, ptr %fname) + ret ptr %r +} + +define internal zeroext i1 @sc_dm_37(ptr %d) #0 { ; matches record:r4 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_334287699604147, i64 9) + br i1 %t0, label %dm.tr0, label %dm.nt1 +dm.tr0: + ret i1 true +dm.nt1: + %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t2 = load i32, ptr %t1 + %t3 = icmp eq i32 %t2, 12 + br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3 +dm.tr.mat2: + %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t5 = call zeroext i1 @sc_dm_37(ptr %t4) + call void @scr_dyn_release_v(ptr %t4) + ret i1 %t5 +dm.tr.plain3: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 5 + %t9 = icmp eq i32 %t7, 13 + %t10 = or i1 %t8, %t9 + br i1 %t10, label %dm.o5, label %dm.f4 +dm.o5: + %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3066695590452058, i64 6) + %t12.cell = load ptr, ptr @scr_exc_active + %t12.kind = load i32, ptr %t12.cell + %t12 = icmp ne i32 %t12.kind, 0 + br i1 %t12, label %dm.read.u7, label %dm.read.k8 +dm.read.u7: + call void @scr_dyn_release(ptr %t11) + ret i1 false +dm.read.k8: + %t13 = call zeroext i1 @sc_dm_35(ptr %t11) + call void @scr_dyn_release(ptr %t11) + br i1 %t13, label %dm.n6, label %dm.f4 +dm.n6: + ret i1 true +dm.f4: + ret i1 false +} + +@sc_rnames_16 = internal constant [1 x ptr] [ptr @sc_cs_3066695590452058] +@sc_rnames_16_lens = internal constant [1 x i64] [i64 6] + +define internal ptr @sc_dc_111(ptr %d, ptr %path) #0 { ; check record:r4 +entry: + %dcp = alloca %ScrDynPath + %s42 = alloca ptr + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_334287699604147, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_334287699604147, i64 9) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_111(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r4(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r4, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r4, ptr %t8, i64 0, i32 1 + %t12 = load { i32, i64 }, ptr %t10 ; append + %t13 = load { i32, i64 }, ptr %t11 + store { i32, i64 } %t13, ptr %t10 + store { i32, i64 } %t12, ptr %t11 + call void @sc_rrelease_r4(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_334287699604147, i64 9, ptr %t8, ptr @sc_rretain_r4, ptr @sc_rrelease_r4, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + %t17 = icmp eq i32 %t15, 13 + %t18 = or i1 %t16, %t17 + br i1 %t18, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r4() + %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3066695590452058, i64 6) + %t20.cell = load ptr, ptr @scr_exc_active + %t20.kind = load i32, ptr %t20.cell + %t20 = icmp ne i32 %t20.kind, 0 + br i1 %t20, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t19) + call void @sc_rrelease_r4(ptr %r0) + ret ptr null +dcr.read.k13: + %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t21 + %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_3066695590452058, ptr %t22 + %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t23 + %t24 = call ptr @sc_dc_68(ptr %t19, ptr %dcp) + call void @scr_dyn_release(ptr %t19) + %t25 = getelementptr inbounds %sc_rs_r4, ptr %r0, i64 0, i32 1 ; .append + %t26 = icmp eq ptr %t24, null + %t27 = select i1 %t26, ptr @sc_union_none, ptr %t24 + %t28 = getelementptr inbounds %ScrUnion, ptr %t27, i64 0, i32 1 + %t30 = load i32, ptr %t28 + %t29 = getelementptr inbounds %ScrUnion, ptr %t27, i64 0, i32 5 + %t31 = load i64, ptr %t29 + %t32 = getelementptr inbounds { i32, i64 }, ptr %t25, i32 0, i32 0 + store i32 %t30, ptr %t32 + %t33 = getelementptr inbounds { i32, i64 }, ptr %t25, i32 0, i32 1 + store i64 %t31, ptr %t33 + %t34.cell = load ptr, ptr @scr_exc_active + %t34.kind = load i32, ptr %t34.cell + %t34 = icmp ne i32 %t34.kind, 0 + br i1 %t34, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @scr_union_release(ptr %t24) + call void @sc_rrelease_r4(ptr %r0) + ret ptr null +dcr.k15: + %t36 = getelementptr inbounds %ScrUnion, ptr %t24, i64 0, i32 1 + %t35 = load i32, ptr %t36 + %t37 = icmp eq i32 %t35, 1 + %t38 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t39 = load i32, ptr %t38 + %t40 = icmp eq i32 %t39, 5 + %t41 = and i1 %t37, %t40 + store ptr %t24, ptr %s42 + br i1 %t41, label %dcr.has16, label %dcr.hasj17 +dcr.has16: + %t43 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3066695590452058, i64 6) ; .append + %t44 = icmp eq ptr %t43, null + %t45 = select i1 %t44, ptr @sc_absent_0, ptr %t24 + store ptr %t45, ptr %s42 + br label %dcr.hasj17 +dcr.hasj17: + %t46 = load ptr, ptr %s42 + %t47 = getelementptr inbounds %sc_rs_r4, ptr %r0, i64 0, i32 1 ; .append + %t48 = icmp eq ptr %t46, null + %t49 = select i1 %t48, ptr @sc_union_none, ptr %t46 + %t50 = getelementptr inbounds %ScrUnion, ptr %t49, i64 0, i32 1 + %t52 = load i32, ptr %t50 + %t51 = getelementptr inbounds %ScrUnion, ptr %t49, i64 0, i32 5 + %t53 = load i64, ptr %t51 + %t54 = getelementptr inbounds { i32, i64 }, ptr %t47, i32 0, i32 0 + store i32 %t52, ptr %t54 + %t55 = getelementptr inbounds { i32, i64 }, ptr %t47, i32 0, i32 1 + store i64 %t53, ptr %t55 + call void @scr_union_release(ptr %t24) + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_16, ptr @sc_rnames_16_lens, i64 1) + ret ptr %r0 +} + +define internal ptr @sc_dc_110(ptr %d, ptr %path) #0 { ; check union:u14 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3038183441461216, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_37(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_111(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_110(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3884343448446622, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_34(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,union:u14)=>object:%m5.CtxCore +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_110(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + ret ptr null +dfk.k14: + %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call ptr %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34) + %t39.cell = load ptr, ptr @scr_exc_active + %t39.kind = load i32, ptr %t39.cell + %t39 = icmp ne i32 %t39.kind, 0 + br i1 %t39, label %dfkr.u15, label %dfkr.k16 +dfkr.u15: + ret ptr null +dfkr.k16: + %t40 = call ptr @sc_td_16(ptr %t38) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + ret ptr %t40 +} + +define internal ptr @sc_dfb_34(ptr %v, ptr %fname) #0 { ; box func(string,string,union:u14)=>object:%m5.CtxCore into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_34, i32 3, ptr @sc_cs_589165283907200, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_35(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(f64)=>object:%m5.CtxCore +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call double @sc_dc_2(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, double %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_16(ptr %t14) + call void @sc_release__x25_m5_CtxCore(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_35(ptr %v, ptr %fname) #0 { ; box func(f64)=>object:%m5.CtxCore into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_35, i32 1, ptr @sc_cs_3418894039723222, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_36(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,dyn)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t18 = call ptr @scr_dyn_retain_v(ptr %t17) + %t19 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t20 = load ptr, ptr %t19 + call void %t20(ptr %c, ptr %t10, ptr %t18) + %t21.cell = load ptr, ptr @scr_exc_active + %t21.kind = load i32, ptr %t21.cell + %t21 = icmp ne i32 %t21.kind, 0 + br i1 %t21, label %dfkr.u8, label %dfkr.k9 +dfkr.u8: + ret ptr null +dfkr.k9: + %t22 = call ptr @scr_dyn_undefined() + %t23 = call ptr @scr_dyn_retain_v(ptr %t22) + ret ptr %t23 +} + +define internal ptr @sc_dfb_36(ptr %v, ptr %fname) #0 { ; box func(string,dyn)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_36, i32 2, ptr @sc_cs_1273036846250420, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_37(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn)=>object:%m5.CtxCore +entry: + %s0 = alloca ptr + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + %t7 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr %t8(ptr %c, ptr %t6) + %t10.cell = load ptr, ptr @scr_exc_active + %t10.kind = load i32, ptr %t10.cell + %t10 = icmp ne i32 %t10.kind, 0 + br i1 %t10, label %dfkr.u3, label %dfkr.k4 +dfkr.u3: + ret ptr null +dfkr.k4: + %t11 = call ptr @sc_td_16(ptr %t9) + call void @sc_release__x25_m5_CtxCore(ptr %t9) + ret ptr %t11 +} + +define internal ptr @sc_dfb_37(ptr %v, ptr %fname) #0 { ; box func(dyn)=>object:%m5.CtxCore into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_37, i32 1, ptr @sc_cs_1401489145004524, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_38(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(bytes,string)=>object:%m5.CtxCore +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_12(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_bytes_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t28 = call ptr @sc_td_16(ptr %t26) + call void @sc_release__x25_m5_CtxCore(ptr %t26) + ret ptr %t28 +} + +define internal ptr @sc_dfb_38(ptr %v, ptr %fname) #0 { ; box func(bytes,string)=>object:%m5.CtxCore into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_38, i32 2, ptr @sc_cs_2903134673160811, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_39(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string)=>object:%m5.CtxCore +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t28 = call ptr @sc_td_16(ptr %t26) + call void @sc_release__x25_m5_CtxCore(ptr %t26) + ret ptr %t28 +} + +define internal ptr @sc_dfb_39(ptr %v, ptr %fname) #0 { ; box func(string,string)=>object:%m5.CtxCore into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_39, i32 2, ptr @sc_cs_928164213955712, ptr %fname) + ret ptr %r +} + +@sc_rnames_17 = internal constant [1 x ptr] [ptr @sc_cs_3013970235377041] +@sc_rnames_17_lens = internal constant [1 x i64] [i64 7] + +define internal ptr @sc_dc_112(ptr %d, ptr %path) #0 { ; check record:r21 +entry: + %dcp = alloca %ScrDynPath + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1122325011748487, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1122325011748487, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_112(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r21(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r21, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r21, ptr %t8, i64 0, i32 1 + %t12 = load ptr, ptr %t10 ; message + %t13 = load ptr, ptr %t11 + store ptr %t13, ptr %t10 + store ptr %t12, ptr %t11 + call void @sc_rrelease_r21(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1122325011748487, i64 10, ptr %t8, ptr @sc_rretain_r21, ptr @sc_rrelease_r21, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 5 + %t17 = icmp eq i32 %t15, 13 + %t18 = or i1 %t16, %t17 + br i1 %t18, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r21() + %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3013970235377041, i64 7) + %t20.cell = load ptr, ptr @scr_exc_active + %t20.kind = load i32, ptr %t20.cell + %t20 = icmp ne i32 %t20.kind, 0 + br i1 %t20, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t19) + call void @sc_rrelease_r21(ptr %r0) + ret ptr null +dcr.read.k13: + %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t21 + %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_3013970235377041, ptr %t22 + %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t23 + %t24 = call ptr @sc_dc_0(ptr %t19, ptr %dcp) + call void @scr_dyn_release(ptr %t19) + %t25 = getelementptr inbounds %sc_rs_r21, ptr %r0, i64 0, i32 1 ; .message + store ptr %t24, ptr %t25 + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r21(ptr %r0) + ret ptr null +dcr.k15: + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_17, ptr @sc_rnames_17_lens, i64 1) + ret ptr %r0 +} + +define internal ptr @sc_td_43(ptr %v) #0 { ; to-dyn record:r10 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r10, ptr %v, i64 0, i32 2 ; .enc + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1683535768246717, i64 3, ptr %t3) ; enc + %t4 = getelementptr inbounds %sc_rs_r10, ptr %v, i64 0, i32 1 ; .body + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_1(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t6) ; body + %t7 = getelementptr inbounds %sc_rs_r10, ptr %v, i64 0, i32 3 ; .etag + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9) ; etag + %t10 = call ptr @scr_record_source_apply(ptr %t0, ptr %v) + call ptr @scr_dyn_mark_snapshot(ptr %t10) + ret ptr %t10 +} + +define internal ptr @sc_td_42(ptr %v) #0 { ; to-dyn array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %v) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %v, double %t3) + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %tda.hole5, label %tda.present6 +tda.hole5: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %tda.done8 +tda.present6: + %t6 = fcmp oeq double %t5, 2.0 + br i1 %t6, label %tda.undefined4, label %tda.value7 +tda.undefined4: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %tda.done8 +tda.value7: + %t10 = call ptr @scr_arr_get_ref(ptr %v, double %t3) ; +1 + %t11 = call ptr @sc_td_43(ptr %t10) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_rrelease_r10(ptr %t10) + br label %tda.done8 +tda.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %v, ptr %t0) + call ptr @scr_dyn_mark_snapshot(ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_td_41(ptr %v) #0 { ; to-dyn record:r11 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 1 ; .body + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_1(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t3) ; body + %t4 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 7 ; .type + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_334509345124372, i64 4, ptr %t6) ; type + %t7 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 3 ; .etag + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9) ; etag + %t10 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 6 ; .size + %t11 = load double, ptr %t10 + %t12 = call ptr @sc_td_2(double %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3603975379547098, i64 4, ptr %t12) ; size + %t13 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 5 ; .mtimeMs + %t14 = load double, ptr %t13 + %t15 = call ptr @sc_td_2(double %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2067668976369489, i64 7, ptr %t15) ; mtimeMs + %t16 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 4 ; .immutable + %t17 = load i8, ptr %t16 + %t18 = trunc i8 %t17 to i1 + %t19 = call ptr @sc_td_3(i1 %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1096813006725504, i64 9, ptr %t19) ; immutable + %t20 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 2 ; .encodings + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_td_42(ptr %t21) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2538166612030291, i64 9, ptr %t22) ; encodings + %t23 = call ptr @scr_record_source_apply(ptr %t0, ptr %v) + call ptr @scr_dyn_mark_snapshot(ptr %t23) + ret ptr %t23 +} + +define internal ptr @sc_td_40(ptr %v) #0 { ; to-dyn union:u35 +entry: + %t1 = icmp eq ptr %v, null + %t2 = icmp eq ptr %v, @sc_nullable_null + %t3 = select i1 %t2, i32 0, i32 1 + %t0 = select i1 %t1, i32 2, i32 %t3 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 i32 2, label %tdu.a3 ] +tdu.a1: + %t4 = call ptr @scr_dyn_new_null() + ret ptr %t4 +tdu.a2: + %t5 = call ptr @sc_td_41(ptr %v) ; record + ret ptr %t5 +tdu.a3: + %t6 = call ptr @scr_dyn_undefined() + %t7 = call ptr @scr_dyn_retain_v(ptr %t6) + ret ptr %t7 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_dfk_40(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>union:u35 +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_40(ptr %t14) + call void @sc_rrelease_r11(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_40(ptr %v, ptr %fname) #0 { ; box func(string)=>union:u35 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_40, i32 1, ptr @sc_cs_3127122199549447, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_113(ptr %d, ptr %path) #0 { ; check object:%m8.DiskAssets +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3595188456357610 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m8_DiskAssets(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3595188456357610, i64 21) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3595188456357610, i64 21) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_113(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3595188456357610, i64 21, ptr %t18, ptr @sc_retain__x25_m8_DiskAssets, ptr @sc_release__x25_m8_DiskAssets, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_65100522461730, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_41(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,record:r11)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_76(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + call void %t25(ptr %c, ptr %t10, ptr %t22) + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t27 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t27) + ret ptr %t28 +} + +define internal ptr @sc_dfb_41(ptr %v, ptr %fname) #0 { ; box func(string,record:r11)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_41, i32 2, ptr @sc_cs_3356957811084906, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_42(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(array)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_83(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + call void %t13(ptr %c, ptr %t10) + %t14.cell = load ptr, ptr @scr_exc_active + %t14.kind = load i32, ptr %t14.cell + %t14 = icmp ne i32 %t14.kind, 0 + br i1 %t14, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t15 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t15) + ret ptr %t16 +} + +define internal ptr @sc_dfb_42(ptr %v, ptr %fname) #0 { ; box func(array)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_42, i32 1, ptr @sc_cs_2732233530704502, ptr %fname) + ret ptr %r +} + +define internal void @sc_pda_2(ptr %dst, ptr %src) #0 { ; dyn-box settle adapter for promise +entry: + %t0 = call ptr @scr_promise_payload_str(ptr %src) ; +1 + %t1 = call ptr @scr_dyn_new_str(ptr %t0) ; retains s + call void @scr_str_release(ptr %t0) + call void @scr_promise_fulfill_ref(ptr %dst, ptr %t1, ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + ret void +} + +define internal ptr @sc_td_44(ptr %v) #0 { ; to-dyn promise +entry: + %t0 = call ptr @scr_dyn_new_promise_adapting(ptr %v, ptr @sc_pda_2) + ret ptr %t0 +} + +define internal ptr @sc_dfk_43(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>promise +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_44(ptr %t2) + call void @scr_promise_release(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_43(ptr %v, ptr %fname) #0 { ; box func()=>promise into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_43, i32 0, ptr @sc_cs_1207503272071744, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_44(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>promise +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_38(ptr %t2) + call void @scr_promise_release(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_44(ptr %v, ptr %fname) #0 { ; box func()=>promise into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_44, i32 0, ptr @sc_cs_223123181947432, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_115(ptr %d, ptr %path) #0 { ; check union:u37 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_317766872981707, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_10(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_12(ptr %d, ptr %path) + %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null) + ret ptr %t4 +dcu.n3: + %t5 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t5, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr @sc_unit_7 +dcu.n5: + %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 12 + br i1 %t8, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_317766872981707, i64 9) + %t10 = icmp ne ptr %t9, null + %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t12 = call ptr @sc_dc_115(ptr %t11, ptr %path) + call void @scr_dyn_release_v(ptr %t11) + %t13 = icmp ne ptr %t12, null + br i1 %t13, label %dcu.ok8, label %dcu.bad9 +dcu.bad9: + br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11 +dcu.bad.drop10: + call void @scr_union_release(ptr %t9) + br label %dcu.bad.ret11 +dcu.bad.ret11: + ret ptr null +dcu.ok8: + br i1 %t10, label %dcu.refresh12, label %dcu.put13 +dcu.refresh12: + %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t16 = load i32, ptr %t14 ; tag + %t17 = load i32, ptr %t15 + store i32 %t17, ptr %t14 + store i32 %t16, ptr %t15 + %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2 + %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2 + %t20 = load ptr, ptr %t18 ; retain + %t21 = load ptr, ptr %t19 + store ptr %t21, ptr %t18 + store ptr %t20, ptr %t19 + %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3 + %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3 + %t24 = load ptr, ptr %t22 ; release + %t25 = load ptr, ptr %t23 + store ptr %t25, ptr %t22 + store ptr %t24, ptr %t23 + %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4 + %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4 + %t28 = load ptr, ptr %t26 ; trace + %t29 = load ptr, ptr %t27 + store ptr %t29, ptr %t26 + store ptr %t28, ptr %t27 + %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5 + %t32 = load i64, ptr %t30 ; slot + %t33 = load i64, ptr %t31 + store i64 %t33, ptr %t30 + store i64 %t32, ptr %t31 + call void @scr_union_release(ptr %t12) + ret ptr %t9 +dcu.put13: + store i8 1, ptr @sc_retype_guard_8 + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_317766872981707, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false) + ret ptr %t12 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_217677546466963, ptr %d) + ret ptr null +} + +@sc_rnames_18 = internal constant [2 x ptr] [ptr @sc_cs_3610950885518037, ptr @sc_cs_2898582433338787] +@sc_rnames_18_lens = internal constant [2 x i64] [i64 5, i64 4] + +define internal ptr @sc_dc_114(ptr %d, ptr %path) #0 { ; check record:r23 +entry: + %dcp = alloca %ScrDynPath + %s47 = alloca ptr + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1837334171651882, i64 10) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1837334171651882, i64 10) + %t6 = icmp ne ptr %t5, null + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_114(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5 +dc.tr.bad5: + br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7 +dc.tr.bad.drop6: + call void @sc_rrelease_r23(ptr %t5) + br label %dc.tr.bad.ret7 +dc.tr.bad.ret7: + ret ptr null +dc.tr.ok4: + br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9 +dc.tr.refresh8: + %t10 = getelementptr inbounds %sc_rs_r23, ptr %t5, i64 0, i32 1 + %t11 = getelementptr inbounds %sc_rs_r23, ptr %t8, i64 0, i32 1 + %t12 = load i8, ptr %t10 ; done + %t13 = load i8, ptr %t11 + store i8 %t13, ptr %t10 + store i8 %t12, ptr %t11 + %t14 = getelementptr inbounds %sc_rs_r23, ptr %t5, i64 0, i32 2 + %t15 = getelementptr inbounds %sc_rs_r23, ptr %t8, i64 0, i32 2 + %t16 = load ptr, ptr %t14 ; value + %t17 = load ptr, ptr %t15 + store ptr %t17, ptr %t14 + store ptr %t16, ptr %t15 + call void @sc_rrelease_r23(ptr %t8) + ret ptr %t5 +dc.tr.put9: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1837334171651882, i64 10, ptr %t8, ptr @sc_rretain_r23, ptr @sc_rrelease_r23, i1 false) + ret ptr %t8 +dc.tr.plain3: + %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 5 + %t21 = icmp eq i32 %t19, 13 + %t22 = or i1 %t20, %t21 + br i1 %t22, label %dcr.object10, label %dcr.fail11 +dcr.fail11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d) + ret ptr null +dcr.object10: + %r0 = call ptr @sc_rnew_r23() + %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2898582433338787, i64 4) + %t24.cell = load ptr, ptr @scr_exc_active + %t24.kind = load i32, ptr %t24.cell + %t24 = icmp ne i32 %t24.kind, 0 + br i1 %t24, label %dcr.read.u12, label %dcr.read.k13 +dcr.read.u12: + call void @scr_dyn_release(ptr %t23) + call void @sc_rrelease_r23(ptr %r0) + ret ptr null +dcr.read.k13: + %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t25 + %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_2898582433338787, ptr %t26 + %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t27 + %t28 = call i1 @sc_dc_3(ptr %t23, ptr %dcp) + call void @scr_dyn_release(ptr %t23) + %t29 = getelementptr inbounds %sc_rs_r23, ptr %r0, i64 0, i32 1 ; .done + %t30 = zext i1 %t28 to i8 + store i8 %t30, ptr %t29 + %t31.cell = load ptr, ptr @scr_exc_active + %t31.kind = load i32, ptr %t31.cell + %t31 = icmp ne i32 %t31.kind, 0 + br i1 %t31, label %dcr.u14, label %dcr.k15 +dcr.u14: + call void @sc_rrelease_r23(ptr %r0) + ret ptr null +dcr.k15: + %t32 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3610950885518037, i64 5) + %t33.cell = load ptr, ptr @scr_exc_active + %t33.kind = load i32, ptr %t33.cell + %t33 = icmp ne i32 %t33.kind, 0 + br i1 %t33, label %dcr.read.u16, label %dcr.read.k17 +dcr.read.u16: + call void @scr_dyn_release(ptr %t32) + call void @sc_rrelease_r23(ptr %r0) + ret ptr null +dcr.read.k17: + %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0 + store ptr %path, ptr %t34 + %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1 + store ptr @sc_cs_3610950885518037, ptr %t35 + %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2 + store i64 0, ptr %t36 + %t37 = call ptr @sc_dc_115(ptr %t32, ptr %dcp) + call void @scr_dyn_release(ptr %t32) + %t38 = getelementptr inbounds %sc_rs_r23, ptr %r0, i64 0, i32 2 ; .value + store ptr %t37, ptr %t38 + %t39.cell = load ptr, ptr @scr_exc_active + %t39.kind = load i32, ptr %t39.cell + %t39 = icmp ne i32 %t39.kind, 0 + br i1 %t39, label %dcr.u18, label %dcr.k19 +dcr.u18: + call void @sc_rrelease_r23(ptr %r0) + ret ptr null +dcr.k19: + %t41 = getelementptr inbounds %ScrUnion, ptr %t37, i64 0, i32 1 + %t40 = load i32, ptr %t41 + %t42 = icmp eq i32 %t40, 1 + %t43 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t44 = load i32, ptr %t43 + %t45 = icmp eq i32 %t44, 5 + %t46 = and i1 %t42, %t45 + store ptr %t37, ptr %s47 + br i1 %t46, label %dcr.has20, label %dcr.hasj21 +dcr.has20: + %t48 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3610950885518037, i64 5) ; .value + %t49 = icmp eq ptr %t48, null + %t50 = select i1 %t49, ptr @sc_absent_2, ptr %t37 + store ptr %t50, ptr %s47 + br label %dcr.hasj21 +dcr.hasj21: + %t51 = load ptr, ptr %s47 + %t52 = getelementptr inbounds %sc_rs_r23, ptr %r0, i64 0, i32 2 ; .value + store ptr %t51, ptr %t52 + call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_18, ptr @sc_rnames_18_lens, i64 2) + ret ptr %r0 +} + +define internal ptr @sc_dc_116(ptr %d, ptr %path) #0 { ; check promise +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2727151776136871, i64 12) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2727151776136871, i64 12) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_116(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2727151776136871, i64 12, ptr %t8, ptr @scr_promise_retain_v, ptr @scr_promise_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 10 + br i1 %t12, label %dc.k8, label %dc.f9 +dc.f9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544024079890110, ptr %d) + ret ptr null +dc.k8: + %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_promise_retain(ptr %t14) + ret ptr %t15 +} + +define internal ptr @sc_dc_117(ptr %d, ptr %path) #0 { ; check promise +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2640370663486446, i64 13) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2640370663486446, i64 13) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_117(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2640370663486446, i64 13, ptr %t8, ptr @scr_promise_retain_v, ptr @scr_promise_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 10 + br i1 %t12, label %dc.k8, label %dc.f9 +dc.f9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544024079890110, ptr %d) + ret ptr null +dc.k8: + %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_promise_new() + call void @scr_promise_share_identity(ptr %t15, ptr %t14) + call void @scr_promise_race_add(ptr %t15, ptr %t14, ptr @sc_dpa_2) + ret ptr %t15 +} + +define internal ptr @sc_dfk_45(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(f64)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call double @sc_dc_2(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + call void %t13(ptr %c, double %t10) + %t14.cell = load ptr, ptr @scr_exc_active + %t14.kind = load i32, ptr %t14.cell + %t14 = icmp ne i32 %t14.kind, 0 + br i1 %t14, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t15 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t15) + ret ptr %t16 +} + +define internal ptr @sc_dfb_45(ptr %v, ptr %fname) #0 { ; box func(f64)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_45, i32 1, ptr @sc_cs_1793359953353463, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_46(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + call void %t13(ptr %c, ptr %t10) + %t14.cell = load ptr, ptr @scr_exc_active + %t14.kind = load i32, ptr %t14.cell + %t14 = icmp ne i32 %t14.kind, 0 + br i1 %t14, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t15 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t15) + ret ptr %t16 +} + +define internal ptr @sc_dfb_46(ptr %v, ptr %fname) #0 { ; box func(string)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_46, i32 1, ptr @sc_cs_1455899048496469, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_47(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(bytes,string)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_12(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_bytes_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + call void %t25(ptr %c, ptr %t10, ptr %t22) + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t27 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t27) + ret ptr %t28 +} + +define internal ptr @sc_dfb_47(ptr %v, ptr %fname) #0 { ; box func(bytes,string)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_47, i32 2, ptr @sc_cs_916628890312014, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_48(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,f64)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call double @sc_dc_2(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + call void %t25(ptr %c, ptr %t10, double %t22) + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t27 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t27) + ret ptr %t28 +} + +define internal ptr @sc_dfb_48(ptr %v, ptr %fname) #0 { ; box func(string,f64)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_48, i32 2, ptr @sc_cs_1272873061712689, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_49(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(f64,array)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call double @sc_dc_2(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_1(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + call void %t25(ptr %c, double %t10, ptr %t22) + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t27 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t27) + ret ptr %t28 +} + +define internal ptr @sc_dfb_49(ptr %v, ptr %fname) #0 { ; box func(f64,array)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_49, i32 2, ptr @sc_cs_2141261385266017, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_50(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(record:r1)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_5(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + call void %t13(ptr %c, ptr %t10) + %t14.cell = load ptr, ptr @scr_exc_active + %t14.kind = load i32, ptr %t14.cell + %t14 = icmp ne i32 %t14.kind, 0 + br i1 %t14, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t15 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t15) + ret ptr %t16 +} + +define internal ptr @sc_dfb_50(ptr %v, ptr %fname) #0 { ; box func(record:r1)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_50, i32 1, ptr @sc_cs_964906137923731, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_51(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>bool +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call i1 %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_3(i1 %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_51(ptr %v, ptr %fname) #0 { ; box func()=>bool into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_51, i32 0, ptr @sc_cs_1903274682137646, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_52(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>f64 +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call double %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_2(double %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_52(ptr %v, ptr %fname) #0 { ; box func()=>f64 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_52, i32 0, ptr @sc_cs_1364242983314192, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_45(ptr %v) #0 { ; to-dyn union:u33 +entry: + %t1 = icmp eq ptr %v, null + %t2 = icmp eq ptr %v, @sc_nullable_null + %t3 = select i1 %t2, i32 0, i32 1 + %t0 = select i1 %t1, i32 2, i32 %t3 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 i32 2, label %tdu.a3 ] +tdu.a1: + %t4 = call ptr @scr_dyn_new_null() + ret ptr %t4 +tdu.a2: + %t5 = call ptr @sc_td_0(ptr %v) ; string + ret ptr %t5 +tdu.a3: + %t6 = call ptr @scr_dyn_undefined() + %t7 = call ptr @scr_dyn_retain_v(ptr %t6) + ret ptr %t7 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_dfk_53(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>union:u33 +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_45(ptr %t14) + call void @scr_str_release(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_53(ptr %v, ptr %fname) #0 { ; box func(string)=>union:u33 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_53, i32 1, ptr @sc_cs_3866987251297945, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_54(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>record:r0 +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_8(ptr %t2) + call void @sc_rrelease_r0(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_54(ptr %v, ptr %fname) #0 { ; box func()=>record:r0 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_54, i32 0, ptr @sc_cs_372809600886995, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_55(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>union:u3 +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_14(ptr %t2) + call void @scr_union_release(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_55(ptr %v, ptr %fname) #0 { ; box func()=>union:u3 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_55, i32 0, ptr @sc_cs_28620680064020, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_56(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>string +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_0(ptr %t2) + call void @scr_str_release(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_56(ptr %v, ptr %fname) #0 { ; box func()=>string into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_56, i32 0, ptr @sc_cs_3782535335241788, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_47(ptr %v) #0 { ; to-dyn object:%m4.UploadedFile +entry: + %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t0, ptr @sc_ldr_12_materialize_cops) + ret ptr %t0 +} + +define internal ptr @sc_td_46(ptr %v) #0 { ; to-dyn union:u34 +entry: + %t1 = icmp eq ptr %v, null + %t2 = icmp eq ptr %v, @sc_nullable_null + %t3 = select i1 %t2, i32 0, i32 1 + %t0 = select i1 %t1, i32 2, i32 %t3 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 i32 2, label %tdu.a3 ] +tdu.a1: + %t4 = call ptr @scr_dyn_new_null() + ret ptr %t4 +tdu.a2: + %t5 = call ptr @sc_td_47(ptr %v) ; object + ret ptr %t5 +tdu.a3: + %t6 = call ptr @scr_dyn_undefined() + %t7 = call ptr @scr_dyn_retain_v(ptr %t6) + ret ptr %t7 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_dfk_57(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>union:u34 +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_46(ptr %t14) + call void @sc_release__x25_m4_UploadedFile(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_57(ptr %v, ptr %fname) #0 { ; box func(string)=>union:u34 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_57, i32 1, ptr @sc_cs_62391474614842, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_58(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>union:u2 +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_13(ptr %t14) + call void @scr_str_release(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_58(ptr %v, ptr %fname) #0 { ; box func(string)=>union:u2 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_58, i32 1, ptr @sc_cs_21374005649439, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_59(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(array)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_1(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + call void %t13(ptr %c, ptr %t10) + %t14.cell = load ptr, ptr @scr_exc_active + %t14.kind = load i32, ptr %t14.cell + %t14 = icmp ne i32 %t14.kind, 0 + br i1 %t14, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t15 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t15) + ret ptr %t16 +} + +define internal ptr @sc_dfb_59(ptr %v, ptr %fname) #0 { ; box func(array)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_59, i32 1, ptr @sc_cs_1894164568731569, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_60(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>array +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_12(ptr %t2) + call void @scr_arr_release(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_60(ptr %v, ptr %fname) #0 { ; box func()=>array into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_60, i32 0, ptr @sc_cs_3904965855413848, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_61(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>array +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_12(ptr %t14) + call void @scr_arr_release(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_61(ptr %v, ptr %fname) #0 { ; box func(string)=>array into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_61, i32 1, ptr @sc_cs_4171889536153457, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_48(ptr %v) #0 { ; to-dyn array +entry: + %s2 = alloca double + call void @scr_dyn_from_enter(ptr %v) + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %v) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %v, double %t3) + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %tda.hole5, label %tda.present6 +tda.hole5: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %tda.done8 +tda.present6: + %t6 = fcmp oeq double %t5, 2.0 + br i1 %t6, label %tda.undefined4, label %tda.value7 +tda.undefined4: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %tda.done8 +tda.value7: + %t10 = call ptr @scr_arr_get_ref(ptr %v, double %t3) ; +1 + %t11 = call ptr @sc_td_47(ptr %t10) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_release__x25_m4_UploadedFile(ptr %t10) + br label %tda.done8 +tda.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %v, ptr %t0) + call void @scr_dyn_from_leave() + call ptr @scr_dyn_mark_snapshot(ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_dfk_62(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>array +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call ptr %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_48(ptr %t14) + call void @scr_arr_release(ptr %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_62(ptr %v, ptr %fname) #0 { ; box func(string)=>array into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_62, i32 1, ptr @sc_cs_553299930292159, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dfk_63(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(array,array)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_20(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_1(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_arr_release(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + call void %t25(ptr %c, ptr %t10, ptr %t22) + %t26.cell = load ptr, ptr @scr_exc_active + %t26.kind = load i32, ptr %t26.cell + %t26 = icmp ne i32 %t26.kind, 0 + br i1 %t26, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t27 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t27) + ret ptr %t28 +} + +define internal ptr @sc_dfb_63(ptr %v, ptr %fname) #0 { ; box func(array,array)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_63, i32 2, ptr @sc_cs_1062904759900852, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_118(ptr %d, ptr %path) #0 { ; check promise +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_511877503392273, i64 15) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_511877503392273, i64 15) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_118(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_511877503392273, i64 15, ptr %t8, ptr @scr_promise_retain_v, ptr @scr_promise_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 10 + br i1 %t12, label %dc.k8, label %dc.f9 +dc.f9: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544024079890110, ptr %d) + ret ptr null +dc.k8: + %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_promise_new() + call void @scr_promise_share_identity(ptr %t15, ptr %t14) + call void @scr_promise_race_add(ptr %t15, ptr %t14, ptr @sc_dpa_3) + ret ptr %t15 +} + +define internal ptr @sc_dfk_64(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>bool +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = call i1 %t13(ptr %c, ptr %t10) + %t15.cell = load ptr, ptr @scr_exc_active + %t15.kind = load i32, ptr %t15.cell + %t15 = icmp ne i32 %t15.kind, 0 + br i1 %t15, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t16 = call ptr @sc_td_3(i1 %t14) + ret ptr %t16 +} + +define internal ptr @sc_dfb_64(ptr %v, ptr %fname) #0 { ; box func(string)=>bool into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_64, i32 1, ptr @sc_cs_166879103840853, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_119(ptr %d, ptr %path) #0 { ; check union:u31 +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2761382228043105, i64 9) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = call zeroext i1 @sc_dm_29(ptr %d) + br i1 %t2, label %dcu.h2, label %dcu.n3 +dcu.h2: + %t3 = call ptr @sc_dc_76(ptr %d, ptr %path) + ret ptr %t3 +dcu.n3: + %t4 = call zeroext i1 @sc_dm_23(ptr %d) + br i1 %t4, label %dcu.h4, label %dcu.n5 +dcu.h4: + ret ptr null +dcu.n5: + %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 12 + br i1 %t7, label %dcu.cap6, label %dcu.fail7 +dcu.cap6: + %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t9 = call ptr @sc_dc_119(ptr %t8, ptr %path) + call void @scr_dyn_release_v(ptr %t8) + ret ptr %t9 +dcu.fail7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3884343448446622, ptr %d) + ret ptr null +} + +define internal ptr @sc_dfk_65(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn,union:u31)=>dyn +entry: + %s0 = alloca ptr + %s7 = alloca ptr + %s13 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + %t8 = icmp ult i64 1, %argc + br i1 %t8, label %dfk.h3, label %dfk.m4 +dfk.h3: + %t9 = getelementptr inbounds ptr, ptr %args, i64 1 + %t10 = load ptr, ptr %t9 + store ptr %t10, ptr %s7 + br label %dfk.j5 +dfk.m4: + %t11 = call ptr @scr_dyn_undefined() + store ptr %t11, ptr %s7 + br label %dfk.j5 +dfk.j5: + %t12 = load ptr, ptr %s7 + %t14 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 0 + store ptr null, ptr %t14 + %t15 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 1 + store ptr null, ptr %t15 + %t16 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 2 + store i64 1, ptr %t16 + %t17 = call ptr @sc_dc_119(ptr %t12, ptr %s13) + %t18.cell = load ptr, ptr @scr_exc_active + %t18.kind = load i32, ptr %t18.cell + %t18 = icmp ne i32 %t18.kind, 0 + br i1 %t18, label %dfk.u6, label %dfk.k7 +dfk.u6: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +dfk.k7: + %t19 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t20 = load ptr, ptr %t19 + %t21 = call ptr %t20(ptr %c, ptr %t6, ptr %t17) + %t22.cell = load ptr, ptr @scr_exc_active + %t22.kind = load i32, ptr %t22.cell + %t22 = icmp ne i32 %t22.kind, 0 + br i1 %t22, label %dfkr.u8, label %dfkr.k9 +dfkr.u8: + ret ptr null +dfkr.k9: + ret ptr %t21 +} + +define internal ptr @sc_dfb_65(ptr %v, ptr %fname) #0 { ; box func(dyn,union:u31)=>dyn into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_65, i32 2, ptr @sc_cs_3878340342191554, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_49(ptr %v) #0 { ; to-dyn union:u36 +entry: + %t1 = icmp eq ptr %v, null + %t2 = icmp eq ptr %v, @sc_nullable_null + %t3 = select i1 %t2, i32 0, i32 1 + %t0 = select i1 %t1, i32 2, i32 %t3 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 i32 2, label %tdu.a3 ] +tdu.a1: + %t4 = call ptr @scr_dyn_new_null() + ret ptr %t4 +tdu.a2: + %t5 = call ptr @sc_td_43(ptr %v) ; record + ret ptr %t5 +tdu.a3: + %t6 = call ptr @scr_dyn_undefined() + %t7 = call ptr @scr_dyn_retain_v(ptr %t6) + ret ptr %t7 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_dfk_66(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(record:r11,string)=>union:u36 +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_76(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @sc_rrelease_r11(ptr %t10) + ret ptr null +dfk.k9: + %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22) + %t27.cell = load ptr, ptr @scr_exc_active + %t27.kind = load i32, ptr %t27.cell + %t27 = icmp ne i32 %t27.kind, 0 + br i1 %t27, label %dfkr.u10, label %dfkr.k11 +dfkr.u10: + ret ptr null +dfkr.k11: + %t28 = call ptr @sc_td_49(ptr %t26) + call void @sc_rrelease_r10(ptr %t26) + ret ptr %t28 +} + +define internal ptr @sc_dfb_66(ptr %v, ptr %fname) #0 { ; box func(record:r11,string)=>union:u36 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_66, i32 2, ptr @sc_cs_1363959244591732, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_td_50(ptr %v) #0 { ; to-dyn union:u37 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_td_1(ptr %t3) ; bytes + ret ptr %t4 +tdu.a2: + %t5 = call ptr @scr_dyn_undefined() + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + ret ptr %t6 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_td_51(ptr %v) #0 { ; to-dyn union:u6 +entry: + %t1 = icmp eq ptr %v, null + %t0 = select i1 %t1, i32 0, i32 1 + switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ] +tdu.a1: + %t2 = call ptr @scr_dyn_new_null() + ret ptr %t2 +tdu.a2: + %t3 = call ptr @sc_td_47(ptr %v) ; object + ret ptr %t3 +tdu.bad0: + call void @sc_bad_tag() + unreachable +} + +define internal ptr @sc_dfk_67(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>union:u6 +entry: + %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr %t1(ptr %c) + %t3.cell = load ptr, ptr @scr_exc_active + %t3.kind = load i32, ptr %t3.cell + %t3 = icmp ne i32 %t3.kind, 0 + br i1 %t3, label %dfkr.u0, label %dfkr.k1 +dfkr.u0: + ret ptr null +dfkr.k1: + %t4 = call ptr @sc_td_51(ptr %t2) + call void @sc_release__x25_m4_UploadedFile(ptr %t2) + ret ptr %t4 +} + +define internal ptr @sc_dfb_67(ptr %v, ptr %fname) #0 { ; box func()=>union:u6 into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_67, i32 0, ptr @sc_cs_4177961995716049, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_120(ptr %d, ptr %path) #0 { ; check object:%m4.DiskFileSink +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3573893819363590 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m4_DiskFileSink(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3573893819363590, i64 23) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3573893819363590, i64 23) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_120(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3573893819363590, i64 23, ptr %t18, ptr @sc_retain__x25_m4_DiskFileSink, ptr @sc_release__x25_m4_DiskFileSink, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3668476931976593, ptr %d) + ret ptr null +} + +define internal ptr @sc_td_52(ptr %v) #0 { ; to-dyn object:%m4.MultipartFileSink +entry: + %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + ret ptr %t0 +} + +define internal ptr @sc_dfk_68(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,string)=>object:%m4.MultipartFileSink +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %s12 = alloca ptr + %s18 = alloca %ScrDynPath + %s24 = alloca ptr + %s30 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t13 = icmp ult i64 1, %argc + br i1 %t13, label %dfk.h5, label %dfk.m6 +dfk.h5: + %t14 = getelementptr inbounds ptr, ptr %args, i64 1 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %s12 + br label %dfk.j7 +dfk.m6: + %t16 = call ptr @scr_dyn_undefined() + store ptr %t16, ptr %s12 + br label %dfk.j7 +dfk.j7: + %t17 = load ptr, ptr %s12 + %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0 + store ptr null, ptr %t19 + %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1 + store ptr null, ptr %t20 + %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2 + store i64 1, ptr %t21 + %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18) + %t23.cell = load ptr, ptr @scr_exc_active + %t23.kind = load i32, ptr %t23.cell + %t23 = icmp ne i32 %t23.kind, 0 + br i1 %t23, label %dfk.u8, label %dfk.k9 +dfk.u8: + call void @scr_str_release(ptr %t10) + ret ptr null +dfk.k9: + %t25 = icmp ult i64 2, %argc + br i1 %t25, label %dfk.h10, label %dfk.m11 +dfk.h10: + %t26 = getelementptr inbounds ptr, ptr %args, i64 2 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %s24 + br label %dfk.j12 +dfk.m11: + %t28 = call ptr @scr_dyn_undefined() + store ptr %t28, ptr %s24 + br label %dfk.j12 +dfk.j12: + %t29 = load ptr, ptr %s24 + %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0 + store ptr null, ptr %t31 + %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1 + store ptr null, ptr %t32 + %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2 + store i64 2, ptr %t33 + %t34 = call ptr @sc_dc_0(ptr %t29, ptr %s30) + %t35.cell = load ptr, ptr @scr_exc_active + %t35.kind = load i32, ptr %t35.cell + %t35 = icmp ne i32 %t35.kind, 0 + br i1 %t35, label %dfk.u13, label %dfk.k14 +dfk.u13: + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t22) + ret ptr null +dfk.k14: + %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t37 = load ptr, ptr %t36 + %t38 = call ptr %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34) + %t39.cell = load ptr, ptr @scr_exc_active + %t39.kind = load i32, ptr %t39.cell + %t39 = icmp ne i32 %t39.kind, 0 + br i1 %t39, label %dfkr.u15, label %dfkr.k16 +dfkr.u15: + ret ptr null +dfkr.k16: + %t40 = call ptr @sc_td_52(ptr %t38) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t38) + ret ptr %t40 +} + +define internal ptr @sc_dfb_68(ptr %v, ptr %fname) #0 { ; box func(string,string,string)=>object:%m4.MultipartFileSink into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_68, i32 3, ptr @sc_cs_2246533090824195, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_121(ptr %d, ptr %path) #0 { ; check object:%m4.DiskStorage +entry: + %t0 = icmp ne ptr %d, null + br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3 +dc.exact.inspect0: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t1 = icmp eq i32 %t3, 12 + br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3 +dc.exact.capsule1: + %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2020403498516894 + br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3 +dc.exact.hit2: + %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_retain__x25_m4_DiskStorage(ptr %t8) + ret ptr %t9 +dc.exact.miss3: + %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2020403498516894, i64 22) + br i1 %t10, label %dc.tr4, label %dc.nt5 +dc.tr4: + %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t11 +dc.nt5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 12 + br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7 +dc.tr.cap6: + %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2020403498516894, i64 22) + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9 +dc.tr.hit8: + ret ptr %t15 +dc.tr.mat9: + %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t18 = call ptr @sc_dc_121(ptr %t17, ptr %path) + call void @scr_dyn_release_v(ptr %t17) + %t19 = icmp ne ptr %t18, null + br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11 +dc.tr.put10: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2020403498516894, i64 22, ptr %t18, ptr @sc_retain__x25_m4_DiskStorage, ptr @sc_release__x25_m4_DiskStorage, i1 true) + br label %dc.tr.ret11 +dc.tr.ret11: + ret ptr %t18 +dc.tr.plain7: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544229772381623, ptr %d) + ret ptr null +} + +define internal ptr @sc_td_53(ptr %v) #0 { ; to-dyn object:%TypeError +entry: + %t0 = call ptr @scr_dyn_from_error(ptr %v) + ret ptr %t0 +} + +define internal ptr @sc_td_54(ptr %v) #0 { ; to-dyn object:%Error +entry: + %t0 = call ptr @scr_dyn_from_error(ptr %v) + ret ptr %t0 +} + +define internal ptr @sc_cd(ptr %c) #0 { ; caught -> unknown (+1, fresh tree) +entry: + %t0 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 1 + %t1 = load i32, ptr %t0 + switch i32 %t1, label %cd.d4 [ i32 1, label %cd.f0 i32 2, label %cd.b1 i32 3, label %cd.s2 i32 5, label %cd.o3 ] +cd.f0: + %t2 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 2 + %t3 = load double, ptr %t2 + %t4 = call ptr @scr_dyn_new_num(double %t3) + ret ptr %t4 +cd.b1: + %t5 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 3 + %t6 = load i8, ptr %t5 + %t7 = trunc i8 %t6 to i1 + %t8 = call ptr @scr_dyn_new_bool(i1 %t7) + ret ptr %t8 +cd.s2: + %t9 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 4 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @scr_dyn_new_str(ptr %t10) ; _new_str retains + ret ptr %t11 +cd.o3: + %t12 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 4 + %t13 = load ptr, ptr %t12 + %t14 = call zeroext i1 @scr_error_is(ptr %t13) + br i1 %t14, label %cd.e5, label %cd.d4 +cd.e5: + %t15 = call ptr @scr_dyn_from_error(ptr %t13) + ret ptr %t15 +cd.d4: + %t16 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 5 + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @scr_dyn_retain_v + br i1 %t18, label %cd.r6, label %cd.p7 +cd.r6: + %t19 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 4 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @scr_dyn_retain_v(ptr %t20) + ret ptr %t21 +cd.p7: + %t22 = call ptr @scr_dyn_new_obj() + ret ptr %t22 +} + +define internal ptr @sc_dyn_key_get(ptr %d, ptr %k, i1 zeroext %opt) #0 { ; d[k] on dyn +entry: + %s29 = alloca i1 + %s34 = alloca i1 + %s35 = alloca i64 + %s41 = alloca i64 + %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t1 = load i32, ptr %t0 + %t2 = getelementptr inbounds %ScrStr, ptr %k, i64 0, i32 1 + %t3 = load i64, ptr %t2 + %t4 = getelementptr inbounds i8, ptr %k, i64 24 ; ->data + %t5 = icmp eq i32 %t1, 6 + %t6 = icmp eq i32 %t1, 0 + %t7 = or i1 %t5, %t6 + br i1 %t7, label %kg.u0, label %kg.n1 +kg.u0: + br i1 %opt, label %kg.o2, label %kg.t3 +kg.o2: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + ret ptr %t9 +kg.t3: + %t10 = select i1 %t5, ptr @sc_cs_2785503669010995, ptr @sc_cs_3253684798044657 + %t11 = select i1 %t5, i64 46, i64 41 + %t12 = call ptr @scr_str_new(ptr %t10, i64 %t11) + %t13 = call ptr @scr_str_concat(ptr %t12, ptr %k) + call void @scr_str_release(ptr %t12) + %t14 = call ptr @scr_str_new(ptr @sc_cs_2733163726930854, i64 2) + %t15 = call ptr @scr_str_concat(ptr %t13, ptr %t14) + call void @scr_str_release(ptr %t13) + call void @scr_str_release(ptr %t14) + call void @scr_throw_error(i32 1, ptr %t15) ; SCR_ERR_TYPE; takes ownership + ret ptr null +kg.n1: + %t16 = icmp eq i32 %t1, 15 + br i1 %t16, label %kg.sym4, label %kg.n5 +kg.sym4: + %t17 = call ptr @scr_dyn_symbol_get(ptr %d, ptr %k) + ret ptr %t17 +kg.n5: + %t18 = icmp eq i32 %t1, 12 + br i1 %t18, label %kg.tr6, label %kg.n7 +kg.tr6: + %t19 = call ptr @scr_dyn_typed_ref_key_get(ptr %d, ptr %k) + %t20 = icmp ne ptr %t19, null + br i1 %t20, label %kg.tr.fast8, label %kg.tr.view9 +kg.tr.fast8: + ret ptr %t19 +kg.tr.view9: + %t21 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t22 = call ptr @sc_dyn_key_get(ptr %t21, ptr %k, i1 %opt) + call void @scr_dyn_release_v(ptr %t21) + ret ptr %t22 +kg.n7: + %t23 = icmp eq i32 %t1, 13 + br i1 %t23, label %kg.proxy10, label %kg.n11 +kg.proxy10: + %t24 = call ptr @scr_dyn_proxy_get(ptr %d, ptr %k) + ret ptr %t24 +kg.n11: + %t25 = icmp eq i32 %t1, 5 + br i1 %t25, label %kg.ob12, label %kg.n13 +kg.ob12: + %t26 = call ptr @scr_dyn_obj_read(ptr %d, ptr %t4, i64 %t3) + ret ptr %t26 +kg.n13: + %t27 = icmp eq i32 %t1, 9 + br i1 %t27, label %kg.h14, label %kg.n15 +kg.h14: + %t28 = call ptr @scr_dyn_handle_key_get(ptr %d, ptr %k) + ret ptr %t28 +kg.n15: + store i1 false, ptr %s29 + %t30 = icmp eq i64 %t3, 6 + br i1 %t30, label %kg.l616, label %kg.lj17 +kg.l616: + %t31 = call i32 @memcmp(ptr %t4, ptr @sc_cs_272862668042129, i64 6) + %t32 = icmp eq i32 %t31, 0 + store i1 %t32, ptr %s29 + br label %kg.lj17 +kg.lj17: + %t33 = load i1, ptr %s29 + store i1 false, ptr %s34 + store i64 0, ptr %s35 + %t36 = icmp ugt i64 %t3, 0 + br i1 %t36, label %kg.ix18, label %kg.io19 +kg.ix18: + %t37 = icmp ugt i64 %t3, 1 + %t38 = load i8, ptr %t4 + %t39 = icmp eq i8 %t38, 48 + %t40 = and i1 %t37, %t39 + br i1 %t40, label %kg.io19, label %kg.ip20 +kg.ip20: + store i1 true, ptr %s34 + store i64 0, ptr %s41 + br label %kg.id.c21 +kg.id.c21: + %t42 = load i64, ptr %s41 + %t43 = icmp ult i64 %t42, %t3 + br i1 %t43, label %kg.id.b22, label %kg.id.e24 +kg.id.b22: + %t44 = getelementptr inbounds i8, ptr %t4, i64 %t42 + %t45 = load i8, ptr %t44 + %t46 = icmp ult i8 %t45, 48 + %t47 = icmp ugt i8 %t45, 57 + %t48 = load i64, ptr %s35 + %t49 = icmp ugt i64 %t48, 1844674407370955160 + %t50 = or i1 %t46, %t47 + %t51 = or i1 %t50, %t49 + br i1 %t51, label %kg.ib25, label %kg.is26 +kg.ib25: + store i1 false, ptr %s34 + br label %kg.io19 +kg.is26: + %t52 = mul i64 %t48, 10 + %t53 = sub i8 %t45, 48 + %t54 = zext i8 %t53 to i64 + %t55 = add i64 %t52, %t54 + store i64 %t55, ptr %s35 + br label %kg.id.n23 +kg.id.n23: + %t56 = add i64 %t42, 1 + store i64 %t56, ptr %s41 + br label %kg.id.c21 +kg.id.e24: + br label %kg.io19 +kg.io19: + %t57 = load i1, ptr %s34 + %t58 = load i64, ptr %s35 + %t59 = icmp eq i32 %t1, 7 + br i1 %t59, label %kg.by27, label %kg.n28 +kg.by27: + %t60 = call ptr @scr_dyn_bytes_key_get(ptr %d, ptr %k) + ret ptr %t60 +kg.n28: + %t61 = icmp eq i32 %t1, 8 + br i1 %t61, label %kg.fn29, label %kg.n30 +kg.fn29: + %t62 = call ptr @scr_dyn_fn_get(ptr %d, ptr %t4, i64 %t3) + %t63 = icmp ne ptr %t62, null + br i1 %t63, label %kg.fh31, label %kg.fm32 +kg.fh31: + ret ptr %t62 +kg.fm32: + %t64 = call ptr @scr_dyn_undefined() + %t65 = call ptr @scr_dyn_retain_v(ptr %t64) + ret ptr %t65 +kg.n30: + %t66 = icmp eq i32 %t1, 4 + %t67 = icmp eq i32 %t1, 3 + %t68 = or i1 %t66, %t67 + br i1 %t68, label %kg.as33, label %kg.n34 +kg.as33: + br i1 %t33, label %kg.al35, label %kg.ai36 +kg.al35: + br i1 %t66, label %kg.aa37, label %kg.asr38 +kg.aa37: + %t69 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t70 = load i64, ptr %t69 + %t71 = sitofp i64 %t70 to double + %t72 = call ptr @scr_dyn_new_num(double %t71) + ret ptr %t72 +kg.asr38: + %t73 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t74 = load ptr, ptr %t73 + %t75 = call double @scr_str_utf16_len(ptr %t74) + %t76 = call ptr @scr_dyn_new_num(double %t75) + ret ptr %t76 +kg.ai36: + br i1 %t57, label %kg.at39, label %kg.am40 +kg.at39: + br i1 %t66, label %kg.ae41, label %kg.ac42 +kg.ae41: + %t77 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len + %t78 = load i64, ptr %t77 + %t79 = icmp ult i64 %t58, %t78 + br i1 %t79, label %kg.ah43, label %kg.am40 +kg.ah43: + %t80 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items + %t81 = load ptr, ptr %t80 + %t82 = getelementptr inbounds ptr, ptr %t81, i64 %t58 + %t83 = load ptr, ptr %t82 + %t84 = call ptr @scr_dyn_retain_v(ptr %t83) + ret ptr %t84 +kg.ac42: + %t85 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v + %t86 = load ptr, ptr %t85 + %t87 = call double @scr_str_utf16_len(ptr %t86) + %t88 = sitofp i64 %t58 to double + %t89 = fcmp olt double %t88, %t87 + br i1 %t89, label %kg.ash44, label %kg.am40 +kg.ash44: + %t90 = call ptr @scr_str_char_at(ptr %t86, double %t88) + %t91 = call ptr @scr_dyn_new_str(ptr %t90) + call void @scr_str_release(ptr %t90) + ret ptr %t91 +kg.am40: + br i1 %t66, label %kg.an45, label %kg.ao46 +kg.an45: + %t92 = call ptr @scr_dyn_arr_named_get(ptr %d, ptr %k) + ret ptr %t92 +kg.ao46: + %t93 = call ptr @scr_dyn_undefined() + %t94 = call ptr @scr_dyn_retain_v(ptr %t93) + ret ptr %t94 +kg.n34: + %t95 = call ptr @scr_dyn_undefined() + %t96 = call ptr @scr_dyn_retain_v(ptr %t95) + ret ptr %t96 +} + +define internal void @sc_dfa_12(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(string,string)=>void +entry: + %s3 = alloca [2 x ptr] + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0] + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1 + %t4 = call ptr @sc_td_0(ptr %a0) + %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0 + store ptr %t4, ptr %t5 + call void @scr_str_release(ptr %a0) + %t6 = call ptr @sc_td_0(ptr %a1) + %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1 + store ptr %t6, ptr %t7 + call void @scr_str_release(ptr %a1) + %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037) + call void @scr_dyn_release(ptr %t2) + call void @scr_dyn_release(ptr %t4) + call void @scr_dyn_release(ptr %t6) + %t9.cell = load ptr, ptr @scr_exc_active + %t9.kind = load i32, ptr %t9.cell + %t9 = icmp ne i32 %t9.kind, 0 + br i1 %t9, label %dfa.u0, label %dfa.k1 +dfa.u0: + ret void +dfa.k1: + call void @scr_dyn_release(ptr %t8) + ret void +} + +define internal ptr @sc_dc_123(ptr %d, ptr %path) #0 { ; check func(string,string)=>void +entry: + %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3563927413032978, i64 25) + br i1 %t0, label %dc.tr0, label %dc.nt1 +dc.tr0: + %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t1 +dc.nt1: + %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t3 = load i32, ptr %t2 + %t4 = icmp eq i32 %t3, 12 + br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3 +dc.tr.cap2: + %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3563927413032978, i64 25) + %t6 = icmp ne ptr %t5, null + br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5 +dc.tr.hit4: + ret ptr %t5 +dc.tr.mat5: + %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t8 = call ptr @sc_dc_123(ptr %t7, ptr %path) + call void @scr_dyn_release_v(ptr %t7) + %t9 = icmp ne ptr %t8, null + br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7 +dc.tr.put6: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3563927413032978, i64 25, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true) + br label %dc.tr.ret7 +dc.tr.ret7: + ret ptr %t8 +dc.tr.plain3: + %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d) + br i1 %t10, label %dcf.k9, label %dcf.f10 +dcf.f10: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d) + ret ptr null +dcf.k9: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t11 = icmp eq i32 %t13, 8 + br i1 %t11, label %dcf.signature11, label %dcf.w8 +dcf.signature11: + %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig + %t15 = load ptr, ptr %t14 + %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_3563927413032978) + %t17 = icmp eq i32 %t16, 0 + br i1 %t17, label %dcf.s12, label %dcf.w8 +dcf.s12: + %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + ret ptr %t20 +dcf.w8: + %t21 = call ptr @scr_closure_new(ptr @sc_dfa_12, i64 1) + %t22 = call i32 @scr_dyn_function_kind(ptr %d) + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0] + store i32 %t24, ptr %t23 + %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0] + store ptr %t25, ptr %t26 + %t27 = call ptr @scr_dyn_retain_v(ptr %d) + call void @scr_box_set_ref(ptr %t25, ptr %t27) + call void @scr_dyn_adopt_identity(ptr %t21, ptr %d) + ret ptr %t21 +} + +define internal ptr @sc_dfk_69(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(func(string,string)=>void)=>void +entry: + %s0 = alloca ptr + %s6 = alloca %ScrDynPath + %t1 = icmp ult i64 0, %argc + br i1 %t1, label %dfk.h0, label %dfk.m1 +dfk.h0: + %t2 = getelementptr inbounds ptr, ptr %args, i64 0 + %t3 = load ptr, ptr %t2 + store ptr %t3, ptr %s0 + br label %dfk.j2 +dfk.m1: + %t4 = call ptr @scr_dyn_undefined() + store ptr %t4, ptr %s0 + br label %dfk.j2 +dfk.j2: + %t5 = load ptr, ptr %s0 + %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0 + store ptr null, ptr %t7 + %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1 + store ptr null, ptr %t8 + %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2 + store i64 0, ptr %t9 + %t10 = call ptr @sc_dc_123(ptr %t5, ptr %s6) + %t11.cell = load ptr, ptr @scr_exc_active + %t11.kind = load i32, ptr %t11.cell + %t11 = icmp ne i32 %t11.kind, 0 + br i1 %t11, label %dfk.u3, label %dfk.k4 +dfk.u3: + ret ptr null +dfk.k4: + %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + call void %t13(ptr %c, ptr %t10) + %t14.cell = load ptr, ptr @scr_exc_active + %t14.kind = load i32, ptr %t14.cell + %t14 = icmp ne i32 %t14.kind, 0 + br i1 %t14, label %dfkr.u5, label %dfkr.k6 +dfkr.u5: + ret ptr null +dfkr.k6: + %t15 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t15) + ret ptr %t16 +} + +define internal ptr @sc_dfb_69(ptr %v, ptr %fname) #0 { ; box func(func(string,string)=>void)=>void into dyn +entry: + %c = call ptr @scr_closure_retain_v(ptr %v) + %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_69, i32 1, ptr @sc_cs_4163660238022989, ptr %fname) + ret ptr %r +} + +define internal ptr @sc_dc_124(ptr %d, ptr %path) #0 { ; check object:%Error +entry: + %t0 = call ptr @scr_errdyn_err_of(ptr %d) + %t1 = icmp ne ptr %t0, null + br i1 %t1, label %dc.error0, label %dc.noterror1 +dc.error0: + ret ptr %t0 +dc.noterror1: + %t2 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1024475271419441, i64 13) + br i1 %t2, label %dc.tr2, label %dc.nt3 +dc.tr2: + %t3 = call ptr @scr_dyn_typed_ref_unbox(ptr %d) + ret ptr %t3 +dc.nt3: + %t4 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t5 = load i32, ptr %t4 + %t6 = icmp eq i32 %t5, 12 + br i1 %t6, label %dc.tr.cap4, label %dc.tr.plain5 +dc.tr.cap4: + %t7 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1024475271419441, i64 13) + %t8 = icmp ne ptr %t7, null + br i1 %t8, label %dc.tr.hit6, label %dc.tr.mat7 +dc.tr.hit6: + ret ptr %t7 +dc.tr.mat7: + %t9 = call ptr @scr_dyn_typed_ref_materialize(ptr %d) + %t10 = call ptr @sc_dc_124(ptr %t9, ptr %path) + call void @scr_dyn_release_v(ptr %t9) + %t11 = icmp ne ptr %t10, null + br i1 %t11, label %dc.tr.put8, label %dc.tr.ret9 +dc.tr.put8: + call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1024475271419441, i64 13, ptr %t10, ptr @scr_error_retain_v, ptr @scr_error_release_v, i1 true) + br label %dc.tr.ret9 +dc.tr.ret9: + ret ptr %t10 +dc.tr.plain5: + %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 5 + br i1 %t14, label %dce.o10, label %dce.f11 +dce.o10: + %t15 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3852344104315805, i64 6) ; .%error + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %dce.g12, label %dce.f11 +dce.f11: + call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1488801223928754, ptr %d) + ret ptr null +dce.g12: + %t17 = call ptr @scr_error_from_dyn(ptr %d) + ret ptr %t17 +} + +define internal void @sc_w__x25_m5_defaultNotFound(ptr %env, ptr %a0) #0 { ; %m5.defaultNotFound as a value +entry: + call void @sc_f__x25_m5_defaultNotFound(ptr %a0) + ret void +} +@sc_fc__x25_m5_defaultNotFound = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_m5_defaultNotFound, i64 0, ptr null, i32 4, i32 0, ptr null, ptr @sc_wb__x25_m5_defaultNotFound } + +define internal void @sc_wb__x25_m5_defaultNotFound(ptr %env, ptr %a0) #0 { ; %m5.defaultNotFound as a value, lending its arguments +entry: + call void @sc_bf__x25_m5_defaultNotFound(ptr %a0) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_get(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.get as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_get(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_get = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_get } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_get(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.get as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_get(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_post(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.post as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_post(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_post = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_post } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_post(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.post as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_post(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_put(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.put as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_put(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_put = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_put } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_put(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.put as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_put(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.delete as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_delete } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.delete as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.patch as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_patch } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.patch as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_head(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.head as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_head(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_head = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_head } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_head(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.head as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_head(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_options(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.options as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_options(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_options = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_options } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_options(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.options as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_options(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_all(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.all as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_all(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_all = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_all } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_all(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.all as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_all(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_on(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; %method.value:%%m5.App.on as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_on(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_on = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_on } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_on(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; %method.value:%%m5.App.on as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_on(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_use(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App.use as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_use(ptr %a0, ptr %a1) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_use = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_use } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_use(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App.use as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_use(ptr %a0, ptr %a1) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.notFound as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_notFound } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.notFound as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.onError as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_onError } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.onError as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_route(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App.route as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_route(ptr %a0, ptr %a1) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_route = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_route } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_route(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App.route as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_route(ptr %a0, ptr %a1) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withDispatch as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withDispatch } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withDispatch as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withFetchDispatch as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withFetchDispatch as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withUpgrade as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withUpgrade } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withUpgrade as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler(ptr %env) #0 { ; %method.value:%%m5.App.upgradeHandler as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_handler(ptr %env) #0 { ; %method.value:%%m5.App.handler as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_handler() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetchBridge(ptr %env) #0 { ; %method.value:%%m5.App.fetchBridge as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetchBridge() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.serve as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_serve } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.serve as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.serveFetch as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_serveFetch } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.serveFetch as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %a0) + ret ptr %r +} + +define internal double @sc_w__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) #0 { ; %method.value:%%m5.App._regFn as a value +entry: + %r = call double @sc_f__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) + ret double %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__regFn } + +define internal double @sc_wb__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) #0 { ; %method.value:%%m5.App._regFn as a value, lending its arguments +entry: + %r = call double @sc_bf__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) + ret double %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__add(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; %method.value:%%m5.App._add as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App__add(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App__add = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__add } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__add(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; %method.value:%%m5.App._add as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__add(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.fetch as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_fetch } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.fetch as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) #0 { ; %method.value:%%m5.App.fetchShim as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_fetchShim } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) #0 { ; %method.value:%%m5.App.fetchShim as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; %method.value:%%m5.App._dispatchPrim as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; %method.value:%%m5.App._dispatchPrim as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) + ret ptr %r +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App._dispatch as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__dispatch } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App._dispatch as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %a0, ptr %a1) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.redirect as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %a0, ptr %a1) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.redirect as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %a0, ptr %a1) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.text as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_text } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.text as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.CtxCore.header as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_header } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.CtxCore.header as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_status(ptr %env, double %a0) #0 { ; %method.value:%%m5.CtxCore.status as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_status(double %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.set as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_set } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.set as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %a0, ptr %a1) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.json as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_json } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.json as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.html as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_html } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.html as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.bytes as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %a0, ptr %a1) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.bytes as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %a0, ptr %a1) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore._send as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %a0, ptr %a1) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore__send } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore._send as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %a0, ptr %a1) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m6.AssetSource.get as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m9.EmbeddedAssets.get as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m9.EmbeddedAssets.get as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %a0) + ret ptr %r +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m9.EmbeddedAssets.add as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m9.EmbeddedAssets.add as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %env, ptr %a0) #0 { ; %method.value:%%m9.EmbeddedAssets.load as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %env, ptr %a0) #0 { ; %method.value:%%m9.EmbeddedAssets.load as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %a0) + ret void +} + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m0.GenDispatch.dispatch as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %a0, ptr %a1) + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch } + +define internal i1 @sc_wb__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m0.GenDispatch.dispatch as a value, lending its arguments +entry: + %r = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %a0, ptr %a1) + ret i1 %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; %method.value:%%m0.GenFetch.dispatchFetch as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; %method.value:%%m0.GenFetch.dispatchFetch as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) + ret ptr %r +} + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m1.UpgradeDispatch.upgrade as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %a0, ptr %a1, ptr %a2) + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade } + +define internal i1 @sc_wb__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m1.UpgradeDispatch.upgrade as a value, lending its arguments +entry: + %r = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %a0, ptr %a1, ptr %a2) + ret i1 %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_text(ptr %env) #0 { ; %method.value:%%m3.LiteRequest.text as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_text() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer(ptr %env) #0 { ; %method.value:%%m3.LiteRequest.arrayBuffer as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_request(ptr %env) #0 { ; %method.value:%%m3.LiteRequest.request as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_request() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus(ptr %env, double %a0) #0 { ; %method.value:%%m2.ResponseSink.setStatus as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus(double %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.setHeader as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.setHeader as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.appendHeader as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.appendHeader as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.writeBody as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.writeBody as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.bodyBytes as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.bodyBytes as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.ResponseSink.redirect as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %a0, double %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.ResponseSink.redirect as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %a0, double %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.write as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_write } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.write as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.writeHead as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.writeHead as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.endStream as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.adopt as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.adopt as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %a0) + ret void +} + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.isSent as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent() + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.isHeadersSent as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent() + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.destroy as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal double @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.statusOf as a value +entry: + %r = call double @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf() + ret double %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.headerOf as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.headersMap as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.nodeRes as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus(ptr %env, double %a0) #0 { ; %method.value:%%m2.FetchResponseSink.setStatus as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus(double %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.setHeader as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.setHeader as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.appendHeader as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.appendHeader as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.writeBody as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.writeBody as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.bodyBytes as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.bodyBytes as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.FetchResponseSink.redirect as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %a0, double %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.FetchResponseSink.redirect as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %a0, double %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.write as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.write as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.writeHead as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.writeHead as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.endStream as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.adopt as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.adopt as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %a0) + ret void +} + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.isSent as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent() + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.isHeadersSent as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent() + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.destroy as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal double @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.statusOf as a value +entry: + %r = call double @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf() + ret double %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.headerOf as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.headerOf as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.headersMap as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.toResponse as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore.body as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.file as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.file as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore.rawReq as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._setWeb as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._setWeb as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %a0) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.param as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.param as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %a0) + ret ptr %r +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._seedPm as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._seedPm as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %a0) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore._pmNow as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.query as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.query as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore.queryAll as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.queries as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.queries as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.header as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.header as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %a0) + ret ptr %r +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._setBody as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._setBody as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %a0) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.files as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.files as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.field as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.field as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.fields as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.fields as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %a0) + ret ptr %r +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.ReqViewCore._setMultipart as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.ReqViewCore._setMultipart as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %a0, ptr %a1) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore._parsed as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %env, ptr %a0) #0 { ; %method.value:%%m11.StaticServer.isApi as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %a0) + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi } + +define internal i1 @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %env, ptr %a0) #0 { ; %method.value:%%m11.StaticServer.isApi as a value, lending its arguments +entry: + %r = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %a0) + ret i1 %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %env, ptr %a0) #0 { ; %method.value:%%m11.StaticServer.handle as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_handle } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %env, ptr %a0) #0 { ; %method.value:%%m11.StaticServer.handle as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m11.StaticServer.send as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %a0, ptr %a1) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_send } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m11.StaticServer.send as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %a0, ptr %a1) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m11.StaticServer.pick as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %a0, ptr %a1) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_pick } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m11.StaticServer.pick as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %a0, ptr %a1) + ret ptr %r +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser.feed as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser.feed as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish(ptr %env) #0 { ; %method.value:%%m4.MultipartParser.finish as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed(ptr %env) #0 { ; %method.value:%%m4.MultipartParser._malformed as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit(ptr %env) #0 { ; %method.value:%%m4.MultipartParser._limit as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart(ptr %env) #0 { ; %method.value:%%m4.MultipartParser._abortPart as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser._startPart as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser._startPart as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser._emit as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser._emit as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart(ptr %env) #0 { ; %method.value:%%m4.MultipartParser._endPart as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus(ptr %env, double %a0) #0 { ; %method.value:%%m3.LiteResponse.setStatus as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus(double %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.setHeader as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.setHeader as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.appendHeader as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.appendHeader as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.writeBody as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.writeBody as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.bodyBytes as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.bodyBytes as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m3.LiteResponse.redirect as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %a0, double %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m3.LiteResponse.redirect as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %a0, double %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.write as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_write } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.write as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.writeHead as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.writeHead as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream(ptr %env) #0 { ; %method.value:%%m3.LiteResponse.endStream as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.adopt as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.adopt as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %a0) + ret void +} + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent(ptr %env) #0 { ; %method.value:%%m3.LiteResponse.isSent as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent() + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent(ptr %env) #0 { ; %method.value:%%m3.LiteResponse.isHeadersSent as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent() + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy(ptr %env) #0 { ; %method.value:%%m3.LiteResponse.destroy as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartFileSink.write as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartFileSink.write as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end(ptr %env) #0 { ; %method.value:%%m4.MultipartFileSink.end as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort(ptr %env) #0 { ; %method.value:%%m4.MultipartFileSink.abort as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file(ptr %env) #0 { ; %method.value:%%m4.MultipartFileSink.file as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m4.MultipartStorage.begin as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m4.MultipartStorage.begin as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m4.MemoryStorage.begin as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m4.MemoryStorage.begin as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %a0, ptr %a1, ptr %a2) + ret ptr %r +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus(ptr %env, double %a0) #0 { ; %method.value:%%m2.NodeResponseSink.setStatus as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus(double %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.setHeader as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.setHeader as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.appendHeader as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.appendHeader as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.writeBody as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.writeBody as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.bodyBytes as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.bodyBytes as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.NodeResponseSink.redirect as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %a0, double %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.NodeResponseSink.redirect as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %a0, double %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.write as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.write as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %a0) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.writeHead as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %a0, ptr %a1) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.writeHead as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %a0, ptr %a1) + ret void +} + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.endStream as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.isSent as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent() + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.isHeadersSent as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent() + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.destroy as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy() + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal double @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.statusOf as a value +entry: + %r = call double @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf() + ret double %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.headerOf as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.headerOf as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %a0) + ret ptr %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.headersMap as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.nodeRes as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MemoryFileSink.write as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MemoryFileSink.write as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %a0) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file(ptr %env) #0 { ; %method.value:%%m4.MemoryFileSink.file as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.get as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.get as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %a0) + ret ptr %r +} + +define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.has as a value +entry: + %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %a0) + ret i1 %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has } + +define internal i1 @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.has as a value, lending its arguments +entry: + %r = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %a0) + ret i1 %r +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie(ptr %env) #0 { ; %method.value:%%m3.LiteHeaders.getSetCookie as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.forEach as a value +entry: + call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %a0) + ret void +} +@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach } + +define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.forEach as a value, lending its arguments +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %a0) + ret void +} + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_Error_toString(ptr %env) #0 { ; %method.value:%%Error.toString as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_Error_toString() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_Error_toString = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_Error_toString, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes(ptr %env) #0 { ; %method.value:%%m5.CtxResCore.nodeRes as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes() + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null } + +define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxResCore.header as a value +entry: + %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %a0) + ret ptr %r +} +@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxResCore_header } + +define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxResCore.header as a value, lending its arguments +entry: + %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %a0) + ret ptr %r +} + +%sc_ap__x25_m5_settleChain = type { ptr, ptr, ptr, ptr } ; %m5.settleChain args +define internal void @sc_tr__x25_m5_settleChain(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + %fp1 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 1 + %a1 = load ptr, ptr %fp1 + %fp2 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 2 + %a2 = load ptr, ptr %fp2 + %fp3 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 3 + %a3 = load ptr, ptr %fp3 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25_m5_settleChain(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25_m5_settleChain(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %m5.settleChain +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_m5_settleChain, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %sp0 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 0 + store ptr %a0, ptr %sp0 + %sp1 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 1 + store ptr %a1, ptr %sp1 + %sp2 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 2 + store ptr %a2, ptr %sp2 + %sp3 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 3 + store ptr %a3, ptr %sp3 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_m5_settleChain, ptr %ap) + ret ptr %p +} + +%sc_ap__x25__x25_m5_App__dispatchPrim = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } ; %%m5.App._dispatchPrim args +define internal void @sc_tr__x25__x25_m5_App__dispatchPrim(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + %fp1 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 1 + %a1 = load ptr, ptr %fp1 + %fp2 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 2 + %a2 = load ptr, ptr %fp2 + %fp3 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 3 + %a3 = load ptr, ptr %fp3 + %fp4 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 4 + %a4 = load ptr, ptr %fp4 + %fp5 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 5 + %a5 = load ptr, ptr %fp5 + %fp6 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 6 + %a6 = load ptr, ptr %fp6 + %fp7 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 7 + %a7 = load ptr, ptr %fp7 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25__x25_m5_App__dispatchPrim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6, ptr %a7) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25__x25_m5_App__dispatchPrim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6, ptr %a7) #0 { ; spawn %%m5.App._dispatchPrim +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25__x25_m5_App__dispatchPrim, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %sp0 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 0 + store ptr %a0, ptr %sp0 + %sp1 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 1 + store ptr %a1, ptr %sp1 + %sp2 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 2 + store ptr %a2, ptr %sp2 + %sp3 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 3 + store ptr %a3, ptr %sp3 + %sp4 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 4 + store ptr %a4, ptr %sp4 + %sp5 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 5 + store ptr %a5, ptr %sp5 + %sp6 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 6 + store ptr %a6, ptr %sp6 + %sp7 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 7 + store ptr %a7, ptr %sp7 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25__x25_m5_App__dispatchPrim, ptr %ap) + ret ptr %p +} + +%sc_ap__x25_fn13_then2 = type { ptr, ptr, ptr, ptr } ; %fn13_then2 args +define internal void @sc_tr__x25_fn13_then2(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + %fp1 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 1 + %a1 = load ptr, ptr %fp1 + %fp2 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 2 + %a2 = load ptr, ptr %fp2 + %fp3 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 3 + %a3 = load ptr, ptr %fp3 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25_fn13_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + call void @scr_closure_release(ptr %a0) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25_fn13_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %fn13_then2 +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn13_then2, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %env = call ptr @scr_closure_retain_v(ptr %a0) + %sp0 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 0 + store ptr %env, ptr %sp0 + %sp1 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 1 + store ptr %a1, ptr %sp1 + %sp2 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 2 + store ptr %a2, ptr %sp2 + %sp3 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 3 + store ptr %a3, ptr %sp3 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn13_then2, ptr %ap) + ret ptr %p +} + +%sc_ap__x25_fn9 = type { ptr } ; %fn9 args +define internal void @sc_tr__x25_fn9(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_fn9, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25_fn9(ptr %a0) + call void @scr_closure_release(ptr %a0) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25_fn9(ptr %a0) #0 { ; spawn %fn9 +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn9, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %env = call ptr @scr_closure_retain_v(ptr %a0) + %sp0 = getelementptr inbounds %sc_ap__x25_fn9, ptr %ap, i64 0, i32 0 + store ptr %env, ptr %sp0 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn9, ptr %ap) + ret ptr %p +} + +%sc_ap__x25_fn16_then2 = type { ptr, ptr, ptr, ptr } ; %fn16_then2 args +define internal void @sc_tr__x25_fn16_then2(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + %fp1 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 1 + %a1 = load ptr, ptr %fp1 + %fp2 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 2 + %a2 = load ptr, ptr %fp2 + %fp3 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 3 + %a3 = load ptr, ptr %fp3 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25_fn16_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + call void @scr_closure_release(ptr %a0) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25_fn16_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %fn16_then2 +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn16_then2, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %env = call ptr @scr_closure_retain_v(ptr %a0) + %sp0 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 0 + store ptr %env, ptr %sp0 + %sp1 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 1 + store ptr %a1, ptr %sp1 + %sp2 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 2 + store ptr %a2, ptr %sp2 + %sp3 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 3 + store ptr %a3, ptr %sp3 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn16_then2, ptr %ap) + ret ptr %p +} + +%sc_ap__x25_fn17 = type { ptr } ; %fn17 args +define internal void @sc_tr__x25_fn17(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_fn17, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + call void @scr_rt_free(ptr %ap) + %r = call ptr @sc_f__x25_fn17(ptr %a0) + call void @scr_closure_release(ptr %a0) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_resolve_dyn(ptr %pr, ptr %r) ; moves in + ret void +thrown: + call void @sc_rc_release_dyn(ptr %r) + ret void +} + +define internal ptr @sc_as__x25_fn17(ptr %a0) #0 { ; spawn %fn17 +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn17, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %env = call ptr @scr_closure_retain_v(ptr %a0) + %sp0 = getelementptr inbounds %sc_ap__x25_fn17, ptr %ap, i64 0, i32 0 + store ptr %env, ptr %sp0 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn17, ptr %ap) + ret ptr %p +} + +%sc_ap__x25_fn20_then = type { ptr, ptr, ptr } ; %fn20_then args +define internal void @sc_tr__x25_fn20_then(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + %fp1 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 1 + %a1 = load ptr, ptr %fp1 + %fp2 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 2 + %a2 = load ptr, ptr %fp2 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25_fn20_then(ptr %a0, ptr %a1, ptr %a2) + call void @scr_closure_release(ptr %a0) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25_fn20_then(ptr %a0, ptr %a1, ptr %a2) #0 { ; spawn %fn20_then +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn20_then, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %env = call ptr @scr_closure_retain_v(ptr %a0) + %sp0 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 0 + store ptr %env, ptr %sp0 + %sp1 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 1 + store ptr %a1, ptr %sp1 + %sp2 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 2 + store ptr %a2, ptr %sp2 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn20_then, ptr %ap) + ret ptr %p +} + +%sc_ap__x25_fn21_then = type { ptr, ptr, ptr } ; %fn21_then args +define internal void @sc_tr__x25_fn21_then(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + %fp1 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 1 + %a1 = load ptr, ptr %fp1 + %fp2 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 2 + %a2 = load ptr, ptr %fp2 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25_fn21_then(ptr %a0, ptr %a1, ptr %a2) + call void @scr_closure_release(ptr %a0) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25_fn21_then(ptr %a0, ptr %a1, ptr %a2) #0 { ; spawn %fn21_then +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn21_then, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %env = call ptr @scr_closure_retain_v(ptr %a0) + %sp0 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 0 + store ptr %env, ptr %sp0 + %sp1 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 1 + store ptr %a1, ptr %sp1 + %sp2 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 2 + store ptr %a2, ptr %sp2 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn21_then, ptr %ap) + ret ptr %p +} + +%sc_ap__x25_fn50_then2 = type { ptr, ptr, ptr, ptr } ; %fn50_then2 args +define internal void @sc_tr__x25_fn50_then2(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + %fp1 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 1 + %a1 = load ptr, ptr %fp1 + %fp2 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 2 + %a2 = load ptr, ptr %fp2 + %fp3 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 3 + %a3 = load ptr, ptr %fp3 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25_fn50_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + call void @scr_closure_release(ptr %a0) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25_fn50_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %fn50_then2 +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn50_then2, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %env = call ptr @scr_closure_retain_v(ptr %a0) + %sp0 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 0 + store ptr %env, ptr %sp0 + %sp1 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 1 + store ptr %a1, ptr %sp1 + %sp2 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 2 + store ptr %a2, ptr %sp2 + %sp3 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 3 + store ptr %a3, ptr %sp3 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn50_then2, ptr %ap) + ret ptr %p +} + +%sc_ap__x25_fn66_then2 = type { ptr, ptr, ptr, ptr } ; %fn66_then2 args +define internal void @sc_tr__x25_fn66_then2(ptr %self, ptr %ap) #0 { +entry: + %fp0 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 0 + %a0 = load ptr, ptr %fp0 + %fp1 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 1 + %a1 = load ptr, ptr %fp1 + %fp2 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 2 + %a2 = load ptr, ptr %fp2 + %fp3 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 3 + %a3 = load ptr, ptr %fp3 + call void @scr_rt_free(ptr %ap) + call void @sc_f__x25_fn66_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) + call void @scr_closure_release(ptr %a0) + %pend.cell = load ptr, ptr @scr_exc_active + %pend.kind = load i32, ptr %pend.cell + %pend = icmp ne i32 %pend.kind, 0 + br i1 %pend, label %thrown, label %clean +clean: + %pr = call ptr @scr_fiber_promise(ptr %self) + call void @scr_promise_fulfill_void(ptr %pr) + ret void +thrown: + ret void +} + +define internal ptr @sc_as__x25_fn66_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %fn66_then2 +entry: + %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn66_then2, ptr null, i32 1) to i64)) + %isnull = icmp eq ptr %ap, null + br i1 %isnull, label %oom, label %ok +oom: + call void @sc_oom() + unreachable +ok: + %env = call ptr @scr_closure_retain_v(ptr %a0) + %sp0 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 0 + store ptr %env, ptr %sp0 + %sp1 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 1 + store ptr %a1, ptr %sp1 + %sp2 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 2 + store ptr %a2, ptr %sp2 + %sp3 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 3 + store ptr %a3, ptr %sp3 + %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn66_then2, ptr %ap) + ret ptr %p +} + +define internal void @sc_ldr_1_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m3.LiteResponse +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_127274431826284, i64 6) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 3 + %f0_old = load double, ptr %f0_ptr + store double %f0_next, ptr %f0_ptr + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3231205774586710, i64 7) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_1(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 4 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_arr_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_538032548850790, i64 7) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_1(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 5 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @scr_arr_release(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4231320391602270, i64 7) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_1(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 6 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_arr_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2537232771826273, i64 6) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_1(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 7 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @scr_arr_release(ptr %f4_old) + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2163543391075186, i64 4) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call zeroext i1 @sc_dc_3(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 8 + %f5_old = load i8, ptr %f5_ptr + %f5_stored = zext i1 %f5_next to i8 + store i8 %f5_stored, ptr %f5_ptr + br label %f5_after +f5_after: + %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1579912071364319, i64 11) + %f6_missing = icmp eq ptr %f6_raw, null + %f6_undef = call ptr @scr_dyn_undefined() + %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw + %f6_next = call zeroext i1 @sc_dc_3(ptr %f6_input, ptr null) + %f6_pending.cell = load ptr, ptr @scr_exc_active + %f6_pending.kind = load i32, ptr %f6_pending.cell + %f6_pending = icmp ne i32 %f6_pending.kind, 0 + br i1 %f6_pending, label %done, label %f6_store +f6_store: + %f6_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 9 + %f6_old = load i8, ptr %f6_ptr + %f6_stored = zext i1 %f6_next to i8 + store i8 %f6_stored, ptr %f6_ptr + br label %f6_after +f6_after: + %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1640919894513317, i64 7) + %f7_missing = icmp eq ptr %f7_raw, null + %f7_undef = call ptr @scr_dyn_undefined() + %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw + %f7_next = call ptr @sc_dc_4(ptr %f7_input, ptr null) + %f7_pending.cell = load ptr, ptr @scr_exc_active + %f7_pending.kind = load i32, ptr %f7_pending.cell + %f7_pending = icmp ne i32 %f7_pending.kind, 0 + br i1 %f7_pending, label %done, label %f7_store +f7_store: + %f7_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 10 + %f7_old = load ptr, ptr %f7_ptr + store ptr %f7_next, ptr %f7_ptr + call void @sc_rrelease_r1(ptr %f7_old) + br label %f7_after +f7_after: + %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4191962028163388, i64 10) + %f8_missing = icmp eq ptr %f8_raw, null + %f8_undef = call ptr @scr_dyn_undefined() + %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw + %f8_next = call zeroext i1 @sc_dc_3(ptr %f8_input, ptr null) + %f8_pending.cell = load ptr, ptr @scr_exc_active + %f8_pending.kind = load i32, ptr %f8_pending.cell + %f8_pending = icmp ne i32 %f8_pending.kind, 0 + br i1 %f8_pending, label %done, label %f8_store +f8_store: + %f8_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 11 + %f8_old = load i8, ptr %f8_ptr + %f8_stored = zext i1 %f8_next to i8 + store i8 %f8_stored, ptr %f8_ptr + br label %f8_after +f8_after: + %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2098081682588801, i64 4) + %f9_missing = icmp eq ptr %f9_raw, null + %f9_undef = call ptr @scr_dyn_undefined() + %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw + %f9_next = call ptr @sc_dc_7(ptr %f9_input, ptr null) + %f9_pending.cell = load ptr, ptr @scr_exc_active + %f9_pending.kind = load i32, ptr %f9_pending.cell + %f9_pending = icmp ne i32 %f9_pending.kind, 0 + br i1 %f9_pending, label %done, label %f9_store +f9_store: + %f9_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 12 + %f9_old = load ptr, ptr %f9_ptr + store ptr %f9_next, ptr %f9_ptr + call void @sc_rrelease_r2(ptr %f9_old) + br label %f9_after +f9_after: + %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4448851817182856, i64 8) + %f10_missing = icmp eq ptr %f10_raw, null + %f10_undef = call ptr @scr_dyn_undefined() + %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw + %f10_next = call zeroext i1 @sc_dc_3(ptr %f10_input, ptr null) + %f10_pending.cell = load ptr, ptr @scr_exc_active + %f10_pending.kind = load i32, ptr %f10_pending.cell + %f10_pending = icmp ne i32 %f10_pending.kind, 0 + br i1 %f10_pending, label %done, label %f10_store +f10_store: + %f10_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 13 + %f10_old = load i8, ptr %f10_ptr + %f10_stored = zext i1 %f10_next to i8 + store i8 %f10_stored, ptr %f10_ptr + br label %f10_after +f10_after: + %f11_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2171724267474130, i64 4) + %f11_missing = icmp eq ptr %f11_raw, null + %f11_undef = call ptr @scr_dyn_undefined() + %f11_input = select i1 %f11_missing, ptr %f11_undef, ptr %f11_raw + %f11_next = call ptr @sc_dc_11(ptr %f11_input, ptr null) + %f11_pending.cell = load ptr, ptr @scr_exc_active + %f11_pending.kind = load i32, ptr %f11_pending.cell + %f11_pending = icmp ne i32 %f11_pending.kind, 0 + br i1 %f11_pending, label %done, label %f11_store +f11_store: + %f11_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 14 + %f11_old = load ptr, ptr %f11_ptr + store ptr %f11_next, ptr %f11_ptr + call void @scr_http_res_release(ptr %f11_old) + br label %f11_after +f11_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m3_LiteResponse(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_127274431826284, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_3231205774586710, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_538032548850790, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_4231320391602270, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2537232771826273, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_2163543391075186, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_1579912071364319, i64 11) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false) + call void @scr_str_release(ptr %bag_key6) + %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_1640919894513317, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false) + call void @scr_str_release(ptr %bag_key7) + %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_4191962028163388, i64 10) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false) + call void @scr_str_release(ptr %bag_key8) + %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_2098081682588801, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false) + call void @scr_str_release(ptr %bag_key9) + %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_4448851817182856, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false) + call void @scr_str_release(ptr %bag_key10) + %bag_key11 = call ptr @scr_str_new(ptr @sc_cs_2171724267474130, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key11, i1 zeroext false) + call void @scr_str_release(ptr %bag_key11) + %bag_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_2_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_1(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_2_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @sc_td_0(ptr %t0) + call void @scr_str_release(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_2_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_6(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_0(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_2_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_2_materialize_get, ptr @sc_ldr_2_materialize_set } + +define internal ptr @sc_ldr_2_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @sc_td_0(ptr %t10) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @scr_str_release(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_3_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r1 +entry: + %next = call ptr @sc_dc_5(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r1, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r1, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; body + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r1, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r1, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; headers + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + %tp2 = getelementptr inbounds %sc_rs_r1, ptr %target, i64 0, i32 3 + %np2 = getelementptr inbounds %sc_rs_r1, ptr %next, i64 0, i32 3 + %old2 = load double, ptr %tp2 ; status + %new2 = load double, ptr %np2 + store double %new2, ptr %tp2 + store double %old2, ptr %np2 + call void @sc_rrelease_r1(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_3_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r1 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_3_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r1 +entry: + switch i64 %i, label %live.record.bad3 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 3 + %t1 = load double, ptr %t0 + %t2 = call ptr @sc_td_2(double %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + %t5 = call ptr @sc_td_4(ptr %t4) + ret ptr %t5 +live.record.get2: + %t6 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 2 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @sc_td_4(ptr %t7) + ret ptr %t8 +live.record.bad3: + unreachable +} + +@sc_ldr_3_materialize_names = internal constant [3 x ptr] [ptr @sc_lit_127274431826284, ptr @sc_lit_616655122974952, ptr @sc_lit_977412068193087] +@sc_ldr_3_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 3, ptr @sc_ldr_3_materialize_names, ptr @sc_ldr_3_materialize_has, ptr @sc_ldr_3_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_3_materialize(ptr %p) #0 { ; materialize live stream value record:r1 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 3 + %t2 = load double, ptr %t1 + %t3 = call ptr @sc_td_2(double %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_127274431826284, i64 6, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_4(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t6) + %t7 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_4(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_977412068193087, i64 7, ptr %t9) + ret ptr %t0 +} + +define internal ptr @sc_ldu_0(ptr %u) #0 { ; materialize live union value union:u4 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 0, i32 1 + switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_rretain_r1, ptr @sc_rrelease_r1, ptr @sc_cs_2073431270519518, i64 9, ptr @sc_ldr_3_materialize, ptr @sc_ldr_3_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t2, ptr @sc_ldr_3_materialize_rops) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_new_null() + ret ptr %t3 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal void @sc_ldr_4_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r2 +entry: + %next = call ptr @sc_dc_8(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r2, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r2, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; close + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r2, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r2, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; enqueue + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + call void @sc_rrelease_r2(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_4_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r2 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_4_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r2 +entry: + switch i64 %i, label %live.record.bad2 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r2, ptr %p, i64 0, i32 2 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_td_5(ptr %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r2, ptr %p, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + %t5 = call ptr @sc_td_6(ptr %t4) + ret ptr %t5 +live.record.bad2: + unreachable +} + +@sc_ldr_4_materialize_names = internal constant [2 x ptr] [ptr @sc_lit_3739322700708094, ptr @sc_lit_863112869792180] +@sc_ldr_4_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 2, ptr @sc_ldr_4_materialize_names, ptr @sc_ldr_4_materialize_has, ptr @sc_ldr_4_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_4_materialize(ptr %p) #0 { ; materialize live stream value record:r2 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r2, ptr %p, i64 0, i32 2 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_5(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3739322700708094, i64 7, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r2, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_6(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_863112869792180, i64 5, ptr %t6) + ret ptr %t0 +} + +define internal ptr @sc_ldu_1(ptr %u) #0 { ; materialize live union value union:u5 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 0, i32 1 + switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_rretain_r2, ptr @sc_rrelease_r2, ptr @sc_cs_4309965218388288, i64 9, ptr @sc_ldr_4_materialize, ptr @sc_ldr_4_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t2, ptr @sc_ldr_4_materialize_rops) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_new_null() + ret ptr %t3 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal ptr @sc_ldr_1_materialize(ptr %p) #0 { ; materialize live stream value object:%m3.LiteResponse +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 3 + %t5 = load double, ptr %t4 + %t6 = call ptr @sc_td_2(double %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_127274431826284, i64 6, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 4 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t9, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3231205774586710, i64 7, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 5 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t12, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_538032548850790, i64 7, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 6 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4231320391602270, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 7 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t17, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t18, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2537232771826273, i64 6, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 8 + %t20 = load i8, ptr %t19 + %t21 = trunc i8 %t20 to i1 + %t22 = call ptr @sc_td_3(i1 %t21) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2163543391075186, i64 4, ptr %t22) + %t23 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 9 + %t24 = load i8, ptr %t23 + %t25 = trunc i8 %t24 to i1 + %t26 = call ptr @sc_td_3(i1 %t25) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1579912071364319, i64 11, ptr %t26) + %t27 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 10 + %t28 = load ptr, ptr %t27 + %t29 = call ptr @sc_ldu_0(ptr %t28) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1640919894513317, i64 7, ptr %t29) + %t30 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 11 + %t31 = load i8, ptr %t30 + %t32 = trunc i8 %t31 to i1 + %t33 = call ptr @sc_td_3(i1 %t32) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4191962028163388, i64 10, ptr %t33) + %t34 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 12 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @sc_ldu_1(ptr %t35) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2098081682588801, i64 4, ptr %t36) + %t37 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 13 + %t38 = load i8, ptr %t37 + %t39 = trunc i8 %t38 to i1 + %t40 = call ptr @sc_td_3(i1 %t39) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4448851817182856, i64 8, ptr %t40) + %t41 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 14 + %t42 = load ptr, ptr %t41 + %t43 = call ptr @sc_td_7(ptr %t42) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2171724267474130, i64 4, ptr %t43) + %t44 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 2 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t45) + call void @scr_dyn_release_v(ptr %t46) + ret ptr %t0 +} + +define internal void @sc_ldr_5_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m2.FetchResponseSink +entry: + %derived_vt_slot = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 1 + %derived_vt = load ptr, ptr %derived_vt_slot + %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0 + %derived_pre = load i64, ptr %derived_pre_slot + %derived0 = icmp eq i64 %derived_pre, 18 + br i1 %derived0, label %derived0_commit, label %derived0_next +derived0_commit: + call void @sc_ldr_1_materialize_commit(ptr %target, ptr %d) + ret void +derived0_next: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_127274431826284, i64 6) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 3 + %f0_old = load double, ptr %f0_ptr + store double %f0_next, ptr %f0_ptr + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3231205774586710, i64 7) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_1(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 4 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_arr_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_538032548850790, i64 7) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_1(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 5 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @scr_arr_release(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4231320391602270, i64 7) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_1(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 6 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_arr_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2537232771826273, i64 6) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_1(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 7 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @scr_arr_release(ptr %f4_old) + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2163543391075186, i64 4) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call zeroext i1 @sc_dc_3(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 8 + %f5_old = load i8, ptr %f5_ptr + %f5_stored = zext i1 %f5_next to i8 + store i8 %f5_stored, ptr %f5_ptr + br label %f5_after +f5_after: + %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1579912071364319, i64 11) + %f6_missing = icmp eq ptr %f6_raw, null + %f6_undef = call ptr @scr_dyn_undefined() + %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw + %f6_next = call zeroext i1 @sc_dc_3(ptr %f6_input, ptr null) + %f6_pending.cell = load ptr, ptr @scr_exc_active + %f6_pending.kind = load i32, ptr %f6_pending.cell + %f6_pending = icmp ne i32 %f6_pending.kind, 0 + br i1 %f6_pending, label %done, label %f6_store +f6_store: + %f6_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 9 + %f6_old = load i8, ptr %f6_ptr + %f6_stored = zext i1 %f6_next to i8 + store i8 %f6_stored, ptr %f6_ptr + br label %f6_after +f6_after: + %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1640919894513317, i64 7) + %f7_missing = icmp eq ptr %f7_raw, null + %f7_undef = call ptr @scr_dyn_undefined() + %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw + %f7_next = call ptr @sc_dc_4(ptr %f7_input, ptr null) + %f7_pending.cell = load ptr, ptr @scr_exc_active + %f7_pending.kind = load i32, ptr %f7_pending.cell + %f7_pending = icmp ne i32 %f7_pending.kind, 0 + br i1 %f7_pending, label %done, label %f7_store +f7_store: + %f7_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 10 + %f7_old = load ptr, ptr %f7_ptr + store ptr %f7_next, ptr %f7_ptr + call void @sc_rrelease_r1(ptr %f7_old) + br label %f7_after +f7_after: + %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4191962028163388, i64 10) + %f8_missing = icmp eq ptr %f8_raw, null + %f8_undef = call ptr @scr_dyn_undefined() + %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw + %f8_next = call zeroext i1 @sc_dc_3(ptr %f8_input, ptr null) + %f8_pending.cell = load ptr, ptr @scr_exc_active + %f8_pending.kind = load i32, ptr %f8_pending.cell + %f8_pending = icmp ne i32 %f8_pending.kind, 0 + br i1 %f8_pending, label %done, label %f8_store +f8_store: + %f8_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 11 + %f8_old = load i8, ptr %f8_ptr + %f8_stored = zext i1 %f8_next to i8 + store i8 %f8_stored, ptr %f8_ptr + br label %f8_after +f8_after: + %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2098081682588801, i64 4) + %f9_missing = icmp eq ptr %f9_raw, null + %f9_undef = call ptr @scr_dyn_undefined() + %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw + %f9_next = call ptr @sc_dc_7(ptr %f9_input, ptr null) + %f9_pending.cell = load ptr, ptr @scr_exc_active + %f9_pending.kind = load i32, ptr %f9_pending.cell + %f9_pending = icmp ne i32 %f9_pending.kind, 0 + br i1 %f9_pending, label %done, label %f9_store +f9_store: + %f9_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 12 + %f9_old = load ptr, ptr %f9_ptr + store ptr %f9_next, ptr %f9_ptr + call void @sc_rrelease_r2(ptr %f9_old) + br label %f9_after +f9_after: + %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4448851817182856, i64 8) + %f10_missing = icmp eq ptr %f10_raw, null + %f10_undef = call ptr @scr_dyn_undefined() + %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw + %f10_next = call zeroext i1 @sc_dc_3(ptr %f10_input, ptr null) + %f10_pending.cell = load ptr, ptr @scr_exc_active + %f10_pending.kind = load i32, ptr %f10_pending.cell + %f10_pending = icmp ne i32 %f10_pending.kind, 0 + br i1 %f10_pending, label %done, label %f10_store +f10_store: + %f10_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 13 + %f10_old = load i8, ptr %f10_ptr + %f10_stored = zext i1 %f10_next to i8 + store i8 %f10_stored, ptr %f10_ptr + br label %f10_after +f10_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_127274431826284, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_3231205774586710, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_538032548850790, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_4231320391602270, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2537232771826273, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_2163543391075186, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_1579912071364319, i64 11) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false) + call void @scr_str_release(ptr %bag_key6) + %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_1640919894513317, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false) + call void @scr_str_release(ptr %bag_key7) + %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_4191962028163388, i64 10) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false) + call void @scr_str_release(ptr %bag_key8) + %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_2098081682588801, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false) + call void @scr_str_release(ptr %bag_key9) + %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_4448851817182856, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false) + call void @scr_str_release(ptr %bag_key10) + %bag_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_5_materialize(ptr %p) #0 { ; materialize live stream value object:%m2.FetchResponseSink +entry: + %t0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0 + %t3 = load i64, ptr %t2 + %t4 = icmp eq i64 %t3, 18 + br i1 %t4, label %class.derived0, label %class.next1 +class.derived0: + %t5 = call ptr @sc_ldr_1_materialize(ptr %p) + ret ptr %t5 +class.next1: + %t6 = call ptr @scr_dyn_new_obj() + %t9 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %p) + %t7 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %t9) + %t8 = call ptr @scr_dyn_set_prototype(ptr %t6, ptr %t7) + call void @scr_dyn_release_v(ptr %t7) + call void @scr_dyn_release_v(ptr %t8) + %t10 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 3 + %t11 = load double, ptr %t10 + %t12 = call ptr @sc_td_2(double %t11) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_127274431826284, i64 6, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 4 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_3231205774586710, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 5 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t17, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t18, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_538032548850790, i64 7, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 6 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t20, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t21, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_4231320391602270, i64 7, ptr %t21) + %t22 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 7 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t23, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t24, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_2537232771826273, i64 6, ptr %t24) + %t25 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 8 + %t26 = load i8, ptr %t25 + %t27 = trunc i8 %t26 to i1 + %t28 = call ptr @sc_td_3(i1 %t27) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_2163543391075186, i64 4, ptr %t28) + %t29 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 9 + %t30 = load i8, ptr %t29 + %t31 = trunc i8 %t30 to i1 + %t32 = call ptr @sc_td_3(i1 %t31) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_1579912071364319, i64 11, ptr %t32) + %t33 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 10 + %t34 = load ptr, ptr %t33 + %t35 = call ptr @sc_ldu_0(ptr %t34) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_1640919894513317, i64 7, ptr %t35) + %t36 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 11 + %t37 = load i8, ptr %t36 + %t38 = trunc i8 %t37 to i1 + %t39 = call ptr @sc_td_3(i1 %t38) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_4191962028163388, i64 10, ptr %t39) + %t40 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 12 + %t41 = load ptr, ptr %t40 + %t42 = call ptr @sc_ldu_1(ptr %t41) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_2098081682588801, i64 4, ptr %t42) + %t43 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 13 + %t44 = load i8, ptr %t43 + %t45 = trunc i8 %t44 to i1 + %t46 = call ptr @sc_td_3(i1 %t45) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_4448851817182856, i64 8, ptr %t46) + %t47 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 2 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @scr_dyn_copy_property_descriptors(ptr %t6, ptr %t48) + call void @scr_dyn_release_v(ptr %t49) + ret ptr %t6 +} + +define internal void @sc_ldr_6_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m2.NodeResponseSink +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1951312618348557, i64 3) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_11(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %target, i64 0, i32 3 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_http_res_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3621289080171698, i64 7) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call double @sc_dc_2(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %target, i64 0, i32 4 + %f1_old = load double, ptr %f1_ptr + store double %f1_next, ptr %f1_ptr + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3953364176447457, i64 4) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_13(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %target, i64 0, i32 5 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @sc_rrelease_r0(ptr %f2_old) + br label %f2_after +f2_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1951312618348557, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_3621289080171698, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_3953364176447457, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_ptr = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_7_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r0 +entry: + %next = call ptr @sc_dc_13(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r0, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r0, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; [key: string] overflow + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + call void @sc_rrelease_r0(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_7_materialize(ptr %p) #0 { ; materialize live stream value record:r0 +entry: + %t0 = call ptr @sc_td_8(ptr %p) + ret ptr %t0 +} + +define internal ptr @sc_ldr_6_materialize(ptr %p) #0 { ; materialize live stream value object:%m2.NodeResponseSink +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %p, i64 0, i32 3 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_7(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1951312618348557, i64 3, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %p, i64 0, i32 4 + %t8 = load double, ptr %t7 + %t9 = call ptr @sc_td_2(double %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3621289080171698, i64 7, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %p, i64 0, i32 5 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3953364176447457, i64 4, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %p, i64 0, i32 2 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t14) + call void @scr_dyn_release_v(ptr %t15) + ret ptr %t0 +} + +define internal void @sc_ldr_0_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m2.ResponseSink +entry: + %derived_vt_slot = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %target, i64 0, i32 1 + %derived_vt = load ptr, ptr %derived_vt_slot + %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0 + %derived_pre = load i64, ptr %derived_pre_slot + %derived0 = icmp eq i64 %derived_pre, 18 + br i1 %derived0, label %derived0_commit, label %derived0_next +derived0_commit: + call void @sc_ldr_1_materialize_commit(ptr %target, ptr %d) + ret void +derived0_next: + %derived1 = icmp eq i64 %derived_pre, 17 + br i1 %derived1, label %derived1_commit, label %derived1_next +derived1_commit: + call void @sc_ldr_5_materialize_commit(ptr %target, ptr %d) + ret void +derived1_next: + %derived2 = icmp eq i64 %derived_pre, 16 + br i1 %derived2, label %derived2_commit, label %derived2_next +derived2_commit: + call void @sc_ldr_6_materialize_commit(ptr %target, ptr %d) + ret void +derived2_next: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m2_ResponseSink(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_ptr = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_0_materialize(ptr %p) #0 { ; materialize live stream value object:%m2.ResponseSink +entry: + %t0 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0 + %t3 = load i64, ptr %t2 + %t4 = icmp eq i64 %t3, 18 + br i1 %t4, label %class.derived0, label %class.next1 +class.derived0: + %t5 = call ptr @sc_ldr_1_materialize(ptr %p) + ret ptr %t5 +class.next1: + %t6 = icmp eq i64 %t3, 17 + br i1 %t6, label %class.derived2, label %class.next3 +class.derived2: + %t7 = call ptr @sc_ldr_5_materialize(ptr %p) + ret ptr %t7 +class.next3: + %t8 = icmp eq i64 %t3, 16 + br i1 %t8, label %class.derived4, label %class.next5 +class.derived4: + %t9 = call ptr @sc_ldr_6_materialize(ptr %p) + ret ptr %t9 +class.next5: + %t10 = call ptr @scr_dyn_new_obj() + %t13 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %p) + %t11 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %t13) + %t12 = call ptr @scr_dyn_set_prototype(ptr %t10, ptr %t11) + call void @scr_dyn_release_v(ptr %t11) + call void @scr_dyn_release_v(ptr %t12) + %t14 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %p, i64 0, i32 2 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @scr_dyn_copy_property_descriptors(ptr %t10, ptr %t15) + call void @scr_dyn_release_v(ptr %t16) + ret ptr %t10 +} + +define internal void @sc_ldr_8_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.ReqViewCore +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1287587581000978, i64 4) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_15(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_union_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1774444802243527, i64 4) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_6(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 2 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @sc_rc_release_dyn(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_964469684973146, i64 8) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_13(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 3 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @sc_rrelease_r0(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1867568051177534, i64 16) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_17(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 4 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @sc_rrelease_r3(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1609576561362083, i64 6) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_0(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 5 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @scr_str_release(ptr %f4_old) + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_719487464480143, i64 3) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call ptr @sc_dc_0(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 6 + %f5_old = load ptr, ptr %f5_ptr + store ptr %f5_next, ptr %f5_ptr + call void @scr_str_release(ptr %f5_old) + br label %f5_after +f5_after: + %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2826818497658723, i64 4) + %f6_missing = icmp eq ptr %f6_raw, null + %f6_undef = call ptr @scr_dyn_undefined() + %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw + %f6_next = call ptr @sc_dc_0(ptr %f6_input, ptr null) + %f6_pending.cell = load ptr, ptr @scr_exc_active + %f6_pending.kind = load i32, ptr %f6_pending.cell + %f6_pending = icmp ne i32 %f6_pending.kind, 0 + br i1 %f6_pending, label %done, label %f6_store +f6_store: + %f6_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 7 + %f6_old = load ptr, ptr %f6_ptr + store ptr %f6_next, ptr %f6_ptr + call void @scr_str_release(ptr %f6_old) + br label %f6_after +f6_after: + %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2528619671045714, i64 3) + %f7_missing = icmp eq ptr %f7_raw, null + %f7_undef = call ptr @scr_dyn_undefined() + %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw + %f7_next = call ptr @sc_dc_0(ptr %f7_input, ptr null) + %f7_pending.cell = load ptr, ptr @scr_exc_active + %f7_pending.kind = load i32, ptr %f7_pending.cell + %f7_pending = icmp ne i32 %f7_pending.kind, 0 + br i1 %f7_pending, label %done, label %f7_store +f7_store: + %f7_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 8 + %f7_old = load ptr, ptr %f7_ptr + store ptr %f7_next, ptr %f7_ptr + call void @scr_str_release(ptr %f7_old) + br label %f7_after +f7_after: + %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4247546884021115, i64 3) + %f8_missing = icmp eq ptr %f8_raw, null + %f8_undef = call ptr @scr_dyn_undefined() + %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw + %f8_next = call ptr @sc_dc_18(ptr %f8_input, ptr null) + %f8_pending.cell = load ptr, ptr @scr_exc_active + %f8_pending.kind = load i32, ptr %f8_pending.cell + %f8_pending = icmp ne i32 %f8_pending.kind, 0 + br i1 %f8_pending, label %done, label %f8_store +f8_store: + %f8_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 9 + %f8_old = load ptr, ptr %f8_ptr + store ptr %f8_next, ptr %f8_ptr + call void @scr_arr_release(ptr %f8_old) + br label %f8_after +f8_after: + %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3282989543243776, i64 3) + %f9_missing = icmp eq ptr %f9_raw, null + %f9_undef = call ptr @scr_dyn_undefined() + %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw + %f9_next = call ptr @sc_dc_18(ptr %f9_input, ptr null) + %f9_pending.cell = load ptr, ptr @scr_exc_active + %f9_pending.kind = load i32, ptr %f9_pending.cell + %f9_pending = icmp ne i32 %f9_pending.kind, 0 + br i1 %f9_pending, label %done, label %f9_store +f9_store: + %f9_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 10 + %f9_old = load ptr, ptr %f9_ptr + store ptr %f9_next, ptr %f9_ptr + call void @scr_arr_release(ptr %f9_old) + br label %f9_after +f9_after: + %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_886324725696546, i64 3) + %f10_missing = icmp eq ptr %f10_raw, null + %f10_undef = call ptr @scr_dyn_undefined() + %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw + %f10_next = call ptr @sc_dc_1(ptr %f10_input, ptr null) + %f10_pending.cell = load ptr, ptr @scr_exc_active + %f10_pending.kind = load i32, ptr %f10_pending.cell + %f10_pending = icmp ne i32 %f10_pending.kind, 0 + br i1 %f10_pending, label %done, label %f10_store +f10_store: + %f10_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 11 + %f10_old = load ptr, ptr %f10_ptr + store ptr %f10_next, ptr %f10_ptr + call void @scr_arr_release(ptr %f10_old) + br label %f10_after +f10_after: + %f11_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_535630044833136, i64 3) + %f11_missing = icmp eq ptr %f11_raw, null + %f11_undef = call ptr @scr_dyn_undefined() + %f11_input = select i1 %f11_missing, ptr %f11_undef, ptr %f11_raw + %f11_next = call ptr @sc_dc_19(ptr %f11_input, ptr null) + %f11_pending.cell = load ptr, ptr @scr_exc_active + %f11_pending.kind = load i32, ptr %f11_pending.cell + %f11_pending = icmp ne i32 %f11_pending.kind, 0 + br i1 %f11_pending, label %done, label %f11_store +f11_store: + %f11_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 12 + %f11_old = load ptr, ptr %f11_ptr + store ptr %f11_next, ptr %f11_ptr + call void @scr_arr_release(ptr %f11_old) + br label %f11_after +f11_after: + %f12_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4400741686745380, i64 3) + %f12_missing = icmp eq ptr %f12_raw, null + %f12_undef = call ptr @scr_dyn_undefined() + %f12_input = select i1 %f12_missing, ptr %f12_undef, ptr %f12_raw + %f12_next = call double @sc_dc_2(ptr %f12_input, ptr null) + %f12_pending.cell = load ptr, ptr @scr_exc_active + %f12_pending.kind = load i32, ptr %f12_pending.cell + %f12_pending = icmp ne i32 %f12_pending.kind, 0 + br i1 %f12_pending, label %done, label %f12_store +f12_store: + %f12_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 13 + %f12_old = load double, ptr %f12_ptr + store double %f12_next, ptr %f12_ptr + br label %f12_after +f12_after: + %f13_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4347805238344460, i64 5) + %f13_missing = icmp eq ptr %f13_raw, null + %f13_undef = call ptr @scr_dyn_undefined() + %f13_input = select i1 %f13_missing, ptr %f13_undef, ptr %f13_raw + %f13_next = call ptr @sc_dc_0(ptr %f13_input, ptr null) + %f13_pending.cell = load ptr, ptr @scr_exc_active + %f13_pending.kind = load i32, ptr %f13_pending.cell + %f13_pending = icmp ne i32 %f13_pending.kind, 0 + br i1 %f13_pending, label %done, label %f13_store +f13_store: + %f13_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 14 + %f13_old = load ptr, ptr %f13_ptr + store ptr %f13_next, ptr %f13_ptr + call void @scr_str_release(ptr %f13_old) + br label %f13_after +f13_after: + %f14_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3191748704064557, i64 8) + %f14_missing = icmp eq ptr %f14_raw, null + %f14_undef = call ptr @scr_dyn_undefined() + %f14_input = select i1 %f14_missing, ptr %f14_undef, ptr %f14_raw + %f14_next = call ptr @sc_dc_20(ptr %f14_input, ptr null) + %f14_pending.cell = load ptr, ptr @scr_exc_active + %f14_pending.kind = load i32, ptr %f14_pending.cell + %f14_pending = icmp ne i32 %f14_pending.kind, 0 + br i1 %f14_pending, label %done, label %f14_store +f14_store: + %f14_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 15 + %f14_old = load ptr, ptr %f14_ptr + store ptr %f14_next, ptr %f14_ptr + call void @scr_arr_release(ptr %f14_old) + br label %f14_after +f14_after: + %f15_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_232607068610214, i64 9) + %f15_missing = icmp eq ptr %f15_raw, null + %f15_undef = call ptr @scr_dyn_undefined() + %f15_input = select i1 %f15_missing, ptr %f15_undef, ptr %f15_raw + %f15_next = call ptr @sc_dc_1(ptr %f15_input, ptr null) + %f15_pending.cell = load ptr, ptr @scr_exc_active + %f15_pending.kind = load i32, ptr %f15_pending.cell + %f15_pending = icmp ne i32 %f15_pending.kind, 0 + br i1 %f15_pending, label %done, label %f15_store +f15_store: + %f15_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 16 + %f15_old = load ptr, ptr %f15_ptr + store ptr %f15_next, ptr %f15_ptr + call void @scr_arr_release(ptr %f15_old) + br label %f15_after +f15_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1287587581000978, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1774444802243527, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_964469684973146, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_1867568051177534, i64 16) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_1609576561362083, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_719487464480143, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_2826818497658723, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false) + call void @scr_str_release(ptr %bag_key6) + %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_2528619671045714, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false) + call void @scr_str_release(ptr %bag_key7) + %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_4247546884021115, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false) + call void @scr_str_release(ptr %bag_key8) + %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_3282989543243776, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false) + call void @scr_str_release(ptr %bag_key9) + %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_886324725696546, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false) + call void @scr_str_release(ptr %bag_key10) + %bag_key11 = call ptr @scr_str_new(ptr @sc_cs_535630044833136, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key11, i1 zeroext false) + call void @scr_str_release(ptr %bag_key11) + %bag_key12 = call ptr @scr_str_new(ptr @sc_cs_4400741686745380, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key12, i1 zeroext false) + call void @scr_str_release(ptr %bag_key12) + %bag_key13 = call ptr @scr_str_new(ptr @sc_cs_4347805238344460, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key13, i1 zeroext false) + call void @scr_str_release(ptr %bag_key13) + %bag_key14 = call ptr @scr_str_new(ptr @sc_cs_3191748704064557, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key14, i1 zeroext false) + call void @scr_str_release(ptr %bag_key14) + %bag_key15 = call ptr @scr_str_new(ptr @sc_cs_232607068610214, i64 9) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key15, i1 zeroext false) + call void @scr_str_release(ptr %bag_key15) + %bag_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 17 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_9_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r3 +entry: + %next = call ptr @sc_dc_17(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r3, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r3, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; [key: string] overflow + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + call void @sc_rrelease_r3(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_9_materialize(ptr %p) #0 { ; materialize live stream value record:r3 +entry: + %t0 = call ptr @sc_td_11(ptr %p) + ret ptr %t0 +} + +define internal ptr @sc_ldu_2(ptr %u) #0 { ; materialize live union value union:u9 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 1, i32 0 + switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_observed(ptr %u, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t2, ptr @sc_ldr_2_materialize_ops) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_new_null() + ret ptr %t3 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal void @sc_ldr_10_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_19(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_10_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call double @scr_arr_get_f64(ptr %p, double %i) + %t1 = call ptr @sc_td_2(double %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_10_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_2(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call double @sc_dc_2(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_f64(ptr %p, double %i, double %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_10_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_10_materialize_get, ptr @sc_ldr_10_materialize_set } + +define internal ptr @sc_ldr_10_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call double @scr_arr_get_f64(ptr %p, double %t3) + %t11 = call ptr @sc_td_2(double %t10) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_11_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_20(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_12_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.UploadedFile +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3392166625234189, i64 5) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_str_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4388468866828680, i64 8) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 2 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_str_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_595629019077013, i64 8) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_0(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 3 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @scr_str_release(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3603975379547098, i64 4) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call double @sc_dc_2(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 4 + %f3_old = load double, ptr %f3_ptr + store double %f3_next, ptr %f3_ptr + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2826818497658723, i64 4) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_22(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 5 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @scr_str_release(ptr %f4_old) + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_693828840439997, i64 5) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call ptr @sc_dc_23(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 6 + %f5_old = load ptr, ptr %f5_ptr + store ptr %f5_next, ptr %f5_ptr + call void @scr_union_release(ptr %f5_old) + br label %f5_after +f5_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3392166625234189, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_4388468866828680, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_595629019077013, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_3603975379547098, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2826818497658723, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_693828840439997, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 7 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +@sc_ldr_12_materialize_cnames = internal constant [1 x ptr] [ptr @sc_lit_4006719217465510] +@sc_ldr_12_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 1, ptr @sc_ldr_12_materialize_cnames, ptr @sc_lit_2855033600191636 } + +define internal ptr @sc_ldu_3(ptr %u) #0 { ; materialize live union value union:u1 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %u, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.value1 i32 1, label %ldu.value2 ] +ldu.value1: + %t2 = getelementptr inbounds %ScrUnion, ptr %u, i64 0, i32 5 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_td_1(ptr %t3) + ret ptr %t4 +ldu.value2: + %t5 = call ptr @scr_dyn_new_null() + ret ptr %t5 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal ptr @sc_ldr_12_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.UploadedFile +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3392166625234189, i64 5, ptr %t3) + %t4 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 2 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4388468866828680, i64 8, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_595629019077013, i64 8, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 4 + %t11 = load double, ptr %t10 + %t12 = call ptr @sc_td_2(double %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3603975379547098, i64 4, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 5 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_td_13(ptr %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2826818497658723, i64 4, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 6 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @sc_ldu_3(ptr %t17) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_693828840439997, i64 5, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 7 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t20) + call void @scr_dyn_release_v(ptr %t21) + ret ptr %t0 +} + +define internal ptr @sc_ldr_11_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t0, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t1, ptr @sc_ldr_12_materialize_cops) + call void @sc_release__x25_m4_UploadedFile(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_11_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_11(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_21(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_11_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_11_materialize_get, ptr @sc_ldr_11_materialize_set } + +define internal ptr @sc_ldr_11_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t10, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t11, ptr @sc_ldr_12_materialize_cops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_release__x25_m4_UploadedFile(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_ldr_8_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.ReqViewCore +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_9(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1287587581000978, i64 4, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_4(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1774444802243527, i64 4, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_964469684973146, i64 8, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 4 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @sc_rretain_r3, ptr @sc_rrelease_r3, ptr @sc_cs_4113144339560478, i64 9, ptr @sc_ldr_9_materialize, ptr @sc_ldr_9_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1867568051177534, i64 16, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 5 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @sc_td_0(ptr %t17) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1609576561362083, i64 6, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 6 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @sc_td_0(ptr %t20) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_719487464480143, i64 3, ptr %t21) + %t22 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 7 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @sc_td_0(ptr %t23) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2826818497658723, i64 4, ptr %t24) + %t25 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 8 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @sc_td_0(ptr %t26) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2528619671045714, i64 3, ptr %t27) + %t28 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 9 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @sc_ldu_2(ptr %t29) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4247546884021115, i64 3, ptr %t30) + %t31 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 10 + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_ldu_2(ptr %t32) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3282989543243776, i64 3, ptr %t33) + %t34 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 11 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t35, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t36, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_886324725696546, i64 3, ptr %t36) + %t37 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 12 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t38, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t39, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_535630044833136, i64 3, ptr %t39) + %t40 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 13 + %t41 = load double, ptr %t40 + %t42 = call ptr @sc_td_2(double %t41) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4400741686745380, i64 3, ptr %t42) + %t43 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 14 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @sc_td_0(ptr %t44) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4347805238344460, i64 5, ptr %t45) + %t46 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 15 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t47, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t48, ptr @sc_ldr_11_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3191748704064557, i64 8, ptr %t48) + %t49 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 16 + %t50 = load ptr, ptr %t49 + %t51 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t50, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t51, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_232607068610214, i64 9, ptr %t51) + %t52 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 17 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t53) + call void @scr_dyn_release_v(ptr %t54) + ret ptr %t0 +} + +define internal void @sc_ldr_13_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MultipartParser +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4331231100667432, i64 6) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_str_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1497623537730125, i64 6) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 2 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_str_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3626652862359804, i64 3) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call double @sc_dc_2(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 3 + %f2_old = load double, ptr %f2_ptr + store double %f2_next, ptr %f2_ptr + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3767316427932713, i64 5) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_12(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 4 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_bytes_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_270650669493903, i64 8) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_24(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 5 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @sc_release__x25_m4_MultipartStorage(ptr %f4_old) + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1904556107358822, i64 9) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call double @sc_dc_2(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 6 + %f5_old = load double, ptr %f5_ptr + store double %f5_next, ptr %f5_ptr + br label %f5_after +f5_after: + %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3347257245794453, i64 9) + %f6_missing = icmp eq ptr %f6_raw, null + %f6_undef = call ptr @scr_dyn_undefined() + %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw + %f6_next = call double @sc_dc_2(ptr %f6_input, ptr null) + %f6_pending.cell = load ptr, ptr @scr_exc_active + %f6_pending.kind = load i32, ptr %f6_pending.cell + %f6_pending = icmp ne i32 %f6_pending.kind, 0 + br i1 %f6_pending, label %done, label %f6_store +f6_store: + %f6_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 7 + %f6_old = load double, ptr %f6_ptr + store double %f6_next, ptr %f6_ptr + br label %f6_after +f6_after: + %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_51498970823486, i64 10) + %f7_missing = icmp eq ptr %f7_raw, null + %f7_undef = call ptr @scr_dyn_undefined() + %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw + %f7_next = call double @sc_dc_2(ptr %f7_input, ptr null) + %f7_pending.cell = load ptr, ptr @scr_exc_active + %f7_pending.kind = load i32, ptr %f7_pending.cell + %f7_pending = icmp ne i32 %f7_pending.kind, 0 + br i1 %f7_pending, label %done, label %f7_store +f7_store: + %f7_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 8 + %f7_old = load double, ptr %f7_ptr + store double %f7_next, ptr %f7_ptr + br label %f7_after +f7_after: + %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3871774119671975, i64 5) + %f8_missing = icmp eq ptr %f8_raw, null + %f8_undef = call ptr @scr_dyn_undefined() + %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw + %f8_next = call zeroext i1 @sc_dc_3(ptr %f8_input, ptr null) + %f8_pending.cell = load ptr, ptr @scr_exc_active + %f8_pending.kind = load i32, ptr %f8_pending.cell + %f8_pending = icmp ne i32 %f8_pending.kind, 0 + br i1 %f8_pending, label %done, label %f8_store +f8_store: + %f8_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 9 + %f8_old = load i8, ptr %f8_ptr + %f8_stored = zext i1 %f8_next to i8 + store i8 %f8_stored, ptr %f8_ptr + br label %f8_after +f8_after: + %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1511541293423217, i64 7) + %f9_missing = icmp eq ptr %f9_raw, null + %f9_undef = call ptr @scr_dyn_undefined() + %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw + %f9_next = call zeroext i1 @sc_dc_3(ptr %f9_input, ptr null) + %f9_pending.cell = load ptr, ptr @scr_exc_active + %f9_pending.kind = load i32, ptr %f9_pending.cell + %f9_pending = icmp ne i32 %f9_pending.kind, 0 + br i1 %f9_pending, label %done, label %f9_store +f9_store: + %f9_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 10 + %f9_old = load i8, ptr %f9_ptr + %f9_stored = zext i1 %f9_next to i8 + store i8 %f9_stored, ptr %f9_ptr + br label %f9_after +f9_after: + %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3537803200604019, i64 6) + %f10_missing = icmp eq ptr %f10_raw, null + %f10_undef = call ptr @scr_dyn_undefined() + %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw + %f10_next = call ptr @sc_dc_0(ptr %f10_input, ptr null) + %f10_pending.cell = load ptr, ptr @scr_exc_active + %f10_pending.kind = load i32, ptr %f10_pending.cell + %f10_pending = icmp ne i32 %f10_pending.kind, 0 + br i1 %f10_pending, label %done, label %f10_store +f10_store: + %f10_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 11 + %f10_old = load ptr, ptr %f10_ptr + store ptr %f10_next, ptr %f10_ptr + call void @scr_str_release(ptr %f10_old) + br label %f10_after +f10_after: + %f11_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2438149604853393, i64 9) + %f11_missing = icmp eq ptr %f11_raw, null + %f11_undef = call ptr @scr_dyn_undefined() + %f11_input = select i1 %f11_missing, ptr %f11_undef, ptr %f11_raw + %f11_next = call ptr @sc_dc_0(ptr %f11_input, ptr null) + %f11_pending.cell = load ptr, ptr @scr_exc_active + %f11_pending.kind = load i32, ptr %f11_pending.cell + %f11_pending = icmp ne i32 %f11_pending.kind, 0 + br i1 %f11_pending, label %done, label %f11_store +f11_store: + %f11_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 12 + %f11_old = load ptr, ptr %f11_ptr + store ptr %f11_next, ptr %f11_ptr + call void @scr_str_release(ptr %f11_old) + br label %f11_after +f11_after: + %f12_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_87265031005560, i64 5) + %f12_missing = icmp eq ptr %f12_raw, null + %f12_undef = call ptr @scr_dyn_undefined() + %f12_input = select i1 %f12_missing, ptr %f12_undef, ptr %f12_raw + %f12_next = call ptr @sc_dc_0(ptr %f12_input, ptr null) + %f12_pending.cell = load ptr, ptr @scr_exc_active + %f12_pending.kind = load i32, ptr %f12_pending.cell + %f12_pending = icmp ne i32 %f12_pending.kind, 0 + br i1 %f12_pending, label %done, label %f12_store +f12_store: + %f12_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 13 + %f12_old = load ptr, ptr %f12_ptr + store ptr %f12_next, ptr %f12_ptr + call void @scr_str_release(ptr %f12_old) + br label %f12_after +f12_after: + %f13_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2620371357038102, i64 5) + %f13_missing = icmp eq ptr %f13_raw, null + %f13_undef = call ptr @scr_dyn_undefined() + %f13_input = select i1 %f13_missing, ptr %f13_undef, ptr %f13_raw + %f13_next = call ptr @sc_dc_25(ptr %f13_input, ptr null) + %f13_pending.cell = load ptr, ptr @scr_exc_active + %f13_pending.kind = load i32, ptr %f13_pending.cell + %f13_pending = icmp ne i32 %f13_pending.kind, 0 + br i1 %f13_pending, label %done, label %f13_store +f13_store: + %f13_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 14 + %f13_old = load ptr, ptr %f13_ptr + store ptr %f13_next, ptr %f13_ptr + call void @sc_release__x25_m4_MultipartFileSink(ptr %f13_old) + br label %f13_after +f13_after: + %f14_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1445273163400741, i64 7) + %f14_missing = icmp eq ptr %f14_raw, null + %f14_undef = call ptr @scr_dyn_undefined() + %f14_input = select i1 %f14_missing, ptr %f14_undef, ptr %f14_raw + %f14_next = call ptr @sc_dc_27(ptr %f14_input, ptr null) + %f14_pending.cell = load ptr, ptr @scr_exc_active + %f14_pending.kind = load i32, ptr %f14_pending.cell + %f14_pending = icmp ne i32 %f14_pending.kind, 0 + br i1 %f14_pending, label %done, label %f14_store +f14_store: + %f14_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 15 + %f14_old = load ptr, ptr %f14_ptr + store ptr %f14_next, ptr %f14_ptr + call void @scr_arr_release(ptr %f14_old) + br label %f14_after +f14_after: + %f15_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3078220272172636, i64 6) + %f15_missing = icmp eq ptr %f15_raw, null + %f15_undef = call ptr @scr_dyn_undefined() + %f15_input = select i1 %f15_missing, ptr %f15_undef, ptr %f15_raw + %f15_next = call double @sc_dc_2(ptr %f15_input, ptr null) + %f15_pending.cell = load ptr, ptr @scr_exc_active + %f15_pending.kind = load i32, ptr %f15_pending.cell + %f15_pending = icmp ne i32 %f15_pending.kind, 0 + br i1 %f15_pending, label %done, label %f15_store +f15_store: + %f15_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 16 + %f15_old = load double, ptr %f15_ptr + store double %f15_next, ptr %f15_ptr + br label %f15_after +f15_after: + %f16_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3003865410260240, i64 7) + %f16_missing = icmp eq ptr %f16_raw, null + %f16_undef = call ptr @scr_dyn_undefined() + %f16_input = select i1 %f16_missing, ptr %f16_undef, ptr %f16_raw + %f16_next = call double @sc_dc_2(ptr %f16_input, ptr null) + %f16_pending.cell = load ptr, ptr @scr_exc_active + %f16_pending.kind = load i32, ptr %f16_pending.cell + %f16_pending = icmp ne i32 %f16_pending.kind, 0 + br i1 %f16_pending, label %done, label %f16_store +f16_store: + %f16_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 17 + %f16_old = load double, ptr %f16_ptr + store double %f16_next, ptr %f16_ptr + br label %f16_after +f16_after: + %f17_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3833663445821831, i64 3) + %f17_missing = icmp eq ptr %f17_raw, null + %f17_undef = call ptr @scr_dyn_undefined() + %f17_input = select i1 %f17_missing, ptr %f17_undef, ptr %f17_raw + %f17_next = call double @sc_dc_2(ptr %f17_input, ptr null) + %f17_pending.cell = load ptr, ptr @scr_exc_active + %f17_pending.kind = load i32, ptr %f17_pending.cell + %f17_pending = icmp ne i32 %f17_pending.kind, 0 + br i1 %f17_pending, label %done, label %f17_store +f17_store: + %f17_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 18 + %f17_old = load double, ptr %f17_ptr + store double %f17_next, ptr %f17_ptr + br label %f17_after +f17_after: + %f18_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1081761464356753, i64 5) + %f18_missing = icmp eq ptr %f18_raw, null + %f18_undef = call ptr @scr_dyn_undefined() + %f18_input = select i1 %f18_missing, ptr %f18_undef, ptr %f18_raw + %f18_next = call ptr @sc_dc_20(ptr %f18_input, ptr null) + %f18_pending.cell = load ptr, ptr @scr_exc_active + %f18_pending.kind = load i32, ptr %f18_pending.cell + %f18_pending = icmp ne i32 %f18_pending.kind, 0 + br i1 %f18_pending, label %done, label %f18_store +f18_store: + %f18_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 19 + %f18_old = load ptr, ptr %f18_ptr + store ptr %f18_next, ptr %f18_ptr + call void @scr_arr_release(ptr %f18_old) + br label %f18_after +f18_after: + %f19_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3375901898269401, i64 6) + %f19_missing = icmp eq ptr %f19_raw, null + %f19_undef = call ptr @scr_dyn_undefined() + %f19_input = select i1 %f19_missing, ptr %f19_undef, ptr %f19_raw + %f19_next = call ptr @sc_dc_1(ptr %f19_input, ptr null) + %f19_pending.cell = load ptr, ptr @scr_exc_active + %f19_pending.kind = load i32, ptr %f19_pending.cell + %f19_pending = icmp ne i32 %f19_pending.kind, 0 + br i1 %f19_pending, label %done, label %f19_store +f19_store: + %f19_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 20 + %f19_old = load ptr, ptr %f19_ptr + store ptr %f19_next, ptr %f19_ptr + call void @scr_arr_release(ptr %f19_old) + br label %f19_after +f19_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m4_MultipartParser(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_4331231100667432, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1497623537730125, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_3626652862359804, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_3767316427932713, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_270650669493903, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_1904556107358822, i64 9) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_3347257245794453, i64 9) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false) + call void @scr_str_release(ptr %bag_key6) + %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_51498970823486, i64 10) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false) + call void @scr_str_release(ptr %bag_key7) + %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_3871774119671975, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false) + call void @scr_str_release(ptr %bag_key8) + %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_1511541293423217, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false) + call void @scr_str_release(ptr %bag_key9) + %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_3537803200604019, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false) + call void @scr_str_release(ptr %bag_key10) + %bag_key11 = call ptr @scr_str_new(ptr @sc_cs_2438149604853393, i64 9) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key11, i1 zeroext false) + call void @scr_str_release(ptr %bag_key11) + %bag_key12 = call ptr @scr_str_new(ptr @sc_cs_87265031005560, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key12, i1 zeroext false) + call void @scr_str_release(ptr %bag_key12) + %bag_key13 = call ptr @scr_str_new(ptr @sc_cs_2620371357038102, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key13, i1 zeroext false) + call void @scr_str_release(ptr %bag_key13) + %bag_key14 = call ptr @scr_str_new(ptr @sc_cs_1445273163400741, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key14, i1 zeroext false) + call void @scr_str_release(ptr %bag_key14) + %bag_key15 = call ptr @scr_str_new(ptr @sc_cs_3078220272172636, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key15, i1 zeroext false) + call void @scr_str_release(ptr %bag_key15) + %bag_key16 = call ptr @scr_str_new(ptr @sc_cs_3003865410260240, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key16, i1 zeroext false) + call void @scr_str_release(ptr %bag_key16) + %bag_key17 = call ptr @scr_str_new(ptr @sc_cs_3833663445821831, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key17, i1 zeroext false) + call void @scr_str_release(ptr %bag_key17) + %bag_key18 = call ptr @scr_str_new(ptr @sc_cs_1081761464356753, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key18, i1 zeroext false) + call void @scr_str_release(ptr %bag_key18) + %bag_key19 = call ptr @scr_str_new(ptr @sc_cs_3375901898269401, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key19, i1 zeroext false) + call void @scr_str_release(ptr %bag_key19) + %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 21 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_15_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.DiskStorage +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_763389326065034, i64 3) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %target, i64 0, i32 3 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_str_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1254054277824995, i64 2) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call double @sc_dc_2(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %target, i64 0, i32 4 + %f1_old = load double, ptr %f1_ptr + store double %f1_next, ptr %f1_ptr + br label %f1_after +f1_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_763389326065034, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1254054277824995, i64 2) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_ptr = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +@sc_ldr_15_materialize_cnames = internal constant [2 x ptr] [ptr @sc_lit_4006719217465510, ptr @sc_lit_4062729090063393] +@sc_ldr_15_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 2, ptr @sc_ldr_15_materialize_cnames, ptr @sc_lit_2124241381879535 } + +define internal ptr @sc_ldr_15_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.DiskStorage +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %p, i64 0, i32 3 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_763389326065034, i64 3, ptr %t3) + %t4 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %p, i64 0, i32 4 + %t5 = load double, ptr %t4 + %t6 = call ptr @sc_td_2(double %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1254054277824995, i64 2, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8) + call void @scr_dyn_release_v(ptr %t9) + ret ptr %t0 +} + +define internal void @sc_ldr_16_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MemoryStorage +entry: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_16_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MemoryStorage +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %p, i64 0, i32 2 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t5) + call void @scr_dyn_release_v(ptr %t6) + ret ptr %t0 +} + +define internal void @sc_ldr_14_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MultipartStorage +entry: + %derived_vt_slot = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %target, i64 0, i32 1 + %derived_vt = load ptr, ptr %derived_vt_slot + %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0 + %derived_pre = load i64, ptr %derived_pre_slot + %derived0 = icmp eq i64 %derived_pre, 27 + br i1 %derived0, label %derived0_commit, label %derived0_next +derived0_commit: + call void @sc_ldr_15_materialize_commit(ptr %target, ptr %d) + ret void +derived0_next: + %derived1 = icmp eq i64 %derived_pre, 26 + br i1 %derived1, label %derived1_commit, label %derived1_next +derived1_commit: + call void @sc_ldr_16_materialize_commit(ptr %target, ptr %d) + ret void +derived1_next: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_14_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MultipartStorage +entry: + %t0 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0 + %t3 = load i64, ptr %t2 + %t4 = icmp eq i64 %t3, 27 + br i1 %t4, label %class.derived0, label %class.next1 +class.derived0: + %t5 = call ptr @sc_ldr_15_materialize(ptr %p) + ret ptr %t5 +class.next1: + %t6 = icmp eq i64 %t3, 26 + br i1 %t6, label %class.derived2, label %class.next3 +class.derived2: + %t7 = call ptr @sc_ldr_16_materialize(ptr %p) + ret ptr %t7 +class.next3: + %t8 = call ptr @scr_dyn_new_obj() + %t11 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %p) + %t9 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %t11) + %t10 = call ptr @scr_dyn_set_prototype(ptr %t8, ptr %t9) + call void @scr_dyn_release_v(ptr %t9) + call void @scr_dyn_release_v(ptr %t10) + %t12 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %p, i64 0, i32 2 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @scr_dyn_copy_property_descriptors(ptr %t8, ptr %t13) + call void @scr_dyn_release_v(ptr %t14) + ret ptr %t8 +} + +define internal void @sc_ldr_18_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.DiskFileSink +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3537803200604019, i64 6) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 3 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_str_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2438149604853393, i64 9) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 4 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_str_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_87265031005560, i64 5) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_0(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 5 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @scr_str_release(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4397376455099734, i64 5) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_0(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 6 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_str_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2167961197498268, i64 3) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call double @sc_dc_2(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 7 + %f4_old = load double, ptr %f4_ptr + store double %f4_next, ptr %f4_ptr + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1008105371634015, i64 5) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call double @sc_dc_2(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 8 + %f5_old = load double, ptr %f5_ptr + store double %f5_next, ptr %f5_ptr + br label %f5_after +f5_after: + %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1440167436799276, i64 5) + %f6_missing = icmp eq ptr %f6_raw, null + %f6_undef = call ptr @scr_dyn_undefined() + %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw + %f6_next = call zeroext i1 @sc_dc_3(ptr %f6_input, ptr null) + %f6_pending.cell = load ptr, ptr @scr_exc_active + %f6_pending.kind = load i32, ptr %f6_pending.cell + %f6_pending = icmp ne i32 %f6_pending.kind, 0 + br i1 %f6_pending, label %done, label %f6_store +f6_store: + %f6_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 9 + %f6_old = load i8, ptr %f6_ptr + %f6_stored = zext i1 %f6_next to i8 + store i8 %f6_stored, ptr %f6_ptr + br label %f6_after +f6_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3537803200604019, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_2438149604853393, i64 9) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_87265031005560, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_4397376455099734, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2167961197498268, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_1008105371634015, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_1440167436799276, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false) + call void @scr_str_release(ptr %bag_key6) + %bag_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +@sc_ldr_18_materialize_cnames = internal constant [5 x ptr] [ptr @sc_lit_4006719217465510, ptr @sc_lit_298897322184109, ptr @sc_lit_952059176356082, ptr @sc_lit_1026109439396001, ptr @sc_lit_1048673592241930] +@sc_ldr_18_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 5, ptr @sc_ldr_18_materialize_cnames, ptr @sc_lit_1045032922576089 } + +define internal ptr @sc_ldr_18_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.DiskFileSink +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 3 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3537803200604019, i64 6, ptr %t3) + %t4 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 4 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2438149604853393, i64 9, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 5 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_87265031005560, i64 5, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 6 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @sc_td_0(ptr %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4397376455099734, i64 5, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 7 + %t14 = load double, ptr %t13 + %t15 = call ptr @sc_td_2(double %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2167961197498268, i64 3, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 8 + %t17 = load double, ptr %t16 + %t18 = call ptr @sc_td_2(double %t17) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1008105371634015, i64 5, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 9 + %t20 = load i8, ptr %t19 + %t21 = trunc i8 %t20 to i1 + %t22 = call ptr @sc_td_3(i1 %t21) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1440167436799276, i64 5, ptr %t22) + %t23 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 2 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t24) + call void @scr_dyn_release_v(ptr %t25) + ret ptr %t0 +} + +define internal void @sc_ldr_19_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MemoryFileSink +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3537803200604019, i64 6) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 3 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_str_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2438149604853393, i64 9) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 4 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_str_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_87265031005560, i64 5) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_0(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 5 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @scr_str_release(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_201462833315591, i64 7) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_27(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 6 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_arr_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1008105371634015, i64 5) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call double @sc_dc_2(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 7 + %f4_old = load double, ptr %f4_ptr + store double %f4_next, ptr %f4_ptr + br label %f4_after +f4_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3537803200604019, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_2438149604853393, i64 9) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_87265031005560, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_201462833315591, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_1008105371634015, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_20_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array> +entry: + %next = call ptr @sc_dc_27(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_20_materialize_get(ptr %p, double %i) #0 { ; live element of array> +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @sc_td_1(ptr %t0) + call void @scr_bytes_release(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_20_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array> +entry: + %t0 = call zeroext i1 @sc_dm_10(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_12(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_20_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_20_materialize_get, ptr @sc_ldr_20_materialize_set } + +define internal ptr @sc_ldr_20_materialize(ptr %p) #0 { ; materialize live stream value array> +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @sc_td_1(ptr %t10) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @scr_bytes_release(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_ldr_19_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MemoryFileSink +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 3 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3537803200604019, i64 6, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 4 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2438149604853393, i64 9, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 5 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @sc_td_0(ptr %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_87265031005560, i64 5, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 6 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_20_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_201462833315591, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 7 + %t17 = load double, ptr %t16 + %t18 = call ptr @sc_td_2(double %t17) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1008105371634015, i64 5, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 2 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t20) + call void @scr_dyn_release_v(ptr %t21) + ret ptr %t0 +} + +define internal void @sc_ldr_17_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MultipartFileSink +entry: + %derived_vt_slot = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %target, i64 0, i32 1 + %derived_vt = load ptr, ptr %derived_vt_slot + %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0 + %derived_pre = load i64, ptr %derived_pre_slot + %derived0 = icmp eq i64 %derived_pre, 24 + br i1 %derived0, label %derived0_commit, label %derived0_next +derived0_commit: + call void @sc_ldr_18_materialize_commit(ptr %target, ptr %d) + ret void +derived0_next: + %derived1 = icmp eq i64 %derived_pre, 23 + br i1 %derived1, label %derived1_commit, label %derived1_next +derived1_commit: + call void @sc_ldr_19_materialize_commit(ptr %target, ptr %d) + ret void +derived1_next: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_17_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MultipartFileSink +entry: + %t0 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0 + %t3 = load i64, ptr %t2 + %t4 = icmp eq i64 %t3, 24 + br i1 %t4, label %class.derived0, label %class.next1 +class.derived0: + %t5 = call ptr @sc_ldr_18_materialize(ptr %p) + ret ptr %t5 +class.next1: + %t6 = icmp eq i64 %t3, 23 + br i1 %t6, label %class.derived2, label %class.next3 +class.derived2: + %t7 = call ptr @sc_ldr_19_materialize(ptr %p) + ret ptr %t7 +class.next3: + %t8 = call ptr @scr_dyn_new_obj() + %t11 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %p) + %t9 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %t11) + %t10 = call ptr @scr_dyn_set_prototype(ptr %t8, ptr %t9) + call void @scr_dyn_release_v(ptr %t9) + call void @scr_dyn_release_v(ptr %t10) + %t12 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %p, i64 0, i32 2 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @scr_dyn_copy_property_descriptors(ptr %t8, ptr %t13) + call void @scr_dyn_release_v(ptr %t14) + ret ptr %t8 +} + +define internal ptr @sc_ldu_4(ptr %u) #0 { ; materialize live union value union:u7 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 0, i32 1 + switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_new_null() + ret ptr %t3 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal ptr @sc_ldr_13_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MultipartParser +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4331231100667432, i64 6, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1497623537730125, i64 6, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 3 + %t11 = load double, ptr %t10 + %t12 = call ptr @sc_td_2(double %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3626652862359804, i64 3, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 4 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_td_1(ptr %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3767316427932713, i64 5, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 5 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t17, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_270650669493903, i64 8, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 6 + %t20 = load double, ptr %t19 + %t21 = call ptr @sc_td_2(double %t20) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1904556107358822, i64 9, ptr %t21) + %t22 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 7 + %t23 = load double, ptr %t22 + %t24 = call ptr @sc_td_2(double %t23) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3347257245794453, i64 9, ptr %t24) + %t25 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 8 + %t26 = load double, ptr %t25 + %t27 = call ptr @sc_td_2(double %t26) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_51498970823486, i64 10, ptr %t27) + %t28 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 9 + %t29 = load i8, ptr %t28 + %t30 = trunc i8 %t29 to i1 + %t31 = call ptr @sc_td_3(i1 %t30) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3871774119671975, i64 5, ptr %t31) + %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 10 + %t33 = load i8, ptr %t32 + %t34 = trunc i8 %t33 to i1 + %t35 = call ptr @sc_td_3(i1 %t34) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1511541293423217, i64 7, ptr %t35) + %t36 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 11 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @sc_td_0(ptr %t37) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3537803200604019, i64 6, ptr %t38) + %t39 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 12 + %t40 = load ptr, ptr %t39 + %t41 = call ptr @sc_td_0(ptr %t40) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2438149604853393, i64 9, ptr %t41) + %t42 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 13 + %t43 = load ptr, ptr %t42 + %t44 = call ptr @sc_td_0(ptr %t43) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_87265031005560, i64 5, ptr %t44) + %t45 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 14 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @sc_ldu_4(ptr %t46) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2620371357038102, i64 5, ptr %t47) + %t48 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 15 + %t49 = load ptr, ptr %t48 + %t50 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t49, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t50, ptr @sc_ldr_20_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1445273163400741, i64 7, ptr %t50) + %t51 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 16 + %t52 = load double, ptr %t51 + %t53 = call ptr @sc_td_2(double %t52) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3078220272172636, i64 6, ptr %t53) + %t54 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 17 + %t55 = load double, ptr %t54 + %t56 = call ptr @sc_td_2(double %t55) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3003865410260240, i64 7, ptr %t56) + %t57 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 18 + %t58 = load double, ptr %t57 + %t59 = call ptr @sc_td_2(double %t58) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3833663445821831, i64 3, ptr %t59) + %t60 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 19 + %t61 = load ptr, ptr %t60 + %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t62, ptr @sc_ldr_11_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1081761464356753, i64 5, ptr %t62) + %t63 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 20 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t64, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t65, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3375901898269401, i64 6, ptr %t65) + %t66 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 21 + %t67 = load ptr, ptr %t66 + %t68 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t67) + call void @scr_dyn_release_v(ptr %t68) + ret ptr %t0 +} + +define internal void @sc_ldr_21_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.CtxCore +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3447500980845638, i64 3) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_28(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @sc_release__x25_m5_ReqViewCore(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_448101171860799, i64 4) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_29(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 2 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @sc_release__x25_m2_ResponseSink(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4141049404401276, i64 8) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_30(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 3 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @sc_release__x25_m5_CtxResCore(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3621289080171698, i64 7) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call double @sc_dc_2(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 4 + %f3_old = load double, ptr %f3_ptr + store double %f3_next, ptr %f3_ptr + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2163543391075186, i64 4) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call zeroext i1 @sc_dc_3(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 5 + %f4_old = load i8, ptr %f4_ptr + %f4_stored = zext i1 %f4_next to i8 + store i8 %f4_stored, ptr %f4_ptr + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4022150258959820, i64 5) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call ptr @sc_dc_0(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 6 + %f5_old = load ptr, ptr %f5_ptr + store ptr %f5_next, ptr %f5_ptr + call void @scr_str_release(ptr %f5_old) + br label %f5_after +f5_after: + %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3084154227263888, i64 8) + %f6_missing = icmp eq ptr %f6_raw, null + %f6_undef = call ptr @scr_dyn_undefined() + %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw + %f6_next = call ptr @sc_dc_14(ptr %f6_input, ptr null) + %f6_pending.cell = load ptr, ptr @scr_exc_active + %f6_pending.kind = load i32, ptr %f6_pending.cell + %f6_pending = icmp ne i32 %f6_pending.kind, 0 + br i1 %f6_pending, label %done, label %f6_store +f6_store: + %f6_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 7 + %f6_old = load ptr, ptr %f6_ptr + store ptr %f6_next, ptr %f6_ptr + call void @scr_union_release(ptr %f6_old) + br label %f6_after +f6_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m5_CtxCore(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3447500980845638, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_448101171860799, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_4141049404401276, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_3621289080171698, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2163543391075186, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_4022150258959820, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_3084154227263888, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false) + call void @scr_str_release(ptr %bag_key6) + %bag_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 8 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_22_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.CtxResCore +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2620371357038102, i64 5) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_29(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @sc_release__x25_m2_ResponseSink(ptr %f0_old) + br label %f0_after +f0_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m5_CtxResCore(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_2620371357038102, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_ptr = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_22_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.CtxResCore +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2620371357038102, i64 5, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8) + call void @scr_dyn_release_v(ptr %t9) + ret ptr %t0 +} + +define internal ptr @sc_ldr_21_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.CtxCore +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m5_CtxCore(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3447500980845638, i64 3, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_448101171860799, i64 4, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t11, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4141049404401276, i64 8, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 4 + %t14 = load double, ptr %t13 + %t15 = call ptr @sc_td_2(double %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3621289080171698, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 5 + %t17 = load i8, ptr %t16 + %t18 = trunc i8 %t17 to i1 + %t19 = call ptr @sc_td_3(i1 %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2163543391075186, i64 4, ptr %t19) + %t20 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 6 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_td_0(ptr %t21) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4022150258959820, i64 5, ptr %t22) + %t23 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 7 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @sc_td_14(ptr %t24) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3084154227263888, i64 8, ptr %t25) + %t26 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 8 + %t27 = load ptr, ptr %t26 + %t28 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t27) + call void @scr_dyn_release_v(ptr %t28) + ret ptr %t0 +} + +define internal void @sc_dpa_0(ptr %dst, ptr %src) #0 { ; checked-dynamic promise exit bool +entry: + %t0 = call ptr @scr_promise_payload_ref(ptr %src) + %t1 = call i1 @sc_dc_3(ptr %t0, ptr null) + call void @scr_dyn_release_v(ptr %t0) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %sra.fail0, label %sra.ok1 +sra.fail0: + call void @scr_promise_reject_pending(ptr %dst) + ret void +sra.ok1: + call void @scr_promise_fulfill_bool(ptr %dst, i1 zeroext %t1) + ret void +} + +define internal void @sc_ldr_23_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.App +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3038119887745057, i64 6) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_31(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_arr_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2387748979716321, i64 3) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_33(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 2 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_arr_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4074236996717255, i64 4) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_35(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 3 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @scr_arr_release(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3834689050502795, i64 4) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_37(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 4 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_arr_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_772714621079184, i64 3) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_36(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 5 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @scr_closure_release(ptr %f4_old) + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1253948269358290, i64 5) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call ptr @sc_dc_33(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 6 + %f5_old = load ptr, ptr %f5_ptr + store ptr %f5_next, ptr %f5_ptr + call void @scr_arr_release(ptr %f5_old) + br label %f5_after +f5_after: + %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_872249802202544, i64 4) + %f6_missing = icmp eq ptr %f6_raw, null + %f6_undef = call ptr @scr_dyn_undefined() + %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw + %f6_next = call ptr @sc_dc_38(ptr %f6_input, ptr null) + %f6_pending.cell = load ptr, ptr @scr_exc_active + %f6_pending.kind = load i32, ptr %f6_pending.cell + %f6_pending = icmp ne i32 %f6_pending.kind, 0 + br i1 %f6_pending, label %done, label %f6_store +f6_store: + %f6_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 7 + %f6_old = load ptr, ptr %f6_ptr + store ptr %f6_next, ptr %f6_ptr + call void @scr_union_release(ptr %f6_old) + br label %f6_after +f6_after: + %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3257120253469437, i64 7) + %f7_missing = icmp eq ptr %f7_raw, null + %f7_undef = call ptr @scr_dyn_undefined() + %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw + %f7_next = call ptr @sc_dc_35(ptr %f7_input, ptr null) + %f7_pending.cell = load ptr, ptr @scr_exc_active + %f7_pending.kind = load i32, ptr %f7_pending.cell + %f7_pending = icmp ne i32 %f7_pending.kind, 0 + br i1 %f7_pending, label %done, label %f7_store +f7_store: + %f7_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 8 + %f7_old = load ptr, ptr %f7_ptr + store ptr %f7_next, ptr %f7_ptr + call void @scr_arr_release(ptr %f7_old) + br label %f7_after +f7_after: + %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3782354537448346, i64 8) + %f8_missing = icmp eq ptr %f8_raw, null + %f8_undef = call ptr @scr_dyn_undefined() + %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw + %f8_next = call ptr @sc_dc_36(ptr %f8_input, ptr null) + %f8_pending.cell = load ptr, ptr @scr_exc_active + %f8_pending.kind = load i32, ptr %f8_pending.cell + %f8_pending = icmp ne i32 %f8_pending.kind, 0 + br i1 %f8_pending, label %done, label %f8_store +f8_store: + %f8_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 9 + %f8_old = load ptr, ptr %f8_ptr + store ptr %f8_next, ptr %f8_ptr + call void @scr_closure_release(ptr %f8_old) + br label %f8_after +f8_after: + %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_886324725696546, i64 3) + %f9_missing = icmp eq ptr %f9_raw, null + %f9_undef = call ptr @scr_dyn_undefined() + %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw + %f9_next = call ptr @sc_dc_40(ptr %f9_input, ptr null) + %f9_pending.cell = load ptr, ptr @scr_exc_active + %f9_pending.kind = load i32, ptr %f9_pending.cell + %f9_pending = icmp ne i32 %f9_pending.kind, 0 + br i1 %f9_pending, label %done, label %f9_store +f9_store: + %f9_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 10 + %f9_old = load ptr, ptr %f9_ptr + store ptr %f9_next, ptr %f9_ptr + call void @scr_arr_release(ptr %f9_old) + br label %f9_after +f9_after: + %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_535630044833136, i64 3) + %f10_missing = icmp eq ptr %f10_raw, null + %f10_undef = call ptr @scr_dyn_undefined() + %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw + %f10_next = call ptr @sc_dc_41(ptr %f10_input, ptr null) + %f10_pending.cell = load ptr, ptr @scr_exc_active + %f10_pending.kind = load i32, ptr %f10_pending.cell + %f10_pending = icmp ne i32 %f10_pending.kind, 0 + br i1 %f10_pending, label %done, label %f10_store +f10_store: + %f10_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 11 + %f10_old = load ptr, ptr %f10_ptr + store ptr %f10_next, ptr %f10_ptr + call void @scr_arr_release(ptr %f10_old) + br label %f10_after +f10_after: + %f11_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4400741686745380, i64 3) + %f11_missing = icmp eq ptr %f11_raw, null + %f11_undef = call ptr @scr_dyn_undefined() + %f11_input = select i1 %f11_missing, ptr %f11_undef, ptr %f11_raw + %f11_next = call ptr @sc_dc_19(ptr %f11_input, ptr null) + %f11_pending.cell = load ptr, ptr @scr_exc_active + %f11_pending.kind = load i32, ptr %f11_pending.cell + %f11_pending = icmp ne i32 %f11_pending.kind, 0 + br i1 %f11_pending, label %done, label %f11_store +f11_store: + %f11_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 12 + %f11_old = load ptr, ptr %f11_ptr + store ptr %f11_next, ptr %f11_ptr + call void @scr_arr_release(ptr %f11_old) + br label %f11_after +f11_after: + %f12_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1668606746601237, i64 6) + %f12_missing = icmp eq ptr %f12_raw, null + %f12_undef = call ptr @scr_dyn_undefined() + %f12_input = select i1 %f12_missing, ptr %f12_undef, ptr %f12_raw + %f12_next = call ptr @sc_dc_19(ptr %f12_input, ptr null) + %f12_pending.cell = load ptr, ptr @scr_exc_active + %f12_pending.kind = load i32, ptr %f12_pending.cell + %f12_pending = icmp ne i32 %f12_pending.kind, 0 + br i1 %f12_pending, label %done, label %f12_store +f12_store: + %f12_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 13 + %f12_old = load ptr, ptr %f12_ptr + store ptr %f12_next, ptr %f12_ptr + call void @scr_arr_release(ptr %f12_old) + br label %f12_after +f12_after: + %f13_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1388999587933298, i64 3) + %f13_missing = icmp eq ptr %f13_raw, null + %f13_undef = call ptr @scr_dyn_undefined() + %f13_input = select i1 %f13_missing, ptr %f13_undef, ptr %f13_raw + %f13_next = call ptr @sc_dc_42(ptr %f13_input, ptr null) + %f13_pending.cell = load ptr, ptr @scr_exc_active + %f13_pending.kind = load i32, ptr %f13_pending.cell + %f13_pending = icmp ne i32 %f13_pending.kind, 0 + br i1 %f13_pending, label %done, label %f13_store +f13_store: + %f13_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 14 + %f13_old = load ptr, ptr %f13_ptr + store ptr %f13_next, ptr %f13_ptr + call void @scr_arr_release(ptr %f13_old) + br label %f13_after +f13_after: + %f14_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1094398669481625, i64 4) + %f14_missing = icmp eq ptr %f14_raw, null + %f14_undef = call ptr @scr_dyn_undefined() + %f14_input = select i1 %f14_missing, ptr %f14_undef, ptr %f14_raw + %f14_next = call ptr @sc_dc_44(ptr %f14_input, ptr null) + %f14_pending.cell = load ptr, ptr @scr_exc_active + %f14_pending.kind = load i32, ptr %f14_pending.cell + %f14_pending = icmp ne i32 %f14_pending.kind, 0 + br i1 %f14_pending, label %done, label %f14_store +f14_store: + %f14_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 15 + %f14_old = load ptr, ptr %f14_ptr + store ptr %f14_next, ptr %f14_ptr + call void @scr_closure_release(ptr %f14_old) + br label %f14_after +f14_after: + %f15_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1345623861448315, i64 9) + %f15_missing = icmp eq ptr %f15_raw, null + %f15_undef = call ptr @scr_dyn_undefined() + %f15_input = select i1 %f15_missing, ptr %f15_undef, ptr %f15_raw + %f15_next = call ptr @sc_dc_45(ptr %f15_input, ptr null) + %f15_pending.cell = load ptr, ptr @scr_exc_active + %f15_pending.kind = load i32, ptr %f15_pending.cell + %f15_pending = icmp ne i32 %f15_pending.kind, 0 + br i1 %f15_pending, label %done, label %f15_store +f15_store: + %f15_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 16 + %f15_old = load ptr, ptr %f15_ptr + store ptr %f15_next, ptr %f15_ptr + call void @scr_closure_release(ptr %f15_old) + br label %f15_after +f15_after: + %f16_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3774229428846185, i64 3) + %f16_missing = icmp eq ptr %f16_raw, null + %f16_undef = call ptr @scr_dyn_undefined() + %f16_input = select i1 %f16_missing, ptr %f16_undef, ptr %f16_raw + %f16_next = call ptr @sc_dc_47(ptr %f16_input, ptr null) + %f16_pending.cell = load ptr, ptr @scr_exc_active + %f16_pending.kind = load i32, ptr %f16_pending.cell + %f16_pending = icmp ne i32 %f16_pending.kind, 0 + br i1 %f16_pending, label %done, label %f16_store +f16_store: + %f16_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 17 + %f16_old = load ptr, ptr %f16_ptr + store ptr %f16_next, ptr %f16_ptr + call void @scr_closure_release(ptr %f16_old) + br label %f16_after +f16_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m5_App(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_App(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3038119887745057, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_2387748979716321, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_4074236996717255, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_3834689050502795, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_772714621079184, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_1253948269358290, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_872249802202544, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false) + call void @scr_str_release(ptr %bag_key6) + %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_3257120253469437, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false) + call void @scr_str_release(ptr %bag_key7) + %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_3782354537448346, i64 8) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false) + call void @scr_str_release(ptr %bag_key8) + %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_886324725696546, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false) + call void @scr_str_release(ptr %bag_key9) + %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_535630044833136, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false) + call void @scr_str_release(ptr %bag_key10) + %bag_key11 = call ptr @scr_str_new(ptr @sc_cs_4400741686745380, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key11, i1 zeroext false) + call void @scr_str_release(ptr %bag_key11) + %bag_key12 = call ptr @scr_str_new(ptr @sc_cs_1668606746601237, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key12, i1 zeroext false) + call void @scr_str_release(ptr %bag_key12) + %bag_key13 = call ptr @scr_str_new(ptr @sc_cs_1388999587933298, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key13, i1 zeroext false) + call void @scr_str_release(ptr %bag_key13) + %bag_key14 = call ptr @scr_str_new(ptr @sc_cs_1094398669481625, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key14, i1 zeroext false) + call void @scr_str_release(ptr %bag_key14) + %bag_key15 = call ptr @scr_str_new(ptr @sc_cs_1345623861448315, i64 9) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key15, i1 zeroext false) + call void @scr_str_release(ptr %bag_key15) + %bag_key16 = call ptr @scr_str_new(ptr @sc_cs_3774229428846185, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key16, i1 zeroext false) + call void @scr_str_release(ptr %bag_key16) + %bag_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 18 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_24_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_31(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_25_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r5 +entry: + %next = call ptr @sc_dc_32(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; children + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; hf + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + %tp2 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 3 + %np2 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 3 + %old2 = load ptr, ptr %tp2 ; hm + %new2 = load ptr, ptr %np2 + store ptr %new2, ptr %tp2 + store ptr %old2, ptr %np2 + %tp3 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 4 + %np3 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 4 + %old3 = load double, ptr %tp3 ; kind + %new3 = load double, ptr %np3 + store double %new3, ptr %tp3 + store double %old3, ptr %np3 + %tp4 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 5 + %np4 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 5 + %old4 = load ptr, ptr %tp4 ; seg + %new4 = load ptr, ptr %np4 + store ptr %new4, ptr %tp4 + store ptr %old4, ptr %np4 + call void @sc_rrelease_r5(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_25_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r5 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_25_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r5 +entry: + switch i64 %i, label %live.record.bad5 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 i64 3, label %live.record.get3 i64 4, label %live.record.get4 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 5 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_td_0(ptr %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 4 + %t4 = load double, ptr %t3 + %t5 = call ptr @sc_td_2(double %t4) + ret ptr %t5 +live.record.get2: + %t6 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 1 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t7, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t8, ptr @sc_ldr_10_materialize_ops) + ret ptr %t8 +live.record.get3: + %t9 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 3 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t11, ptr @sc_ldr_2_materialize_ops) + ret ptr %t11 +live.record.get4: + %t12 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 2 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t13, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t14, ptr @sc_ldr_10_materialize_ops) + ret ptr %t14 +live.record.bad5: + unreachable +} + +@sc_ldr_25_materialize_names = internal constant [5 x ptr] [ptr @sc_lit_4121162754829271, ptr @sc_lit_196246007442230, ptr @sc_lit_291439443305035, ptr @sc_lit_3240132313272141, ptr @sc_lit_1774234212108265] +@sc_ldr_25_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 5, ptr @sc_ldr_25_materialize_names, ptr @sc_ldr_25_materialize_has, ptr @sc_ldr_25_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_25_materialize(ptr %p) #0 { ; materialize live stream value record:r5 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 5 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4121162754829271, i64 3, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 4 + %t5 = load double, ptr %t4 + %t6 = call ptr @sc_td_2(double %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_196246007442230, i64 4, ptr %t6) + %t7 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t9, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_291439443305035, i64 8, ptr %t9) + %t10 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t12, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3240132313272141, i64 2, ptr %t12) + %t13 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 2 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1774234212108265, i64 2, ptr %t15) + ret ptr %t0 +} + +define internal ptr @sc_ldr_24_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r5, ptr @sc_rrelease_r5, ptr @sc_cs_1186397750780220, i64 9, ptr @sc_ldr_25_materialize, ptr @sc_ldr_25_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_25_materialize_rops) + call void @sc_rrelease_r5(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_24_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_14(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_32(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_24_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_24_materialize_get, ptr @sc_ldr_24_materialize_set } + +define internal ptr @sc_ldr_24_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r5, ptr @sc_rrelease_r5, ptr @sc_cs_1186397750780220, i64 9, ptr @sc_ldr_25_materialize, ptr @sc_ldr_25_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_25_materialize_rops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_rrelease_r5(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_26_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element arraydyn)=>dyn> +entry: + %next = call ptr @sc_dc_33(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_26_materialize_get(ptr %p, double %i) #0 { ; live element of arraydyn)=>dyn> +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @sc_td_21(ptr %t0) + call void @scr_closure_release(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_26_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into arraydyn)=>dyn> +entry: + %t0 = call zeroext i1 @sc_dm_16(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_34(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_26_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_26_materialize_get, ptr @sc_ldr_26_materialize_set } + +define internal ptr @sc_ldr_26_materialize(ptr %p) #0 { ; materialize live stream value arraydyn)=>dyn> +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @sc_td_21(ptr %t10) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @scr_closure_release(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_27_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element arraydyn> +entry: + %next = call ptr @sc_dc_35(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_27_materialize_get(ptr %p, double %i) #0 { ; live element of arraydyn> +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @sc_td_22(ptr %t0) + call void @scr_closure_release(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_27_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into arraydyn> +entry: + %t0 = call zeroext i1 @sc_dm_17(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_36(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_27_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_27_materialize_get, ptr @sc_ldr_27_materialize_set } + +define internal ptr @sc_ldr_27_materialize(ptr %p) #0 { ; materialize live stream value arraydyn> +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @sc_td_22(ptr %t10) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @scr_closure_release(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_28_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element arraydyn)=>dyn>> +entry: + %next = call ptr @sc_dc_37(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_28_materialize_get(ptr %p, double %i) #0 { ; live element of arraydyn)=>dyn>> +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t0, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t1, ptr @sc_ldr_26_materialize_ops) + call void @scr_arr_release(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_28_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into arraydyn)=>dyn>> +entry: + %t0 = call zeroext i1 @sc_dm_18(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_33(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_28_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_28_materialize_get, ptr @sc_ldr_28_materialize_set } + +define internal ptr @sc_ldr_28_materialize(ptr %p) #0 { ; materialize live stream value arraydyn)=>dyn>> +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t10, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t11, ptr @sc_ldr_26_materialize_ops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @scr_arr_release(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_29_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array> +entry: + %next = call ptr @sc_dc_40(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_29_materialize_get(ptr %p, double %i) #0 { ; live element of array> +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t1, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_29_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array> +entry: + %t0 = call zeroext i1 @sc_dm_9(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_1(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_29_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_29_materialize_get, ptr @sc_ldr_29_materialize_set } + +define internal ptr @sc_ldr_29_materialize(ptr %p) #0 { ; materialize live stream value array> +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t11, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @scr_arr_release(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_30_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array> +entry: + %next = call ptr @sc_dc_41(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_30_materialize_get(ptr %p, double %i) #0 { ; live element of array> +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t1, ptr @sc_ldr_10_materialize_ops) + call void @scr_arr_release(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_30_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array> +entry: + %t0 = call zeroext i1 @sc_dm_15(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_19(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_30_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_30_materialize_get, ptr @sc_ldr_30_materialize_set } + +define internal ptr @sc_ldr_30_materialize(ptr %p) #0 { ; materialize live stream value array> +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t11, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @scr_arr_release(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_31_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_42(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_32_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.MpCfg +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3251470234448474, i64 2) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 1 + %f0_old = load double, ptr %f0_ptr + store double %f0_next, ptr %f0_ptr + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1295387805544367, i64 7) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_50(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 2 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @sc_release__x25_m4_MultipartStorage(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3528980137111930, i64 5) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call double @sc_dc_2(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 3 + %f2_old = load double, ptr %f2_ptr + store double %f2_next, ptr %f2_ptr + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4476522814667484, i64 5) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call double @sc_dc_2(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 4 + %f3_old = load double, ptr %f3_ptr + store double %f3_next, ptr %f3_ptr + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3328648022724882, i64 7) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call double @sc_dc_2(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 5 + %f4_old = load double, ptr %f4_ptr + store double %f4_next, ptr %f4_ptr + br label %f4_after +f4_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3251470234448474, i64 2) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1295387805544367, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_3528980137111930, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_4476522814667484, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_3328648022724882, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 6 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +@sc_ldr_32_materialize_cnames = internal constant [1 x ptr] [ptr @sc_lit_4006719217465510] +@sc_ldr_32_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 1, ptr @sc_ldr_32_materialize_cnames, ptr @sc_lit_2780507335947153 } + +define internal ptr @sc_ldu_5(ptr %u) #0 { ; materialize live union value union:u16 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 0, i32 1 + switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_new_null() + ret ptr %t3 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal ptr @sc_ldr_32_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.MpCfg +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 1 + %t2 = load double, ptr %t1 + %t3 = call ptr @sc_td_2(double %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3251470234448474, i64 2, ptr %t3) + %t4 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 2 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_ldu_5(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1295387805544367, i64 7, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 3 + %t8 = load double, ptr %t7 + %t9 = call ptr @sc_td_2(double %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3528980137111930, i64 5, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 4 + %t11 = load double, ptr %t10 + %t12 = call ptr @sc_td_2(double %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4476522814667484, i64 5, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 5 + %t14 = load double, ptr %t13 + %t15 = call ptr @sc_td_2(double %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3328648022724882, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 6 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t17) + call void @scr_dyn_release_v(ptr %t18) + ret ptr %t0 +} + +define internal ptr @sc_ldr_31_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t0, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t1, ptr @sc_ldr_32_materialize_cops) + call void @sc_release__x25_m5_MpCfg(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_31_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_20(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_43(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_31_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_31_materialize_get, ptr @sc_ldr_31_materialize_set } + +define internal ptr @sc_ldr_31_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t10, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t11, ptr @sc_ldr_32_materialize_cops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_release__x25_m5_MpCfg(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_ldr_23_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.App +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m5_App(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_App(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t5, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_4447116402536209, i64 16, ptr @sc_ldr_24_materialize, ptr @sc_ldr_24_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t6, ptr @sc_ldr_24_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3038119887745057, i64 6, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t9, ptr @sc_ldr_26_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2387748979716321, i64 3, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t11, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1913588278853018, i64 36, ptr @sc_ldr_27_materialize, ptr @sc_ldr_27_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t12, ptr @sc_ldr_27_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4074236996717255, i64 4, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 4 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3192918191117730, i64 55, ptr @sc_ldr_28_materialize, ptr @sc_ldr_28_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_28_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3834689050502795, i64 4, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 5 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @sc_td_22(ptr %t17) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_772714621079184, i64 3, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 6 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t20, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t21, ptr @sc_ldr_26_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1253948269358290, i64 5, ptr %t21) + %t22 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 7 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @sc_td_23(ptr %t23) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_872249802202544, i64 4, ptr %t24) + %t25 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 8 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1913588278853018, i64 36, ptr @sc_ldr_27_materialize, ptr @sc_ldr_27_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t27, ptr @sc_ldr_27_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3257120253469437, i64 7, ptr %t27) + %t28 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 9 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @sc_td_22(ptr %t29) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3782354537448346, i64 8, ptr %t30) + %t31 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 10 + %t32 = load ptr, ptr %t31 + %t33 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t32, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2337619831431474, i64 20, ptr @sc_ldr_29_materialize, ptr @sc_ldr_29_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t33, ptr @sc_ldr_29_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_886324725696546, i64 3, ptr %t33) + %t34 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 11 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t35, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2888908392807325, i64 17, ptr @sc_ldr_30_materialize, ptr @sc_ldr_30_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t36, ptr @sc_ldr_30_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_535630044833136, i64 3, ptr %t36) + %t37 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 12 + %t38 = load ptr, ptr %t37 + %t39 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t38, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t39, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4400741686745380, i64 3, ptr %t39) + %t40 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 13 + %t41 = load ptr, ptr %t40 + %t42 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t41, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t42, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1668606746601237, i64 6, ptr %t42) + %t43 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 14 + %t44 = load ptr, ptr %t43 + %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_125327543764853, i64 23, ptr @sc_ldr_31_materialize, ptr @sc_ldr_31_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t45, ptr @sc_ldr_31_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1388999587933298, i64 3, ptr %t45) + %t46 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 15 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @sc_td_24(ptr %t47) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1094398669481625, i64 4, ptr %t48) + %t49 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 16 + %t50 = load ptr, ptr %t49 + %t51 = call ptr @sc_td_25(ptr %t50) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1345623861448315, i64 9, ptr %t51) + %t52 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 17 + %t53 = load ptr, ptr %t52 + %t54 = call ptr @sc_td_27(ptr %t53) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3774229428846185, i64 3, ptr %t54) + %t55 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 18 + %t56 = load ptr, ptr %t55 + %t57 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t56) + call void @scr_dyn_release_v(ptr %t57) + ret ptr %t0 +} + +define internal void @sc_ldr_33_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r9 +entry: + %next = call ptr @sc_dc_54(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r9, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r9, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; idxs + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r9, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r9, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; names + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + %tp2 = getelementptr inbounds %sc_rs_r9, ptr %target, i64 0, i32 3 + %np2 = getelementptr inbounds %sc_rs_r9, ptr %next, i64 0, i32 3 + %old2 = load double, ptr %tp2 ; splat + %new2 = load double, ptr %np2 + store double %new2, ptr %tp2 + store double %old2, ptr %np2 + call void @sc_rrelease_r9(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_33_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r9 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_33_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r9 +entry: + switch i64 %i, label %live.record.bad3 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 2 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t1, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t2, ptr @sc_ldr_2_materialize_ops) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + %t5 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t4, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t5, ptr @sc_ldr_10_materialize_ops) + ret ptr %t5 +live.record.get2: + %t6 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 3 + %t7 = load double, ptr %t6 + %t8 = call ptr @sc_td_2(double %t7) + ret ptr %t8 +live.record.bad3: + unreachable +} + +@sc_ldr_33_materialize_names = internal constant [3 x ptr] [ptr @sc_lit_3073289709162707, ptr @sc_lit_621103891786213, ptr @sc_lit_2193851355834945] +@sc_ldr_33_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 3, ptr @sc_ldr_33_materialize_names, ptr @sc_ldr_33_materialize_has, ptr @sc_ldr_33_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_33_materialize(ptr %p) #0 { ; materialize live stream value record:r9 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 2 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t2, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t3, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3073289709162707, i64 5, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t5, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t6, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_621103891786213, i64 4, ptr %t6) + %t7 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 3 + %t8 = load double, ptr %t7 + %t9 = call ptr @sc_td_2(double %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2193851355834945, i64 5, ptr %t9) + ret ptr %t0 +} + +define internal ptr @sc_ldu_6(ptr %u) #0 { ; materialize live union value union:u28 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 1, i32 0 + switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t2, ptr @sc_ldr_32_materialize_cops) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t3) + ret ptr %t4 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal void @sc_ldr_34_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r28 +entry: + %next = call ptr @sc_dc_58(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r28, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r28, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; headers + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r28, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r28, ptr %next, i64 0, i32 2 + %old1 = load double, ptr %tp1 ; status + %new1 = load double, ptr %np1 + store double %new1, ptr %tp1 + store double %old1, ptr %np1 + call void @sc_rrelease_r28(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_35_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_59(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_36_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r18 +entry: + %next = call ptr @sc_dc_60(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r18, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r18, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; 0 + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r18, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r18, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; 1 + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + call void @sc_rrelease_r18(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_36_materialize(ptr %p) #0 { ; materialize live stream value record:r18 +entry: + %t0 = call ptr @scr_dyn_new_arr() + %t1 = getelementptr inbounds %sc_rs_r18, ptr %p, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_arr_push(ptr %t0, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r18, ptr %p, i64 0, i32 2 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_arr_push(ptr %t0, ptr %t6) + ret ptr %t0 +} + +define internal ptr @sc_ldr_35_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r18, ptr @sc_rrelease_r18, ptr @sc_cs_3675905637404462, i64 10, ptr @sc_ldr_36_materialize, ptr @sc_ldr_36_materialize_commit) + call void @sc_rrelease_r18(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_35_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_22(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_60(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_35_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_35_materialize_get, ptr @sc_ldr_35_materialize_set } + +define internal ptr @sc_ldr_35_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r18, ptr @sc_rrelease_r18, ptr @sc_cs_3675905637404462, i64 10, ptr @sc_ldr_36_materialize, ptr @sc_ldr_36_materialize_commit) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_rrelease_r18(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal zeroext i1 @sc_ldr_34_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r28 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_34_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r28 +entry: + switch i64 %i, label %live.record.bad2 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r28, ptr %p, i64 0, i32 2 + %t1 = load double, ptr %t0 + %t2 = call ptr @sc_td_2(double %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r28, ptr %p, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + %t5 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t4, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2480898009178335, i64 17, ptr @sc_ldr_35_materialize, ptr @sc_ldr_35_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t5, ptr @sc_ldr_35_materialize_ops) + ret ptr %t5 +live.record.bad2: + unreachable +} + +@sc_ldr_34_materialize_names = internal constant [2 x ptr] [ptr @sc_lit_127274431826284, ptr @sc_lit_977412068193087] +@sc_ldr_34_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 2, ptr @sc_ldr_34_materialize_names, ptr @sc_ldr_34_materialize_has, ptr @sc_ldr_34_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_34_materialize(ptr %p) #0 { ; materialize live stream value record:r28 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r28, ptr %p, i64 0, i32 2 + %t2 = load double, ptr %t1 + %t3 = call ptr @sc_td_2(double %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_127274431826284, i64 6, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r28, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t5, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2480898009178335, i64 17, ptr @sc_ldr_35_materialize, ptr @sc_ldr_35_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t6, ptr @sc_ldr_35_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_977412068193087, i64 7, ptr %t6) + ret ptr %t0 +} + +define internal void @sc_ldr_37_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r26 +entry: + %next = call ptr @sc_dc_61(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r26, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r26, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; [key: string] overflow + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + call void @sc_rrelease_r26(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_37_materialize(ptr %p) #0 { ; materialize live stream value record:r26 +entry: + %t0 = call ptr @sc_td_31(ptr %p) + ret ptr %t0 +} + +define internal void @sc_ldr_38_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m3.LiteHeaders +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1515898915129638, i64 3) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_16(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_http_req_release(ptr %f0_old) + br label %f0_after +f0_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1515898915129638, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_ptr = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_38_materialize(ptr %p) #0 { ; materialize live stream value object:%m3.LiteHeaders +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_10(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1515898915129638, i64 3, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8) + call void @scr_dyn_release_v(ptr %t9) + ret ptr %t0 +} + +define internal void @sc_rslv_0(ptr %self, ptr %v) #0 { ; resolve +entry: + call void @scr_resolve_ref_impl(ptr %self, ptr %v, ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + ret void +} + +define internal void @sc_ldr_39_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r32 +entry: + %next = call ptr @sc_dc_65(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r32, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r32, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; [key: string] overflow + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + call void @sc_rrelease_r32(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_39_materialize(ptr %p) #0 { ; materialize live stream value record:r32 +entry: + %t0 = call ptr @sc_td_32(ptr %p) + ret ptr %t0 +} + +define internal void @sc_ldr_40_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r7 +entry: + %next = call ptr @sc_dc_67(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r7, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r7, ptr %next, i64 0, i32 1 + %old0 = load { i32, i64 }, ptr %tp0 ; body + %new0 = load { i32, i64 }, ptr %np0 + store { i32, i64 } %new0, ptr %tp0 + store { i32, i64 } %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r7, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r7, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; multipart + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + call void @sc_rrelease_r7(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_41_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r6 +entry: + %next = call ptr @sc_dc_70(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r6, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r6, ptr %next, i64 0, i32 1 + %old0 = load { i32, i64 }, ptr %tp0 ; maxFieldBytes + %new0 = load { i32, i64 }, ptr %np0 + store { i32, i64 } %new0, ptr %tp0 + store { i32, i64 } %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r6, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r6, ptr %next, i64 0, i32 2 + %old1 = load { i32, i64 }, ptr %tp1 ; maxFileBytes + %new1 = load { i32, i64 }, ptr %np1 + store { i32, i64 } %new1, ptr %tp1 + store { i32, i64 } %old1, ptr %np1 + %tp2 = getelementptr inbounds %sc_rs_r6, ptr %target, i64 0, i32 3 + %np2 = getelementptr inbounds %sc_rs_r6, ptr %next, i64 0, i32 3 + %old2 = load { i32, i64 }, ptr %tp2 ; maxFiles + %new2 = load { i32, i64 }, ptr %np2 + store { i32, i64 } %new2, ptr %tp2 + store { i32, i64 } %old2, ptr %np2 + %tp3 = getelementptr inbounds %sc_rs_r6, ptr %target, i64 0, i32 4 + %np3 = getelementptr inbounds %sc_rs_r6, ptr %next, i64 0, i32 4 + %old3 = load ptr, ptr %tp3 ; storage + %new3 = load ptr, ptr %np3 + store ptr %new3, ptr %tp3 + store ptr %old3, ptr %np3 + call void @sc_rrelease_r6(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldu_9(ptr %u) #0 { ; materialize live union value union:u18 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 1, i32 0 + switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t3) + ret ptr %t4 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal zeroext i1 @sc_ldr_41_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r6 +entry: + %s9 = alloca %ScrUnion + %s25 = alloca %ScrUnion + %s41 = alloca %ScrUnion + switch i64 %i, label %live.record.always4 [ i64 0, label %live.record.has0 i64 1, label %live.record.has1 i64 2, label %live.record.has2 i64 3, label %live.record.has3 ] +live.record.has0: + %t0 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 4 + %t1 = load ptr, ptr %t0 + %t2 = icmp eq ptr %t1, @sc_nullable_absent + %t3 = xor i1 %t2, true + ret i1 %t3 +live.record.has1: + %t4 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 2 + %t5 = getelementptr inbounds { i32, i64 }, ptr %t4, i32 0, i32 0 + %t7 = load i32, ptr %t5 + %t6 = getelementptr inbounds { i32, i64 }, ptr %t4, i32 0, i32 1 + %t8 = load i64, ptr %t6 + store i64 -1, ptr %s9 + %t10 = getelementptr inbounds %ScrUnion, ptr %s9, i64 0, i32 1 + store i32 %t7, ptr %t10 + %t11 = getelementptr inbounds %ScrUnion, ptr %s9, i64 0, i32 5 + store i64 %t8, ptr %t11 + %t12 = getelementptr inbounds %ScrUnion, ptr %s9, i64 0, i32 1 + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 1 + %t15 = getelementptr inbounds %ScrUnion, ptr %s9, i64 0, i32 5 + %t16 = load i64, ptr %t15 + %t17 = icmp eq i64 %t16, 1 + %t18 = and i1 %t14, %t17 + %t19 = xor i1 %t18, true + ret i1 %t19 +live.record.has2: + %t20 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 3 + %t21 = getelementptr inbounds { i32, i64 }, ptr %t20, i32 0, i32 0 + %t23 = load i32, ptr %t21 + %t22 = getelementptr inbounds { i32, i64 }, ptr %t20, i32 0, i32 1 + %t24 = load i64, ptr %t22 + store i64 -1, ptr %s25 + %t26 = getelementptr inbounds %ScrUnion, ptr %s25, i64 0, i32 1 + store i32 %t23, ptr %t26 + %t27 = getelementptr inbounds %ScrUnion, ptr %s25, i64 0, i32 5 + store i64 %t24, ptr %t27 + %t28 = getelementptr inbounds %ScrUnion, ptr %s25, i64 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 1 + %t31 = getelementptr inbounds %ScrUnion, ptr %s25, i64 0, i32 5 + %t32 = load i64, ptr %t31 + %t33 = icmp eq i64 %t32, 1 + %t34 = and i1 %t30, %t33 + %t35 = xor i1 %t34, true + ret i1 %t35 +live.record.has3: + %t36 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 1 + %t37 = getelementptr inbounds { i32, i64 }, ptr %t36, i32 0, i32 0 + %t39 = load i32, ptr %t37 + %t38 = getelementptr inbounds { i32, i64 }, ptr %t36, i32 0, i32 1 + %t40 = load i64, ptr %t38 + store i64 -1, ptr %s41 + %t42 = getelementptr inbounds %ScrUnion, ptr %s41, i64 0, i32 1 + store i32 %t39, ptr %t42 + %t43 = getelementptr inbounds %ScrUnion, ptr %s41, i64 0, i32 5 + store i64 %t40, ptr %t43 + %t44 = getelementptr inbounds %ScrUnion, ptr %s41, i64 0, i32 1 + %t45 = load i32, ptr %t44 + %t46 = icmp eq i32 %t45, 1 + %t47 = getelementptr inbounds %ScrUnion, ptr %s41, i64 0, i32 5 + %t48 = load i64, ptr %t47 + %t49 = icmp eq i64 %t48, 1 + %t50 = and i1 %t46, %t49 + %t51 = xor i1 %t50, true + ret i1 %t51 +live.record.always4: + ret i1 true +} + +define internal ptr @sc_ldr_41_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r6 +entry: + %s8 = alloca %ScrUnion + %s17 = alloca %ScrUnion + %s26 = alloca %ScrUnion + switch i64 %i, label %live.record.bad4 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 i64 3, label %live.record.get3 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 4 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_ldu_9(ptr %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 2 + %t4 = getelementptr inbounds { i32, i64 }, ptr %t3, i32 0, i32 0 + %t6 = load i32, ptr %t4 + %t5 = getelementptr inbounds { i32, i64 }, ptr %t3, i32 0, i32 1 + %t7 = load i64, ptr %t5 + store i64 -1, ptr %s8 + %t9 = getelementptr inbounds %ScrUnion, ptr %s8, i64 0, i32 1 + store i32 %t6, ptr %t9 + %t10 = getelementptr inbounds %ScrUnion, ptr %s8, i64 0, i32 5 + store i64 %t7, ptr %t10 + %t11 = call ptr @sc_td_29(ptr %s8) + ret ptr %t11 +live.record.get2: + %t12 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 3 + %t13 = getelementptr inbounds { i32, i64 }, ptr %t12, i32 0, i32 0 + %t15 = load i32, ptr %t13 + %t14 = getelementptr inbounds { i32, i64 }, ptr %t12, i32 0, i32 1 + %t16 = load i64, ptr %t14 + store i64 -1, ptr %s17 + %t18 = getelementptr inbounds %ScrUnion, ptr %s17, i64 0, i32 1 + store i32 %t15, ptr %t18 + %t19 = getelementptr inbounds %ScrUnion, ptr %s17, i64 0, i32 5 + store i64 %t16, ptr %t19 + %t20 = call ptr @sc_td_29(ptr %s17) + ret ptr %t20 +live.record.get3: + %t21 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 1 + %t22 = getelementptr inbounds { i32, i64 }, ptr %t21, i32 0, i32 0 + %t24 = load i32, ptr %t22 + %t23 = getelementptr inbounds { i32, i64 }, ptr %t21, i32 0, i32 1 + %t25 = load i64, ptr %t23 + store i64 -1, ptr %s26 + %t27 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1 + store i32 %t24, ptr %t27 + %t28 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 5 + store i64 %t25, ptr %t28 + %t29 = call ptr @sc_td_29(ptr %s26) + ret ptr %t29 +live.record.bad4: + unreachable +} + +@sc_ldr_41_materialize_names = internal constant [4 x ptr] [ptr @sc_lit_1295387805544367, ptr @sc_lit_2659449979257915, ptr @sc_lit_2882770253409103, ptr @sc_lit_2857538079689091] +@sc_ldr_41_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 4, ptr @sc_ldr_41_materialize_names, ptr @sc_ldr_41_materialize_has, ptr @sc_ldr_41_materialize_get, i8 0, ptr null } + +define internal ptr @sc_ldr_41_materialize(ptr %p) #0 { ; materialize live stream value record:r6 +entry: + %s10 = alloca %ScrUnion + %s26 = alloca %ScrUnion + %s42 = alloca %ScrUnion + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 4 + %t2 = load ptr, ptr %t1 + %t3 = icmp eq ptr %t2, @sc_nullable_absent + br i1 %t3, label %live.record.absent0, label %live.record.set1 +live.record.set1: + %t4 = call ptr @sc_ldu_9(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1295387805544367, i64 7, ptr %t4) + br label %live.record.absent0 +live.record.absent0: + %t5 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 2 + %t6 = getelementptr inbounds { i32, i64 }, ptr %t5, i32 0, i32 0 + %t8 = load i32, ptr %t6 + %t7 = getelementptr inbounds { i32, i64 }, ptr %t5, i32 0, i32 1 + %t9 = load i64, ptr %t7 + store i64 -1, ptr %s10 + %t11 = getelementptr inbounds %ScrUnion, ptr %s10, i64 0, i32 1 + store i32 %t8, ptr %t11 + %t12 = getelementptr inbounds %ScrUnion, ptr %s10, i64 0, i32 5 + store i64 %t9, ptr %t12 + %t13 = getelementptr inbounds %ScrUnion, ptr %s10, i64 0, i32 1 + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 1 + %t16 = getelementptr inbounds %ScrUnion, ptr %s10, i64 0, i32 5 + %t17 = load i64, ptr %t16 + %t18 = icmp eq i64 %t17, 1 + %t19 = and i1 %t15, %t18 + br i1 %t19, label %live.record.absent2, label %live.record.set3 +live.record.set3: + %t20 = call ptr @sc_td_29(ptr %s10) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2659449979257915, i64 12, ptr %t20) + br label %live.record.absent2 +live.record.absent2: + %t21 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 3 + %t22 = getelementptr inbounds { i32, i64 }, ptr %t21, i32 0, i32 0 + %t24 = load i32, ptr %t22 + %t23 = getelementptr inbounds { i32, i64 }, ptr %t21, i32 0, i32 1 + %t25 = load i64, ptr %t23 + store i64 -1, ptr %s26 + %t27 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1 + store i32 %t24, ptr %t27 + %t28 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 5 + store i64 %t25, ptr %t28 + %t29 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1 + %t30 = load i32, ptr %t29 + %t31 = icmp eq i32 %t30, 1 + %t32 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 5 + %t33 = load i64, ptr %t32 + %t34 = icmp eq i64 %t33, 1 + %t35 = and i1 %t31, %t34 + br i1 %t35, label %live.record.absent4, label %live.record.set5 +live.record.set5: + %t36 = call ptr @sc_td_29(ptr %s26) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2882770253409103, i64 8, ptr %t36) + br label %live.record.absent4 +live.record.absent4: + %t37 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 1 + %t38 = getelementptr inbounds { i32, i64 }, ptr %t37, i32 0, i32 0 + %t40 = load i32, ptr %t38 + %t39 = getelementptr inbounds { i32, i64 }, ptr %t37, i32 0, i32 1 + %t41 = load i64, ptr %t39 + store i64 -1, ptr %s42 + %t43 = getelementptr inbounds %ScrUnion, ptr %s42, i64 0, i32 1 + store i32 %t40, ptr %t43 + %t44 = getelementptr inbounds %ScrUnion, ptr %s42, i64 0, i32 5 + store i64 %t41, ptr %t44 + %t45 = getelementptr inbounds %ScrUnion, ptr %s42, i64 0, i32 1 + %t46 = load i32, ptr %t45 + %t47 = icmp eq i32 %t46, 1 + %t48 = getelementptr inbounds %ScrUnion, ptr %s42, i64 0, i32 5 + %t49 = load i64, ptr %t48 + %t50 = icmp eq i64 %t49, 1 + %t51 = and i1 %t47, %t50 + br i1 %t51, label %live.record.absent6, label %live.record.set7 +live.record.set7: + %t52 = call ptr @sc_td_29(ptr %s42) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2857538079689091, i64 13, ptr %t52) + br label %live.record.absent6 +live.record.absent6: + ret ptr %t0 +} + +define internal ptr @sc_ldu_8(ptr %u) #0 { ; materialize live union value union:u19 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 1, i32 0 + switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_rretain_r6, ptr @sc_rrelease_r6, ptr @sc_cs_408244120040977, i64 9, ptr @sc_ldr_41_materialize, ptr @sc_ldr_41_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t2, ptr @sc_ldr_41_materialize_rops) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t3) + ret ptr %t4 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal zeroext i1 @sc_ldr_40_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r7 +entry: + %s5 = alloca %ScrUnion + switch i64 %i, label %live.record.always2 [ i64 0, label %live.record.has0 i64 1, label %live.record.has1 ] +live.record.has0: + %t0 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 1 + %t1 = getelementptr inbounds { i32, i64 }, ptr %t0, i32 0, i32 0 + %t3 = load i32, ptr %t1 + %t2 = getelementptr inbounds { i32, i64 }, ptr %t0, i32 0, i32 1 + %t4 = load i64, ptr %t2 + store i64 -1, ptr %s5 + %t6 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 1 + store i32 %t3, ptr %t6 + %t7 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 5 + store i64 %t4, ptr %t7 + %t8 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 1 + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 1 + %t11 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 5 + %t12 = load i64, ptr %t11 + %t13 = icmp eq i64 %t12, 1 + %t14 = and i1 %t10, %t13 + %t15 = xor i1 %t14, true + ret i1 %t15 +live.record.has1: + %t16 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 2 + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_nullable_absent + %t19 = xor i1 %t18, true + ret i1 %t19 +live.record.always2: + ret i1 true +} + +define internal ptr @sc_ldr_40_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r7 +entry: + %s5 = alloca %ScrUnion + switch i64 %i, label %live.record.bad2 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 1 + %t1 = getelementptr inbounds { i32, i64 }, ptr %t0, i32 0, i32 0 + %t3 = load i32, ptr %t1 + %t2 = getelementptr inbounds { i32, i64 }, ptr %t0, i32 0, i32 1 + %t4 = load i64, ptr %t2 + store i64 -1, ptr %s5 + %t6 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 1 + store i32 %t3, ptr %t6 + %t7 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 5 + store i64 %t4, ptr %t7 + %t8 = call ptr @sc_td_34(ptr %s5) + ret ptr %t8 +live.record.get1: + %t9 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 2 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @sc_ldu_8(ptr %t10) + ret ptr %t11 +live.record.bad2: + unreachable +} + +@sc_ldr_40_materialize_names = internal constant [2 x ptr] [ptr @sc_lit_616655122974952, ptr @sc_lit_2277266704045385] +@sc_ldr_40_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 2, ptr @sc_ldr_40_materialize_names, ptr @sc_ldr_40_materialize_has, ptr @sc_ldr_40_materialize_get, i8 0, ptr null } + +define internal ptr @sc_ldr_40_materialize(ptr %p) #0 { ; materialize live stream value record:r7 +entry: + %s6 = alloca %ScrUnion + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 1 + %t2 = getelementptr inbounds { i32, i64 }, ptr %t1, i32 0, i32 0 + %t4 = load i32, ptr %t2 + %t3 = getelementptr inbounds { i32, i64 }, ptr %t1, i32 0, i32 1 + %t5 = load i64, ptr %t3 + store i64 -1, ptr %s6 + %t7 = getelementptr inbounds %ScrUnion, ptr %s6, i64 0, i32 1 + store i32 %t4, ptr %t7 + %t8 = getelementptr inbounds %ScrUnion, ptr %s6, i64 0, i32 5 + store i64 %t5, ptr %t8 + %t9 = getelementptr inbounds %ScrUnion, ptr %s6, i64 0, i32 1 + %t10 = load i32, ptr %t9 + %t11 = icmp eq i32 %t10, 1 + %t12 = getelementptr inbounds %ScrUnion, ptr %s6, i64 0, i32 5 + %t13 = load i64, ptr %t12 + %t14 = icmp eq i64 %t13, 1 + %t15 = and i1 %t11, %t14 + br i1 %t15, label %live.record.absent0, label %live.record.set1 +live.record.set1: + %t16 = call ptr @sc_td_34(ptr %s6) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t16) + br label %live.record.absent0 +live.record.absent0: + %t17 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 2 + %t18 = load ptr, ptr %t17 + %t19 = icmp eq ptr %t18, @sc_nullable_absent + br i1 %t19, label %live.record.absent2, label %live.record.set3 +live.record.set3: + %t20 = call ptr @sc_ldu_8(ptr %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2277266704045385, i64 9, ptr %t20) + br label %live.record.absent2 +live.record.absent2: + ret ptr %t0 +} + +define internal ptr @sc_ldu_7(ptr %u) #0 { ; materialize live union value union:u20 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 1, i32 0 + switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_rretain_r7, ptr @sc_rrelease_r7, ptr @sc_cs_708899555714582, i64 9, ptr @sc_ldr_40_materialize, ptr @sc_ldr_40_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t2, ptr @sc_ldr_40_materialize_rops) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t3) + ret ptr %t4 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +@sc_trr_0 = internal constant { ptr, ptr, ptr, i64, ptr, ptr, i32, i32, ptr } { ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit, i32 2, i32 0, ptr null } +define internal void @sc_ldr_43_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m14.BakedAssets +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3804612928743770, i64 4) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_74(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %target, i64 0, i32 3 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @sc_rrelease_r12(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1810373001322451, i64 7) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_75(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %target, i64 0, i32 4 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_arr_release(ptr %f1_old) + br label %f1_after +f1_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m14_BakedAssets(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3804612928743770, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1810373001322451, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_ptr = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_44_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r12 +entry: + %next = call ptr @sc_dc_74(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r12, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r12, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; [key: string] overflow + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + call void @sc_rrelease_r12(ptr %next) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_44_materialize(ptr %p) #0 { ; materialize live stream value record:r12 +entry: + %t0 = call ptr @sc_td_35(ptr %p) + ret ptr %t0 +} + +define internal void @sc_ldr_45_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_75(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_46_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r11 +entry: + %next = call ptr @sc_dc_76(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; body + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; encodings + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + %tp2 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 3 + %np2 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 3 + %old2 = load ptr, ptr %tp2 ; etag + %new2 = load ptr, ptr %np2 + store ptr %new2, ptr %tp2 + store ptr %old2, ptr %np2 + %tp3 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 4 + %np3 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 4 + %old3 = load i8, ptr %tp3 ; immutable + %new3 = load i8, ptr %np3 + store i8 %new3, ptr %tp3 + store i8 %old3, ptr %np3 + %tp4 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 5 + %np4 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 5 + %old4 = load double, ptr %tp4 ; mtimeMs + %new4 = load double, ptr %np4 + store double %new4, ptr %tp4 + store double %old4, ptr %np4 + %tp5 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 6 + %np5 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 6 + %old5 = load double, ptr %tp5 ; size + %new5 = load double, ptr %np5 + store double %new5, ptr %tp5 + store double %old5, ptr %np5 + %tp6 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 7 + %np6 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 7 + %old6 = load ptr, ptr %tp6 ; type + %new6 = load ptr, ptr %np6 + store ptr %new6, ptr %tp6 + store ptr %old6, ptr %np6 + call void @sc_rrelease_r11(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_47_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_77(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_48_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r10 +entry: + %next = call ptr @sc_dc_78(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r10, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r10, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; body + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r10, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r10, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; enc + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + %tp2 = getelementptr inbounds %sc_rs_r10, ptr %target, i64 0, i32 3 + %np2 = getelementptr inbounds %sc_rs_r10, ptr %next, i64 0, i32 3 + %old2 = load ptr, ptr %tp2 ; etag + %new2 = load ptr, ptr %np2 + store ptr %new2, ptr %tp2 + store ptr %old2, ptr %np2 + call void @sc_rrelease_r10(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_48_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r10 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_48_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r10 +entry: + switch i64 %i, label %live.record.bad3 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 2 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_td_0(ptr %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + %t5 = call ptr @sc_td_1(ptr %t4) + ret ptr %t5 +live.record.get2: + %t6 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 3 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @sc_td_0(ptr %t7) + ret ptr %t8 +live.record.bad3: + unreachable +} + +@sc_ldr_48_materialize_names = internal constant [3 x ptr] [ptr @sc_lit_1683535768246717, ptr @sc_lit_616655122974952, ptr @sc_lit_4445240590403708] +@sc_ldr_48_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 3, ptr @sc_ldr_48_materialize_names, ptr @sc_ldr_48_materialize_has, ptr @sc_ldr_48_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_48_materialize(ptr %p) #0 { ; materialize live stream value record:r10 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 2 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1683535768246717, i64 3, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_1(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t6) + %t7 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9) + ret ptr %t0 +} + +define internal ptr @sc_ldr_47_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r10, ptr @sc_rrelease_r10, ptr @sc_cs_1956162535513610, i64 10, ptr @sc_ldr_48_materialize, ptr @sc_ldr_48_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_48_materialize_rops) + call void @sc_rrelease_r10(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_47_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_28(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_78(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_47_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_47_materialize_get, ptr @sc_ldr_47_materialize_set } + +define internal ptr @sc_ldr_47_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r10, ptr @sc_rrelease_r10, ptr @sc_cs_1956162535513610, i64 10, ptr @sc_ldr_48_materialize, ptr @sc_ldr_48_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_48_materialize_rops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_rrelease_r10(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal zeroext i1 @sc_ldr_46_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r11 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_46_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r11 +entry: + switch i64 %i, label %live.record.bad7 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 i64 3, label %live.record.get3 i64 4, label %live.record.get4 i64 5, label %live.record.get5 i64 6, label %live.record.get6 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_td_1(ptr %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = call ptr @sc_td_0(ptr %t4) + ret ptr %t5 +live.record.get2: + %t6 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 3 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @sc_td_0(ptr %t7) + ret ptr %t8 +live.record.get3: + %t9 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 6 + %t10 = load double, ptr %t9 + %t11 = call ptr @sc_td_2(double %t10) + ret ptr %t11 +live.record.get4: + %t12 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 5 + %t13 = load double, ptr %t12 + %t14 = call ptr @sc_td_2(double %t13) + ret ptr %t14 +live.record.get5: + %t15 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 4 + %t16 = load i8, ptr %t15 + %t17 = trunc i8 %t16 to i1 + %t18 = call ptr @sc_td_3(i1 %t17) + ret ptr %t18 +live.record.get6: + %t19 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 2 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t20, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_4063863580779324, i64 17, ptr @sc_ldr_47_materialize, ptr @sc_ldr_47_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t21, ptr @sc_ldr_47_materialize_ops) + ret ptr %t21 +live.record.bad7: + unreachable +} + +@sc_ldr_46_materialize_names = internal constant [7 x ptr] [ptr @sc_lit_616655122974952, ptr @sc_lit_334509345124372, ptr @sc_lit_4445240590403708, ptr @sc_lit_3603975379547098, ptr @sc_lit_2067668976369489, ptr @sc_lit_1096813006725504, ptr @sc_lit_2538166612030291] +@sc_ldr_46_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 7, ptr @sc_ldr_46_materialize_names, ptr @sc_ldr_46_materialize_has, ptr @sc_ldr_46_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_46_materialize(ptr %p) #0 { ; materialize live stream value record:r11 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_1(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_334509345124372, i64 4, ptr %t6) + %t7 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9) + %t10 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 6 + %t11 = load double, ptr %t10 + %t12 = call ptr @sc_td_2(double %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3603975379547098, i64 4, ptr %t12) + %t13 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 5 + %t14 = load double, ptr %t13 + %t15 = call ptr @sc_td_2(double %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2067668976369489, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 4 + %t17 = load i8, ptr %t16 + %t18 = trunc i8 %t17 to i1 + %t19 = call ptr @sc_td_3(i1 %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1096813006725504, i64 9, ptr %t19) + %t20 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 2 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t21, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_4063863580779324, i64 17, ptr @sc_ldr_47_materialize, ptr @sc_ldr_47_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t22, ptr @sc_ldr_47_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2538166612030291, i64 9, ptr %t22) + ret ptr %t0 +} + +define internal ptr @sc_ldr_45_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_46_materialize_rops) + call void @sc_rrelease_r11(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_45_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_29(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_76(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_45_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_45_materialize_get, ptr @sc_ldr_45_materialize_set } + +define internal ptr @sc_ldr_45_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_46_materialize_rops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_rrelease_r11(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_ldr_43_materialize(ptr %p) #0 { ; materialize live stream value object:%m14.BakedAssets +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %p, i64 0, i32 3 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t5, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3804612928743770, i64 4, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %p, i64 0, i32 4 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t9, ptr @sc_ldr_45_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1810373001322451, i64 7, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %p, i64 0, i32 2 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t11) + call void @scr_dyn_release_v(ptr %t12) + ret ptr %t0 +} + +define internal void @sc_ldr_42_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m9.EmbeddedAssets +entry: + %derived_vt_slot = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %target, i64 0, i32 1 + %derived_vt = load ptr, ptr %derived_vt_slot + %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0 + %derived_pre = load i64, ptr %derived_pre_slot + %derived0 = icmp eq i64 %derived_pre, 38 + br i1 %derived0, label %derived0_commit, label %derived0_next +derived0_commit: + call void @sc_ldr_43_materialize_commit(ptr %target, ptr %d) + ret void +derived0_next: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3804612928743770, i64 4) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_74(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %target, i64 0, i32 3 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @sc_rrelease_r12(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1810373001322451, i64 7) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_75(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %target, i64 0, i32 4 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_arr_release(ptr %f1_old) + br label %f1_after +f1_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3804612928743770, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1810373001322451, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_ptr = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_42_materialize(ptr %p) #0 { ; materialize live stream value object:%m9.EmbeddedAssets +entry: + %t0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0 + %t3 = load i64, ptr %t2 + %t4 = icmp eq i64 %t3, 38 + br i1 %t4, label %class.derived0, label %class.next1 +class.derived0: + %t5 = call ptr @sc_ldr_43_materialize(ptr %p) + ret ptr %t5 +class.next1: + %t6 = call ptr @scr_dyn_new_obj() + %t9 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %p) + %t7 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %t9) + %t8 = call ptr @scr_dyn_set_prototype(ptr %t6, ptr %t7) + call void @scr_dyn_release_v(ptr %t7) + call void @scr_dyn_release_v(ptr %t8) + %t10 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %p, i64 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_3804612928743770, i64 4, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %p, i64 0, i32 4 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_45_materialize_ops) + call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_1810373001322451, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %p, i64 0, i32 2 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @scr_dyn_copy_property_descriptors(ptr %t6, ptr %t17) + call void @scr_dyn_release_v(ptr %t18) + ret ptr %t6 +} + +define internal void @sc_ldr_49_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m11.StaticServer +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_662344961506331, i64 3) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_79(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @sc_release__x25_m6_AssetSource(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_24845548896369, i64 3) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call zeroext i1 @sc_dc_3(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 2 + %f1_old = load i8, ptr %f1_ptr + %f1_stored = zext i1 %f1_next to i8 + store i8 %f1_stored, ptr %f1_ptr + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_365197477495960, i64 3) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_1(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 3 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @scr_arr_release(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_488203381972006, i64 5) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_0(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 4 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_str_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_938646781597298, i64 2) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_0(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 5 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @scr_str_release(ptr %f4_old) + br label %f4_after +f4_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m11_StaticServer(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_662344961506331, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_24845548896369, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_365197477495960, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_488203381972006, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_938646781597298, i64 2) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 6 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal void @sc_ldr_51_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m8.DiskAssets +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1267962741864417, i64 4) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 3 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_str_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2539353158381885, i64 5) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 4 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_str_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3804612928743770, i64 4) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_74(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 5 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @sc_rrelease_r12(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1810373001322451, i64 7) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_75(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 6 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_arr_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1021574860422195, i64 7) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_19(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 7 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @scr_arr_release(ptr %f4_old) + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1363884959710398, i64 6) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call ptr @sc_dc_19(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 8 + %f5_old = load ptr, ptr %f5_ptr + store ptr %f5_next, ptr %f5_ptr + call void @scr_arr_release(ptr %f5_old) + br label %f5_after +f5_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1267962741864417, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_2539353158381885, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_3804612928743770, i64 4) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_1810373001322451, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_1021574860422195, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_1363884959710398, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +@sc_ldr_51_materialize_cnames = internal constant [3 x ptr] [ptr @sc_lit_4006719217465510, ptr @sc_lit_731773075116702, ptr @sc_lit_411633604077632] +@sc_ldr_51_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 3, ptr @sc_ldr_51_materialize_cnames, ptr @sc_lit_1662472325369337 } + +define internal ptr @sc_ldr_51_materialize(ptr %p) #0 { ; materialize live stream value object:%m8.DiskAssets +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 3 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1267962741864417, i64 4, ptr %t3) + %t4 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 4 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2539353158381885, i64 5, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 5 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3804612928743770, i64 4, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 6 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t12, ptr @sc_ldr_45_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1810373001322451, i64 7, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 7 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1021574860422195, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 8 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t17, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t18, ptr @sc_ldr_10_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1363884959710398, i64 6, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 2 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t20) + call void @scr_dyn_release_v(ptr %t21) + ret ptr %t0 +} + +define internal void @sc_ldr_50_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m6.AssetSource +entry: + %derived_vt_slot = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %target, i64 0, i32 1 + %derived_vt = load ptr, ptr %derived_vt_slot + %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0 + %derived_pre = load i64, ptr %derived_pre_slot + %derived0 = icmp eq i64 %derived_pre, 38 + br i1 %derived0, label %derived0_commit, label %derived0_next +derived0_commit: + call void @sc_ldr_43_materialize_commit(ptr %target, ptr %d) + ret void +derived0_next: + %derived1 = icmp eq i64 %derived_pre, 37 + br i1 %derived1, label %derived1_commit, label %derived1_next +derived1_commit: + call void @sc_ldr_42_materialize_commit(ptr %target, ptr %d) + ret void +derived1_next: + %derived2 = icmp eq i64 %derived_pre, 36 + br i1 %derived2, label %derived2_commit, label %derived2_next +derived2_commit: + call void @sc_ldr_51_materialize_commit(ptr %target, ptr %d) + ret void +derived2_next: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m6_AssetSource(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_ptr = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_50_materialize(ptr %p) #0 { ; materialize live stream value object:%m6.AssetSource +entry: + %t0 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0 + %t3 = load i64, ptr %t2 + %t4 = icmp eq i64 %t3, 38 + br i1 %t4, label %class.derived0, label %class.next1 +class.derived0: + %t5 = call ptr @sc_ldr_43_materialize(ptr %p) + ret ptr %t5 +class.next1: + %t6 = icmp eq i64 %t3, 37 + br i1 %t6, label %class.derived2, label %class.next3 +class.derived2: + %t7 = call ptr @sc_ldr_42_materialize(ptr %p) + ret ptr %t7 +class.next3: + %t8 = icmp eq i64 %t3, 36 + br i1 %t8, label %class.derived4, label %class.next5 +class.derived4: + %t9 = call ptr @sc_ldr_51_materialize(ptr %p) + ret ptr %t9 +class.next5: + %t10 = call ptr @scr_dyn_new_obj() + %t13 = call ptr @sc_retain__x25_m6_AssetSource(ptr %p) + %t11 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %t13) + %t12 = call ptr @scr_dyn_set_prototype(ptr %t10, ptr %t11) + call void @scr_dyn_release_v(ptr %t11) + call void @scr_dyn_release_v(ptr %t12) + %t14 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %p, i64 0, i32 2 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @scr_dyn_copy_property_descriptors(ptr %t10, ptr %t15) + call void @scr_dyn_release_v(ptr %t16) + ret ptr %t10 +} + +define internal ptr @sc_ldr_49_materialize(ptr %p) #0 { ; materialize live stream value object:%m11.StaticServer +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m11_StaticServer(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_662344961506331, i64 3, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 2 + %t8 = load i8, ptr %t7 + %t9 = trunc i8 %t8 to i1 + %t10 = call ptr @sc_td_3(i1 %t9) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_24845548896369, i64 3, ptr %t10) + %t11 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 3 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t12, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t13, ptr @sc_ldr_2_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_365197477495960, i64 3, ptr %t13) + %t14 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 4 + %t15 = load ptr, ptr %t14 + %t16 = call ptr @sc_td_0(ptr %t15) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_488203381972006, i64 5, ptr %t16) + %t17 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 5 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @sc_td_0(ptr %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_938646781597298, i64 2, ptr %t19) + %t20 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 6 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t21) + call void @scr_dyn_release_v(ptr %t22) + ret ptr %t0 +} + +define internal void @sc_ldr_52_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r33 +entry: + %next = call ptr @sc_dc_80(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r33, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r33, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; error + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + call void @sc_rrelease_r33(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_52_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r33 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_52_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r33 +entry: + switch i64 %i, label %live.record.bad1 [ i64 0, label %live.record.get0 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r33, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_td_0(ptr %t1) + ret ptr %t2 +live.record.bad1: + unreachable +} + +@sc_ldr_52_materialize_names = internal constant [1 x ptr] [ptr @sc_lit_3553689444499593] +@sc_ldr_52_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 1, ptr @sc_ldr_52_materialize_names, ptr @sc_ldr_52_materialize_has, ptr @sc_ldr_52_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_52_materialize(ptr %p) #0 { ; materialize live stream value record:r33 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r33, ptr %p, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3553689444499593, i64 5, ptr %t3) + ret ptr %t0 +} + +define internal void @sc_ldr_53_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_83(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_54_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r14 +entry: + %next = call ptr @sc_dc_84(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; b64 + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; encs + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + %tp2 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 3 + %np2 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 3 + %old2 = load ptr, ptr %tp2 ; etag + %new2 = load ptr, ptr %np2 + store ptr %new2, ptr %tp2 + store ptr %old2, ptr %np2 + %tp3 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 4 + %np3 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 4 + %old3 = load i8, ptr %tp3 ; immutable + %new3 = load i8, ptr %np3 + store i8 %new3, ptr %tp3 + store i8 %old3, ptr %np3 + %tp4 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 5 + %np4 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 5 + %old4 = load double, ptr %tp4 ; mtimeMs + %new4 = load double, ptr %np4 + store double %new4, ptr %tp4 + store double %old4, ptr %np4 + %tp5 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 6 + %np5 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 6 + %old5 = load ptr, ptr %tp5 ; path + %new5 = load ptr, ptr %np5 + store ptr %new5, ptr %tp5 + store ptr %old5, ptr %np5 + %tp6 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 7 + %np6 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 7 + %old6 = load ptr, ptr %tp6 ; type + %new6 = load ptr, ptr %np6 + store ptr %new6, ptr %tp6 + store ptr %old6, ptr %np6 + call void @sc_rrelease_r14(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_55_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array +entry: + %next = call ptr @sc_dc_85(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + call void @scr_arr_outline(ptr %target) + call void @scr_arr_outline(ptr %next) + %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1 + %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1 + %target_len = load i64, ptr %target_len_ptr + %next_len = load i64, ptr %next_len_ptr + store i64 %next_len, ptr %target_len_ptr + store i64 %target_len, ptr %next_len_ptr + %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2 + %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2 + %target_cap = load i64, ptr %target_cap_ptr + %next_cap = load i64, ptr %next_cap_ptr + store i64 %next_cap, ptr %target_cap_ptr + store i64 %target_cap, ptr %next_cap_ptr + %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8 + %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8 + %target_data = load ptr, ptr %target_data_ptr + %next_data = load ptr, ptr %next_data_ptr + store ptr %next_data, ptr %target_data_ptr + store ptr %target_data, ptr %next_data_ptr + %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9 + %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9 + %target_present = load ptr, ptr %target_present_ptr + %next_present = load ptr, ptr %next_present_ptr + store ptr %next_present, ptr %target_present_ptr + store ptr %target_present, ptr %next_present_ptr + %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6 + %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6 + %target_filled = load i32, ptr %target_filled_ptr + %next_filled = load i32, ptr %next_filled_ptr + store i32 %next_filled, ptr %target_filled_ptr + store i32 %target_filled, ptr %next_filled_ptr + %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10 + %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10 + %target_ext = load ptr, ptr %target_ext_ptr + %next_ext = load ptr, ptr %next_ext_ptr + store ptr %next_ext, ptr %target_ext_ptr + store ptr %target_ext, ptr %next_ext_ptr + call void @scr_arr_release(ptr %next) + br label %done +done: + ret void +} + +define internal void @sc_ldr_56_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r13 +entry: + %next = call ptr @sc_dc_86(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r13, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r13, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; b64 + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + %tp1 = getelementptr inbounds %sc_rs_r13, ptr %target, i64 0, i32 2 + %np1 = getelementptr inbounds %sc_rs_r13, ptr %next, i64 0, i32 2 + %old1 = load ptr, ptr %tp1 ; enc + %new1 = load ptr, ptr %np1 + store ptr %new1, ptr %tp1 + store ptr %old1, ptr %np1 + %tp2 = getelementptr inbounds %sc_rs_r13, ptr %target, i64 0, i32 3 + %np2 = getelementptr inbounds %sc_rs_r13, ptr %next, i64 0, i32 3 + %old2 = load ptr, ptr %tp2 ; etag + %new2 = load ptr, ptr %np2 + store ptr %new2, ptr %tp2 + store ptr %old2, ptr %np2 + call void @sc_rrelease_r13(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_56_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r13 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_56_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r13 +entry: + switch i64 %i, label %live.record.bad3 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 2 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_td_0(ptr %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + %t5 = call ptr @sc_td_0(ptr %t4) + ret ptr %t5 +live.record.get2: + %t6 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 3 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @sc_td_0(ptr %t7) + ret ptr %t8 +live.record.bad3: + unreachable +} + +@sc_ldr_56_materialize_names = internal constant [3 x ptr] [ptr @sc_lit_1683535768246717, ptr @sc_lit_2359144980483679, ptr @sc_lit_4445240590403708] +@sc_ldr_56_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 3, ptr @sc_ldr_56_materialize_names, ptr @sc_ldr_56_materialize_has, ptr @sc_ldr_56_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_56_materialize(ptr %p) #0 { ; materialize live stream value record:r13 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 2 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1683535768246717, i64 3, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2359144980483679, i64 3, ptr %t6) + %t7 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9) + ret ptr %t0 +} + +define internal ptr @sc_ldr_55_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r13, ptr @sc_rrelease_r13, ptr @sc_cs_2563538800453537, i64 10, ptr @sc_ldr_56_materialize, ptr @sc_ldr_56_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_56_materialize_rops) + call void @sc_rrelease_r13(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_55_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_31(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_86(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_55_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_55_materialize_get, ptr @sc_ldr_55_materialize_set } + +define internal ptr @sc_ldr_55_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r13, ptr @sc_rrelease_r13, ptr @sc_cs_2563538800453537, i64 10, ptr @sc_ldr_56_materialize, ptr @sc_ldr_56_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_56_materialize_rops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_rrelease_r13(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal zeroext i1 @sc_ldr_54_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r14 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_54_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r14 +entry: + switch i64 %i, label %live.record.bad7 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 i64 3, label %live.record.get3 i64 4, label %live.record.get4 i64 5, label %live.record.get5 i64 6, label %live.record.get6 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 6 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_td_0(ptr %t1) + ret ptr %t2 +live.record.get1: + %t3 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 7 + %t4 = load ptr, ptr %t3 + %t5 = call ptr @sc_td_0(ptr %t4) + ret ptr %t5 +live.record.get2: + %t6 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 1 + %t7 = load ptr, ptr %t6 + %t8 = call ptr @sc_td_0(ptr %t7) + ret ptr %t8 +live.record.get3: + %t9 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 3 + %t10 = load ptr, ptr %t9 + %t11 = call ptr @sc_td_0(ptr %t10) + ret ptr %t11 +live.record.get4: + %t12 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 5 + %t13 = load double, ptr %t12 + %t14 = call ptr @sc_td_2(double %t13) + ret ptr %t14 +live.record.get5: + %t15 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 4 + %t16 = load i8, ptr %t15 + %t17 = trunc i8 %t16 to i1 + %t18 = call ptr @sc_td_3(i1 %t17) + ret ptr %t18 +live.record.get6: + %t19 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 2 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t20, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3299468148590259, i64 17, ptr @sc_ldr_55_materialize, ptr @sc_ldr_55_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t21, ptr @sc_ldr_55_materialize_ops) + ret ptr %t21 +live.record.bad7: + unreachable +} + +@sc_ldr_54_materialize_names = internal constant [7 x ptr] [ptr @sc_lit_2826818497658723, ptr @sc_lit_334509345124372, ptr @sc_lit_2359144980483679, ptr @sc_lit_4445240590403708, ptr @sc_lit_2067668976369489, ptr @sc_lit_1096813006725504, ptr @sc_lit_448384591214783] +@sc_ldr_54_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 7, ptr @sc_ldr_54_materialize_names, ptr @sc_ldr_54_materialize_has, ptr @sc_ldr_54_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_54_materialize(ptr %p) #0 { ; materialize live stream value record:r14 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 6 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2826818497658723, i64 4, ptr %t3) + %t4 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 7 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_334509345124372, i64 4, ptr %t6) + %t7 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2359144980483679, i64 3, ptr %t9) + %t10 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @sc_td_0(ptr %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t12) + %t13 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 5 + %t14 = load double, ptr %t13 + %t15 = call ptr @sc_td_2(double %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2067668976369489, i64 7, ptr %t15) + %t16 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 4 + %t17 = load i8, ptr %t16 + %t18 = trunc i8 %t17 to i1 + %t19 = call ptr @sc_td_3(i1 %t18) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1096813006725504, i64 9, ptr %t19) + %t20 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 2 + %t21 = load ptr, ptr %t20 + %t22 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t21, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3299468148590259, i64 17, ptr @sc_ldr_55_materialize, ptr @sc_ldr_55_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t22, ptr @sc_ldr_55_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_448384591214783, i64 4, ptr %t22) + ret ptr %t0 +} + +define internal ptr @sc_ldr_53_materialize_get(ptr %p, double %i) #0 { ; live element of array +entry: + %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1 + %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r14, ptr @sc_rrelease_r14, ptr @sc_cs_2067294835765432, i64 10, ptr @sc_ldr_54_materialize, ptr @sc_ldr_54_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_54_materialize_rops) + call void @sc_rrelease_r14(ptr %t0) + ret ptr %t1 +} + +define internal zeroext i1 @sc_ldr_53_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array +entry: + %t0 = call zeroext i1 @sc_dm_32(ptr %v) + br i1 %t0, label %live.array.store0, label %live.array.refuse1 +live.array.refuse1: + ret i1 false +live.array.store0: + %t1 = call ptr @sc_dc_84(ptr %v, ptr null) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %live.array.failed3, label %live.array.write2 +live.array.failed3: + ret i1 true +live.array.write2: + call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership + ret i1 true +} + +@sc_ldr_53_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_53_materialize_get, ptr @sc_ldr_53_materialize_set } + +define internal ptr @sc_ldr_53_materialize(ptr %p) #0 { ; materialize live stream value array +entry: + %s2 = alloca double + %t0 = call ptr @scr_dyn_new_arr() + %t1 = call double @scr_arr_len(ptr %p) + store double 0x0000000000000000, ptr %s2 + br label %count.c0 +count.c0: + %t3 = load double, ptr %s2 + %t4 = fcmp olt double %t3, %t1 + br i1 %t4, label %count.b1, label %count.e3 +count.b1: + %t5 = call double @scr_arr_state(ptr %p, double %t3) + %t6 = fcmp oeq double %t5, 1.0 + br i1 %t6, label %live.array.value4, label %live.array.absent5 +live.array.absent5: + %t7 = fcmp oeq double %t5, 0.0 + br i1 %t7, label %live.array.hole6, label %live.array.undefined7 +live.array.hole6: + call void @scr_dyn_arr_push_hole(ptr %t0) + br label %live.array.done8 +live.array.undefined7: + %t8 = call ptr @scr_dyn_undefined() + %t9 = call ptr @scr_dyn_retain_v(ptr %t8) + call void @scr_dyn_arr_push(ptr %t0, ptr %t9) + br label %live.array.done8 +live.array.value4: + %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1 + %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r14, ptr @sc_rrelease_r14, ptr @sc_cs_2067294835765432, i64 10, ptr @sc_ldr_54_materialize, ptr @sc_ldr_54_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_54_materialize_rops) + call void @scr_dyn_arr_push(ptr %t0, ptr %t11) + call void @sc_rrelease_r14(ptr %t10) + br label %live.array.done8 +live.array.done8: + br label %count.n2 +count.n2: + %t12 = fadd double %t3, 0x3FF0000000000000 + store double %t12, ptr %s2 + br label %count.c0 +count.e3: + call void @scr_arr_copy_metadata(ptr %p, ptr %t0) + ret ptr %t0 +} + +define internal void @sc_ldr_57_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r20 +entry: + %next = call ptr @sc_dc_87(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r20, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r20, ptr %next, i64 0, i32 1 + %old0 = load double, ptr %tp0 ; port + %new0 = load double, ptr %np0 + store double %new0, ptr %tp0 + store double %old0, ptr %np0 + call void @sc_rrelease_r20(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_57_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r20 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_57_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r20 +entry: + switch i64 %i, label %live.record.bad1 [ i64 0, label %live.record.get0 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r20, ptr %p, i64 0, i32 1 + %t1 = load double, ptr %t0 + %t2 = call ptr @sc_td_2(double %t1) + ret ptr %t2 +live.record.bad1: + unreachable +} + +@sc_ldr_57_materialize_names = internal constant [1 x ptr] [ptr @sc_lit_4377402653539513] +@sc_ldr_57_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 1, ptr @sc_ldr_57_materialize_names, ptr @sc_ldr_57_materialize_has, ptr @sc_ldr_57_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_57_materialize(ptr %p) #0 { ; materialize live stream value record:r20 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r20, ptr %p, i64 0, i32 1 + %t2 = load double, ptr %t1 + %t3 = call ptr @sc_td_2(double %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4377402653539513, i64 4, ptr %t3) + ret ptr %t0 +} + +define internal void @sc_ldr_58_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r21 +entry: + %next = call ptr @sc_dc_112(ptr %d, ptr null) + %missing = icmp eq ptr %next, null + br i1 %missing, label %done, label %swap +swap: + %tp0 = getelementptr inbounds %sc_rs_r21, ptr %target, i64 0, i32 1 + %np0 = getelementptr inbounds %sc_rs_r21, ptr %next, i64 0, i32 1 + %old0 = load ptr, ptr %tp0 ; message + %new0 = load ptr, ptr %np0 + store ptr %new0, ptr %tp0 + store ptr %old0, ptr %np0 + call void @sc_rrelease_r21(ptr %next) + br label %done +done: + ret void +} + +define internal zeroext i1 @sc_ldr_58_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r21 +entry: + switch i64 %i, label %live.record.always0 [ ] +live.record.always0: + ret i1 true +} + +define internal ptr @sc_ldr_58_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r21 +entry: + switch i64 %i, label %live.record.bad1 [ i64 0, label %live.record.get0 ] +live.record.get0: + %t0 = getelementptr inbounds %sc_rs_r21, ptr %p, i64 0, i32 1 + %t1 = load ptr, ptr %t0 + %t2 = call ptr @sc_td_0(ptr %t1) + ret ptr %t2 +live.record.bad1: + unreachable +} + +@sc_ldr_58_materialize_names = internal constant [1 x ptr] [ptr @sc_lit_3013970235377041] +@sc_ldr_58_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 1, ptr @sc_ldr_58_materialize_names, ptr @sc_ldr_58_materialize_has, ptr @sc_ldr_58_materialize_get, i8 1, ptr null } + +define internal ptr @sc_ldr_58_materialize(ptr %p) #0 { ; materialize live stream value record:r21 +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t1 = getelementptr inbounds %sc_rs_r21, ptr %p, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3013970235377041, i64 7, ptr %t3) + ret ptr %t0 +} + +define internal void @sc_ldr_59_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m0.GenDispatch +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2251933729900935, i64 22) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %target, i64 0, i32 1 + %f0_old = load double, ptr %f0_ptr + store double %f0_next, ptr %f0_ptr + br label %f0_after +f0_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m0_GenDispatch(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_2251933729900935, i64 22) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_ptr = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_59_materialize(ptr %p) #0 { ; materialize live stream value object:%m0.GenDispatch +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %p, i64 0, i32 1 + %t5 = load double, ptr %t4 + %t6 = call ptr @sc_td_2(double %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2251933729900935, i64 22, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8) + call void @scr_dyn_release_v(ptr %t9) + ret ptr %t0 +} + +define internal void @sc_ldr_60_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m0.GenFetch +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2251933729900935, i64 22) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %target, i64 0, i32 1 + %f0_old = load double, ptr %f0_ptr + store double %f0_next, ptr %f0_ptr + br label %f0_after +f0_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m0_GenFetch(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_2251933729900935, i64 22) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_ptr = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %target, i64 0, i32 2 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_60_materialize(ptr %p) #0 { ; materialize live stream value object:%m0.GenFetch +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m0_GenFetch(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %p, i64 0, i32 1 + %t5 = load double, ptr %t4 + %t6 = call ptr @sc_td_2(double %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2251933729900935, i64 22, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8) + call void @scr_dyn_release_v(ptr %t9) + ret ptr %t0 +} + +define internal ptr @sc_ldu_10(ptr %u) #0 { ; materialize live union value union:u0 +entry: + %t1 = icmp eq ptr %u, null + %t0 = select i1 %t1, i32 0, i32 1 + switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ] +ldu.ref1: + %t2 = call ptr @scr_dyn_new_typed_ref_observed(ptr %u, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + ret ptr %t2 +ldu.value2: + %t3 = call ptr @scr_dyn_new_null() + ret ptr %t3 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal void @sc_ldr_61_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m1.UpgradeDispatch +entry: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_ptr = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %target, i64 0, i32 1 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_61_materialize(ptr %p) #0 { ; materialize live stream value object:%m1.UpgradeDispatch +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t5) + call void @scr_dyn_release_v(ptr %t6) + ret ptr %t0 +} + +define internal void @sc_dpa_1(ptr %dst, ptr %src) #0 { ; checked-dynamic promise exit record:r23 +entry: + %t0 = call ptr @scr_promise_payload_ref(ptr %src) + %t1 = call ptr @sc_dc_114(ptr %t0, ptr null) + call void @scr_dyn_release_v(ptr %t0) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %sra.fail0, label %sra.ok1 +sra.fail0: + call void @scr_promise_reject_pending(ptr %dst) + ret void +sra.ok1: + call void @scr_promise_fulfill_ref(ptr %dst, ptr %t1, ptr @sc_rretain_r23, ptr @sc_rrelease_r23, ptr null) + ret void +} + +define internal void @sc_ldr_62_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m3.LiteRequest +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1609576561362083, i64 6) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 1 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_str_release(ptr %f0_old) + br label %f0_after +f0_after: + %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_719487464480143, i64 3) + %f1_missing = icmp eq ptr %f1_raw, null + %f1_undef = call ptr @scr_dyn_undefined() + %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw + %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null) + %f1_pending.cell = load ptr, ptr @scr_exc_active + %f1_pending.kind = load i32, ptr %f1_pending.cell + %f1_pending = icmp ne i32 %f1_pending.kind, 0 + br i1 %f1_pending, label %done, label %f1_store +f1_store: + %f1_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 2 + %f1_old = load ptr, ptr %f1_ptr + store ptr %f1_next, ptr %f1_ptr + call void @scr_str_release(ptr %f1_old) + br label %f1_after +f1_after: + %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_977412068193087, i64 7) + %f2_missing = icmp eq ptr %f2_raw, null + %f2_undef = call ptr @scr_dyn_undefined() + %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw + %f2_next = call ptr @sc_dc_6(ptr %f2_input, ptr null) + %f2_pending.cell = load ptr, ptr @scr_exc_active + %f2_pending.kind = load i32, ptr %f2_pending.cell + %f2_pending = icmp ne i32 %f2_pending.kind, 0 + br i1 %f2_pending, label %done, label %f2_store +f2_store: + %f2_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 3 + %f2_old = load ptr, ptr %f2_ptr + store ptr %f2_next, ptr %f2_ptr + call void @sc_rc_release_dyn(ptr %f2_old) + br label %f2_after +f2_after: + %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1515898915129638, i64 3) + %f3_missing = icmp eq ptr %f3_raw, null + %f3_undef = call ptr @scr_dyn_undefined() + %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw + %f3_next = call ptr @sc_dc_16(ptr %f3_input, ptr null) + %f3_pending.cell = load ptr, ptr @scr_exc_active + %f3_pending.kind = load i32, ptr %f3_pending.cell + %f3_pending = icmp ne i32 %f3_pending.kind, 0 + br i1 %f3_pending, label %done, label %f3_store +f3_store: + %f3_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 4 + %f3_old = load ptr, ptr %f3_ptr + store ptr %f3_next, ptr %f3_ptr + call void @scr_http_req_release(ptr %f3_old) + br label %f3_after +f3_after: + %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2951457732402023, i64 3) + %f4_missing = icmp eq ptr %f4_raw, null + %f4_undef = call ptr @scr_dyn_undefined() + %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw + %f4_next = call ptr @sc_dc_13(ptr %f4_input, ptr null) + %f4_pending.cell = load ptr, ptr @scr_exc_active + %f4_pending.kind = load i32, ptr %f4_pending.cell + %f4_pending = icmp ne i32 %f4_pending.kind, 0 + br i1 %f4_pending, label %done, label %f4_store +f4_store: + %f4_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 5 + %f4_old = load ptr, ptr %f4_ptr + store ptr %f4_next, ptr %f4_ptr + call void @sc_rrelease_r0(ptr %f4_old) + br label %f4_after +f4_after: + %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4297677228401092, i64 2) + %f5_missing = icmp eq ptr %f5_raw, null + %f5_undef = call ptr @scr_dyn_undefined() + %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw + %f5_next = call ptr @sc_dc_22(ptr %f5_input, ptr null) + %f5_pending.cell = load ptr, ptr @scr_exc_active + %f5_pending.kind = load i32, ptr %f5_pending.cell + %f5_pending = icmp ne i32 %f5_pending.kind, 0 + br i1 %f5_pending, label %done, label %f5_store +f5_store: + %f5_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 6 + %f5_old = load ptr, ptr %f5_ptr + store ptr %f5_next, ptr %f5_ptr + call void @scr_str_release(ptr %f5_old) + br label %f5_after +f5_after: + %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_201462833315591, i64 7) + %f6_missing = icmp eq ptr %f6_raw, null + %f6_undef = call ptr @scr_dyn_undefined() + %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw + %f6_next = call ptr @sc_dc_27(ptr %f6_input, ptr null) + %f6_pending.cell = load ptr, ptr @scr_exc_active + %f6_pending.kind = load i32, ptr %f6_pending.cell + %f6_pending = icmp ne i32 %f6_pending.kind, 0 + br i1 %f6_pending, label %done, label %f6_store +f6_store: + %f6_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 7 + %f6_old = load ptr, ptr %f6_ptr + store ptr %f6_next, ptr %f6_ptr + call void @scr_arr_release(ptr %f6_old) + br label %f6_after +f6_after: + %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1347488745603967, i64 6) + %f7_missing = icmp eq ptr %f7_raw, null + %f7_undef = call ptr @scr_dyn_undefined() + %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw + %f7_next = call double @sc_dc_2(ptr %f7_input, ptr null) + %f7_pending.cell = load ptr, ptr @scr_exc_active + %f7_pending.kind = load i32, ptr %f7_pending.cell + %f7_pending = icmp ne i32 %f7_pending.kind, 0 + br i1 %f7_pending, label %done, label %f7_store +f7_store: + %f7_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 8 + %f7_old = load double, ptr %f7_ptr + store double %f7_next, ptr %f7_ptr + br label %f7_after +f7_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %prototype_receiver = call ptr @sc_retain__x25_m3_LiteRequest(ptr %target) + %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %prototype_receiver) + %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype) + call void @scr_dyn_release_v(ptr %prototype) + call void @scr_dyn_release_v(ptr %with_prototype) + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1609576561362083, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_719487464480143, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false) + call void @scr_str_release(ptr %bag_key1) + %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_977412068193087, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false) + call void @scr_str_release(ptr %bag_key2) + %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_1515898915129638, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false) + call void @scr_str_release(ptr %bag_key3) + %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2951457732402023, i64 3) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false) + call void @scr_str_release(ptr %bag_key4) + %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_4297677228401092, i64 2) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false) + call void @scr_str_release(ptr %bag_key5) + %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_201462833315591, i64 7) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false) + call void @scr_str_release(ptr %bag_key6) + %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_1347488745603967, i64 6) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false) + call void @scr_str_release(ptr %bag_key7) + %bag_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 9 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_62_materialize(ptr %p) #0 { ; materialize live stream value object:%m3.LiteRequest +entry: + %t0 = call ptr @scr_dyn_new_obj() + %t3 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %p) + %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %t3) + %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1) + call void @scr_dyn_release_v(ptr %t1) + call void @scr_dyn_release_v(ptr %t2) + %t4 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 1 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @sc_td_0(ptr %t5) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1609576561362083, i64 6, ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_719487464480143, i64 3, ptr %t9) + %t10 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 3 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @sc_td_4(ptr %t11) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_977412068193087, i64 7, ptr %t12) + %t13 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 4 + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_td_10(ptr %t14) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1515898915129638, i64 3, ptr %t15) + %t16 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 5 + %t17 = load ptr, ptr %t16 + %t18 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t17, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2951457732402023, i64 3, ptr %t18) + %t19 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 6 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @sc_td_13(ptr %t20) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4297677228401092, i64 2, ptr %t21) + %t22 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 7 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t23, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t24, ptr @sc_ldr_20_materialize_ops) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_201462833315591, i64 7, ptr %t24) + %t25 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 8 + %t26 = load double, ptr %t25 + %t27 = call ptr @sc_td_2(double %t26) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1347488745603967, i64 6, ptr %t27) + %t28 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 9 + %t29 = load ptr, ptr %t28 + %t30 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t29) + call void @scr_dyn_release_v(ptr %t30) + ret ptr %t0 +} + +define internal void @sc_dpa_2(ptr %dst, ptr %src) #0 { ; checked-dynamic promise exit void +entry: + %t0 = call ptr @scr_promise_payload_ref(ptr %src) + ; void fulfillment ignores the checked payload + call void @scr_dyn_release_v(ptr %t0) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %sra.fail0, label %sra.ok1 +sra.fail0: + call void @scr_promise_reject_pending(ptr %dst) + ret void +sra.ok1: + call void @scr_promise_fulfill_void(ptr %dst) + ret void +} + +define internal void @sc_dpa_3(ptr %dst, ptr %src) #0 { ; checked-dynamic promise exit string +entry: + %t0 = call ptr @scr_promise_payload_ref(ptr %src) + %t1 = call ptr @sc_dc_0(ptr %t0, ptr null) + call void @scr_dyn_release_v(ptr %t0) + %t2.cell = load ptr, ptr @scr_exc_active + %t2.kind = load i32, ptr %t2.cell + %t2 = icmp ne i32 %t2.kind, 0 + br i1 %t2, label %sra.fail0, label %sra.ok1 +sra.fail0: + call void @scr_promise_reject_pending(ptr %dst) + ret void +sra.ok1: + call void @scr_promise_fulfill_str(ptr %dst, ptr %t1) + ret void +} + +define internal ptr @sc_ldu_11(ptr %u) #0 { ; materialize live union value union:u37 +entry: + %t1 = getelementptr inbounds %ScrUnion, ptr %u, i64 0, i32 1 + %t0 = load i32, ptr %t1 + switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.value1 i32 1, label %ldu.value2 ] +ldu.value1: + %t2 = getelementptr inbounds %ScrUnion, ptr %u, i64 0, i32 5 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_td_1(ptr %t3) + ret ptr %t4 +ldu.value2: + %t5 = call ptr @scr_dyn_undefined() + %t6 = call ptr @scr_dyn_retain_v(ptr %t5) + ret ptr %t6 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal ptr @sc_ldu_12(ptr %u) #0 { ; materialize live union value union:u35 +entry: + %t1 = icmp eq ptr %u, null + %t2 = icmp eq ptr %u, @sc_nullable_null + %t3 = select i1 %t2, i32 0, i32 1 + %t0 = select i1 %t1, i32 2, i32 %t3 + switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 i32 2, label %ldu.value3 ] +ldu.ref1: + %t4 = call ptr @scr_dyn_new_typed_ref_observed(ptr %u, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t4, ptr @sc_ldr_46_materialize_rops) + ret ptr %t4 +ldu.value2: + %t5 = call ptr @scr_dyn_new_null() + ret ptr %t5 +ldu.value3: + %t6 = call ptr @scr_dyn_undefined() + %t7 = call ptr @scr_dyn_retain_v(ptr %t6) + ret ptr %t7 +ldu.bad0: + call void @scr_trap(ptr @sc_cs_2780107976102968) + unreachable +} + +define internal void @sc_ldr_63_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.MethodNotAllowedError +entry: + %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1143527378875226, i64 5) + %f0_missing = icmp eq ptr %f0_raw, null + %f0_undef = call ptr @scr_dyn_undefined() + %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw + %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null) + %f0_pending.cell = load ptr, ptr @scr_exc_active + %f0_pending.kind = load i32, ptr %f0_pending.cell + %f0_pending = icmp ne i32 %f0_pending.kind, 0 + br i1 %f0_pending, label %done, label %f0_store +f0_store: + %f0_ptr = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %target, i64 0, i32 21 + %f0_old = load ptr, ptr %f0_ptr + store ptr %f0_next, ptr %f0_ptr + call void @scr_str_release(ptr %f0_old) + br label %f0_after +f0_after: + %bag = call ptr @scr_dyn_new_obj() + %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d) + call void @scr_dyn_release_v(ptr %bag_copy) + %bag_pending.cell = load ptr, ptr @scr_exc_active + %bag_pending.kind = load i32, ptr %bag_pending.cell + %bag_pending = icmp ne i32 %bag_pending.kind, 0 + br i1 %bag_pending, label %bag_fail, label %bag_keys +bag_fail: + call void @scr_dyn_release_v(ptr %bag) + br label %done +bag_keys: + %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1143527378875226, i64 5) + call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false) + call void @scr_str_release(ptr %bag_key0) + %bag_ptr = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %target, i64 0, i32 22 + %bag_old = load ptr, ptr %bag_ptr + store ptr %bag, ptr %bag_ptr + call void @scr_dyn_release_v(ptr %bag_old) + call void @scr_error_commit_dyn(ptr %target, ptr %d) + br label %done +done: + ret void +} + +define internal ptr @sc_ldr_63_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.MethodNotAllowedError +entry: + %t0 = call ptr @scr_error_dyn_fields(ptr %p) + %t1 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %p, i64 0, i32 21 + %t2 = load ptr, ptr %t1 + %t3 = call ptr @sc_td_0(ptr %t2) + call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1143527378875226, i64 5, ptr %t3) + %t4 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %p, i64 0, i32 22 + %t5 = load ptr, ptr %t4 + %t6 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t5) + call void @scr_dyn_release_v(ptr %t6) + ret ptr %t0 +} + +define internal ptr @sc_error_view_2(ptr %v) #0 { +entry: + %d = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m5_MethodNotAllowedError, ptr @sc_release__x25_m5_MethodNotAllowedError, ptr @sc_cs_1875086966829314, i64 32, ptr @sc_ldr_63_materialize, ptr @sc_ldr_63_materialize_commit) + ret ptr %d +} + +define internal double @sc_bf__x25_m2_utf8len(ptr %p_sc_l_s_0) #0 { ; %m2.utf8len +entry: + %sc_l_s_0 = alloca ptr ; s + %sc_l_b_0 = alloca ptr ; b + %sc_l_n_0 = alloca double ; n + %sc_l_i_0 = alloca double ; i + %sc_l_c_0 = alloca double ; c + %sc_l_c2_0 = alloca double ; c2 + %s19 = alloca i1 + %s23 = alloca i1 + %s37 = alloca i1 + store ptr null, ptr %sc_l_b_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = load ptr, ptr %sc_l_s_0 + store ptr %t0, ptr %sc_l_b_0 + store double 0x0000000000000000, ptr %sc_l_n_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c1 +loop.c1: + %t1 = load double, ptr %sc_l_i_0 + %t2 = load ptr, ptr %sc_l_b_0 + %t3 = call double @sc_str_utf16_len(ptr %t2) + %t5 = fptosi double %t3 to i32 + %t4 = fcmp olt double %t1, %t3 + br i1 %t4, label %loop.b2, label %loop.e0 +loop.b2: + %t6 = load ptr, ptr %sc_l_b_0 + %t7 = load double, ptr %sc_l_i_0 + %t8 = call double @sc_str_char_code_at(ptr %t6, double %t7) + store double %t8, ptr %sc_l_c_0 + %t9 = load double, ptr %sc_l_c_0 + %t10 = fcmp olt double %t9, 0x4060000000000000 + br i1 %t10, label %if.t4, label %if.f6 +if.t4: + %t11 = load double, ptr %sc_l_n_0 + %t12 = fadd double %t11, 0x3FF0000000000000 + store double %t12, ptr %sc_l_n_0 + br label %if.j5 +if.f6: + %t13 = load double, ptr %sc_l_c_0 + %t14 = fcmp olt double %t13, 0x40A0000000000000 + br i1 %t14, label %if.t7, label %if.f9 +if.t7: + %t15 = load double, ptr %sc_l_n_0 + %t16 = fadd double %t15, 0x4000000000000000 + store double %t16, ptr %sc_l_n_0 + br label %if.j8 +if.f9: + %t17 = load double, ptr %sc_l_c_0 + %t18 = fcmp oge double %t17, 0x40EB000000000000 + store i1 %t18, ptr %s19 + br i1 %t18, label %log.r10, label %log.j11 +log.r10: + %t20 = load double, ptr %sc_l_c_0 + %t21 = fcmp ole double %t20, 0x40EB7FE000000000 + store i1 %t21, ptr %s19 + br label %log.j11 +log.j11: + %t22 = load i1, ptr %s19 + store i1 %t22, ptr %s23 + br i1 %t22, label %log.r12, label %log.j13 +log.r12: + %t24 = load double, ptr %sc_l_i_0 + %t25 = fadd double %t24, 0x3FF0000000000000 + %t26 = load ptr, ptr %sc_l_b_0 + %t27 = call double @sc_str_utf16_len(ptr %t26) + %t29 = fptosi double %t27 to i32 + %t28 = fcmp olt double %t25, %t27 + store i1 %t28, ptr %s23 + br label %log.j13 +log.j13: + %t30 = load i1, ptr %s23 + br i1 %t30, label %if.t14, label %if.f16 +if.t14: + %t31 = load ptr, ptr %sc_l_b_0 + %t32 = load double, ptr %sc_l_i_0 + %t33 = fadd double %t32, 0x3FF0000000000000 + %t34 = call double @sc_str_char_code_at(ptr %t31, double %t33) + store double %t34, ptr %sc_l_c2_0 + %t35 = load double, ptr %sc_l_c2_0 + %t36 = fcmp oge double %t35, 0x40EB800000000000 + store i1 %t36, ptr %s37 + br i1 %t36, label %log.r17, label %log.j18 +log.r17: + %t38 = load double, ptr %sc_l_c2_0 + %t39 = fcmp ole double %t38, 0x40EBFFE000000000 + store i1 %t39, ptr %s37 + br label %log.j18 +log.j18: + %t40 = load i1, ptr %s37 + br i1 %t40, label %if.t19, label %if.f21 +if.t19: + %t41 = load double, ptr %sc_l_n_0 + %t42 = fadd double %t41, 0x4010000000000000 + store double %t42, ptr %sc_l_n_0 + %t43 = load double, ptr %sc_l_i_0 + %t44 = fadd double %t43, 0x3FF0000000000000 + store double %t44, ptr %sc_l_i_0 + br label %if.j20 +if.f21: + %t45 = load double, ptr %sc_l_n_0 + %t46 = fadd double %t45, 0x4008000000000000 + store double %t46, ptr %sc_l_n_0 + br label %if.j20 +if.j20: + br label %if.j15 +if.f16: + %t47 = load double, ptr %sc_l_n_0 + %t48 = fadd double %t47, 0x4008000000000000 + store double %t48, ptr %sc_l_n_0 + br label %if.j15 +if.j15: + br label %if.j8 +if.j8: + br label %if.j5 +if.j5: + br label %loop.u3 +loop.u3: + %t49 = load double, ptr %sc_l_i_0 + %t50 = fadd double %t49, 0x3FF0000000000000 + store double %t50, ptr %sc_l_i_0 + br label %loop.c1 +loop.e0: + %t51 = load double, ptr %sc_l_n_0 + ret double %t51 +} +define internal double @sc_f__x25_m2_utf8len(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25_m2_utf8len(ptr %p0) + call void @scr_str_release(ptr %p0) + ret double %result +} + +define internal ptr @sc_bf__x25_m4_u8slice(ptr %p_sc_l_b_0, double %p_sc_l_from_0, double %p_sc_l_to_0) #0 { ; %m4.u8slice +entry: + %sc_l_b_0 = alloca ptr ; b + %sc_l_from_0 = alloca double ; from + %sc_l_to_0 = alloca double ; to + %sc_l_n_0 = alloca double ; n + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca double ; i + %s9 = alloca double + %s10 = alloca i32 + %exc.cell = load ptr, ptr @scr_exc_active + %s17 = alloca i64 ; integer induction i + store ptr null, ptr %sc_l_out_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + store double %p_sc_l_from_0, ptr %sc_l_from_0 + store double %p_sc_l_to_0, ptr %sc_l_to_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load double, ptr %sc_l_to_0 + %t5 = load double, ptr %sc_l_from_0 + %t6 = fsub double %t4, %t5 + store double %t6, ptr %sc_l_n_0 + %t7 = load double, ptr %sc_l_n_0 + %t8 = fcmp ogt double %t7, 0x0000000000000000 + br i1 %t8, label %tern.t2, label %tern.f3 +tern.t2: + %t11 = load double, ptr %sc_l_n_0 + store double %t11, ptr %s9 + br label %tern.j4 +tern.f3: + store double 0x0000000000000000, ptr %s9 + store i32 0, ptr %s10 + br label %tern.j4 +tern.j4: + %t12 = load double, ptr %s9 + %t13 = call ptr @scr_bytes_new(i32 0, double %t12) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u5, label %exc.k6 +exc.u5: + call void @scr_bytes_release(ptr %t13) + ret ptr null +exc.k6: + store ptr %t13, ptr %sc_l_out_0 + store i64 0, ptr %s17 + br label %loop.c8 +loop.c8: + %t18 = load ptr, ptr %sc_l_out_0 + %t19 = getelementptr inbounds %ScrBytes, ptr %t18, i64 0, i32 1 + %t20 = load i64, ptr %t19 + %t21 = load i64, ptr %s17 + %t22 = icmp ult i64 %t21, %t20 + br i1 %t22, label %loop.b9, label %loop.e7 +loop.b9: + %t23 = load ptr, ptr %sc_l_out_0 + %t24 = load i64, ptr %s17 + %t25 = sitofp i64 %t24 to double + %t26 = trunc i64 %t24 to i32 + %t27 = load ptr, ptr %sc_l_b_0 + %t28 = load double, ptr %sc_l_from_0 + %t29 = load i64, ptr %s17 + %t30 = sitofp i64 %t29 to double + %t31 = trunc i64 %t29 to i32 + %t32 = fadd double %t28, %t30 + %t33 = getelementptr inbounds %ScrBytes, ptr %t27, i64 0, i32 1 + %t34 = load i64, ptr %t33 + %t35 = fptosi double %t32 to i64 + %t36 = freeze i64 %t35 + %t37 = sitofp i64 %t36 to double + %t38 = fcmp oeq double %t37, %t32 + %t39 = icmp ult i64 %t36, %t34 + %t40 = and i1 %t38, %t39 + br i1 %t40, label %bytes.index.valid14, label %bytes.index.invalid13 +bytes.index.invalid13: + br label %bytes.read.invalid11 +bytes.index.valid14: + %t41 = getelementptr inbounds %ScrBytes, ptr %t27, i64 0, i32 3 + %t42 = load ptr, ptr %t41 + %t43 = getelementptr inbounds i8, ptr %t42, i64 %t36 + %t44 = load i8, ptr %t43, align 1 + %t45 = zext i8 %t44 to i32 + %t46 = uitofp i32 %t45 to double + br label %bytes.read.ok15 +bytes.read.ok15: + br label %bytes.read.done12 +bytes.read.invalid11: + br label %bytes.read.done12 +bytes.read.done12: + %t48 = phi i32 [ %t45, %bytes.read.ok15 ], [ 0, %bytes.read.invalid11 ] + %t49 = phi i1 [ true, %bytes.read.ok15 ], [ false, %bytes.read.invalid11 ] + %t50 = uitofp i32 %t48 to double + %t47 = select i1 %t49, double %t50, double 0x7FF8000000000000 + %t51 = getelementptr inbounds %ScrBytes, ptr %t23, i64 0, i32 3 + %t52 = load ptr, ptr %t51 + %t54 = trunc i32 %t48 to i8 + %t53 = getelementptr inbounds i8, ptr %t52, i64 %t24 + store i8 %t54, ptr %t53, align 1 + br label %bytes.store.done16 +bytes.store.done16: + br label %loop.u10 +loop.u10: + %t55 = load i64, ptr %s17 + %t56 = add nuw i64 %t55, 1 + store i64 %t56, ptr %s17 + br label %loop.c8 +loop.e7: + %t57 = load ptr, ptr %sc_l_out_0 + ret ptr %t57 +} +define internal ptr @sc_f__x25_m4_u8slice(ptr %p0, double %p1, double %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_u8slice(ptr %p0, double %p1, double %p2) + call void @scr_bytes_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m4_u8cat(ptr %p_sc_l_a_0, ptr %p_sc_l_b_0) #0 { ; %m4.u8cat +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_b_0 = alloca ptr ; b + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca double ; i + %sc_l_i_1 = alloca double ; i + %exc.cell = load ptr, ptr @scr_exc_active + %s19 = alloca i64 ; integer induction i + %s52 = alloca i64 ; integer induction i + store ptr null, ptr %sc_l_out_0 + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_a_0 + %t5 = getelementptr inbounds %ScrBytes, ptr %t4, i64 0, i32 1 + %t6 = load i64, ptr %t5 + %t7 = sitofp i64 %t6 to double + %t8 = load ptr, ptr %sc_l_b_0 + %t9 = getelementptr inbounds %ScrBytes, ptr %t8, i64 0, i32 1 + %t10 = load i64, ptr %t9 + %t11 = sitofp i64 %t10 to double + %t13 = fptosi double %t7 to i64 + %t14 = fptosi double %t11 to i64 + %t12 = fadd double %t7, %t11 + %t15 = call ptr @scr_bytes_new(i32 0, double %t12) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_bytes_release(ptr %t15) + ret ptr null +exc.k3: + store ptr %t15, ptr %sc_l_out_0 + store i64 0, ptr %s19 + br label %loop.c5 +loop.c5: + %t20 = load ptr, ptr %sc_l_a_0 + %t21 = getelementptr inbounds %ScrBytes, ptr %t20, i64 0, i32 1 + %t22 = load i64, ptr %t21 + %t23 = load i64, ptr %s19 + %t24 = icmp ult i64 %t23, %t22 + br i1 %t24, label %loop.b6, label %loop.e4 +loop.b6: + %t25 = load ptr, ptr %sc_l_out_0 + %t26 = load i64, ptr %s19 + %t27 = sitofp i64 %t26 to double + %t28 = trunc i64 %t26 to i32 + %t29 = load ptr, ptr %sc_l_a_0 + %t30 = load i64, ptr %s19 + %t31 = sitofp i64 %t30 to double + %t32 = trunc i64 %t30 to i32 + %t33 = getelementptr inbounds %ScrBytes, ptr %t29, i64 0, i32 3 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds i8, ptr %t34, i64 %t30 + %t36 = load i8, ptr %t35, align 1 + %t37 = zext i8 %t36 to i32 + %t38 = uitofp i32 %t37 to double + br label %bytes.read.ok10 +bytes.read.ok10: + br label %bytes.read.done9 +bytes.read.invalid8: + br label %bytes.read.done9 +bytes.read.done9: + %t40 = phi i32 [ %t37, %bytes.read.ok10 ], [ 0, %bytes.read.invalid8 ] + %t41 = phi i1 [ true, %bytes.read.ok10 ], [ false, %bytes.read.invalid8 ] + %t42 = uitofp i32 %t40 to double + %t39 = select i1 %t41, double %t42, double 0x7FF8000000000000 + %t43 = getelementptr inbounds %ScrBytes, ptr %t25, i64 0, i32 1 + %t44 = load i64, ptr %t43 + %t45 = icmp ult i64 %t26, %t44 + br i1 %t45, label %bytes.index.valid13, label %bytes.index.invalid12 +bytes.index.invalid12: + br label %bytes.store.done11 +bytes.index.valid13: + %t46 = getelementptr inbounds %ScrBytes, ptr %t25, i64 0, i32 3 + %t47 = load ptr, ptr %t46 + %t49 = trunc i32 %t40 to i8 + %t48 = getelementptr inbounds i8, ptr %t47, i64 %t26 + store i8 %t49, ptr %t48, align 1 + br label %bytes.store.done11 +bytes.store.done11: + br label %loop.u7 +loop.u7: + %t50 = load i64, ptr %s19 + %t51 = add nuw i64 %t50, 1 + store i64 %t51, ptr %s19 + br label %loop.c5 +loop.e4: + store i64 0, ptr %s52 + br label %loop.c15 +loop.c15: + %t53 = load ptr, ptr %sc_l_b_0 + %t54 = getelementptr inbounds %ScrBytes, ptr %t53, i64 0, i32 1 + %t55 = load i64, ptr %t54 + %t56 = load i64, ptr %s52 + %t57 = icmp ult i64 %t56, %t55 + br i1 %t57, label %loop.b16, label %loop.e14 +loop.b16: + %t58 = load ptr, ptr %sc_l_out_0 + %t59 = load ptr, ptr %sc_l_a_0 + %t60 = getelementptr inbounds %ScrBytes, ptr %t59, i64 0, i32 1 + %t61 = load i64, ptr %t60 + %t62 = sitofp i64 %t61 to double + %t63 = load i64, ptr %s52 + %t64 = sitofp i64 %t63 to double + %t65 = trunc i64 %t63 to i32 + %t67 = fptosi double %t62 to i64 + %t66 = fadd double %t62, %t64 + %t68 = load ptr, ptr %sc_l_b_0 + %t69 = load i64, ptr %s52 + %t70 = sitofp i64 %t69 to double + %t71 = trunc i64 %t69 to i32 + %t72 = getelementptr inbounds %ScrBytes, ptr %t68, i64 0, i32 3 + %t73 = load ptr, ptr %t72 + %t74 = getelementptr inbounds i8, ptr %t73, i64 %t69 + %t75 = load i8, ptr %t74, align 1 + %t76 = zext i8 %t75 to i32 + %t77 = uitofp i32 %t76 to double + br label %bytes.read.ok20 +bytes.read.ok20: + br label %bytes.read.done19 +bytes.read.invalid18: + br label %bytes.read.done19 +bytes.read.done19: + %t79 = phi i32 [ %t76, %bytes.read.ok20 ], [ 0, %bytes.read.invalid18 ] + %t80 = phi i1 [ true, %bytes.read.ok20 ], [ false, %bytes.read.invalid18 ] + %t81 = uitofp i32 %t79 to double + %t78 = select i1 %t80, double %t81, double 0x7FF8000000000000 + %t82 = getelementptr inbounds %ScrBytes, ptr %t58, i64 0, i32 1 + %t83 = load i64, ptr %t82 + %t84 = fptosi double %t66 to i64 + %t85 = freeze i64 %t84 + %t86 = sitofp i64 %t85 to double + %t87 = fcmp oeq double %t86, %t66 + %t88 = icmp ult i64 %t85, %t83 + %t89 = and i1 %t87, %t88 + br i1 %t89, label %bytes.index.valid23, label %bytes.index.invalid22 +bytes.index.invalid22: + br label %bytes.store.done21 +bytes.index.valid23: + %t90 = getelementptr inbounds %ScrBytes, ptr %t58, i64 0, i32 3 + %t91 = load ptr, ptr %t90 + %t93 = trunc i32 %t79 to i8 + %t92 = getelementptr inbounds i8, ptr %t91, i64 %t85 + store i8 %t93, ptr %t92, align 1 + br label %bytes.store.done21 +bytes.store.done21: + br label %loop.u17 +loop.u17: + %t94 = load i64, ptr %s52 + %t95 = add nuw i64 %t94, 1 + store i64 %t95, ptr %s52 + br label %loop.c15 +loop.e14: + %t96 = load ptr, ptr %sc_l_out_0 + ret ptr %t96 +} +define internal ptr @sc_f__x25_m4_u8cat(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_u8cat(ptr %p0, ptr %p1) + call void @scr_bytes_release(ptr %p0) + call void @scr_bytes_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m4_u8catAll(ptr %p_sc_l_parts_0) #0 { ; %m4.u8catAll +entry: + %sc_l_parts_0 = alloca ptr ; parts + %sc_l_n_0 = alloca double ; n + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv + %sc_l_out_0 = alloca ptr ; out + %sc_l_off_0 = alloca double ; off + %sc_l_i_1 = alloca i32 ; i + %sc_l_p_0 = alloca ptr ; p + %sc_l_j_0 = alloca double ; j + %s4 = alloca i64 ; integer induction i + %s17 = alloca %ScrUnion + %s18 = getelementptr inbounds %ScrUnion, ptr %s17, i32 0, i32 5 + %s19 = getelementptr inbounds %ScrUnion, ptr %s17, i32 0, i32 1 + %s45 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s63 = alloca i64 ; integer induction i + %s75 = alloca %ScrUnion + %s76 = getelementptr inbounds %ScrUnion, ptr %s75, i32 0, i32 5 + %s77 = getelementptr inbounds %ScrUnion, ptr %s75, i32 0, i32 1 + %s104 = alloca ptr + %s124 = alloca ptr + %s167 = alloca ptr + store ptr null, ptr %sc_l__x25_propertyRecv_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_p_0 + store ptr %p_sc_l_parts_0, ptr %sc_l_parts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + store double 0x0000000000000000, ptr %sc_l_n_0 + %t5 = fptosi double 0x0000000000000000 to i64 + store i64 %t5, ptr %s4 + br label %loop.c3 +loop.c3: + %t6 = load ptr, ptr %sc_l_parts_0 + %t7 = getelementptr inbounds %ScrArr, ptr %t6, i64 0, i32 1 + %t8 = load i64, ptr %t7, !tbaa !2 + %t9 = load i64, ptr %s4 + %t10 = icmp ult i64 %t9, %t8 + br i1 %t10, label %loop.b4, label %loop.e2 +loop.b4: + %t11 = load double, ptr %sc_l_n_0 + %t12 = load ptr, ptr %sc_l_parts_0 + %t13 = load i64, ptr %s4 + %t14 = load i64, ptr %s4 + %t15 = sitofp i64 %t14 to double + %t16 = trunc i64 %t14 to i32 + %t20 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 2 + %t21 = load i64, ptr %t20, !tbaa !2 + %t22 = icmp ult i64 %t13, %t21 + br i1 %t22, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t23 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 6 + %t24 = load i32, ptr %t23, !tbaa !2 + %t26 = zext i32 %t24 to i64 + %t25 = icmp ult i64 %t13, %t26 + br i1 %t25, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t27 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 1 + %t28 = load i64, ptr %t27, !tbaa !2, !range !{i64 0, i64 4294967296} + %t29 = icmp ult i64 %t13, %t28 + br i1 %t29, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t30 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 9 + %t31 = load ptr, ptr %t30, !tbaa !2 + %t32 = getelementptr inbounds i8, ptr %t31, i64 %t13 + %t33 = load i8, ptr %t32, !tbaa !4 + %t34 = icmp eq i8 %t33, 1 + br i1 %t34, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t35 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 8 + %t36 = load ptr, ptr %t35, !tbaa !2 + %t37 = getelementptr inbounds i64, ptr %t36, i64 %t13 + %t38 = load ptr, ptr %t37, !tbaa !6 + store ptr %t38, ptr %s18 + store i32 0, ptr %s19 + br label %local.array.join8 +local.array.slow6: + %t39 = call ptr @scr_arr_peek_ref(ptr %t12, double %t15) + %t40 = icmp ne ptr %t39, null + br i1 %t40, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + store ptr %t39, ptr %s18 + store i32 0, ptr %s19 + br label %local.array.join8 +local.array.missing7: + store i64 0, ptr %s18 + store i32 1, ptr %s19 + br label %local.array.join8 +local.array.join8: + store ptr %s17, ptr %sc_l__x25_propertyRecv_0 + %t41 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t44 = getelementptr inbounds %ScrUnion, ptr %t41, i64 0, i32 1 + %t43 = load i32, ptr %t44 + %t42 = icmp eq i32 %t43, 1 + br i1 %t42, label %tern.t15, label %tern.f16 +tern.t15: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + ret ptr null +exc.dead18: + store ptr null, ptr %s45 + br label %tern.j17 +tern.f16: + %t46 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t47 = getelementptr inbounds %ScrUnion, ptr %t46, i64 0, i32 5 + %t48 = load ptr, ptr %t47 + %t49 = call ptr @scr_bytes_retain_v(ptr %t48) + store ptr %t49, ptr %s45 + br label %tern.j17 +tern.j17: + %t50 = load ptr, ptr %s45 + %t51 = getelementptr inbounds %ScrBytes, ptr %t50, i64 0, i32 1 + %t52 = load i64, ptr %t51 + %t53 = sitofp i64 %t52 to double + %t55 = fptosi double %t53 to i64 + %t54 = fadd double %t11, %t53 + store double %t54, ptr %sc_l_n_0 + call void @scr_bytes_release(ptr %t50) + br label %loop.u5 +loop.u5: + %t56 = load i64, ptr %s4 + %t57 = add nuw i64 %t56, 1 + store i64 %t57, ptr %s4 + br label %loop.c3 +loop.e2: + %t58 = load double, ptr %sc_l_n_0 + %t59 = call ptr @scr_bytes_new(i32 0, double %t58) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u19, label %exc.k20 +exc.u19: + call void @scr_bytes_release(ptr %t59) + ret ptr null +exc.k20: + store ptr %t59, ptr %sc_l_out_0 + store double 0x0000000000000000, ptr %sc_l_off_0 + %t64 = fptosi double 0x0000000000000000 to i64 + store i64 %t64, ptr %s63 + br label %loop.c22 +loop.c22: + %t65 = load ptr, ptr %sc_l_parts_0 + %t66 = getelementptr inbounds %ScrArr, ptr %t65, i64 0, i32 1 + %t67 = load i64, ptr %t66, !tbaa !2 + %t68 = load i64, ptr %s63 + %t69 = icmp ult i64 %t68, %t67 + br i1 %t69, label %loop.b23, label %loop.e21 +loop.b23: + %t70 = load ptr, ptr %sc_l_parts_0 + %t71 = load i64, ptr %s63 + %t72 = load i64, ptr %s63 + %t73 = sitofp i64 %t72 to double + %t74 = trunc i64 %t72 to i32 + %t78 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 2 + %t79 = load i64, ptr %t78, !tbaa !2 + %t80 = icmp ult i64 %t71, %t79 + br i1 %t80, label %local.array.range28, label %local.array.slow25 +local.array.range28: + br label %local.array.dense29 +local.array.dense29: + %t81 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 6 + %t82 = load i32, ptr %t81, !tbaa !2 + %t84 = zext i32 %t82 to i64 + %t83 = icmp ult i64 %t71, %t84 + br i1 %t83, label %local.array.value31, label %local.array.len30 +local.array.len30: + %t85 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 1 + %t86 = load i64, ptr %t85, !tbaa !2, !range !{i64 0, i64 4294967296} + %t87 = icmp ult i64 %t71, %t86 + br i1 %t87, label %local.array.state32, label %local.array.missing26 +local.array.state32: + %t88 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 9 + %t89 = load ptr, ptr %t88, !tbaa !2 + %t90 = getelementptr inbounds i8, ptr %t89, i64 %t71 + %t91 = load i8, ptr %t90, !tbaa !4 + %t92 = icmp eq i8 %t91, 1 + br i1 %t92, label %local.array.value31, label %local.array.missing26 +local.array.value31: + %t93 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 8 + %t94 = load ptr, ptr %t93, !tbaa !2 + %t95 = getelementptr inbounds i64, ptr %t94, i64 %t71 + %t96 = load ptr, ptr %t95, !tbaa !6 + store ptr %t96, ptr %s76 + store i32 0, ptr %s77 + br label %local.array.join27 +local.array.slow25: + %t97 = call ptr @scr_arr_peek_ref(ptr %t70, double %t73) + %t98 = icmp ne ptr %t97, null + br i1 %t98, label %local.array.slow.value33, label %local.array.missing26 +local.array.slow.value33: + store ptr %t97, ptr %s76 + store i32 0, ptr %s77 + br label %local.array.join27 +local.array.missing26: + store i64 0, ptr %s76 + store i32 1, ptr %s77 + br label %local.array.join27 +local.array.join27: + store ptr %s75, ptr %sc_l_p_0 + store double 0x0000000000000000, ptr %sc_l_j_0 + br label %loop.c35 +loop.c35: + %t99 = load double, ptr %sc_l_j_0 + %t100 = load ptr, ptr %sc_l_p_0 + %t103 = getelementptr inbounds %ScrUnion, ptr %t100, i64 0, i32 1 + %t102 = load i32, ptr %t103 + %t101 = icmp eq i32 %t102, 1 + br i1 %t101, label %read.then38, label %read.else39 +read.then38: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup41 +exc.dead42: + store ptr null, ptr %s104 + br label %read.join40 +read.else39: + %t105 = load ptr, ptr %sc_l_p_0 + %t106 = getelementptr inbounds %ScrUnion, ptr %t105, i64 0, i32 5 + %t107 = load ptr, ptr %t106 + store ptr %t107, ptr %s104 + br label %read.join40 +read.join40: + %t108 = load ptr, ptr %s104 + %t109 = getelementptr inbounds %ScrBytes, ptr %t108, i64 0, i32 1 + %t110 = load i64, ptr %t109 + %t111 = sitofp i64 %t110 to double + %t113 = fptosi double %t99 to i64 + %t114 = fptosi double %t111 to i64 + %t112 = icmp slt i64 %t113, %t114 + br i1 %t112, label %loop.b36, label %loop.e34 +loop.b36: + %t115 = load ptr, ptr %sc_l_out_0 + %t116 = load double, ptr %sc_l_off_0 + %t117 = load double, ptr %sc_l_j_0 + %t119 = fptosi double %t117 to i64 + %t118 = fadd double %t116, %t117 + %t120 = load ptr, ptr %sc_l_p_0 + %t123 = getelementptr inbounds %ScrUnion, ptr %t120, i64 0, i32 1 + %t122 = load i32, ptr %t123 + %t121 = icmp eq i32 %t122, 0 + br i1 %t121, label %read.then43, label %read.else44 +read.then43: + %t125 = load ptr, ptr %sc_l_p_0 + %t126 = getelementptr inbounds %ScrUnion, ptr %t125, i64 0, i32 5 + %t127 = load ptr, ptr %t126 + store ptr %t127, ptr %s124 + br label %read.join45 +read.else44: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup41 +exc.dead46: + store ptr null, ptr %s124 + br label %read.join45 +read.join45: + %t128 = load ptr, ptr %s124 + %t129 = load double, ptr %sc_l_j_0 + %t130 = fptosi double %t129 to i64 + %t131 = getelementptr inbounds %ScrBytes, ptr %t128, i64 0, i32 1 + %t132 = load i64, ptr %t131 + %t133 = icmp ult i64 %t130, %t132 + br i1 %t133, label %bytes.index.valid50, label %bytes.index.invalid49 +bytes.index.invalid49: + br label %bytes.read.invalid47 +bytes.index.valid50: + %t134 = getelementptr inbounds %ScrBytes, ptr %t128, i64 0, i32 3 + %t135 = load ptr, ptr %t134 + %t136 = getelementptr inbounds i8, ptr %t135, i64 %t130 + %t137 = load i8, ptr %t136, align 1 + %t138 = zext i8 %t137 to i32 + %t139 = uitofp i32 %t138 to double + br label %bytes.read.ok51 +bytes.read.ok51: + br label %bytes.read.done48 +bytes.read.invalid47: + br label %bytes.read.done48 +bytes.read.done48: + %t141 = phi i32 [ %t138, %bytes.read.ok51 ], [ 0, %bytes.read.invalid47 ] + %t142 = phi i1 [ true, %bytes.read.ok51 ], [ false, %bytes.read.invalid47 ] + %t143 = uitofp i32 %t141 to double + %t140 = select i1 %t142, double %t143, double 0x7FF8000000000000 + %t144 = getelementptr inbounds %ScrBytes, ptr %t115, i64 0, i32 1 + %t145 = load i64, ptr %t144 + %t146 = fptosi double %t118 to i64 + %t147 = freeze i64 %t146 + %t148 = sitofp i64 %t147 to double + %t149 = fcmp oeq double %t148, %t118 + %t150 = icmp ult i64 %t147, %t145 + %t151 = and i1 %t149, %t150 + br i1 %t151, label %bytes.index.valid54, label %bytes.index.invalid53 +bytes.index.invalid53: + br label %bytes.store.done52 +bytes.index.valid54: + %t152 = getelementptr inbounds %ScrBytes, ptr %t115, i64 0, i32 3 + %t153 = load ptr, ptr %t152 + %t155 = trunc i32 %t141 to i8 + %t154 = getelementptr inbounds i8, ptr %t153, i64 %t147 + store i8 %t155, ptr %t154, align 1 + br label %bytes.store.done52 +bytes.store.done52: + br label %loop.u37 +loop.u37: + %t156 = load double, ptr %sc_l_j_0 + %t158 = fptosi double %t156 to i64 + %t159 = add nsw i64 %t158, 1 + %t161 = trunc i64 %t159 to i32 + %t160 = sitofp i64 %t159 to double + store double %t160, ptr %sc_l_j_0 + br label %loop.c35 +loop.e34: + %t162 = load double, ptr %sc_l_off_0 + %t163 = load ptr, ptr %sc_l_p_0 + %t166 = getelementptr inbounds %ScrUnion, ptr %t163, i64 0, i32 1 + %t165 = load i32, ptr %t166 + %t164 = icmp eq i32 %t165, 1 + br i1 %t164, label %read.then55, label %read.else56 +read.then55: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup41 +exc.dead58: + store ptr null, ptr %s167 + br label %read.join57 +read.else56: + %t168 = load ptr, ptr %sc_l_p_0 + %t169 = getelementptr inbounds %ScrUnion, ptr %t168, i64 0, i32 5 + %t170 = load ptr, ptr %t169 + store ptr %t170, ptr %s167 + br label %read.join57 +read.join57: + %t171 = load ptr, ptr %s167 + %t172 = getelementptr inbounds %ScrBytes, ptr %t171, i64 0, i32 1 + %t173 = load i64, ptr %t172 + %t174 = sitofp i64 %t173 to double + %t176 = fptosi double %t174 to i64 + %t175 = fadd double %t162, %t174 + store double %t175, ptr %sc_l_off_0 + br label %loop.u24 +loop.u24: + %t177 = load i64, ptr %s63 + %t178 = add nuw i64 %t177, 1 + store i64 %t178, ptr %s63 + br label %loop.c22 +loop.e21: + %t179 = load ptr, ptr %sc_l_out_0 + ret ptr %t179 +exc.cleanup41: + %t180 = load ptr, ptr %sc_l_out_0 + call void @scr_bytes_release(ptr %t180) + ret ptr null +} +define internal ptr @sc_f__x25_m4_u8catAll(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_u8catAll(ptr %p0) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m4_u8str(ptr %p_sc_l_b_0) #0 { ; %m4.u8str +entry: + %sc_l_b_0 = alloca ptr ; b + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_b_0 + %t5 = call ptr @scr_bytes_retain_v(ptr %t4) + %t6 = call ptr @scr_buffer_from_bytes(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_bytes_release(ptr %t5) + call void @scr_bytes_release(ptr %t6) + ret ptr null +exc.k3: + %t10 = call ptr @scr_bytes_as_buffer(ptr %t6) + %t11 = call ptr @scr_bytes_to_str(ptr %t10, ptr @sc_lit_2605532998565466) + call void @scr_bytes_release(ptr %t5) + call void @scr_bytes_release(ptr %t6) + call void @scr_bytes_release(ptr %t10) + ret ptr %t11 +} +define internal ptr @sc_f__x25_m4_u8str(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_u8str(ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret ptr %result +} + +define internal double @sc_bf__x25_m4_findSeq(ptr %p_sc_l_hay_0, ptr %p_sc_l_needle_0, double %p_sc_l_from_0) #0 { ; %m4.findSeq +entry: + %sc_l_hay_0 = alloca ptr ; hay + %sc_l_needle_0 = alloca ptr ; needle + %sc_l_from_0 = alloca double ; from + %sc_l_n_0 = alloca i32 ; n + %sc_l_c0_0 = alloca double ; c0 + %sc_l_end_0 = alloca double ; end + %sc_l_i_0 = alloca double ; i + %sc_l_j_0 = alloca i32 ; j + %s55 = alloca i1 + store ptr %p_sc_l_hay_0, ptr %sc_l_hay_0 + store ptr %p_sc_l_needle_0, ptr %sc_l_needle_0 + store double %p_sc_l_from_0, ptr %sc_l_from_0 + %t0 = load ptr, ptr %sc_l_needle_0 + %t1 = call double @sc_str_utf16_len(ptr %t0) + %t2 = fptosi double %t1 to i32 + store i32 %t2, ptr %sc_l_n_0 + %t3 = load i32, ptr %sc_l_n_0 + %t4 = sitofp i32 %t3 to double + %t6 = sext i32 %t3 to i64 + %t5 = icmp eq i64 %t6, 0 + br i1 %t5, label %if.t0, label %if.j1 +if.t0: + ret double 0xBFF0000000000000 +if.j1: + %t7 = load ptr, ptr %sc_l_needle_0 + %t8 = call double @sc_str_char_code_at_int(ptr %t7, i64 0) + store double %t8, ptr %sc_l_c0_0 + %t9 = load ptr, ptr %sc_l_hay_0 + %t10 = getelementptr inbounds %ScrBytes, ptr %t9, i64 0, i32 1 + %t11 = load i64, ptr %t10 + %t12 = sitofp i64 %t11 to double + %t13 = load i32, ptr %sc_l_n_0 + %t14 = sitofp i32 %t13 to double + %t16 = fptosi double %t12 to i64 + %t17 = sext i32 %t13 to i64 + %t18 = sub nsw i64 %t16, %t17 + %t20 = trunc i64 %t18 to i32 + %t19 = sitofp i64 %t18 to double + store double %t19, ptr %sc_l_end_0 + %t21 = load double, ptr %sc_l_from_0 + store double %t21, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t22 = load double, ptr %sc_l_i_0 + %t23 = load double, ptr %sc_l_end_0 + %t25 = fptosi double %t23 to i64 + %t24 = fcmp ole double %t22, %t23 + br i1 %t24, label %loop.b4, label %loop.e2 +loop.b4: + %t26 = load ptr, ptr %sc_l_hay_0 + %t27 = load double, ptr %sc_l_i_0 + %t28 = getelementptr inbounds %ScrBytes, ptr %t26, i64 0, i32 1 + %t29 = load i64, ptr %t28 + %t30 = fptosi double %t27 to i64 + %t31 = freeze i64 %t30 + %t32 = sitofp i64 %t31 to double + %t33 = fcmp oeq double %t32, %t27 + %t34 = icmp ult i64 %t31, %t29 + %t35 = and i1 %t33, %t34 + br i1 %t35, label %bytes.index.valid9, label %bytes.index.invalid8 +bytes.index.invalid8: + br label %bytes.read.invalid6 +bytes.index.valid9: + %t36 = getelementptr inbounds %ScrBytes, ptr %t26, i64 0, i32 3 + %t37 = load ptr, ptr %t36 + %t38 = getelementptr inbounds i8, ptr %t37, i64 %t31 + %t39 = load i8, ptr %t38, align 1 + %t40 = zext i8 %t39 to i32 + %t41 = uitofp i32 %t40 to double + br label %bytes.read.ok10 +bytes.read.ok10: + br label %bytes.read.done7 +bytes.read.invalid6: + br label %bytes.read.done7 +bytes.read.done7: + %t43 = phi i32 [ %t40, %bytes.read.ok10 ], [ 0, %bytes.read.invalid6 ] + %t44 = phi i1 [ true, %bytes.read.ok10 ], [ false, %bytes.read.invalid6 ] + %t45 = uitofp i32 %t43 to double + %t42 = select i1 %t44, double %t45, double 0x7FF8000000000000 + %t46 = load double, ptr %sc_l_c0_0 + %t47 = fcmp oeq double %t42, %t46 + br i1 %t47, label %if.t11, label %if.j12 +if.t11: + store i32 1, ptr %sc_l_j_0 + br label %loop.c14 +loop.c14: + %t48 = load i32, ptr %sc_l_j_0 + %t49 = sitofp i32 %t48 to double + %t50 = load i32, ptr %sc_l_n_0 + %t51 = sitofp i32 %t50 to double + %t53 = sext i32 %t48 to i64 + %t54 = sext i32 %t50 to i64 + %t52 = icmp slt i64 %t53, %t54 + store i1 %t52, ptr %s55 + br i1 %t52, label %log.r16, label %log.j17 +log.r16: + %t56 = load ptr, ptr %sc_l_hay_0 + %t57 = load double, ptr %sc_l_i_0 + %t58 = load i32, ptr %sc_l_j_0 + %t59 = sitofp i32 %t58 to double + %t60 = fadd double %t57, %t59 + %t61 = getelementptr inbounds %ScrBytes, ptr %t56, i64 0, i32 1 + %t62 = load i64, ptr %t61 + %t63 = fptosi double %t60 to i64 + %t64 = freeze i64 %t63 + %t65 = sitofp i64 %t64 to double + %t66 = fcmp oeq double %t65, %t60 + %t67 = icmp ult i64 %t64, %t62 + %t68 = and i1 %t66, %t67 + br i1 %t68, label %bytes.index.valid21, label %bytes.index.invalid20 +bytes.index.invalid20: + br label %bytes.read.invalid18 +bytes.index.valid21: + %t69 = getelementptr inbounds %ScrBytes, ptr %t56, i64 0, i32 3 + %t70 = load ptr, ptr %t69 + %t71 = getelementptr inbounds i8, ptr %t70, i64 %t64 + %t72 = load i8, ptr %t71, align 1 + %t73 = zext i8 %t72 to i32 + %t74 = uitofp i32 %t73 to double + br label %bytes.read.ok22 +bytes.read.ok22: + br label %bytes.read.done19 +bytes.read.invalid18: + br label %bytes.read.done19 +bytes.read.done19: + %t76 = phi i32 [ %t73, %bytes.read.ok22 ], [ 0, %bytes.read.invalid18 ] + %t77 = phi i1 [ true, %bytes.read.ok22 ], [ false, %bytes.read.invalid18 ] + %t78 = uitofp i32 %t76 to double + %t75 = select i1 %t77, double %t78, double 0x7FF8000000000000 + %t79 = load ptr, ptr %sc_l_needle_0 + %t80 = load i32, ptr %sc_l_j_0 + %t81 = sitofp i32 %t80 to double + %t83 = sext i32 %t80 to i64 + %t82 = call double @sc_str_char_code_at_int(ptr %t79, i64 %t83) + %t84 = fcmp oeq double %t75, %t82 + store i1 %t84, ptr %s55 + br label %log.j17 +log.j17: + %t85 = load i1, ptr %s55 + br i1 %t85, label %loop.b15, label %loop.e13 +loop.b15: + %t86 = load i32, ptr %sc_l_j_0 + %t87 = sitofp i32 %t86 to double + %t90 = trunc i64 1 to i32 + %t89 = add nsw i32 %t86, %t90 + %t91 = sitofp i32 %t89 to double + store i32 %t89, ptr %sc_l_j_0 + br label %loop.c14 +loop.e13: + %t92 = load i32, ptr %sc_l_j_0 + %t93 = sitofp i32 %t92 to double + %t94 = load i32, ptr %sc_l_n_0 + %t95 = sitofp i32 %t94 to double + %t97 = sext i32 %t92 to i64 + %t98 = sext i32 %t94 to i64 + %t96 = icmp eq i64 %t97, %t98 + br i1 %t96, label %if.t23, label %if.j24 +if.t23: + %t99 = load double, ptr %sc_l_i_0 + ret double %t99 +if.j24: + br label %if.j12 +if.j12: + br label %loop.u5 +loop.u5: + %t100 = load double, ptr %sc_l_i_0 + %t101 = fadd double %t100, 0x3FF0000000000000 + store double %t101, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + ret double 0xBFF0000000000000 +} +define internal double @sc_f__x25_m4_findSeq(ptr %p0, ptr %p1, double %p2) #0 { +entry: + %result = call double @sc_bf__x25_m4_findSeq(ptr %p0, ptr %p1, double %p2) + call void @scr_bytes_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret double %result +} + +define internal ptr @sc_bf__x25_m4_trimWs(ptr %p_sc_l_s_0) #0 { ; %m4.trimWs +entry: + %sc_l_s_0 = alloca ptr ; s + %sc_l_b_0 = alloca ptr ; b + %sc_l_a_0 = alloca i32 ; a + %sc_l_z_0 = alloca double ; z + %s10 = alloca i1 + %s17 = alloca i1 + %s36 = alloca i1 + %s42 = alloca i1 + store ptr null, ptr %sc_l_b_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = load ptr, ptr %sc_l_s_0 + store ptr %t0, ptr %sc_l_b_0 + store i32 0, ptr %sc_l_a_0 + %t1 = load ptr, ptr %sc_l_b_0 + %t2 = call double @sc_str_utf16_len(ptr %t1) + store double %t2, ptr %sc_l_z_0 + br label %loop.c1 +loop.c1: + %t3 = load i32, ptr %sc_l_a_0 + %t4 = sitofp i32 %t3 to double + %t5 = load double, ptr %sc_l_z_0 + %t7 = fptosi double %t5 to i32 + %t8 = sext i32 %t3 to i64 + %t9 = sext i32 %t7 to i64 + %t6 = icmp slt i64 %t8, %t9 + store i1 %t6, ptr %s10 + br i1 %t6, label %log.r3, label %log.j4 +log.r3: + %t11 = load ptr, ptr %sc_l_b_0 + %t12 = load i32, ptr %sc_l_a_0 + %t13 = sitofp i32 %t12 to double + %t15 = sext i32 %t12 to i64 + %t14 = call double @sc_str_char_code_at_int(ptr %t11, i64 %t15) + %t16 = fcmp oeq double %t14, 0x4040000000000000 + store i1 %t16, ptr %s17 + br i1 %t16, label %log.j6, label %log.r5 +log.r5: + %t18 = load ptr, ptr %sc_l_b_0 + %t19 = load i32, ptr %sc_l_a_0 + %t20 = sitofp i32 %t19 to double + %t22 = sext i32 %t19 to i64 + %t21 = call double @sc_str_char_code_at_int(ptr %t18, i64 %t22) + %t23 = fcmp oeq double %t21, 0x4022000000000000 + store i1 %t23, ptr %s17 + br label %log.j6 +log.j6: + %t24 = load i1, ptr %s17 + store i1 %t24, ptr %s10 + br label %log.j4 +log.j4: + %t25 = load i1, ptr %s10 + br i1 %t25, label %loop.b2, label %loop.e0 +loop.b2: + %t26 = load i32, ptr %sc_l_a_0 + %t27 = sitofp i32 %t26 to double + %t30 = trunc i64 1 to i32 + %t29 = add nsw i32 %t26, %t30 + %t31 = sitofp i32 %t29 to double + store i32 %t29, ptr %sc_l_a_0 + br label %loop.c1 +loop.e0: + br label %loop.c8 +loop.c8: + %t32 = load double, ptr %sc_l_z_0 + %t33 = load i32, ptr %sc_l_a_0 + %t34 = sitofp i32 %t33 to double + %t35 = fcmp ogt double %t32, %t34 + store i1 %t35, ptr %s36 + br i1 %t35, label %log.r10, label %log.j11 +log.r10: + %t37 = load ptr, ptr %sc_l_b_0 + %t38 = load double, ptr %sc_l_z_0 + %t39 = fsub double %t38, 0x3FF0000000000000 + %t40 = call double @sc_str_char_code_at(ptr %t37, double %t39) + %t41 = fcmp oeq double %t40, 0x4040000000000000 + store i1 %t41, ptr %s42 + br i1 %t41, label %log.j13, label %log.r12 +log.r12: + %t43 = load ptr, ptr %sc_l_b_0 + %t44 = load double, ptr %sc_l_z_0 + %t45 = fsub double %t44, 0x3FF0000000000000 + %t46 = call double @sc_str_char_code_at(ptr %t43, double %t45) + %t47 = fcmp oeq double %t46, 0x4022000000000000 + store i1 %t47, ptr %s42 + br label %log.j13 +log.j13: + %t48 = load i1, ptr %s42 + store i1 %t48, ptr %s36 + br label %log.j11 +log.j11: + %t49 = load i1, ptr %s36 + br i1 %t49, label %loop.b9, label %loop.e7 +loop.b9: + %t50 = load double, ptr %sc_l_z_0 + %t51 = fsub double %t50, 0x3FF0000000000000 + store double %t51, ptr %sc_l_z_0 + br label %loop.c8 +loop.e7: + %t52 = load ptr, ptr %sc_l_b_0 + %t53 = load i32, ptr %sc_l_a_0 + %t54 = sitofp i32 %t53 to double + %t55 = load double, ptr %sc_l_z_0 + %t56 = call ptr @scr_str_slice(ptr %t52, double %t54, double %t55) + ret ptr %t56 +} +define internal ptr @sc_f__x25_m4_trimWs(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_trimWs(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m4_multipartBoundary(ptr %p_sc_l_ct_0) #0 { ; %m4.multipartBoundary +entry: + %sc_l_ct_0 = alloca ptr ; ct + %sc_l_s_0 = alloca ptr ; s + %sc_l_lc_0 = alloca ptr ; lc + %sc_l_parts_0 = alloca ptr ; parts + %sc_l_i_0 = alloca i32 ; i + %sc_l_seg_0 = alloca ptr ; seg + %sc_l_eq_0 = alloca i32 ; eq + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %s27 = alloca ptr + %s60 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s102 = alloca i1 + %s107 = alloca i1 + store ptr null, ptr %sc_l_s_0 + store ptr null, ptr %sc_l_lc_0 + store ptr null, ptr %sc_l_parts_0 + store ptr null, ptr %sc_l_seg_0 + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_ct_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + ret ptr null +if.j3: + %t7 = load ptr, ptr %sc_l_ct_0 + store ptr %t7, ptr %sc_l_s_0 + %t8 = load ptr, ptr %sc_l_s_0 + %t9 = call ptr @scr_str_to_lower(ptr %t8) + store ptr %t9, ptr %sc_l_lc_0 + %t10 = load ptr, ptr %sc_l_lc_0 + %t11 = call double @scr_str_index_of(ptr %t10, ptr @sc_lit_1841737023330611, double 0x0000000000000000) + %t13 = fptosi double %t11 to i32 + %t14 = sext i32 %t13 to i64 + %t12 = icmp ne i64 %t14, 0 + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t15 = load ptr, ptr %sc_l_lc_0 + call void @scr_str_release(ptr %t15) + ret ptr null +if.j5: + %t16 = load ptr, ptr %sc_l_s_0 + %t17 = call ptr @scr_str_split_limit(ptr %t16, ptr @sc_lit_1156138064653313, double 0x41EFFFFFFFE00000) + store ptr %t17, ptr %sc_l_parts_0 + store i32 1, ptr %sc_l_i_0 + br label %loop.c7 +loop.c7: + %t18 = load i32, ptr %sc_l_i_0 + %t19 = uitofp i32 %t18 to double + %t20 = load ptr, ptr %sc_l_parts_0 + %t21 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 1 + %t22 = load i64, ptr %t21, !tbaa !2, !range !{i64 0, i64 4294967296} + %t23 = sitofp i64 %t22 to double + %t25 = fptosi double %t23 to i64 + %t26 = zext i32 %t18 to i64 + %t24 = icmp slt i64 %t26, %t25 + br i1 %t24, label %loop.b8, label %loop.e6 +loop.b8: + %t28 = load ptr, ptr %sc_l_parts_0 + %t29 = load i32, ptr %sc_l_i_0 + %t30 = uitofp i32 %t29 to double + %t31 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 2 + %t32 = load i64, ptr %t31, !tbaa !2 + %t33 = fptosi double %t30 to i64 + %t34 = freeze i64 %t33 + %t35 = sitofp i64 %t34 to double + %t36 = fcmp oeq double %t35, %t30 + %t37 = icmp ult i64 %t34, %t32 + %t38 = and i1 %t36, %t37 + br i1 %t38, label %local.array.range13, label %local.array.slow10 +local.array.range13: + br label %local.array.dense14 +local.array.dense14: + %t39 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 6 + %t40 = load i32, ptr %t39, !tbaa !2 + %t42 = zext i32 %t40 to i64 + %t41 = icmp ult i64 %t34, %t42 + br i1 %t41, label %local.array.value16, label %local.array.len15 +local.array.len15: + %t43 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 1 + %t44 = load i64, ptr %t43, !tbaa !2, !range !{i64 0, i64 4294967296} + %t45 = icmp ult i64 %t34, %t44 + br i1 %t45, label %local.array.state17, label %local.array.missing11 +local.array.state17: + %t46 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 9 + %t47 = load ptr, ptr %t46, !tbaa !2 + %t48 = getelementptr inbounds i8, ptr %t47, i64 %t34 + %t49 = load i8, ptr %t48, !tbaa !4 + %t50 = icmp eq i8 %t49, 1 + br i1 %t50, label %local.array.value16, label %local.array.missing11 +local.array.value16: + %t51 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 8 + %t52 = load ptr, ptr %t51, !tbaa !2 + %t53 = getelementptr inbounds i64, ptr %t52, i64 %t34 + %t54 = load ptr, ptr %t53, !tbaa !6 + %t55 = call ptr @sc_rc_retain_str(ptr %t54) + store ptr %t55, ptr %s27 + br label %local.array.join12 +local.array.slow10: + %t56 = call ptr @scr_arr_peek_ref(ptr %t28, double %t30) + %t57 = icmp ne ptr %t56, null + br i1 %t57, label %local.array.slow.value18, label %local.array.missing11 +local.array.slow.value18: + %t58 = call ptr @sc_rc_retain_str(ptr %t56) + store ptr %t58, ptr %s27 + br label %local.array.join12 +local.array.missing11: + store ptr null, ptr %s27 + br label %local.array.join12 +local.array.join12: + %t59 = load ptr, ptr %s27 + %t62 = icmp eq ptr %t59, null + %t61 = select i1 %t62, i32 1, i32 0 + switch i32 %t61, label %u.bad20 [ i32 0, label %u.a21 i32 1, label %u.a22 ] +u.a21: + %t63 = call ptr @sc_rc_retain_str(ptr %t59) + store ptr %t63, ptr %s60 + br label %us.j19 +u.a22: + store ptr @sc_lit_4134463689533233, ptr %s60 + br label %us.j19 +u.bad20: + call void @sc_bad_tag() + unreachable +us.j19: + %t64 = load ptr, ptr %s60 + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u23, label %exc.k24 +exc.u23: + %t68 = load ptr, ptr %s27 + call void @scr_str_release(ptr %t68) + call void @scr_str_release(ptr %t64) + br label %exc.cleanup25 +exc.k24: + store ptr %t64, ptr %sc_l_seg_0 + %t69 = load ptr, ptr %s27 + call void @scr_str_release(ptr %t69) + %t70 = load ptr, ptr %sc_l_seg_0 + %t71 = call double @scr_str_index_of(ptr %t70, ptr @sc_lit_985787530504786, double 0x0000000000000000) + %t72 = fptosi double %t71 to i32 + store i32 %t72, ptr %sc_l_eq_0 + %t73 = load i32, ptr %sc_l_eq_0 + %t74 = sitofp i32 %t73 to double + %t76 = sext i32 %t73 to i64 + %t75 = icmp slt i64 %t76, 0 + br i1 %t75, label %if.t26, label %if.j27 +if.t26: + %t77 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t77) + br label %loop.u9 +if.j27: + %t78 = load ptr, ptr %sc_l_seg_0 + %t79 = load i32, ptr %sc_l_eq_0 + %t80 = sitofp i32 %t79 to double + %t81 = call ptr @scr_str_slice(ptr %t78, double 0x0000000000000000, double %t80) + %t82 = call ptr @sc_bf__x25_m4_trimWs(ptr %t81) + call void @scr_str_release(ptr %t81) + %t83 = call ptr @scr_str_to_lower(ptr %t82) + store ptr %t83, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t82) + %t84 = load ptr, ptr %sc_l_k_0 + %t85 = call zeroext i1 @sc_streq_2587508618302557(ptr %t84) + br i1 %t85, label %if.t28, label %if.j29 +if.t28: + %t86 = load ptr, ptr %sc_l_seg_0 + %t87 = load i32, ptr %sc_l_eq_0 + %t88 = sitofp i32 %t87 to double + %t90 = sext i32 %t87 to i64 + %t91 = add nsw i64 %t90, 1 + %t93 = trunc i64 %t91 to i32 + %t92 = sitofp i64 %t91 to double + %t94 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t95 = call ptr @scr_str_slice(ptr %t86, double %t92, double %t94) + %t96 = call ptr @sc_bf__x25_m4_trimWs(ptr %t95) + call void @scr_str_release(ptr %t95) + store ptr %t96, ptr %sc_l_v_0 + %t97 = load ptr, ptr %sc_l_v_0 + %t98 = call double @sc_str_utf16_len(ptr %t97) + %t100 = fptosi double %t98 to i32 + %t101 = sext i32 %t100 to i64 + %t99 = icmp sge i64 %t101, 2 + store i1 %t99, ptr %s102 + br i1 %t99, label %log.r30, label %log.j31 +log.r30: + %t103 = load ptr, ptr %sc_l_v_0 + %t104 = call ptr @scr_str_char_at(ptr %t103, double 0x0000000000000000) + %t105 = call zeroext i1 @sc_streq_2431234921623602(ptr %t104) + store i1 %t105, ptr %s102 + call void @scr_str_release(ptr %t104) + br label %log.j31 +log.j31: + %t106 = load i1, ptr %s102 + store i1 %t106, ptr %s107 + br i1 %t106, label %log.r32, label %log.j33 +log.r32: + %t108 = load ptr, ptr %sc_l_v_0 + %t109 = load ptr, ptr %sc_l_v_0 + %t110 = call double @sc_str_utf16_len(ptr %t109) + %t112 = fptosi double %t110 to i32 + %t114 = trunc i64 1 to i32 + %t113 = sub nsw i32 %t112, %t114 + %t115 = sitofp i32 %t113 to double + %t116 = call ptr @scr_str_char_at(ptr %t108, double %t115) + %t117 = call zeroext i1 @sc_streq_2431234921623602(ptr %t116) + store i1 %t117, ptr %s107 + call void @scr_str_release(ptr %t116) + br label %log.j33 +log.j33: + %t118 = load i1, ptr %s107 + br i1 %t118, label %if.t34, label %if.j35 +if.t34: + %t119 = load ptr, ptr %sc_l_v_0 + %t120 = load ptr, ptr %sc_l_v_0 + %t121 = call double @sc_str_utf16_len(ptr %t120) + %t123 = fptosi double %t121 to i32 + %t125 = trunc i64 1 to i32 + %t124 = sub nsw i32 %t123, %t125 + %t126 = sitofp i32 %t124 to double + %t127 = call ptr @scr_str_slice(ptr %t119, double 0x3FF0000000000000, double %t126) + %t128 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t128) + store ptr %t127, ptr %sc_l_v_0 + br label %if.j35 +if.j35: + %t129 = load ptr, ptr %sc_l_v_0 + %t130 = getelementptr inbounds i64, ptr %t129, i32 1 + %t131 = load i64, ptr %t130 + %t132 = icmp eq i64 %t131, 0 + br i1 %t132, label %if.t36, label %if.j37 +if.t36: + %t133 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t133) + %t134 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t134) + %t135 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t135) + %t136 = load ptr, ptr %sc_l_lc_0 + call void @scr_str_release(ptr %t136) + %t137 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t137) + ret ptr null +if.j37: + %t138 = load ptr, ptr %sc_l_v_0 + %t139 = call ptr @sc_rc_retain_str(ptr %t138) + %t140 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t140) + %t141 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t141) + %t142 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t142) + %t143 = load ptr, ptr %sc_l_lc_0 + call void @scr_str_release(ptr %t143) + %t144 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t144) + ret ptr %t139 +if.j29: + %t145 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t145) + %t146 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t146) + br label %loop.u9 +loop.u9: + %t147 = load i32, ptr %sc_l_i_0 + %t148 = uitofp i32 %t147 to double + %t150 = zext i32 %t147 to i64 + %t151 = add nsw i64 %t150, 1 + %t153 = trunc i64 %t151 to i32 + %t152 = sitofp i64 %t151 to double + %t154 = trunc i64 %t151 to i32 + store i32 %t154, ptr %sc_l_i_0 + br label %loop.c7 +loop.e6: + %t155 = load ptr, ptr %sc_l_lc_0 + call void @scr_str_release(ptr %t155) + %t156 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t156) + ret ptr null +exc.cleanup25: + %t157 = load ptr, ptr %sc_l_lc_0 + call void @scr_str_release(ptr %t157) + %t158 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t158) + ret ptr null +} +define internal ptr @sc_f__x25_m4_multipartBoundary(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_multipartBoundary(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m4_basename(ptr %p_sc_l_p_0) #0 { ; %m4.basename +entry: + %sc_l_p_0 = alloca ptr ; p + %sc_l_s_0 = alloca ptr ; s + %sc_l_cut_0 = alloca i32 ; cut + %sc_l_i_0 = alloca i32 ; i + %sc_l_ch_0 = alloca double ; ch + %s16 = alloca i1 + %s20 = alloca i1 + store ptr null, ptr %sc_l_s_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + store ptr %t0, ptr %sc_l_s_0 + store i32 -1, ptr %sc_l_cut_0 + store i32 0, ptr %sc_l_i_0 + br label %loop.c1 +loop.c1: + %t1 = load i32, ptr %sc_l_i_0 + %t2 = sitofp i32 %t1 to double + %t3 = load ptr, ptr %sc_l_s_0 + %t4 = call double @sc_str_utf16_len(ptr %t3) + %t6 = fptosi double %t4 to i32 + %t7 = sext i32 %t1 to i64 + %t8 = sext i32 %t6 to i64 + %t5 = icmp slt i64 %t7, %t8 + br i1 %t5, label %loop.b2, label %loop.e0 +loop.b2: + %t9 = load ptr, ptr %sc_l_s_0 + %t10 = load i32, ptr %sc_l_i_0 + %t11 = sitofp i32 %t10 to double + %t13 = sext i32 %t10 to i64 + %t12 = call double @sc_str_char_code_at_int(ptr %t9, i64 %t13) + store double %t12, ptr %sc_l_ch_0 + %t14 = load double, ptr %sc_l_ch_0 + %t15 = fcmp oeq double %t14, 0x4047800000000000 + store i1 %t15, ptr %s16 + br i1 %t15, label %log.j5, label %log.r4 +log.r4: + %t17 = load double, ptr %sc_l_ch_0 + %t18 = fcmp oeq double %t17, 0x4057000000000000 + store i1 %t18, ptr %s16 + br label %log.j5 +log.j5: + %t19 = load i1, ptr %s16 + store i1 %t19, ptr %s20 + br i1 %t19, label %log.j7, label %log.r6 +log.r6: + %t21 = load double, ptr %sc_l_ch_0 + %t22 = fcmp oeq double %t21, 0x404D000000000000 + store i1 %t22, ptr %s20 + br label %log.j7 +log.j7: + %t23 = load i1, ptr %s20 + br i1 %t23, label %if.t8, label %if.j9 +if.t8: + %t24 = load i32, ptr %sc_l_i_0 + %t25 = sitofp i32 %t24 to double + store i32 %t24, ptr %sc_l_cut_0 + br label %if.j9 +if.j9: + br label %loop.u3 +loop.u3: + %t26 = load i32, ptr %sc_l_i_0 + %t27 = sitofp i32 %t26 to double + %t30 = trunc i64 1 to i32 + %t29 = add nsw i32 %t26, %t30 + %t31 = sitofp i32 %t29 to double + store i32 %t29, ptr %sc_l_i_0 + br label %loop.c1 +loop.e0: + %t32 = load ptr, ptr %sc_l_s_0 + %t33 = load i32, ptr %sc_l_cut_0 + %t34 = sitofp i32 %t33 to double + %t37 = trunc i64 1 to i32 + %t36 = add nsw i32 %t33, %t37 + %t38 = sitofp i32 %t36 to double + %t39 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t40 = call ptr @scr_str_slice(ptr %t32, double %t38, double %t39) + ret ptr %t40 +} +define internal ptr @sc_f__x25_m4_basename(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_basename(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m4_splitParams(ptr %p_sc_l_v_0) #0 { ; %m4.splitParams +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_out_0 = alloca ptr ; out + %sc_l_s_0 = alloca ptr ; s + %sc_l_cur_0 = alloca ptr ; cur + %sc_l_inQ_0 = alloca i1 ; inQ + %sc_l_i_0 = alloca double ; i + %sc_l_ch_0 = alloca double ; ch + %s21 = alloca i1 + %s52 = alloca i1 + %s55 = alloca i1 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_s_0 + store ptr null, ptr %sc_l_cur_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = call ptr @scr_arr_new_small(i32 2) + store ptr %t0, ptr %sc_l_out_0 + %t1 = load ptr, ptr %sc_l_v_0 + store ptr %t1, ptr %sc_l_s_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_cur_0 + store i1 false, ptr %sc_l_inQ_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c1 +loop.c1: + %t2 = load double, ptr %sc_l_i_0 + %t3 = load ptr, ptr %sc_l_s_0 + %t4 = call double @sc_str_utf16_len(ptr %t3) + %t6 = fptosi double %t4 to i32 + %t5 = fcmp olt double %t2, %t4 + br i1 %t5, label %loop.b2, label %loop.e0 +loop.b2: + %t7 = load ptr, ptr %sc_l_s_0 + %t8 = load double, ptr %sc_l_i_0 + %t9 = call double @sc_str_char_code_at(ptr %t7, double %t8) + store double %t9, ptr %sc_l_ch_0 + %t10 = load double, ptr %sc_l_ch_0 + %t11 = fcmp oeq double %t10, 0x4041000000000000 + br i1 %t11, label %if.t4, label %if.f6 +if.t4: + %t12 = load i1, ptr %sc_l_inQ_0 + %t13 = xor i1 %t12, true + store i1 %t13, ptr %sc_l_inQ_0 + %t14 = load ptr, ptr %sc_l_s_0 + %t15 = load double, ptr %sc_l_i_0 + %t16 = call ptr @scr_str_char_at(ptr %t14, double %t15) + %t17 = load ptr, ptr %sc_l_cur_0 + %t18 = call ptr @scr_str_concat_move(ptr %t17, ptr %t16) + store ptr %t18, ptr %sc_l_cur_0 + call void @scr_str_release(ptr %t16) + br label %if.j5 +if.f6: + %t19 = load double, ptr %sc_l_ch_0 + %t20 = fcmp oeq double %t19, 0x404D800000000000 + store i1 %t20, ptr %s21 + br i1 %t20, label %log.r7, label %log.j8 +log.r7: + %t22 = load i1, ptr %sc_l_inQ_0 + %t23 = xor i1 %t22, true + store i1 %t23, ptr %s21 + br label %log.j8 +log.j8: + %t24 = load i1, ptr %s21 + br i1 %t24, label %if.t9, label %if.f11 +if.t9: + %t25 = load ptr, ptr %sc_l_out_0 + %t26 = load ptr, ptr %sc_l_cur_0 + %t27 = call ptr @sc_rc_retain_str(ptr %t26) + %t28 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 1 + %t29 = load i64, ptr %t28, !tbaa !2 + %t32 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 2 + %t30 = load i64, ptr %t32, !tbaa !2 + %t31 = icmp ult i64 %t29, %t30 + br i1 %t31, label %arr.push.dense12, label %arr.push.slow13 +arr.push.dense12: + %t33 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 8 + %t35 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 9 + %t34 = load ptr, ptr %t33, !tbaa !2 + %t36 = load ptr, ptr %t35, !tbaa !2 + %t37 = getelementptr inbounds i8, ptr %t36, i64 %t29 + %t38 = getelementptr inbounds i64, ptr %t34, i64 %t29 + store ptr %t27, ptr %t38, !tbaa !6 + store i8 1, ptr %t37, !tbaa !4 + %t39 = add nuw i64 %t29, 1 + store i64 %t39, ptr %t28, !tbaa !2 + %t41 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 6 + %t42 = load i32, ptr %t41, !tbaa !2 + %t46 = zext i32 %t42 to i64 + %t43 = icmp eq i64 %t46, %t29 + %t44 = add i32 %t42, 1 + %t45 = select i1 %t43, i32 %t44, i32 %t42 + store i32 %t45, ptr %t41, !tbaa !2 + %t40 = sitofp i64 %t39 to double + br label %arr.push.join14 +arr.push.slow13: + %t47 = call double @scr_arr_push_ref(ptr %t25, ptr %t27) cold + br label %arr.push.join14 +arr.push.join14: + %t48 = phi double [ %t40, %arr.push.dense12 ], [ %t47, %arr.push.slow13 ] + %t49 = load ptr, ptr %sc_l_cur_0 + call void @scr_str_release(ptr %t49) + store ptr @sc_lit_4005573543169985, ptr %sc_l_cur_0 + br label %if.j10 +if.f11: + %t50 = load double, ptr %sc_l_ch_0 + %t51 = fcmp oeq double %t50, 0x4057000000000000 + store i1 %t51, ptr %s52 + br i1 %t51, label %log.r15, label %log.j16 +log.r15: + %t53 = load i1, ptr %sc_l_inQ_0 + store i1 %t53, ptr %s52 + br label %log.j16 +log.j16: + %t54 = load i1, ptr %s52 + store i1 %t54, ptr %s55 + br i1 %t54, label %log.r17, label %log.j18 +log.r17: + %t56 = load double, ptr %sc_l_i_0 + %t57 = fadd double %t56, 0x3FF0000000000000 + %t58 = load ptr, ptr %sc_l_s_0 + %t59 = call double @sc_str_utf16_len(ptr %t58) + %t61 = fptosi double %t59 to i32 + %t60 = fcmp olt double %t57, %t59 + store i1 %t60, ptr %s55 + br label %log.j18 +log.j18: + %t62 = load i1, ptr %s55 + br i1 %t62, label %if.t19, label %if.f21 +if.t19: + %t63 = load double, ptr %sc_l_i_0 + %t64 = fadd double %t63, 0x3FF0000000000000 + store double %t64, ptr %sc_l_i_0 + %t65 = load ptr, ptr %sc_l_s_0 + %t66 = load double, ptr %sc_l_i_0 + %t67 = call ptr @scr_str_char_at(ptr %t65, double %t66) + %t68 = load ptr, ptr %sc_l_cur_0 + %t69 = call ptr @scr_str_concat_move(ptr %t68, ptr %t67) + store ptr %t69, ptr %sc_l_cur_0 + call void @scr_str_release(ptr %t67) + br label %if.j20 +if.f21: + %t70 = load ptr, ptr %sc_l_s_0 + %t71 = load double, ptr %sc_l_i_0 + %t72 = call ptr @scr_str_char_at(ptr %t70, double %t71) + %t73 = load ptr, ptr %sc_l_cur_0 + %t74 = call ptr @scr_str_concat_move(ptr %t73, ptr %t72) + store ptr %t74, ptr %sc_l_cur_0 + call void @scr_str_release(ptr %t72) + br label %if.j20 +if.j20: + br label %if.j10 +if.j10: + br label %if.j5 +if.j5: + br label %loop.u3 +loop.u3: + %t75 = load double, ptr %sc_l_i_0 + %t76 = fadd double %t75, 0x3FF0000000000000 + store double %t76, ptr %sc_l_i_0 + br label %loop.c1 +loop.e0: + %t77 = load ptr, ptr %sc_l_out_0 + %t78 = load ptr, ptr %sc_l_cur_0 + %t79 = call ptr @sc_rc_retain_str(ptr %t78) + %t80 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 1 + %t81 = load i64, ptr %t80, !tbaa !2 + %t84 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 2 + %t82 = load i64, ptr %t84, !tbaa !2 + %t83 = icmp ult i64 %t81, %t82 + br i1 %t83, label %arr.push.dense22, label %arr.push.slow23 +arr.push.dense22: + %t85 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 8 + %t87 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 9 + %t86 = load ptr, ptr %t85, !tbaa !2 + %t88 = load ptr, ptr %t87, !tbaa !2 + %t89 = getelementptr inbounds i8, ptr %t88, i64 %t81 + %t90 = getelementptr inbounds i64, ptr %t86, i64 %t81 + store ptr %t79, ptr %t90, !tbaa !6 + store i8 1, ptr %t89, !tbaa !4 + %t91 = add nuw i64 %t81, 1 + store i64 %t91, ptr %t80, !tbaa !2 + %t93 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 6 + %t94 = load i32, ptr %t93, !tbaa !2 + %t98 = zext i32 %t94 to i64 + %t95 = icmp eq i64 %t98, %t81 + %t96 = add i32 %t94, 1 + %t97 = select i1 %t95, i32 %t96, i32 %t94 + store i32 %t97, ptr %t93, !tbaa !2 + %t92 = sitofp i64 %t91 to double + br label %arr.push.join24 +arr.push.slow23: + %t99 = call double @scr_arr_push_ref(ptr %t77, ptr %t79) cold + br label %arr.push.join24 +arr.push.join24: + %t100 = phi double [ %t92, %arr.push.dense22 ], [ %t99, %arr.push.slow23 ] + %t101 = load ptr, ptr %sc_l_out_0 + %t102 = load ptr, ptr %sc_l_cur_0 + call void @scr_str_release(ptr %t102) + ret ptr %t101 +} +define internal ptr @sc_f__x25_m4_splitParams(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_splitParams(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m4_unquote(ptr %p_sc_l_v_0) #0 { ; %m4.unquote +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_s_0 = alloca ptr ; s + %s7 = alloca i1 + %s12 = alloca i1 + store ptr null, ptr %sc_l_s_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = load ptr, ptr %sc_l_v_0 + %t1 = call ptr @sc_bf__x25_m4_trimWs(ptr %t0) + store ptr %t1, ptr %sc_l_s_0 + %t2 = load ptr, ptr %sc_l_s_0 + %t3 = call double @sc_str_utf16_len(ptr %t2) + %t5 = fptosi double %t3 to i32 + %t6 = sext i32 %t5 to i64 + %t4 = icmp sge i64 %t6, 2 + store i1 %t4, ptr %s7 + br i1 %t4, label %log.r0, label %log.j1 +log.r0: + %t8 = load ptr, ptr %sc_l_s_0 + %t9 = call ptr @scr_str_char_at(ptr %t8, double 0x0000000000000000) + %t10 = call zeroext i1 @sc_streq_2431234921623602(ptr %t9) + store i1 %t10, ptr %s7 + call void @scr_str_release(ptr %t9) + br label %log.j1 +log.j1: + %t11 = load i1, ptr %s7 + store i1 %t11, ptr %s12 + br i1 %t11, label %log.r2, label %log.j3 +log.r2: + %t13 = load ptr, ptr %sc_l_s_0 + %t14 = load ptr, ptr %sc_l_s_0 + %t15 = call double @sc_str_utf16_len(ptr %t14) + %t17 = fptosi double %t15 to i32 + %t19 = trunc i64 1 to i32 + %t18 = sub nsw i32 %t17, %t19 + %t20 = sitofp i32 %t18 to double + %t21 = call ptr @scr_str_char_at(ptr %t13, double %t20) + %t22 = call zeroext i1 @sc_streq_2431234921623602(ptr %t21) + store i1 %t22, ptr %s12 + call void @scr_str_release(ptr %t21) + br label %log.j3 +log.j3: + %t23 = load i1, ptr %s12 + br i1 %t23, label %if.t4, label %if.j5 +if.t4: + %t24 = load ptr, ptr %sc_l_s_0 + %t25 = load ptr, ptr %sc_l_s_0 + %t26 = call double @sc_str_utf16_len(ptr %t25) + %t28 = fptosi double %t26 to i32 + %t30 = trunc i64 1 to i32 + %t29 = sub nsw i32 %t28, %t30 + %t31 = sitofp i32 %t29 to double + %t32 = call ptr @scr_str_slice(ptr %t24, double 0x3FF0000000000000, double %t31) + %t33 = load ptr, ptr %sc_l_s_0 + call void @scr_str_release(ptr %t33) + ret ptr %t32 +if.j5: + %t34 = load ptr, ptr %sc_l_s_0 + ret ptr %t34 +} +define internal ptr @sc_f__x25_m4_unquote(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_unquote(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m4_parseDisposition(ptr %p_sc_l_v_0) #0 { ; %m4.parseDisposition +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_out_0 = alloca ptr ; out + %sc_l_segs_0 = alloca ptr ; segs + %sc_l_i_0 = alloca i32 ; i + %sc_l_seg_0 = alloca ptr ; seg + %sc_l_eq_0 = alloca i32 ; eq + %sc_l_k_0 = alloca ptr ; k + %sc_l_val_0 = alloca ptr ; val + %s7 = alloca i64 ; integer induction i + %s14 = alloca ptr + %s44 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_segs_0 + store ptr null, ptr %sc_l_seg_0 + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l_val_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @sc_new__x25_m4_DispositionParams() + call void @sc_bf__x25__x25_m4_DispositionParams_constructor(ptr %t4) + store ptr %t4, ptr %sc_l_out_0 + %t5 = load ptr, ptr %sc_l_v_0 + %t6 = call ptr @sc_bf__x25_m4_splitParams(ptr %t5) + store ptr %t6, ptr %sc_l_segs_0 + %t8 = fptosi double 0x0000000000000000 to i64 + store i64 %t8, ptr %s7 + br label %loop.c3 +loop.c3: + %t9 = load ptr, ptr %sc_l_segs_0 + %t10 = getelementptr inbounds %ScrArr, ptr %t9, i64 0, i32 1 + %t11 = load i64, ptr %t10, !tbaa !2 + %t12 = load i64, ptr %s7 + %t13 = icmp ult i64 %t12, %t11 + br i1 %t13, label %loop.b4, label %loop.e2 +loop.b4: + %t15 = load ptr, ptr %sc_l_segs_0 + %t16 = load i64, ptr %s7 + %t17 = load i64, ptr %s7 + %t18 = sitofp i64 %t17 to double + %t19 = trunc i64 %t17 to i32 + %t20 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 2 + %t21 = load i64, ptr %t20, !tbaa !2 + %t22 = icmp ult i64 %t16, %t21 + br i1 %t22, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t23 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 6 + %t24 = load i32, ptr %t23, !tbaa !2 + %t26 = zext i32 %t24 to i64 + %t25 = icmp ult i64 %t16, %t26 + br i1 %t25, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t27 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 1 + %t28 = load i64, ptr %t27, !tbaa !2, !range !{i64 0, i64 4294967296} + %t29 = icmp ult i64 %t16, %t28 + br i1 %t29, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t30 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 9 + %t31 = load ptr, ptr %t30, !tbaa !2 + %t32 = getelementptr inbounds i8, ptr %t31, i64 %t16 + %t33 = load i8, ptr %t32, !tbaa !4 + %t34 = icmp eq i8 %t33, 1 + br i1 %t34, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t35 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 8 + %t36 = load ptr, ptr %t35, !tbaa !2 + %t37 = getelementptr inbounds i64, ptr %t36, i64 %t16 + %t38 = load ptr, ptr %t37, !tbaa !6 + %t39 = call ptr @sc_rc_retain_str(ptr %t38) + store ptr %t39, ptr %s14 + br label %local.array.join8 +local.array.slow6: + %t40 = call ptr @scr_arr_peek_ref(ptr %t15, double %t18) + %t41 = icmp ne ptr %t40, null + br i1 %t41, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t42 = call ptr @sc_rc_retain_str(ptr %t40) + store ptr %t42, ptr %s14 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %s14 + br label %local.array.join8 +local.array.join8: + %t43 = load ptr, ptr %s14 + %t46 = icmp eq ptr %t43, null + %t45 = select i1 %t46, i32 1, i32 0 + switch i32 %t45, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ] +u.a17: + %t47 = call ptr @sc_rc_retain_str(ptr %t43) + store ptr %t47, ptr %s44 + br label %us.j15 +u.a18: + store ptr @sc_lit_4134463689533233, ptr %s44 + br label %us.j15 +u.bad16: + call void @sc_bad_tag() + unreachable +us.j15: + %t48 = load ptr, ptr %s44 + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u19, label %exc.k20 +exc.u19: + %t52 = load ptr, ptr %s14 + call void @scr_str_release(ptr %t52) + call void @scr_str_release(ptr %t48) + br label %exc.cleanup21 +exc.k20: + %t53 = call ptr @sc_bf__x25_m4_trimWs(ptr %t48) + %t54 = load ptr, ptr %s14 + call void @scr_str_release(ptr %t54) + call void @scr_str_release(ptr %t48) + store ptr %t53, ptr %sc_l_seg_0 + %t55 = load i64, ptr %s7 + %t56 = sitofp i64 %t55 to double + %t57 = trunc i64 %t55 to i32 + %t58 = icmp eq i64 %t55, 0 + br i1 %t58, label %if.t22, label %if.j23 +if.t22: + %t59 = load ptr, ptr %sc_l_out_0 + %t60 = load ptr, ptr %sc_l_seg_0 + %t61 = call ptr @scr_str_to_lower(ptr %t60) + %t62 = call zeroext i1 @sc_streq_3440635113177870(ptr %t61) + %t63 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t59, i64 0, i32 1 + %t64 = zext i1 %t62 to i8 + store i8 %t64, ptr %t63, !tbaa !8 + call void @scr_str_release(ptr %t61) + %t65 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t65) + br label %loop.u5 +if.j23: + %t66 = load ptr, ptr %sc_l_seg_0 + %t67 = call double @scr_str_index_of(ptr %t66, ptr @sc_lit_985787530504786, double 0x0000000000000000) + %t68 = fptosi double %t67 to i32 + store i32 %t68, ptr %sc_l_eq_0 + %t69 = load i32, ptr %sc_l_eq_0 + %t70 = sitofp i32 %t69 to double + %t72 = sext i32 %t69 to i64 + %t71 = icmp slt i64 %t72, 0 + br i1 %t71, label %if.t24, label %if.j25 +if.t24: + %t73 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t73) + br label %loop.u5 +if.j25: + %t74 = load ptr, ptr %sc_l_seg_0 + %t75 = load i32, ptr %sc_l_eq_0 + %t76 = sitofp i32 %t75 to double + %t77 = call ptr @scr_str_slice(ptr %t74, double 0x0000000000000000, double %t76) + %t78 = call ptr @sc_bf__x25_m4_trimWs(ptr %t77) + call void @scr_str_release(ptr %t77) + %t79 = call ptr @scr_str_to_lower(ptr %t78) + store ptr %t79, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t78) + %t80 = load ptr, ptr %sc_l_seg_0 + %t81 = load i32, ptr %sc_l_eq_0 + %t82 = sitofp i32 %t81 to double + %t84 = sext i32 %t81 to i64 + %t85 = add nsw i64 %t84, 1 + %t87 = trunc i64 %t85 to i32 + %t86 = sitofp i64 %t85 to double + %t88 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t89 = call ptr @scr_str_slice(ptr %t80, double %t86, double %t88) + %t90 = call ptr @sc_bf__x25_m4_unquote(ptr %t89) + call void @scr_str_release(ptr %t89) + store ptr %t90, ptr %sc_l_val_0 + %t91 = load ptr, ptr %sc_l_k_0 + %t92 = call zeroext i1 @sc_streq_2298207874780604(ptr %t91) + br i1 %t92, label %if.t26, label %if.f28 +if.t26: + %t93 = load ptr, ptr %sc_l_out_0 + %t94 = load ptr, ptr %sc_l_val_0 + %t95 = call ptr @sc_rc_retain_str(ptr %t94) + %t96 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t93, i64 0, i32 2 + %t97 = load ptr, ptr %t96 + store ptr %t95, ptr %t96, !tbaa !10 + call void @scr_str_release(ptr %t97) + br label %if.j27 +if.f28: + %t98 = load ptr, ptr %sc_l_k_0 + %t99 = call zeroext i1 @sc_streq_4388468866828680(ptr %t98) + br i1 %t99, label %if.t29, label %if.j30 +if.t29: + %t100 = load ptr, ptr %sc_l_out_0 + %t101 = load ptr, ptr %sc_l_val_0 + %t102 = call ptr @sc_rc_retain_str(ptr %t101) + %t103 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t100, i64 0, i32 3 + %t104 = load ptr, ptr %t103 + store ptr %t102, ptr %t103, !tbaa !12 + call void @scr_str_release(ptr %t104) + br label %if.j30 +if.j30: + br label %if.j27 +if.j27: + %t105 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t105) + %t106 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t106) + %t107 = load ptr, ptr %sc_l_val_0 + call void @scr_str_release(ptr %t107) + br label %loop.u5 +loop.u5: + %t108 = load i64, ptr %s7 + %t109 = add nuw i64 %t108, 1 + store i64 %t109, ptr %s7 + br label %loop.c3 +loop.e2: + %t110 = load ptr, ptr %sc_l_out_0 + %t111 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t111) + ret ptr %t110 +exc.cleanup21: + %t112 = load ptr, ptr %sc_l_out_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t112) + %t113 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t113) + ret ptr null +} +define internal ptr @sc_f__x25_m4_parseDisposition(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m4_parseDisposition(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m5_copyHeaders(ptr %p_sc_l_src_0) #0 { ; %m5.copyHeaders +entry: + %sc_l_src_0 = alloca ptr ; src + %sc_l_out_0 = alloca ptr ; out + %sc_l__x25_indyn_0 = alloca ptr ; %indyn + %sc_l__x25_instable_0 = alloca i1 ; %instable + %sc_l_k_0 = alloca ptr ; k + %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver + %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey + %sc_l_v_0 = alloca ptr ; v + %s9 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s25 = alloca double + %s62 = alloca i1 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l__x25_indyn_0 + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l__x25_ownReceiver_0 + store ptr null, ptr %sc_l__x25_ownKey_0 + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_src_0, ptr %sc_l_src_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @sc_rnew_r0() + store ptr %t4, ptr %sc_l_out_0 + %t5 = load ptr, ptr %sc_l_src_0 + %t6 = getelementptr inbounds i8, ptr %t5, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 6 + store i1 %t8, ptr %s9 + br i1 %t8, label %log.j3, label %log.r2 +log.r2: + %t10 = load ptr, ptr %sc_l_src_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 0 + store i1 %t13, ptr %s9 + br label %log.j3 +log.j3: + %t14 = load i1, ptr %s9 + br i1 %t14, label %if.t4, label %if.j5 +if.t4: + %t15 = load ptr, ptr %sc_l_out_0 + ret ptr %t15 +if.j5: + %t16 = load ptr, ptr %sc_l_src_0 + store ptr %t16, ptr %sc_l__x25_indyn_0 + %t17 = load ptr, ptr %sc_l__x25_indyn_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call zeroext i1 @scr_dyn_for_in_stable(ptr %t18) + store i1 %t19, ptr %sc_l__x25_instable_0 + call void @sc_rc_release_dyn(ptr %t18) + %t20 = load ptr, ptr %sc_l__x25_indyn_0 + %t21 = call ptr @sc_bf__x25_dyn_class_forInKeyStrings(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup8 +exc.k7: + store double 0x0000000000000000, ptr %s25 + br label %fof.c9 +fof.c9: + %t27 = load double, ptr %s25 + %t28 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1 + %t29 = load i64, ptr %t28, !tbaa !2, !range !{i64 0, i64 4294967296} + %t30 = sitofp i64 %t29 to double + %t26 = fcmp olt double %t27, %t30 + br i1 %t26, label %fof.b10, label %fof.e12 +fof.b10: + %t31 = fptosi double %t27 to i64 + %t33 = freeze i64 %t31 + %t32 = sitofp i64 %t33 to double + %t34 = fcmp oeq double %t32, %t27 + %t39 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 8 + %t40 = load ptr, ptr %t39, !tbaa !2 + %t35 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1 + %t36 = load i64, ptr %t35, !tbaa !2, !range !{i64 0, i64 4294967296} + %t37 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 2 + %t38 = load i64, ptr %t37, !tbaa !2 + %t41 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 9 + %t42 = load ptr, ptr %t41, !tbaa !2 + %t43 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 6 + %t44 = load i32, ptr %t43, !tbaa !2 + %t45 = zext i32 %t44 to i64 + %t46 = icmp ult i64 %t33, %t45 + %t47 = and i1 %t34, %t46 + br i1 %t47, label %arr.get.value15, label %arr.check16 +arr.check16: + %t48 = icmp ult i64 %t33, %t38 + %t49 = icmp ult i64 %t33, %t36 + %t50 = and i1 %t34, %t48 + %t51 = and i1 %t50, %t49 + br i1 %t51, label %arr.dense17, label %arr.get.slow13 +arr.dense17: + %t52 = getelementptr inbounds i8, ptr %t42, i64 %t33 + %t53 = load i8, ptr %t52, !tbaa !4 + %t54 = icmp eq i8 %t53, 1 + br i1 %t54, label %arr.get.value15, label %arr.get.slow13 +arr.get.value15: + %t55 = getelementptr inbounds i64, ptr %t40, i64 %t33 + %t56 = load ptr, ptr %t55, !tbaa !6 + %t57 = icmp ne ptr %t56, null + br i1 %t57, label %arr.get.ref18, label %arr.get.slow13 +arr.get.ref18: + %t58 = call ptr @sc_rc_retain_str(ptr %t56) + br label %arr.get.join14 +arr.get.slow13: + %t59 = call ptr @scr_arr_get_ref(ptr %t21, double %t27) cold + br label %arr.get.join14 +arr.get.join14: + %t60 = phi ptr [ %t58, %arr.get.ref18 ], [ %t59, %arr.get.slow13 ] + store ptr %t60, ptr %sc_l_k_0 + %t61 = load i1, ptr %sc_l__x25_instable_0 + br i1 %t61, label %tern.t19, label %tern.f20 +tern.t19: + store i1 true, ptr %s62 + br label %tern.j21 +tern.f20: + %t63 = load ptr, ptr %sc_l__x25_indyn_0 + %t64 = load ptr, ptr %sc_l_k_0 + %t65 = call i1 @sc_bf__x25_dyn_class_forInHasKey(ptr %t63, ptr %t64) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup24 +exc.k23: + store i1 %t65, ptr %s62 + br label %tern.j21 +tern.j21: + %t69 = load i1, ptr %s62 + br i1 %t69, label %if.t25, label %if.j26 +if.t25: + %t70 = load ptr, ptr %sc_l_src_0 + store ptr %t70, ptr %sc_l__x25_ownReceiver_0 + %t71 = load ptr, ptr %sc_l_k_0 + store ptr %t71, ptr %sc_l__x25_ownKey_0 + %t72 = load ptr, ptr %sc_l__x25_ownReceiver_0 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + %t74 = load ptr, ptr %sc_l__x25_ownKey_0 + %t75 = call ptr @sc_rc_retain_str(ptr %t74) + %t76 = call zeroext i1 @scr_dyn_has_own(ptr %t73, ptr %t75) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t73) + call void @scr_str_release(ptr %t75) + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup24 +exc.k28: + call void @sc_rc_release_dyn(ptr %t73) + call void @scr_str_release(ptr %t75) + br i1 %t76, label %if.t29, label %if.j30 +if.t29: + %t80 = load ptr, ptr %sc_l_src_0 + %t81 = call ptr @sc_rc_retain_dyn(ptr %t80) + %t82 = load ptr, ptr %sc_l_k_0 + %t83 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t81, ptr %t82) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t83) + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup24 +exc.k32: + store ptr %t83, ptr %sc_l_v_0 + %t87 = load ptr, ptr %sc_l_v_0 + %t88 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind + %t89 = load i32, ptr %t88 + %t90 = icmp eq i32 %t89, 3 + br i1 %t90, label %if.t33, label %if.j34 +if.t33: + %t91 = load ptr, ptr %sc_l_out_0 + %t92 = call ptr @sc_rretain_r0(ptr %t91) + %t93 = load ptr, ptr %sc_l_k_0 + %t94 = call ptr @scr_str_to_lower(ptr %t93) + %t95 = load ptr, ptr %sc_l_v_0 + %t96 = call ptr @sc_dc_0(ptr %t95, ptr null) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rrelease_r0(ptr %t92) + call void @scr_str_release(ptr %t94) + call void @scr_str_release(ptr %t96) + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup37 +exc.k36: + %t100 = getelementptr inbounds %sc_rs_r0, ptr %t92, i64 0, i32 1 + %t101 = load ptr, ptr %t100 + call void @scr_map_set_str_ref(ptr %t101, ptr %t94, ptr %t96) + br label %rks.j38 +rks.j38: + call void @sc_rrelease_r0(ptr %t92) + call void @scr_str_release(ptr %t94) + br label %if.j34 +if.j34: + %t102 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t102) + br label %if.j30 +if.j30: + br label %if.j26 +if.j26: + %t103 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t103) + br label %fof.u11 +fof.u11: + %t104 = load double, ptr %s25 + %t105 = fadd double %t104, 0x3FF0000000000000 + store double %t105, ptr %s25 + br label %fof.c9 +fof.e12: + call void @scr_arr_release(ptr %t21) + %t106 = load ptr, ptr %sc_l_out_0 + ret ptr %t106 +exc.cleanup8: + %t107 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r0(ptr %t107) + ret ptr null +exc.cleanup24: + %t108 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t108) + %t109 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r0(ptr %t109) + ret ptr null +exc.cleanup37: + %t110 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t110) + %t111 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t111) + %t112 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r0(ptr %t112) + ret ptr null +} +define internal ptr @sc_f__x25_m5_copyHeaders(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_copyHeaders(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m5_copyHeadersDistinct(ptr %p_sc_l_src_0) #0 { ; %m5.copyHeadersDistinct +entry: + %sc_l_src_0 = alloca ptr ; src + %sc_l_out_0 = alloca ptr ; out + %sc_l__x25_indyn_0 = alloca ptr ; %indyn + %sc_l__x25_instable_0 = alloca i1 ; %instable + %sc_l_k_0 = alloca ptr ; k + %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver + %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey + %sc_l_v_0 = alloca ptr ; v + %s9 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s25 = alloca double + %s62 = alloca i1 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l__x25_indyn_0 + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l__x25_ownReceiver_0 + store ptr null, ptr %sc_l__x25_ownKey_0 + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_src_0, ptr %sc_l_src_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @sc_rnew_r3() + store ptr %t4, ptr %sc_l_out_0 + %t5 = load ptr, ptr %sc_l_src_0 + %t6 = getelementptr inbounds i8, ptr %t5, i64 8 ; ->kind + %t7 = load i32, ptr %t6 + %t8 = icmp eq i32 %t7, 6 + store i1 %t8, ptr %s9 + br i1 %t8, label %log.j3, label %log.r2 +log.r2: + %t10 = load ptr, ptr %sc_l_src_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 0 + store i1 %t13, ptr %s9 + br label %log.j3 +log.j3: + %t14 = load i1, ptr %s9 + br i1 %t14, label %if.t4, label %if.j5 +if.t4: + %t15 = load ptr, ptr %sc_l_out_0 + ret ptr %t15 +if.j5: + %t16 = load ptr, ptr %sc_l_src_0 + store ptr %t16, ptr %sc_l__x25_indyn_0 + %t17 = load ptr, ptr %sc_l__x25_indyn_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call zeroext i1 @scr_dyn_for_in_stable(ptr %t18) + store i1 %t19, ptr %sc_l__x25_instable_0 + call void @sc_rc_release_dyn(ptr %t18) + %t20 = load ptr, ptr %sc_l__x25_indyn_0 + %t21 = call ptr @sc_bf__x25_dyn_class_forInKeyStrings(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup8 +exc.k7: + store double 0x0000000000000000, ptr %s25 + br label %fof.c9 +fof.c9: + %t27 = load double, ptr %s25 + %t28 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1 + %t29 = load i64, ptr %t28, !tbaa !2, !range !{i64 0, i64 4294967296} + %t30 = sitofp i64 %t29 to double + %t26 = fcmp olt double %t27, %t30 + br i1 %t26, label %fof.b10, label %fof.e12 +fof.b10: + %t31 = fptosi double %t27 to i64 + %t33 = freeze i64 %t31 + %t32 = sitofp i64 %t33 to double + %t34 = fcmp oeq double %t32, %t27 + %t39 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 8 + %t40 = load ptr, ptr %t39, !tbaa !2 + %t35 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1 + %t36 = load i64, ptr %t35, !tbaa !2, !range !{i64 0, i64 4294967296} + %t37 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 2 + %t38 = load i64, ptr %t37, !tbaa !2 + %t41 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 9 + %t42 = load ptr, ptr %t41, !tbaa !2 + %t43 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 6 + %t44 = load i32, ptr %t43, !tbaa !2 + %t45 = zext i32 %t44 to i64 + %t46 = icmp ult i64 %t33, %t45 + %t47 = and i1 %t34, %t46 + br i1 %t47, label %arr.get.value15, label %arr.check16 +arr.check16: + %t48 = icmp ult i64 %t33, %t38 + %t49 = icmp ult i64 %t33, %t36 + %t50 = and i1 %t34, %t48 + %t51 = and i1 %t50, %t49 + br i1 %t51, label %arr.dense17, label %arr.get.slow13 +arr.dense17: + %t52 = getelementptr inbounds i8, ptr %t42, i64 %t33 + %t53 = load i8, ptr %t52, !tbaa !4 + %t54 = icmp eq i8 %t53, 1 + br i1 %t54, label %arr.get.value15, label %arr.get.slow13 +arr.get.value15: + %t55 = getelementptr inbounds i64, ptr %t40, i64 %t33 + %t56 = load ptr, ptr %t55, !tbaa !6 + %t57 = icmp ne ptr %t56, null + br i1 %t57, label %arr.get.ref18, label %arr.get.slow13 +arr.get.ref18: + %t58 = call ptr @sc_rc_retain_str(ptr %t56) + br label %arr.get.join14 +arr.get.slow13: + %t59 = call ptr @scr_arr_get_ref(ptr %t21, double %t27) cold + br label %arr.get.join14 +arr.get.join14: + %t60 = phi ptr [ %t58, %arr.get.ref18 ], [ %t59, %arr.get.slow13 ] + store ptr %t60, ptr %sc_l_k_0 + %t61 = load i1, ptr %sc_l__x25_instable_0 + br i1 %t61, label %tern.t19, label %tern.f20 +tern.t19: + store i1 true, ptr %s62 + br label %tern.j21 +tern.f20: + %t63 = load ptr, ptr %sc_l__x25_indyn_0 + %t64 = load ptr, ptr %sc_l_k_0 + %t65 = call i1 @sc_bf__x25_dyn_class_forInHasKey(ptr %t63, ptr %t64) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup24 +exc.k23: + store i1 %t65, ptr %s62 + br label %tern.j21 +tern.j21: + %t69 = load i1, ptr %s62 + br i1 %t69, label %if.t25, label %if.j26 +if.t25: + %t70 = load ptr, ptr %sc_l_src_0 + store ptr %t70, ptr %sc_l__x25_ownReceiver_0 + %t71 = load ptr, ptr %sc_l_k_0 + store ptr %t71, ptr %sc_l__x25_ownKey_0 + %t72 = load ptr, ptr %sc_l__x25_ownReceiver_0 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + %t74 = load ptr, ptr %sc_l__x25_ownKey_0 + %t75 = call ptr @sc_rc_retain_str(ptr %t74) + %t76 = call zeroext i1 @scr_dyn_has_own(ptr %t73, ptr %t75) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t73) + call void @scr_str_release(ptr %t75) + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup24 +exc.k28: + call void @sc_rc_release_dyn(ptr %t73) + call void @scr_str_release(ptr %t75) + br i1 %t76, label %if.t29, label %if.j30 +if.t29: + %t80 = load ptr, ptr %sc_l_src_0 + %t81 = call ptr @sc_rc_retain_dyn(ptr %t80) + %t82 = load ptr, ptr %sc_l_k_0 + %t83 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t81, ptr %t82) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t83) + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup24 +exc.k32: + store ptr %t83, ptr %sc_l_v_0 + %t87 = load ptr, ptr %sc_l_v_0 + %t88 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind + %t89 = load i32, ptr %t88 + %t90 = icmp eq i32 %t89, 4 + %t91 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t87) + %t92 = or i1 %t90, %t91 + br i1 %t92, label %if.t33, label %if.j34 +if.t33: + %t93 = load ptr, ptr %sc_l_out_0 + %t94 = call ptr @sc_rretain_r3(ptr %t93) + %t95 = load ptr, ptr %sc_l_k_0 + %t96 = call ptr @scr_str_to_lower(ptr %t95) + %t97 = load ptr, ptr %sc_l_v_0 + %t98 = call ptr @sc_dc_1(ptr %t97, ptr null) + %t99 = load i32, ptr %exc.cell + %t100 = icmp ne i32 %t99, 0 + %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false) + br i1 %t101, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rrelease_r3(ptr %t94) + call void @scr_str_release(ptr %t96) + call void @scr_arr_release(ptr %t98) + call void @scr_arr_release(ptr %t21) + br label %exc.cleanup37 +exc.k36: + %t102 = getelementptr inbounds %sc_rs_r3, ptr %t94, i64 0, i32 1 + %t103 = load ptr, ptr %t102 + call void @scr_map_set_str_ref(ptr %t103, ptr %t96, ptr %t98) + br label %rks.j38 +rks.j38: + call void @sc_rrelease_r3(ptr %t94) + call void @scr_str_release(ptr %t96) + br label %if.j34 +if.j34: + %t104 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t104) + br label %if.j30 +if.j30: + br label %if.j26 +if.j26: + %t105 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t105) + br label %fof.u11 +fof.u11: + %t106 = load double, ptr %s25 + %t107 = fadd double %t106, 0x3FF0000000000000 + store double %t107, ptr %s25 + br label %fof.c9 +fof.e12: + call void @scr_arr_release(ptr %t21) + %t108 = load ptr, ptr %sc_l_out_0 + ret ptr %t108 +exc.cleanup8: + %t109 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r3(ptr %t109) + ret ptr null +exc.cleanup24: + %t110 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t110) + %t111 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r3(ptr %t111) + ret ptr null +exc.cleanup37: + %t112 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t112) + %t113 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t113) + %t114 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r3(ptr %t114) + ret ptr null +} +define internal ptr @sc_f__x25_m5_copyHeadersDistinct(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_copyHeadersDistinct(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal i32 @sc_bf__x25_m5_bodyFlag.i32(ptr %p_sc_l_opts_0) #0 { ; %m5.bodyFlag +entry: + %sc_l_opts_0 = alloca ptr ; opts + %s3 = alloca i1 + %s13 = alloca %ScrUnion + %s19 = alloca i1 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = load ptr, ptr %sc_l_opts_0 + %t2 = icmp eq ptr %t0, null + store i1 %t2, ptr %s3 + br i1 %t2, label %log.j1, label %log.r0 +log.r0: + store i1 false, ptr %s3 + br label %log.j1 +log.j1: + %t4 = load i1, ptr %s3 + br i1 %t4, label %if.t2, label %if.j3 +if.t2: + ret i32 0 +if.j3: + %t5 = load ptr, ptr %sc_l_opts_0 + %t6 = getelementptr inbounds %sc_rs_r7, ptr %t5, i64 0, i32 1 + %t7 = getelementptr inbounds { i32, i64 }, ptr %t6, i32 0, i32 0 + %t9 = load i32, ptr %t7 + %t8 = getelementptr inbounds { i32, i64 }, ptr %t6, i32 0, i32 1 + %t10 = load i64, ptr %t8 + %t11 = icmp eq i32 %t9, 1 + %t12 = select i1 %t11, i64 0, i64 %t10 + store i64 -1, ptr %s13 + %t14 = getelementptr inbounds %ScrUnion, ptr %s13, i64 0, i32 1 + store i32 %t9, ptr %t14 + %t15 = getelementptr inbounds %ScrUnion, ptr %s13, i64 0, i32 5 + store i64 %t12, ptr %t15 + %t17 = getelementptr inbounds %ScrUnion, ptr %s13, i64 0, i32 1 + %t16 = load i32, ptr %t17 + %t18 = icmp eq i32 %t16, 0 + store i1 false, ptr %s19 + br i1 %t18, label %ueq.s4, label %ueq.j5 +ueq.s4: + %t21 = call zeroext i1 @scr_union_get_bool(ptr %s13) + %t20 = icmp eq i1 %t21, true + store i1 %t20, ptr %s19 + br label %ueq.j5 +ueq.j5: + %t22 = load i1, ptr %s19 + br i1 %t22, label %if.t6, label %if.j7 +if.t6: + ret i32 1 +if.j7: + ret i32 0 +} +define internal double @sc_bf__x25_m5_bodyFlag(ptr %p0) #0 { +entry: + %r = call i32 @sc_bf__x25_m5_bodyFlag.i32(ptr %p0) + %d = sitofp i32 %r to double + ret double %d +} +define internal double @sc_f__x25_m5_bodyFlag(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25_m5_bodyFlag(ptr %p0) + call void @sc_rrelease_r7(ptr %p0) + ret double %result +} + +define internal double @sc_bf__x25_m5_optNum(ptr %p_sc_l_v_0) #0 { ; %m5.optNum +entry: + %sc_l_v_0 = alloca ptr ; v + %s4 = alloca i1 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = load ptr, ptr %sc_l_v_0 + %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1 + %t2 = load i32, ptr %t3 + %t1 = icmp eq i32 %t2, 1 + store i1 %t1, ptr %s4 + br i1 %t1, label %log.j1, label %log.r0 +log.r0: + store i1 false, ptr %s4 + br label %log.j1 +log.j1: + %t5 = load i1, ptr %s4 + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + ret double 0x0000000000000000 +if.j3: + %t6 = load ptr, ptr %sc_l_v_0 + %t7 = getelementptr inbounds %ScrUnion, ptr %t6, i64 0, i32 5 + %t8 = load double, ptr %t7 + ret double %t8 +} +define internal double @sc_f__x25_m5_optNum(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25_m5_optNum(ptr %p0) + call void @scr_union_release(ptr %p0) + ret double %result +} + +define internal ptr @sc_bf__x25_m5_resolveMp(ptr %p_sc_l_opts_0) #0 { ; %m5.resolveMp +entry: + %sc_l_opts_0 = alloca ptr ; opts + %sc_l_out_0 = alloca ptr ; out + %sc_l_m_0 = alloca ptr ; m + %s4 = alloca i1 + %s15 = alloca i1 + %s26 = alloca %ScrUnion + %s32 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s52 = alloca i1 + %s67 = alloca ptr + %s86 = alloca %ScrUnion + %s100 = alloca %ScrUnion + %s114 = alloca %ScrUnion + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_m_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @sc_new__x25_m5_MpCfg() + call void @sc_bf__x25__x25_m5_MpCfg_constructor(ptr %t0) + store ptr %t0, ptr %sc_l_out_0 + %t1 = load ptr, ptr %sc_l_opts_0 + %t3 = icmp eq ptr %t1, null + store i1 %t3, ptr %s4 + br i1 %t3, label %log.j1, label %log.r0 +log.r0: + store i1 false, ptr %s4 + br label %log.j1 +log.j1: + %t5 = load i1, ptr %s4 + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_out_0 + ret ptr %t6 +if.j3: + %t7 = load ptr, ptr %sc_l_opts_0 + %t8 = getelementptr inbounds %sc_rs_r7, ptr %t7, i64 0, i32 2 + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_nullable_absent + %t11 = select i1 %t10, ptr null, ptr %t9 + store ptr %t11, ptr %sc_l_m_0 + %t12 = load ptr, ptr %sc_l_m_0 + %t14 = icmp eq ptr %t12, null + store i1 %t14, ptr %s15 + br i1 %t14, label %log.j5, label %log.r4 +log.r4: + store i1 false, ptr %s15 + br label %log.j5 +log.j5: + %t16 = load i1, ptr %s15 + br i1 %t16, label %if.t6, label %if.j7 +if.t6: + %t17 = load ptr, ptr %sc_l_out_0 + ret ptr %t17 +if.j7: + %t18 = load ptr, ptr %sc_l_opts_0 + %t19 = getelementptr inbounds %sc_rs_r7, ptr %t18, i64 0, i32 1 + %t20 = getelementptr inbounds { i32, i64 }, ptr %t19, i32 0, i32 0 + %t22 = load i32, ptr %t20 + %t21 = getelementptr inbounds { i32, i64 }, ptr %t19, i32 0, i32 1 + %t23 = load i64, ptr %t21 + %t24 = icmp eq i32 %t22, 1 + %t25 = select i1 %t24, i64 0, i64 %t23 + store i64 -1, ptr %s26 + %t27 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1 + store i32 %t22, ptr %t27 + %t28 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 5 + store i64 %t25, ptr %t28 + %t30 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1 + %t29 = load i32, ptr %t30 + %t31 = icmp eq i32 %t29, 0 + store i1 false, ptr %s32 + br i1 %t31, label %ueq.s8, label %ueq.j9 +ueq.s8: + %t34 = call zeroext i1 @scr_union_get_bool(ptr %s26) + %t33 = icmp eq i1 %t34, true + store i1 %t33, ptr %s32 + br label %ueq.j9 +ueq.j9: + %t35 = load i1, ptr %s32 + br i1 %t35, label %if.t10, label %if.j11 +if.t10: + %t36 = call ptr @sc_td_0(ptr @sc_lit_1429160018462538) + %t38 = call ptr @scr_dyn_undefined() + %t37 = call ptr @scr_dyn_retain_v(ptr %t38) + %t39 = call ptr @scr_error_new_options(i32 0, ptr %t36, ptr %t37) + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t37) + call void @scr_error_release(ptr %t39) + br label %exc.cleanup14 +exc.k13: + call void @scr_throw_obj(ptr %t39, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t37) + br label %exc.cleanup14 +if.j11: + %t43 = load ptr, ptr %sc_l_out_0 + %t44 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t43, i64 0, i32 1 + store double 0x3FF0000000000000, ptr %t44, !tbaa !14 + %t45 = load ptr, ptr %sc_l_m_0 + %t46 = getelementptr inbounds %sc_rs_r6, ptr %t45, i64 0, i32 4 + %t47 = load ptr, ptr %t46 + %t48 = icmp eq ptr %t47, @sc_nullable_absent + %t49 = select i1 %t48, ptr null, ptr %t47 + %t51 = icmp eq ptr %t49, null + store i1 %t51, ptr %s52 + br i1 %t51, label %log.j16, label %log.r15 +log.r15: + store i1 false, ptr %s52 + br label %log.j16 +log.j16: + %t53 = load i1, ptr %s52 + br i1 %t53, label %if.t17, label %if.f19 +if.t17: + %t54 = load ptr, ptr %sc_l_out_0 + %t55 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + %t56 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t55) + %t57 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t54, i64 0, i32 2 + %t58 = load ptr, ptr %t57 + store ptr %t56, ptr %t57, !tbaa !16 + call void @sc_release__x25_m4_MultipartStorage(ptr %t58) + br label %if.j18 +if.f19: + %t59 = load ptr, ptr %sc_l_out_0 + %t60 = load ptr, ptr %sc_l_m_0 + %t61 = getelementptr inbounds %sc_rs_r6, ptr %t60, i64 0, i32 4 + %t62 = load ptr, ptr %t61 + %t63 = icmp eq ptr %t62, @sc_nullable_absent + %t64 = select i1 %t63, ptr null, ptr %t62 + %t66 = icmp ne ptr %t64, null + br i1 %t66, label %tern.t20, label %tern.f21 +tern.t20: + %t68 = load ptr, ptr %sc_l_m_0 + %t69 = getelementptr inbounds %sc_rs_r6, ptr %t68, i64 0, i32 4 + %t70 = load ptr, ptr %t69 + %t71 = icmp eq ptr %t70, @sc_nullable_absent + %t72 = select i1 %t71, ptr null, ptr %t70 + %t73 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t72) + store ptr %t73, ptr %s67 + br label %tern.j22 +tern.f21: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup14 +exc.dead23: + store ptr null, ptr %s67 + br label %tern.j22 +tern.j22: + %t74 = load ptr, ptr %s67 + %t75 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t59, i64 0, i32 2 + %t76 = load ptr, ptr %t75 + store ptr %t74, ptr %t75, !tbaa !16 + call void @sc_release__x25_m4_MultipartStorage(ptr %t76) + br label %if.j18 +if.j18: + %t77 = load ptr, ptr %sc_l_out_0 + %t78 = load ptr, ptr %sc_l_m_0 + %t79 = getelementptr inbounds %sc_rs_r6, ptr %t78, i64 0, i32 2 + %t80 = getelementptr inbounds { i32, i64 }, ptr %t79, i32 0, i32 0 + %t82 = load i32, ptr %t80 + %t81 = getelementptr inbounds { i32, i64 }, ptr %t79, i32 0, i32 1 + %t83 = load i64, ptr %t81 + %t84 = icmp eq i32 %t82, 1 + %t85 = select i1 %t84, i64 0, i64 %t83 + store i64 -1, ptr %s86 + %t87 = getelementptr inbounds %ScrUnion, ptr %s86, i64 0, i32 1 + store i32 %t82, ptr %t87 + %t88 = getelementptr inbounds %ScrUnion, ptr %s86, i64 0, i32 5 + store i64 %t85, ptr %t88 + %t89 = call double @sc_bf__x25_m5_optNum(ptr %s86) + %t90 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t77, i64 0, i32 3 + store double %t89, ptr %t90, !tbaa !18 + %t91 = load ptr, ptr %sc_l_out_0 + %t92 = load ptr, ptr %sc_l_m_0 + %t93 = getelementptr inbounds %sc_rs_r6, ptr %t92, i64 0, i32 3 + %t94 = getelementptr inbounds { i32, i64 }, ptr %t93, i32 0, i32 0 + %t96 = load i32, ptr %t94 + %t95 = getelementptr inbounds { i32, i64 }, ptr %t93, i32 0, i32 1 + %t97 = load i64, ptr %t95 + %t98 = icmp eq i32 %t96, 1 + %t99 = select i1 %t98, i64 0, i64 %t97 + store i64 -1, ptr %s100 + %t101 = getelementptr inbounds %ScrUnion, ptr %s100, i64 0, i32 1 + store i32 %t96, ptr %t101 + %t102 = getelementptr inbounds %ScrUnion, ptr %s100, i64 0, i32 5 + store i64 %t99, ptr %t102 + %t103 = call double @sc_bf__x25_m5_optNum(ptr %s100) + %t104 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t91, i64 0, i32 4 + store double %t103, ptr %t104, !tbaa !20 + %t105 = load ptr, ptr %sc_l_out_0 + %t106 = load ptr, ptr %sc_l_m_0 + %t107 = getelementptr inbounds %sc_rs_r6, ptr %t106, i64 0, i32 1 + %t108 = getelementptr inbounds { i32, i64 }, ptr %t107, i32 0, i32 0 + %t110 = load i32, ptr %t108 + %t109 = getelementptr inbounds { i32, i64 }, ptr %t107, i32 0, i32 1 + %t111 = load i64, ptr %t109 + %t112 = icmp eq i32 %t110, 1 + %t113 = select i1 %t112, i64 0, i64 %t111 + store i64 -1, ptr %s114 + %t115 = getelementptr inbounds %ScrUnion, ptr %s114, i64 0, i32 1 + store i32 %t110, ptr %t115 + %t116 = getelementptr inbounds %ScrUnion, ptr %s114, i64 0, i32 5 + store i64 %t113, ptr %t116 + %t117 = call double @sc_bf__x25_m5_optNum(ptr %s114) + %t118 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t105, i64 0, i32 5 + store double %t117, ptr %t118, !tbaa !22 + %t119 = load ptr, ptr %sc_l_out_0 + ret ptr %t119 +exc.cleanup14: + %t120 = load ptr, ptr %sc_l_out_0 + call void @sc_release__x25_m5_MpCfg(ptr %t120) + ret ptr null +} +define internal ptr @sc_f__x25_m5_resolveMp(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_resolveMp(ptr %p0) + call void @sc_rrelease_r7(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_m5_bodyMethod(ptr %p_sc_l_m_0) #0 { ; %m5.bodyMethod +entry: + %sc_l_m_0 = alloca ptr ; m + %s2 = alloca i1 + %s6 = alloca i1 + %s10 = alloca i1 + store ptr %p_sc_l_m_0, ptr %sc_l_m_0 + %t0 = load ptr, ptr %sc_l_m_0 + %t1 = call zeroext i1 @sc_streq_2725580638052193(ptr %t0) + store i1 %t1, ptr %s2 + br i1 %t1, label %log.j1, label %log.r0 +log.r0: + %t3 = load ptr, ptr %sc_l_m_0 + %t4 = call zeroext i1 @sc_streq_2541794298493390(ptr %t3) + store i1 %t4, ptr %s2 + br label %log.j1 +log.j1: + %t5 = load i1, ptr %s2 + store i1 %t5, ptr %s6 + br i1 %t5, label %log.j3, label %log.r2 +log.r2: + %t7 = load ptr, ptr %sc_l_m_0 + %t8 = call zeroext i1 @sc_streq_2494668324074259(ptr %t7) + store i1 %t8, ptr %s6 + br label %log.j3 +log.j3: + %t9 = load i1, ptr %s6 + store i1 %t9, ptr %s10 + br i1 %t9, label %log.j5, label %log.r4 +log.r4: + %t11 = load ptr, ptr %sc_l_m_0 + %t12 = call zeroext i1 @sc_streq_1791854776991212(ptr %t11) + store i1 %t12, ptr %s10 + br label %log.j5 +log.j5: + %t13 = load i1, ptr %s10 + ret i1 %t13 +} +define internal i1 @sc_f__x25_m5_bodyMethod(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25_m5_bodyMethod(ptr %p0) + call void @scr_str_release(ptr %p0) + ret i1 %result +} + +define internal void @sc_bf__x25_m5_abortMultipart.i32(ptr %p_sc_l_sink_0, ptr %p_sc_l_req_0, i32 %p_sc_l_status_0.i32, ptr %p_sc_l_msg_0) #0 { ; %m5.abortMultipart +entry: + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_req_0 = alloca ptr ; req + %sc_l_status_0 = alloca i32 ; status + %sc_l_msg_0 = alloca ptr ; msg + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_res_0 = alloca ptr ; res + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_4 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_5 = alloca ptr ; %callback + %s0 = alloca ptr ; lazy box req + %exc.cell = load ptr, ptr @scr_exc_active + %s16 = alloca ptr + %s69 = alloca ptr + %s84 = alloca [2 x ptr] + %s104 = alloca ptr + %s119 = alloca [1 x ptr] + %s138 = alloca ptr + %s153 = alloca [2 x ptr] + %s173 = alloca ptr + %s191 = alloca [2 x ptr] + %s211 = alloca ptr + %s226 = alloca [1 x ptr] + %p_sc_l_status_0 = sitofp i32 %p_sc_l_status_0.i32 to double + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_res_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr null, ptr %sc_l__x25_callbackReceiver_4 + store ptr null, ptr %sc_l__x25_callbackBag_4 + store ptr null, ptr %sc_l__x25_callback_4 + store ptr null, ptr %sc_l__x25_callbackReceiver_5 + store ptr null, ptr %sc_l__x25_callbackBag_5 + store ptr null, ptr %sc_l__x25_callback_5 + store ptr null, ptr %s0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store i32 %p_sc_l_status_0.i32, ptr %sc_l_status_0 + store ptr %p_sc_l_msg_0, ptr %sc_l_msg_0 + %t1 = call ptr @llvm.stacksave.p0() + %t2 = load ptr, ptr @scr_stack_guard + %t3 = icmp ult ptr %t1, %t2 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t5 = load ptr, ptr %sc_l_sink_0 + store ptr %t5, ptr %sc_l__x25_callbackReceiver_0 + %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t8) + br label %exc.cleanup2 +exc.k4: + store ptr %t8, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t12 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t13 = getelementptr inbounds i8, ptr %t12, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 6 + br i1 %t15, label %tern.t5, label %tern.f6 +tern.t5: + %t18 = call ptr @scr_dyn_undefined() + %t17 = call ptr @scr_dyn_retain_v(ptr %t18) + store ptr %t17, ptr %s16 + br label %tern.j7 +tern.f6: + %t19 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_property_10(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t21) + br label %exc.cleanup10 +exc.k9: + store ptr %t21, ptr %s16 + br label %tern.j7 +tern.j7: + %t25 = load ptr, ptr %s16 + store ptr %t25, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callback_0 + %t27 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t28 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t27, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t28) + %t29 = call ptr @scr_dyn_call(ptr %t26, ptr null, i64 0, ptr @sc_cs_2464045371370986) + call void @scr_dyn_this_pop() + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup13 +exc.k12: + %t33 = call ptr @sc_dc_14(ptr %t29, ptr null) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_union_release(ptr %t33) + br label %exc.cleanup13 +exc.k15: + store ptr %t33, ptr %sc_l_res_0 + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + %t37 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t37) + %t38 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t38) + %t39 = load ptr, ptr %sc_l_res_0 + %t42 = getelementptr inbounds %ScrUnion, ptr %t39, i64 0, i32 1 + %t41 = load i32, ptr %t42 + %t40 = icmp ne i32 %t41, 1 + br i1 %t40, label %if.t16, label %if.j17 +if.t16: + %t43 = load ptr, ptr %sc_l_res_0 + %t44 = getelementptr inbounds %ScrUnion, ptr %t43, i64 0, i32 5 + %t45 = load ptr, ptr %t44 + %t46 = call ptr @scr_http_res_retain_v(ptr %t45) + %t47 = call ptr @scr_closure_new(ptr @sc_f__x25_fn67, i64 1) + %t48 = getelementptr inbounds %ScrClosure, ptr %t47, i64 0, i32 4 + store i32 4, ptr %t48 + %t49 = load ptr, ptr %s0 + %t50 = icmp eq ptr %t49, null + br i1 %t50, label %lazy.box18, label %lazy.box.j19 +lazy.box18: + %t51 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) + %t52 = load ptr, ptr %sc_l_req_0 + %t53 = call ptr @scr_http_req_retain_v(ptr %t52) + call void @scr_box_set_ref(ptr %t51, ptr %t53) + store ptr %t51, ptr %s0 + br label %lazy.box.j19 +lazy.box.j19: + %t54 = load ptr, ptr %s0 + %t55 = call ptr @sc_retain_box(ptr %t54) + %t56 = getelementptr inbounds %ScrClosure, ptr %t47, i64 1 ; caps + %t57 = getelementptr inbounds ptr, ptr %t56, i64 0 ; caps[0] + store ptr %t55, ptr %t57 + call void @scr_http_res_on_finish(ptr %t46, ptr %t47) + call void @scr_http_res_release(ptr %t46) + %t58 = load ptr, ptr %sc_l_sink_0 + store ptr %t58, ptr %sc_l__x25_callbackReceiver_1 + %t59 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t60 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t59, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t61 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t60) + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t61) + br label %exc.cleanup22 +exc.k21: + store ptr %t61, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t65 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t66 = getelementptr inbounds i8, ptr %t65, i64 8 ; ->kind + %t67 = load i32, ptr %t66 + %t68 = icmp eq i32 %t67, 6 + br i1 %t68, label %tern.t23, label %tern.f24 +tern.t23: + %t71 = call ptr @scr_dyn_undefined() + %t70 = call ptr @scr_dyn_retain_v(ptr %t71) + store ptr %t70, ptr %s69 + br label %tern.j25 +tern.f24: + %t72 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + %t74 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t73) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t74) + br label %exc.cleanup28 +exc.k27: + store ptr %t74, ptr %s69 + br label %tern.j25 +tern.j25: + %t78 = load ptr, ptr %s69 + store ptr %t78, ptr %sc_l__x25_callback_1 + %t79 = load ptr, ptr %sc_l__x25_callback_1 + %t80 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t81 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t80, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t82 = call ptr @sc_td_0(ptr @sc_lit_3158732916179886) + %t83 = call ptr @sc_td_0(ptr @sc_lit_863112869792180) + %t85 = getelementptr inbounds [2 x ptr], ptr %s84, i64 0, i64 0 + store ptr %t82, ptr %t85 + %t86 = getelementptr inbounds [2 x ptr], ptr %s84, i64 0, i64 1 + store ptr %t83, ptr %t86 + call void @scr_dyn_this_push_dyn(ptr %t81) + %t87 = call ptr @scr_dyn_call(ptr %t79, ptr %s84, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t81) + call void @sc_rc_release_dyn(ptr %t82) + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_rc_release_dyn(ptr %t87) + br label %exc.cleanup31 +exc.k30: + call void @sc_rc_release_dyn(ptr %t81) + call void @sc_rc_release_dyn(ptr %t82) + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_rc_release_dyn(ptr %t87) + %t91 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t91) + %t92 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t92) + br label %if.j17 +if.j17: + %t93 = load ptr, ptr %sc_l_sink_0 + store ptr %t93, ptr %sc_l__x25_callbackReceiver_2 + %t94 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t94, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t96 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t95) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t96) + br label %exc.cleanup22 +exc.k33: + store ptr %t96, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t100 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t101 = getelementptr inbounds i8, ptr %t100, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 6 + br i1 %t103, label %tern.t34, label %tern.f35 +tern.t34: + %t106 = call ptr @scr_dyn_undefined() + %t105 = call ptr @scr_dyn_retain_v(ptr %t106) + store ptr %t105, ptr %s104 + br label %tern.j36 +tern.f35: + %t107 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t108 = call ptr @sc_rc_retain_dyn(ptr %t107) + %t109 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t108) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rc_release_dyn(ptr %t109) + br label %exc.cleanup39 +exc.k38: + store ptr %t109, ptr %s104 + br label %tern.j36 +tern.j36: + %t113 = load ptr, ptr %s104 + store ptr %t113, ptr %sc_l__x25_callback_2 + %t114 = load ptr, ptr %sc_l__x25_callback_2 + %t115 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t117 = load i32, ptr %sc_l_status_0 + %t118 = call ptr @sc_td_2(double %p_sc_l_status_0) + %t120 = getelementptr inbounds [1 x ptr], ptr %s119, i64 0, i64 0 + store ptr %t118, ptr %t120 + call void @scr_dyn_this_push_dyn(ptr %t116) + %t121 = call ptr @scr_dyn_call(ptr %t114, ptr %s119, i64 1, ptr @sc_cs_137127765515474) + call void @scr_dyn_this_pop() + %t122 = load i32, ptr %exc.cell + %t123 = icmp ne i32 %t122, 0 + %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false) + br i1 %t124, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t121) + br label %exc.cleanup42 +exc.k41: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t121) + %t125 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t125) + %t126 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t126) + %t127 = load ptr, ptr %sc_l_sink_0 + store ptr %t127, ptr %sc_l__x25_callbackReceiver_3 + %t128 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t129 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t128, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t130 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t129) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u43, label %exc.k44 +exc.u43: + call void @sc_rc_release_dyn(ptr %t130) + br label %exc.cleanup22 +exc.k44: + store ptr %t130, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t134 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t135 = getelementptr inbounds i8, ptr %t134, i64 8 ; ->kind + %t136 = load i32, ptr %t135 + %t137 = icmp eq i32 %t136, 6 + br i1 %t137, label %tern.t45, label %tern.f46 +tern.t45: + %t140 = call ptr @scr_dyn_undefined() + %t139 = call ptr @scr_dyn_retain_v(ptr %t140) + store ptr %t139, ptr %s138 + br label %tern.j47 +tern.f46: + %t141 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t142 = call ptr @sc_rc_retain_dyn(ptr %t141) + %t143 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t142) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t143) + br label %exc.cleanup50 +exc.k49: + store ptr %t143, ptr %s138 + br label %tern.j47 +tern.j47: + %t147 = load ptr, ptr %s138 + store ptr %t147, ptr %sc_l__x25_callback_3 + %t148 = load ptr, ptr %sc_l__x25_callback_3 + %t149 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t151 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t152 = call ptr @sc_td_0(ptr @sc_lit_266676967674785) + %t154 = getelementptr inbounds [2 x ptr], ptr %s153, i64 0, i64 0 + store ptr %t151, ptr %t154 + %t155 = getelementptr inbounds [2 x ptr], ptr %s153, i64 0, i64 1 + store ptr %t152, ptr %t155 + call void @scr_dyn_this_push_dyn(ptr %t150) + %t156 = call ptr @scr_dyn_call(ptr %t148, ptr %s153, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t157 = load i32, ptr %exc.cell + %t158 = icmp ne i32 %t157, 0 + %t159 = call i1 @llvm.expect.i1(i1 %t158, i1 false) + br i1 %t159, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t150) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t152) + call void @sc_rc_release_dyn(ptr %t156) + br label %exc.cleanup53 +exc.k52: + call void @sc_rc_release_dyn(ptr %t150) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t152) + call void @sc_rc_release_dyn(ptr %t156) + %t160 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t160) + %t161 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t161) + %t162 = load ptr, ptr %sc_l_sink_0 + store ptr %t162, ptr %sc_l__x25_callbackReceiver_4 + %t163 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t164 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t163, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t165 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t164) + %t166 = load i32, ptr %exc.cell + %t167 = icmp ne i32 %t166, 0 + %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false) + br i1 %t168, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t165) + br label %exc.cleanup22 +exc.k55: + store ptr %t165, ptr %sc_l__x25_callbackBag_4 + store i1 true, ptr %sc_l__x25_callbackPresent_4 + %t169 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t170 = getelementptr inbounds i8, ptr %t169, i64 8 ; ->kind + %t171 = load i32, ptr %t170 + %t172 = icmp eq i32 %t171, 6 + br i1 %t172, label %tern.t56, label %tern.f57 +tern.t56: + %t175 = call ptr @scr_dyn_undefined() + %t174 = call ptr @scr_dyn_retain_v(ptr %t175) + store ptr %t174, ptr %s173 + br label %tern.j58 +tern.f57: + %t176 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t177 = call ptr @sc_rc_retain_dyn(ptr %t176) + %t178 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u59, label %exc.k60 +exc.u59: + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup61 +exc.k60: + store ptr %t178, ptr %s173 + br label %tern.j58 +tern.j58: + %t182 = load ptr, ptr %s173 + store ptr %t182, ptr %sc_l__x25_callback_4 + %t183 = load ptr, ptr %sc_l__x25_callback_4 + %t184 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t185 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t184, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t186 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802) + %t187 = load ptr, ptr %sc_l_msg_0 + %t188 = call double @sc_bf__x25_m5_utf8len(ptr %t187) + %t189 = call ptr @scr_f64_to_scrstr(double %t188) + %t190 = call ptr @sc_td_0(ptr %t189) + %t192 = getelementptr inbounds [2 x ptr], ptr %s191, i64 0, i64 0 + store ptr %t186, ptr %t192 + %t193 = getelementptr inbounds [2 x ptr], ptr %s191, i64 0, i64 1 + store ptr %t190, ptr %t193 + call void @scr_dyn_this_push_dyn(ptr %t185) + %t194 = call ptr @scr_dyn_call(ptr %t183, ptr %s191, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t195 = load i32, ptr %exc.cell + %t196 = icmp ne i32 %t195, 0 + %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false) + br i1 %t197, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t185) + call void @sc_rc_release_dyn(ptr %t186) + call void @scr_str_release(ptr %t189) + call void @sc_rc_release_dyn(ptr %t190) + call void @sc_rc_release_dyn(ptr %t194) + br label %exc.cleanup64 +exc.k63: + call void @sc_rc_release_dyn(ptr %t185) + call void @sc_rc_release_dyn(ptr %t186) + call void @scr_str_release(ptr %t189) + call void @sc_rc_release_dyn(ptr %t190) + call void @sc_rc_release_dyn(ptr %t194) + %t198 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t198) + %t199 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t199) + %t200 = load ptr, ptr %sc_l_sink_0 + store ptr %t200, ptr %sc_l__x25_callbackReceiver_5 + %t201 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t203 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t202) + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u65, label %exc.k66 +exc.u65: + call void @sc_rc_release_dyn(ptr %t203) + br label %exc.cleanup22 +exc.k66: + store ptr %t203, ptr %sc_l__x25_callbackBag_5 + store i1 true, ptr %sc_l__x25_callbackPresent_5 + %t207 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t208 = getelementptr inbounds i8, ptr %t207, i64 8 ; ->kind + %t209 = load i32, ptr %t208 + %t210 = icmp eq i32 %t209, 6 + br i1 %t210, label %tern.t67, label %tern.f68 +tern.t67: + %t213 = call ptr @scr_dyn_undefined() + %t212 = call ptr @scr_dyn_retain_v(ptr %t213) + store ptr %t212, ptr %s211 + br label %tern.j69 +tern.f68: + %t214 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t215 = call ptr @sc_rc_retain_dyn(ptr %t214) + %t216 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup72 +exc.k71: + store ptr %t216, ptr %s211 + br label %tern.j69 +tern.j69: + %t220 = load ptr, ptr %s211 + store ptr %t220, ptr %sc_l__x25_callback_5 + %t221 = load ptr, ptr %sc_l__x25_callback_5 + %t222 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t223 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t222, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t224 = load ptr, ptr %sc_l_msg_0 + %t225 = call ptr @sc_td_0(ptr %t224) + %t227 = getelementptr inbounds [1 x ptr], ptr %s226, i64 0, i64 0 + store ptr %t225, ptr %t227 + call void @scr_dyn_this_push_dyn(ptr %t223) + %t228 = call ptr @scr_dyn_call(ptr %t221, ptr %s226, i64 1, ptr @sc_cs_891738944038355) + call void @scr_dyn_this_pop() + %t229 = load i32, ptr %exc.cell + %t230 = icmp ne i32 %t229, 0 + %t231 = call i1 @llvm.expect.i1(i1 %t230, i1 false) + br i1 %t231, label %exc.u73, label %exc.k74 +exc.u73: + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_rc_release_dyn(ptr %t228) + br label %exc.cleanup75 +exc.k74: + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_rc_release_dyn(ptr %t228) + %t232 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t232) + %t233 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t233) + %t234 = load ptr, ptr %s0 + %t235 = icmp ne ptr %t234, null + br i1 %t235, label %lazy.release76, label %lazy.release.j77 +lazy.release76: + call void @scr_box_release(ptr %t234) + br label %lazy.release.j77 +lazy.release.j77: + %t236 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t236) + ret void +exc.cleanup2: + %t237 = load ptr, ptr %s0 + %t238 = icmp ne ptr %t237, null + br i1 %t238, label %lazy.release78, label %lazy.release.j79 +lazy.release78: + call void @scr_box_release(ptr %t237) + br label %lazy.release.j79 +lazy.release.j79: + ret void +exc.cleanup10: + %t239 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t239) + %t240 = load ptr, ptr %s0 + %t241 = icmp ne ptr %t240, null + br i1 %t241, label %lazy.release80, label %lazy.release.j81 +lazy.release80: + call void @scr_box_release(ptr %t240) + br label %lazy.release.j81 +lazy.release.j81: + ret void +exc.cleanup13: + %t242 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t242) + %t243 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t243) + %t244 = load ptr, ptr %s0 + %t245 = icmp ne ptr %t244, null + br i1 %t245, label %lazy.release82, label %lazy.release.j83 +lazy.release82: + call void @scr_box_release(ptr %t244) + br label %lazy.release.j83 +lazy.release.j83: + ret void +exc.cleanup22: + %t246 = load ptr, ptr %s0 + %t247 = icmp ne ptr %t246, null + br i1 %t247, label %lazy.release84, label %lazy.release.j85 +lazy.release84: + call void @scr_box_release(ptr %t246) + br label %lazy.release.j85 +lazy.release.j85: + %t248 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t248) + ret void +exc.cleanup28: + %t249 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t249) + %t250 = load ptr, ptr %s0 + %t251 = icmp ne ptr %t250, null + br i1 %t251, label %lazy.release86, label %lazy.release.j87 +lazy.release86: + call void @scr_box_release(ptr %t250) + br label %lazy.release.j87 +lazy.release.j87: + %t252 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t252) + ret void +exc.cleanup31: + %t253 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t253) + %t254 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t254) + %t255 = load ptr, ptr %s0 + %t256 = icmp ne ptr %t255, null + br i1 %t256, label %lazy.release88, label %lazy.release.j89 +lazy.release88: + call void @scr_box_release(ptr %t255) + br label %lazy.release.j89 +lazy.release.j89: + %t257 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t257) + ret void +exc.cleanup39: + %t258 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t258) + %t259 = load ptr, ptr %s0 + %t260 = icmp ne ptr %t259, null + br i1 %t260, label %lazy.release90, label %lazy.release.j91 +lazy.release90: + call void @scr_box_release(ptr %t259) + br label %lazy.release.j91 +lazy.release.j91: + %t261 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t261) + ret void +exc.cleanup42: + %t262 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t262) + %t263 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t263) + %t264 = load ptr, ptr %s0 + %t265 = icmp ne ptr %t264, null + br i1 %t265, label %lazy.release92, label %lazy.release.j93 +lazy.release92: + call void @scr_box_release(ptr %t264) + br label %lazy.release.j93 +lazy.release.j93: + %t266 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t266) + ret void +exc.cleanup50: + %t267 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t267) + %t268 = load ptr, ptr %s0 + %t269 = icmp ne ptr %t268, null + br i1 %t269, label %lazy.release94, label %lazy.release.j95 +lazy.release94: + call void @scr_box_release(ptr %t268) + br label %lazy.release.j95 +lazy.release.j95: + %t270 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t270) + ret void +exc.cleanup53: + %t271 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t271) + %t272 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t272) + %t273 = load ptr, ptr %s0 + %t274 = icmp ne ptr %t273, null + br i1 %t274, label %lazy.release96, label %lazy.release.j97 +lazy.release96: + call void @scr_box_release(ptr %t273) + br label %lazy.release.j97 +lazy.release.j97: + %t275 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t275) + ret void +exc.cleanup61: + %t276 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t276) + %t277 = load ptr, ptr %s0 + %t278 = icmp ne ptr %t277, null + br i1 %t278, label %lazy.release98, label %lazy.release.j99 +lazy.release98: + call void @scr_box_release(ptr %t277) + br label %lazy.release.j99 +lazy.release.j99: + %t279 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t279) + ret void +exc.cleanup64: + %t280 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t280) + %t281 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t281) + %t282 = load ptr, ptr %s0 + %t283 = icmp ne ptr %t282, null + br i1 %t283, label %lazy.release100, label %lazy.release.j101 +lazy.release100: + call void @scr_box_release(ptr %t282) + br label %lazy.release.j101 +lazy.release.j101: + %t284 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t284) + ret void +exc.cleanup72: + %t285 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t285) + %t286 = load ptr, ptr %s0 + %t287 = icmp ne ptr %t286, null + br i1 %t287, label %lazy.release102, label %lazy.release.j103 +lazy.release102: + call void @scr_box_release(ptr %t286) + br label %lazy.release.j103 +lazy.release.j103: + %t288 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t288) + ret void +exc.cleanup75: + %t289 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t289) + %t290 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t290) + %t291 = load ptr, ptr %s0 + %t292 = icmp ne ptr %t291, null + br i1 %t292, label %lazy.release104, label %lazy.release.j105 +lazy.release104: + call void @scr_box_release(ptr %t291) + br label %lazy.release.j105 +lazy.release.j105: + %t293 = load ptr, ptr %sc_l_res_0 + call void @scr_union_release(ptr %t293) + ret void +} +define internal void @sc_bf__x25_m5_abortMultipart(ptr %p0, ptr %p1, double %p2, ptr %p3) #0 { +entry: + %a2 = fptosi double %p2 to i32 + call void @sc_bf__x25_m5_abortMultipart.i32(ptr %p0, ptr %p1, i32 %a2, ptr %p3) + ret void +} +define internal void @sc_f__x25_m5_abortMultipart(ptr %p0, ptr %p1, double %p2, ptr %p3) #0 { +entry: + call void @sc_bf__x25_m5_abortMultipart(ptr %p0, ptr %p1, double %p2, ptr %p3) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_http_req_release(ptr %p1) + call void @scr_str_release(ptr %p3) + ret void +} + +define internal void @sc_bf__x25_m5_runMultipart(ptr %p_sc_l_req_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_c_0, ptr %p_sc_l_cfg_0, ptr %p_sc_l_chain_0, ptr %p_sc_l_oef_0) #0 { ; %m5.runMultipart +entry: + %sc_l_req_0 = alloca ptr ; req + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_c_0 = alloca ptr ; c + %sc_l_cfg_0 = alloca ptr ; cfg + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_oef_0 = alloca ptr ; oef + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_ct_0 = alloca ptr ; ct + %sc_l_bnd_0 = alloca ptr ; bnd + %sc_l_st_0 = alloca ptr ; st + %sc_l_parser_0 = alloca ptr ; parser + %sc_l_answered_0 = alloca ptr ; answered + %s0 = alloca ptr ; lazy box req + %s1 = alloca ptr ; lazy box sink + %s2 = alloca ptr ; lazy box c + %s3 = alloca ptr ; lazy box chain + %s4 = alloca ptr ; lazy box oef + %exc.cell = load ptr, ptr @scr_exc_active + %s22 = alloca ptr + %s36 = alloca [1 x ptr] + %s77 = alloca ptr + %s84 = alloca ptr + %s90 = alloca ptr + %s104 = alloca ptr + %s112 = alloca ptr + %s120 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_ct_0 + store ptr null, ptr %sc_l_bnd_0 + store ptr null, ptr %sc_l_st_0 + store ptr null, ptr %sc_l_parser_0 + store ptr null, ptr %sc_l_answered_0 + store ptr null, ptr %s0 + store ptr null, ptr %s1 + store ptr null, ptr %s2 + store ptr null, ptr %s3 + store ptr null, ptr %s4 + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_cfg_0, ptr %sc_l_cfg_0 + store ptr %p_sc_l_chain_0, ptr %sc_l_chain_0 + store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0 + %t5 = call ptr @llvm.stacksave.p0() + %t6 = load ptr, ptr @scr_stack_guard + %t7 = icmp ult ptr %t5, %t6 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t9 = load ptr, ptr %sc_l_c_0 + %t10 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t9, i64 0, i32 1 + %t11 = load ptr, ptr %t10, !tbaa !24 + %t12 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t11) + store ptr %t12, ptr %sc_l__x25_callbackReceiver_0 + %t13 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t14 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t13) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t14) + br label %exc.cleanup5 +exc.k4: + store ptr %t14, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 6 + br i1 %t21, label %tern.t6, label %tern.f7 +tern.t6: + %t24 = call ptr @scr_dyn_undefined() + %t23 = call ptr @scr_dyn_retain_v(ptr %t24) + store ptr %t23, ptr %s22 + br label %tern.j8 +tern.f7: + %t25 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t26 = call ptr @sc_rc_retain_dyn(ptr %t25) + %t27 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t26) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup11 +exc.k10: + store ptr %t27, ptr %s22 + br label %tern.j8 +tern.j8: + %t31 = load ptr, ptr %s22 + store ptr %t31, ptr %sc_l__x25_callback_0 + %t32 = load ptr, ptr %sc_l__x25_callback_0 + %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t35 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t37 = getelementptr inbounds [1 x ptr], ptr %s36, i64 0, i64 0 + store ptr %t35, ptr %t37 + call void @scr_dyn_this_push_dyn(ptr %t34) + %t38 = call ptr @scr_dyn_call(ptr %t32, ptr %s36, i64 1, ptr @sc_cs_28105939436950) + call void @scr_dyn_this_pop() + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t38) + br label %exc.cleanup14 +exc.k13: + %t42 = call ptr @sc_dc_22(ptr %t38, ptr null) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t38) + call void @scr_str_release(ptr %t42) + br label %exc.cleanup14 +exc.k16: + store ptr %t42, ptr %sc_l_ct_0 + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t38) + %t46 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t46) + %t47 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t48) + %t49 = load ptr, ptr %sc_l_ct_0 + %t50 = call ptr @sc_bf__x25_m4_multipartBoundary(ptr %t49) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u17, label %exc.k18 +exc.u17: + call void @scr_str_release(ptr %t50) + br label %exc.cleanup19 +exc.k18: + store ptr %t50, ptr %sc_l_bnd_0 + %t54 = load ptr, ptr %sc_l_bnd_0 + %t56 = icmp eq ptr %t54, null + br i1 %t56, label %if.t20, label %if.j21 +if.t20: + %t57 = load ptr, ptr %sc_l_sink_0 + %t58 = load ptr, ptr %sc_l_req_0 + call void @sc_bf__x25_m5_abortMultipart.i32(ptr %t57, ptr %t58, i32 400, ptr @sc_lit_3781840126626301) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u22, label %exc.k23 +exc.u22: + br label %exc.cleanup24 +exc.k23: + %t62 = load ptr, ptr %s0 + %t63 = icmp ne ptr %t62, null + br i1 %t63, label %lazy.release25, label %lazy.release.j26 +lazy.release25: + call void @scr_box_release(ptr %t62) + br label %lazy.release.j26 +lazy.release.j26: + %t64 = load ptr, ptr %s1 + %t65 = icmp ne ptr %t64, null + br i1 %t65, label %lazy.release27, label %lazy.release.j28 +lazy.release27: + call void @scr_box_release(ptr %t64) + br label %lazy.release.j28 +lazy.release.j28: + %t66 = load ptr, ptr %s2 + %t67 = icmp ne ptr %t66, null + br i1 %t67, label %lazy.release29, label %lazy.release.j30 +lazy.release29: + call void @scr_box_release(ptr %t66) + br label %lazy.release.j30 +lazy.release.j30: + %t68 = load ptr, ptr %s3 + %t69 = icmp ne ptr %t68, null + br i1 %t69, label %lazy.release31, label %lazy.release.j32 +lazy.release31: + call void @scr_box_release(ptr %t68) + br label %lazy.release.j32 +lazy.release.j32: + %t70 = load ptr, ptr %s4 + %t71 = icmp ne ptr %t70, null + br i1 %t71, label %lazy.release33, label %lazy.release.j34 +lazy.release33: + call void @scr_box_release(ptr %t70) + br label %lazy.release.j34 +lazy.release.j34: + %t72 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t72) + %t73 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t73) + ret void +if.j21: + %t74 = load ptr, ptr %sc_l_cfg_0 + %t76 = icmp eq ptr %t74, null + br i1 %t76, label %read.then35, label %read.else36 +read.then35: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4115635896617439) + br label %exc.cleanup24 +exc.dead38: + store ptr null, ptr %s77 + br label %read.join37 +read.else36: + %t78 = load ptr, ptr %sc_l_cfg_0 + store ptr %t78, ptr %s77 + br label %read.join37 +read.join37: + %t79 = load ptr, ptr %s77 + %t80 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t79, i64 0, i32 2 + %t81 = load ptr, ptr %t80, !tbaa !16 + %t83 = icmp eq ptr %t81, null + br i1 %t83, label %tern.t39, label %tern.f40 +tern.t39: + %t85 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + %t86 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t85) + store ptr %t86, ptr %s84 + br label %tern.j41 +tern.f40: + %t87 = load ptr, ptr %sc_l_cfg_0 + %t89 = icmp eq ptr %t87, null + br i1 %t89, label %read.then42, label %read.else43 +read.then42: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4115635896617439) + br label %exc.cleanup24 +exc.dead45: + store ptr null, ptr %s90 + br label %read.join44 +read.else43: + %t91 = load ptr, ptr %sc_l_cfg_0 + store ptr %t91, ptr %s90 + br label %read.join44 +read.join44: + %t92 = load ptr, ptr %s90 + %t93 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t92, i64 0, i32 2 + %t94 = load ptr, ptr %t93, !tbaa !16 + %t95 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t94) + store ptr %t95, ptr %s84 + br label %tern.j41 +tern.j41: + %t96 = load ptr, ptr %s84 + store ptr %t96, ptr %sc_l_st_0 + %t97 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_trace__x25_m4_MultipartParser) ; let parser (boxed) + store ptr %t97, ptr %sc_l_parser_0 + %t98 = call ptr @sc_new__x25_m4_MultipartParser() + %t99 = load ptr, ptr %sc_l_bnd_0 + %t100 = load ptr, ptr %sc_l_st_0 + %t101 = load ptr, ptr %sc_l_cfg_0 + %t103 = icmp eq ptr %t101, null + br i1 %t103, label %read.then46, label %read.else47 +read.then46: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4404486281179211) + call void @sc_release__x25_m4_MultipartParser(ptr %t98) + br label %exc.cleanup49 +exc.dead50: + store ptr null, ptr %s104 + br label %read.join48 +read.else47: + %t105 = load ptr, ptr %sc_l_cfg_0 + store ptr %t105, ptr %s104 + br label %read.join48 +read.join48: + %t106 = load ptr, ptr %s104 + %t107 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t106, i64 0, i32 3 + %t108 = load double, ptr %t107, !tbaa !18 + %t109 = load ptr, ptr %sc_l_cfg_0 + %t111 = icmp eq ptr %t109, null + br i1 %t111, label %read.then51, label %read.else52 +read.then51: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2221506895226493) + call void @sc_release__x25_m4_MultipartParser(ptr %t98) + br label %exc.cleanup49 +exc.dead54: + store ptr null, ptr %s112 + br label %read.join53 +read.else52: + %t113 = load ptr, ptr %sc_l_cfg_0 + store ptr %t113, ptr %s112 + br label %read.join53 +read.join53: + %t114 = load ptr, ptr %s112 + %t115 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t114, i64 0, i32 4 + %t116 = load double, ptr %t115, !tbaa !20 + %t117 = load ptr, ptr %sc_l_cfg_0 + %t119 = icmp eq ptr %t117, null + br i1 %t119, label %read.then55, label %read.else56 +read.then55: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4219913910401315) + call void @sc_release__x25_m4_MultipartParser(ptr %t98) + br label %exc.cleanup49 +exc.dead58: + store ptr null, ptr %s120 + br label %read.join57 +read.else56: + %t121 = load ptr, ptr %sc_l_cfg_0 + store ptr %t121, ptr %s120 + br label %read.join57 +read.join57: + %t122 = load ptr, ptr %s120 + %t123 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t122, i64 0, i32 5 + %t124 = load double, ptr %t123, !tbaa !22 + call void @sc_bf__x25__x25_m4_MultipartParser_constructor(ptr %t98, ptr %t99, ptr %t100, double %t108, double %t116, double %t124) + call void @scr_box_set_ref(ptr %t97, ptr %t98) + %t125 = call ptr @scr_box_new(i32 1) ; let answered (boxed) + store ptr %t125, ptr %sc_l_answered_0 + %t126 = zext i1 false to i64 + %t127 = getelementptr inbounds %ScrBox, ptr %t125, i32 0, i32 5 + store i64 %t126, ptr %t127 + %t128 = load ptr, ptr %sc_l_req_0 + %t129 = call ptr @scr_http_req_retain_v(ptr %t128) + %t130 = call ptr @scr_closure_new(ptr @sc_f__x25_fn51, i64 4) + %t131 = getelementptr inbounds %ScrClosure, ptr %t130, i64 0, i32 4 + store i32 4, ptr %t131 + %t132 = getelementptr inbounds %ScrClosure, ptr %t130, i64 0, i32 7 + store ptr @sc_bf__x25_fn51, ptr %t132 + %t133 = load ptr, ptr %sc_l_answered_0 + %t134 = call ptr @sc_retain_box(ptr %t133) + %t135 = getelementptr inbounds %ScrClosure, ptr %t130, i64 1 ; caps + %t136 = getelementptr inbounds ptr, ptr %t135, i64 0 ; caps[0] + store ptr %t134, ptr %t136 + %t137 = load ptr, ptr %sc_l_parser_0 + %t138 = call ptr @sc_retain_box(ptr %t137) + %t139 = getelementptr inbounds %ScrClosure, ptr %t130, i64 1 ; caps + %t140 = getelementptr inbounds ptr, ptr %t139, i64 1 ; caps[1] + store ptr %t138, ptr %t140 + %t141 = load ptr, ptr %s1 + %t142 = icmp eq ptr %t141, null + br i1 %t142, label %lazy.box59, label %lazy.box.j60 +lazy.box59: + %t143 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink) + %t144 = load ptr, ptr %sc_l_sink_0 + %t145 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t144) + call void @scr_box_set_ref(ptr %t143, ptr %t145) + store ptr %t143, ptr %s1 + br label %lazy.box.j60 +lazy.box.j60: + %t146 = load ptr, ptr %s1 + %t147 = call ptr @sc_retain_box(ptr %t146) + %t148 = getelementptr inbounds %ScrClosure, ptr %t130, i64 1 ; caps + %t149 = getelementptr inbounds ptr, ptr %t148, i64 2 ; caps[2] + store ptr %t147, ptr %t149 + %t150 = load ptr, ptr %s0 + %t151 = icmp eq ptr %t150, null + br i1 %t151, label %lazy.box61, label %lazy.box.j62 +lazy.box61: + %t152 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) + %t153 = load ptr, ptr %sc_l_req_0 + %t154 = call ptr @scr_http_req_retain_v(ptr %t153) + call void @scr_box_set_ref(ptr %t152, ptr %t154) + store ptr %t152, ptr %s0 + br label %lazy.box.j62 +lazy.box.j62: + %t155 = load ptr, ptr %s0 + %t156 = call ptr @sc_retain_box(ptr %t155) + %t157 = getelementptr inbounds %ScrClosure, ptr %t130, i64 1 ; caps + %t158 = getelementptr inbounds ptr, ptr %t157, i64 3 ; caps[3] + store ptr %t156, ptr %t158 + call void @scr_http_req_on_data(ptr %t129, ptr %t130, ptr @scr_net_data_thunk_bytes, i1 false) + call void @scr_http_req_release(ptr %t129) + %t159 = load ptr, ptr %sc_l_req_0 + %t160 = call ptr @scr_http_req_retain_v(ptr %t159) + %t161 = call ptr @scr_closure_new(ptr @sc_f__x25_fn52, i64 7) + %t162 = getelementptr inbounds %ScrClosure, ptr %t161, i64 0, i32 4 + store i32 4, ptr %t162 + %t163 = load ptr, ptr %sc_l_answered_0 + %t164 = call ptr @sc_retain_box(ptr %t163) + %t165 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps + %t166 = getelementptr inbounds ptr, ptr %t165, i64 0 ; caps[0] + store ptr %t164, ptr %t166 + %t167 = load ptr, ptr %sc_l_parser_0 + %t168 = call ptr @sc_retain_box(ptr %t167) + %t169 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps + %t170 = getelementptr inbounds ptr, ptr %t169, i64 1 ; caps[1] + store ptr %t168, ptr %t170 + %t171 = load ptr, ptr %s1 + %t172 = icmp eq ptr %t171, null + br i1 %t172, label %lazy.box63, label %lazy.box.j64 +lazy.box63: + %t173 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink) + %t174 = load ptr, ptr %sc_l_sink_0 + %t175 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t174) + call void @scr_box_set_ref(ptr %t173, ptr %t175) + store ptr %t173, ptr %s1 + br label %lazy.box.j64 +lazy.box.j64: + %t176 = load ptr, ptr %s1 + %t177 = call ptr @sc_retain_box(ptr %t176) + %t178 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps + %t179 = getelementptr inbounds ptr, ptr %t178, i64 2 ; caps[2] + store ptr %t177, ptr %t179 + %t180 = load ptr, ptr %s0 + %t181 = icmp eq ptr %t180, null + br i1 %t181, label %lazy.box65, label %lazy.box.j66 +lazy.box65: + %t182 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) + %t183 = load ptr, ptr %sc_l_req_0 + %t184 = call ptr @scr_http_req_retain_v(ptr %t183) + call void @scr_box_set_ref(ptr %t182, ptr %t184) + store ptr %t182, ptr %s0 + br label %lazy.box.j66 +lazy.box.j66: + %t185 = load ptr, ptr %s0 + %t186 = call ptr @sc_retain_box(ptr %t185) + %t187 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps + %t188 = getelementptr inbounds ptr, ptr %t187, i64 3 ; caps[3] + store ptr %t186, ptr %t188 + %t189 = load ptr, ptr %s2 + %t190 = icmp eq ptr %t189, null + br i1 %t190, label %lazy.box67, label %lazy.box.j68 +lazy.box67: + %t191 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore) + %t192 = load ptr, ptr %sc_l_c_0 + %t193 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t192) + call void @scr_box_set_ref(ptr %t191, ptr %t193) + store ptr %t191, ptr %s2 + br label %lazy.box.j68 +lazy.box.j68: + %t194 = load ptr, ptr %s2 + %t195 = call ptr @sc_retain_box(ptr %t194) + %t196 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps + %t197 = getelementptr inbounds ptr, ptr %t196, i64 4 ; caps[4] + store ptr %t195, ptr %t197 + %t198 = load ptr, ptr %s3 + %t199 = icmp eq ptr %t198, null + br i1 %t199, label %lazy.box69, label %lazy.box.j70 +lazy.box69: + %t200 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) + %t201 = load ptr, ptr %sc_l_chain_0 + %t202 = call ptr @scr_union_retain_v(ptr %t201) + call void @scr_box_set_ref(ptr %t200, ptr %t202) + store ptr %t200, ptr %s3 + br label %lazy.box.j70 +lazy.box.j70: + %t203 = load ptr, ptr %s3 + %t204 = call ptr @sc_retain_box(ptr %t203) + %t205 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps + %t206 = getelementptr inbounds ptr, ptr %t205, i64 5 ; caps[5] + store ptr %t204, ptr %t206 + %t207 = load ptr, ptr %s4 + %t208 = icmp eq ptr %t207, null + br i1 %t208, label %lazy.box71, label %lazy.box.j72 +lazy.box71: + %t209 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) + %t210 = load ptr, ptr %sc_l_oef_0 + %t211 = call ptr @scr_union_retain_v(ptr %t210) + call void @scr_box_set_ref(ptr %t209, ptr %t211) + store ptr %t209, ptr %s4 + br label %lazy.box.j72 +lazy.box.j72: + %t212 = load ptr, ptr %s4 + %t213 = call ptr @sc_retain_box(ptr %t212) + %t214 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps + %t215 = getelementptr inbounds ptr, ptr %t214, i64 6 ; caps[6] + store ptr %t213, ptr %t215 + call void @scr_http_req_on_end(ptr %t160, ptr %t161, i1 false) + call void @scr_http_req_release(ptr %t160) + %t216 = load ptr, ptr %s0 + %t217 = icmp ne ptr %t216, null + br i1 %t217, label %lazy.release73, label %lazy.release.j74 +lazy.release73: + call void @scr_box_release(ptr %t216) + br label %lazy.release.j74 +lazy.release.j74: + %t218 = load ptr, ptr %s1 + %t219 = icmp ne ptr %t218, null + br i1 %t219, label %lazy.release75, label %lazy.release.j76 +lazy.release75: + call void @scr_box_release(ptr %t218) + br label %lazy.release.j76 +lazy.release.j76: + %t220 = load ptr, ptr %s2 + %t221 = icmp ne ptr %t220, null + br i1 %t221, label %lazy.release77, label %lazy.release.j78 +lazy.release77: + call void @scr_box_release(ptr %t220) + br label %lazy.release.j78 +lazy.release.j78: + %t222 = load ptr, ptr %s3 + %t223 = icmp ne ptr %t222, null + br i1 %t223, label %lazy.release79, label %lazy.release.j80 +lazy.release79: + call void @scr_box_release(ptr %t222) + br label %lazy.release.j80 +lazy.release.j80: + %t224 = load ptr, ptr %s4 + %t225 = icmp ne ptr %t224, null + br i1 %t225, label %lazy.release81, label %lazy.release.j82 +lazy.release81: + call void @scr_box_release(ptr %t224) + br label %lazy.release.j82 +lazy.release.j82: + %t226 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t226) + %t227 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t227) + %t228 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t228) + %t229 = load ptr, ptr %sc_l_parser_0 + call void @scr_box_release(ptr %t229) + %t230 = load ptr, ptr %sc_l_answered_0 + call void @scr_box_release(ptr %t230) + ret void +exc.cleanup2: + %t231 = load ptr, ptr %s0 + %t232 = icmp ne ptr %t231, null + br i1 %t232, label %lazy.release83, label %lazy.release.j84 +lazy.release83: + call void @scr_box_release(ptr %t231) + br label %lazy.release.j84 +lazy.release.j84: + %t233 = load ptr, ptr %s1 + %t234 = icmp ne ptr %t233, null + br i1 %t234, label %lazy.release85, label %lazy.release.j86 +lazy.release85: + call void @scr_box_release(ptr %t233) + br label %lazy.release.j86 +lazy.release.j86: + %t235 = load ptr, ptr %s2 + %t236 = icmp ne ptr %t235, null + br i1 %t236, label %lazy.release87, label %lazy.release.j88 +lazy.release87: + call void @scr_box_release(ptr %t235) + br label %lazy.release.j88 +lazy.release.j88: + %t237 = load ptr, ptr %s3 + %t238 = icmp ne ptr %t237, null + br i1 %t238, label %lazy.release89, label %lazy.release.j90 +lazy.release89: + call void @scr_box_release(ptr %t237) + br label %lazy.release.j90 +lazy.release.j90: + %t239 = load ptr, ptr %s4 + %t240 = icmp ne ptr %t239, null + br i1 %t240, label %lazy.release91, label %lazy.release.j92 +lazy.release91: + call void @scr_box_release(ptr %t239) + br label %lazy.release.j92 +lazy.release.j92: + ret void +exc.cleanup5: + %t241 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t241) + %t242 = load ptr, ptr %s0 + %t243 = icmp ne ptr %t242, null + br i1 %t243, label %lazy.release93, label %lazy.release.j94 +lazy.release93: + call void @scr_box_release(ptr %t242) + br label %lazy.release.j94 +lazy.release.j94: + %t244 = load ptr, ptr %s1 + %t245 = icmp ne ptr %t244, null + br i1 %t245, label %lazy.release95, label %lazy.release.j96 +lazy.release95: + call void @scr_box_release(ptr %t244) + br label %lazy.release.j96 +lazy.release.j96: + %t246 = load ptr, ptr %s2 + %t247 = icmp ne ptr %t246, null + br i1 %t247, label %lazy.release97, label %lazy.release.j98 +lazy.release97: + call void @scr_box_release(ptr %t246) + br label %lazy.release.j98 +lazy.release.j98: + %t248 = load ptr, ptr %s3 + %t249 = icmp ne ptr %t248, null + br i1 %t249, label %lazy.release99, label %lazy.release.j100 +lazy.release99: + call void @scr_box_release(ptr %t248) + br label %lazy.release.j100 +lazy.release.j100: + %t250 = load ptr, ptr %s4 + %t251 = icmp ne ptr %t250, null + br i1 %t251, label %lazy.release101, label %lazy.release.j102 +lazy.release101: + call void @scr_box_release(ptr %t250) + br label %lazy.release.j102 +lazy.release.j102: + ret void +exc.cleanup11: + %t252 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t252) + %t253 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t253) + %t254 = load ptr, ptr %s0 + %t255 = icmp ne ptr %t254, null + br i1 %t255, label %lazy.release103, label %lazy.release.j104 +lazy.release103: + call void @scr_box_release(ptr %t254) + br label %lazy.release.j104 +lazy.release.j104: + %t256 = load ptr, ptr %s1 + %t257 = icmp ne ptr %t256, null + br i1 %t257, label %lazy.release105, label %lazy.release.j106 +lazy.release105: + call void @scr_box_release(ptr %t256) + br label %lazy.release.j106 +lazy.release.j106: + %t258 = load ptr, ptr %s2 + %t259 = icmp ne ptr %t258, null + br i1 %t259, label %lazy.release107, label %lazy.release.j108 +lazy.release107: + call void @scr_box_release(ptr %t258) + br label %lazy.release.j108 +lazy.release.j108: + %t260 = load ptr, ptr %s3 + %t261 = icmp ne ptr %t260, null + br i1 %t261, label %lazy.release109, label %lazy.release.j110 +lazy.release109: + call void @scr_box_release(ptr %t260) + br label %lazy.release.j110 +lazy.release.j110: + %t262 = load ptr, ptr %s4 + %t263 = icmp ne ptr %t262, null + br i1 %t263, label %lazy.release111, label %lazy.release.j112 +lazy.release111: + call void @scr_box_release(ptr %t262) + br label %lazy.release.j112 +lazy.release.j112: + ret void +exc.cleanup14: + %t264 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t264) + %t265 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t265) + %t266 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t266) + %t267 = load ptr, ptr %s0 + %t268 = icmp ne ptr %t267, null + br i1 %t268, label %lazy.release113, label %lazy.release.j114 +lazy.release113: + call void @scr_box_release(ptr %t267) + br label %lazy.release.j114 +lazy.release.j114: + %t269 = load ptr, ptr %s1 + %t270 = icmp ne ptr %t269, null + br i1 %t270, label %lazy.release115, label %lazy.release.j116 +lazy.release115: + call void @scr_box_release(ptr %t269) + br label %lazy.release.j116 +lazy.release.j116: + %t271 = load ptr, ptr %s2 + %t272 = icmp ne ptr %t271, null + br i1 %t272, label %lazy.release117, label %lazy.release.j118 +lazy.release117: + call void @scr_box_release(ptr %t271) + br label %lazy.release.j118 +lazy.release.j118: + %t273 = load ptr, ptr %s3 + %t274 = icmp ne ptr %t273, null + br i1 %t274, label %lazy.release119, label %lazy.release.j120 +lazy.release119: + call void @scr_box_release(ptr %t273) + br label %lazy.release.j120 +lazy.release.j120: + %t275 = load ptr, ptr %s4 + %t276 = icmp ne ptr %t275, null + br i1 %t276, label %lazy.release121, label %lazy.release.j122 +lazy.release121: + call void @scr_box_release(ptr %t275) + br label %lazy.release.j122 +lazy.release.j122: + ret void +exc.cleanup19: + %t277 = load ptr, ptr %s0 + %t278 = icmp ne ptr %t277, null + br i1 %t278, label %lazy.release123, label %lazy.release.j124 +lazy.release123: + call void @scr_box_release(ptr %t277) + br label %lazy.release.j124 +lazy.release.j124: + %t279 = load ptr, ptr %s1 + %t280 = icmp ne ptr %t279, null + br i1 %t280, label %lazy.release125, label %lazy.release.j126 +lazy.release125: + call void @scr_box_release(ptr %t279) + br label %lazy.release.j126 +lazy.release.j126: + %t281 = load ptr, ptr %s2 + %t282 = icmp ne ptr %t281, null + br i1 %t282, label %lazy.release127, label %lazy.release.j128 +lazy.release127: + call void @scr_box_release(ptr %t281) + br label %lazy.release.j128 +lazy.release.j128: + %t283 = load ptr, ptr %s3 + %t284 = icmp ne ptr %t283, null + br i1 %t284, label %lazy.release129, label %lazy.release.j130 +lazy.release129: + call void @scr_box_release(ptr %t283) + br label %lazy.release.j130 +lazy.release.j130: + %t285 = load ptr, ptr %s4 + %t286 = icmp ne ptr %t285, null + br i1 %t286, label %lazy.release131, label %lazy.release.j132 +lazy.release131: + call void @scr_box_release(ptr %t285) + br label %lazy.release.j132 +lazy.release.j132: + %t287 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t287) + ret void +exc.cleanup24: + %t288 = load ptr, ptr %s0 + %t289 = icmp ne ptr %t288, null + br i1 %t289, label %lazy.release133, label %lazy.release.j134 +lazy.release133: + call void @scr_box_release(ptr %t288) + br label %lazy.release.j134 +lazy.release.j134: + %t290 = load ptr, ptr %s1 + %t291 = icmp ne ptr %t290, null + br i1 %t291, label %lazy.release135, label %lazy.release.j136 +lazy.release135: + call void @scr_box_release(ptr %t290) + br label %lazy.release.j136 +lazy.release.j136: + %t292 = load ptr, ptr %s2 + %t293 = icmp ne ptr %t292, null + br i1 %t293, label %lazy.release137, label %lazy.release.j138 +lazy.release137: + call void @scr_box_release(ptr %t292) + br label %lazy.release.j138 +lazy.release.j138: + %t294 = load ptr, ptr %s3 + %t295 = icmp ne ptr %t294, null + br i1 %t295, label %lazy.release139, label %lazy.release.j140 +lazy.release139: + call void @scr_box_release(ptr %t294) + br label %lazy.release.j140 +lazy.release.j140: + %t296 = load ptr, ptr %s4 + %t297 = icmp ne ptr %t296, null + br i1 %t297, label %lazy.release141, label %lazy.release.j142 +lazy.release141: + call void @scr_box_release(ptr %t296) + br label %lazy.release.j142 +lazy.release.j142: + %t298 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t298) + %t299 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t299) + ret void +exc.cleanup49: + %t300 = load ptr, ptr %s0 + %t301 = icmp ne ptr %t300, null + br i1 %t301, label %lazy.release143, label %lazy.release.j144 +lazy.release143: + call void @scr_box_release(ptr %t300) + br label %lazy.release.j144 +lazy.release.j144: + %t302 = load ptr, ptr %s1 + %t303 = icmp ne ptr %t302, null + br i1 %t303, label %lazy.release145, label %lazy.release.j146 +lazy.release145: + call void @scr_box_release(ptr %t302) + br label %lazy.release.j146 +lazy.release.j146: + %t304 = load ptr, ptr %s2 + %t305 = icmp ne ptr %t304, null + br i1 %t305, label %lazy.release147, label %lazy.release.j148 +lazy.release147: + call void @scr_box_release(ptr %t304) + br label %lazy.release.j148 +lazy.release.j148: + %t306 = load ptr, ptr %s3 + %t307 = icmp ne ptr %t306, null + br i1 %t307, label %lazy.release149, label %lazy.release.j150 +lazy.release149: + call void @scr_box_release(ptr %t306) + br label %lazy.release.j150 +lazy.release.j150: + %t308 = load ptr, ptr %s4 + %t309 = icmp ne ptr %t308, null + br i1 %t309, label %lazy.release151, label %lazy.release.j152 +lazy.release151: + call void @scr_box_release(ptr %t308) + br label %lazy.release.j152 +lazy.release.j152: + %t310 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t310) + %t311 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t311) + %t312 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t312) + %t313 = load ptr, ptr %sc_l_parser_0 + call void @scr_box_release(ptr %t313) + ret void +} +define internal void @sc_f__x25_m5_runMultipart(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) #0 { +entry: + call void @sc_bf__x25_m5_runMultipart(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) + call void @scr_http_req_release(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p1) + call void @sc_release__x25_m5_CtxCore(ptr %p2) + call void @sc_release__x25_m5_MpCfg(ptr %p3) + call void @scr_union_release(ptr %p4) + call void @scr_union_release(ptr %p5) + ret void +} + +define internal i32 @sc_bf__x25_m5_runMultipartPrim.i32(ptr %p_sc_l_c_0, ptr %p_sc_l_cfg_0, ptr %p_sc_l_body_0, ptr %p_sc_l_bodyU8_0) #0 { ; %m5.runMultipartPrim +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_cfg_0 = alloca ptr ; cfg + %sc_l_body_0 = alloca ptr ; body + %sc_l_bodyU8_0 = alloca ptr ; bodyU8 + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_ct_0 = alloca ptr ; ct + %sc_l_bnd_0 = alloca ptr ; bnd + %sc_l_st_0 = alloca ptr ; st + %sc_l_parser_0 = alloca ptr ; parser + %sc_l_bytes_0 = alloca ptr ; bytes + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l_rv_0 = alloca ptr ; rv + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s17 = alloca ptr + %s31 = alloca [1 x ptr] + %s59 = alloca ptr + %s102 = alloca ptr + %s118 = alloca [1 x ptr] + %s140 = alloca ptr + %s167 = alloca double + %s168 = alloca i32 + %s190 = alloca ptr + %s213 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_ct_0 + store ptr null, ptr %sc_l_bnd_0 + store ptr null, ptr %sc_l_st_0 + store ptr null, ptr %sc_l_parser_0 + store ptr null, ptr %sc_l_bytes_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l_rv_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_cfg_0, ptr %sc_l_cfg_0 + store ptr %p_sc_l_body_0, ptr %sc_l_body_0 + store ptr %p_sc_l_bodyU8_0, ptr %sc_l_bodyU8_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i32 0 +stack.ok1: + %t4 = load ptr, ptr %sc_l_c_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !24 + %t7 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t6) + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t8) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t9) + br label %exc.cleanup4 +exc.k3: + store ptr %t9, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t13 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t14 = getelementptr inbounds i8, ptr %t13, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 6 + br i1 %t16, label %tern.t5, label %tern.f6 +tern.t5: + %t19 = call ptr @scr_dyn_undefined() + %t18 = call ptr @scr_dyn_retain_v(ptr %t19) + store ptr %t18, ptr %s17 + br label %tern.j7 +tern.f6: + %t20 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + %t22 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t21) + %t23 = load i32, ptr %exc.cell + %t24 = icmp ne i32 %t23, 0 + %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false) + br i1 %t25, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup10 +exc.k9: + store ptr %t22, ptr %s17 + br label %tern.j7 +tern.j7: + %t26 = load ptr, ptr %s17 + store ptr %t26, ptr %sc_l__x25_callback_0 + %t27 = load ptr, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t29 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t28, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t30 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t32 = getelementptr inbounds [1 x ptr], ptr %s31, i64 0, i64 0 + store ptr %t30, ptr %t32 + call void @scr_dyn_this_push_dyn(ptr %t29) + %t33 = call ptr @scr_dyn_call(ptr %t27, ptr %s31, i64 1, ptr @sc_cs_28105939436950) + call void @scr_dyn_this_pop() + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup13 +exc.k12: + %t37 = call ptr @sc_dc_22(ptr %t33, ptr null) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t33) + call void @scr_str_release(ptr %t37) + br label %exc.cleanup13 +exc.k15: + store ptr %t37, ptr %sc_l_ct_0 + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t33) + %t41 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t41) + %t42 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t42) + %t43 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t43) + %t44 = load ptr, ptr %sc_l_ct_0 + %t45 = call ptr @sc_bf__x25_m4_multipartBoundary(ptr %t44) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_str_release(ptr %t45) + br label %exc.cleanup18 +exc.k17: + store ptr %t45, ptr %sc_l_bnd_0 + %t49 = load ptr, ptr %sc_l_bnd_0 + %t51 = icmp eq ptr %t49, null + br i1 %t51, label %if.t19, label %if.j20 +if.t19: + %t52 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t52) + %t53 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t53) + ret i32 400 +if.j20: + %t54 = load ptr, ptr %sc_l_cfg_0 + %t55 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t54, i64 0, i32 2 + %t56 = load ptr, ptr %t55, !tbaa !16 + %t58 = icmp eq ptr %t56, null + br i1 %t58, label %tern.t21, label %tern.f22 +tern.t21: + %t60 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + %t61 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t60) + store ptr %t61, ptr %s59 + br label %tern.j23 +tern.f22: + %t62 = load ptr, ptr %sc_l_cfg_0 + %t63 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t62, i64 0, i32 2 + %t64 = load ptr, ptr %t63, !tbaa !16 + %t65 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t64) + store ptr %t65, ptr %s59 + br label %tern.j23 +tern.j23: + %t66 = load ptr, ptr %s59 + store ptr %t66, ptr %sc_l_st_0 + %t67 = call ptr @sc_new__x25_m4_MultipartParser() + %t68 = load ptr, ptr %sc_l_bnd_0 + %t69 = load ptr, ptr %sc_l_st_0 + %t70 = load ptr, ptr %sc_l_cfg_0 + %t71 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t70, i64 0, i32 3 + %t72 = load double, ptr %t71, !tbaa !18 + %t73 = load ptr, ptr %sc_l_cfg_0 + %t74 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t73, i64 0, i32 4 + %t75 = load double, ptr %t74, !tbaa !20 + %t76 = load ptr, ptr %sc_l_cfg_0 + %t77 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t76, i64 0, i32 5 + %t78 = load double, ptr %t77, !tbaa !22 + call void @sc_bf__x25__x25_m4_MultipartParser_constructor(ptr %t67, ptr %t68, ptr %t69, double %t72, double %t75, double %t78) + store ptr %t67, ptr %sc_l_parser_0 + store ptr null, ptr %sc_l_bytes_0 + %t79 = load ptr, ptr %sc_l_bodyU8_0 + %t82 = getelementptr inbounds %ScrUnion, ptr %t79, i64 0, i32 1 + %t81 = load i32, ptr %t82 + %t80 = icmp ne i32 %t81, 1 + br i1 %t80, label %if.t24, label %if.f26 +if.t24: + %t83 = load ptr, ptr %sc_l_bodyU8_0 + %t84 = getelementptr inbounds %ScrUnion, ptr %t83, i64 0, i32 5 + %t85 = load ptr, ptr %t84 + %t86 = call ptr @scr_bytes_retain_v(ptr %t85) + %t87 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t87) + store ptr %t86, ptr %sc_l_bytes_0 + br label %if.j25 +if.f26: + %t88 = load ptr, ptr %sc_l_body_0 + %t89 = call ptr @sc_rc_retain_str(ptr %t88) + %t90 = call ptr @scr_bytes_from_str(ptr %t89, ptr @sc_lit_2605532998565466) + %t91 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t91) + store ptr %t90, ptr %sc_l_bytes_0 + call void @scr_str_release(ptr %t89) + br label %if.j25 +if.j25: + %t92 = load ptr, ptr %sc_l_parser_0 + store ptr %t92, ptr %sc_l__x25_callbackReceiver_1 + %t93 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t94 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t93) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t94) + br label %exc.cleanup29 +exc.k28: + store ptr %t94, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t98 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t99 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t100 = load i32, ptr %t99 + %t101 = icmp eq i32 %t100, 6 + br i1 %t101, label %tern.t30, label %tern.f31 +tern.t30: + %t104 = call ptr @scr_dyn_undefined() + %t103 = call ptr @scr_dyn_retain_v(ptr %t104) + store ptr %t103, ptr %s102 + br label %tern.j32 +tern.f31: + %t105 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t106 = call ptr @sc_rc_retain_dyn(ptr %t105) + %t107 = call ptr @sc_f__x25_dyn_class_property_25(ptr %t106) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t107) + br label %exc.cleanup35 +exc.k34: + store ptr %t107, ptr %s102 + br label %tern.j32 +tern.j32: + %t111 = load ptr, ptr %s102 + store ptr %t111, ptr %sc_l__x25_callback_1 + %t112 = load ptr, ptr %sc_l__x25_callback_1 + %t113 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t114 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t113, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t115 = load ptr, ptr %sc_l_bytes_0 + %t116 = call ptr @scr_bytes_retain_v(ptr %t115) + %t117 = call ptr @sc_td_1(ptr %t116) + %t119 = getelementptr inbounds [1 x ptr], ptr %s118, i64 0, i64 0 + store ptr %t117, ptr %t119 + call void @scr_dyn_this_push_dyn(ptr %t114) + %t120 = call ptr @scr_dyn_call(ptr %t112, ptr %s118, i64 1, ptr @sc_cs_3152039762744504) + call void @scr_dyn_this_pop() + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t114) + call void @scr_bytes_release(ptr %t116) + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t120) + br label %exc.cleanup38 +exc.k37: + call void @sc_rc_release_dyn(ptr %t114) + call void @scr_bytes_release(ptr %t116) + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t120) + %t124 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t124) + %t125 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t125) + %t126 = load ptr, ptr %sc_l_parser_0 + %t127 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t126, i64 0, i32 18 + %t128 = load double, ptr %t127, !tbaa !26 + %t129 = fcmp oeq double %t128, 0x0000000000000000 + br i1 %t129, label %if.t39, label %if.j40 +if.t39: + %t130 = load ptr, ptr %sc_l_parser_0 + store ptr %t130, ptr %sc_l__x25_callbackReceiver_2 + %t131 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t132 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t131) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u41, label %exc.k42 +exc.u41: + call void @sc_rc_release_dyn(ptr %t132) + br label %exc.cleanup29 +exc.k42: + store ptr %t132, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t136 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t137 = getelementptr inbounds i8, ptr %t136, i64 8 ; ->kind + %t138 = load i32, ptr %t137 + %t139 = icmp eq i32 %t138, 6 + br i1 %t139, label %tern.t43, label %tern.f44 +tern.t43: + %t142 = call ptr @scr_dyn_undefined() + %t141 = call ptr @scr_dyn_retain_v(ptr %t142) + store ptr %t141, ptr %s140 + br label %tern.j45 +tern.f44: + %t143 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t144 = call ptr @sc_rc_retain_dyn(ptr %t143) + %t145 = call ptr @sc_f__x25_dyn_class_property_26(ptr %t144) + %t146 = load i32, ptr %exc.cell + %t147 = icmp ne i32 %t146, 0 + %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false) + br i1 %t148, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t145) + br label %exc.cleanup48 +exc.k47: + store ptr %t145, ptr %s140 + br label %tern.j45 +tern.j45: + %t149 = load ptr, ptr %s140 + store ptr %t149, ptr %sc_l__x25_callback_2 + %t150 = load ptr, ptr %sc_l__x25_callback_2 + %t151 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t152) + %t153 = call ptr @scr_dyn_call(ptr %t150, ptr null, i64 0, ptr @sc_cs_3007189739552489) + call void @scr_dyn_this_pop() + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u49, label %exc.k50 +exc.u49: + call void @sc_rc_release_dyn(ptr %t152) + call void @sc_rc_release_dyn(ptr %t153) + br label %exc.cleanup51 +exc.k50: + call void @sc_rc_release_dyn(ptr %t152) + call void @sc_rc_release_dyn(ptr %t153) + %t157 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t157) + %t158 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t158) + br label %if.j40 +if.j40: + %t159 = load ptr, ptr %sc_l_parser_0 + %t160 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t159, i64 0, i32 18 + %t161 = load double, ptr %t160, !tbaa !26 + %t162 = fcmp une double %t161, 0x0000000000000000 + br i1 %t162, label %if.t52, label %if.j53 +if.t52: + %t163 = load ptr, ptr %sc_l_parser_0 + %t164 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t163, i64 0, i32 18 + %t165 = load double, ptr %t164, !tbaa !26 + %t166 = fcmp oeq double %t165, 0x4000000000000000 + br i1 %t166, label %tern.t54, label %tern.f55 +tern.t54: + store double 0x4079D00000000000, ptr %s167 + store i32 413, ptr %s168 + br label %tern.j56 +tern.f55: + store double 0x4079000000000000, ptr %s167 + store i32 400, ptr %s168 + br label %tern.j56 +tern.j56: + %t169 = load double, ptr %s167 + %t170 = load i32, ptr %s168 + %t171 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t171) + %t172 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t172) + %t173 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t173) + %t174 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t174) + %t175 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t175) + ret i32 %t170 +if.j53: + %t176 = load ptr, ptr %sc_l_c_0 + %t177 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t176, i64 0, i32 1 + %t178 = load ptr, ptr %t177, !tbaa !24 + %t179 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t178) + store ptr %t179, ptr %sc_l_rv_0 + %t180 = load ptr, ptr %sc_l_rv_0 + store ptr %t180, ptr %sc_l__x25_callbackReceiver_3 + %t181 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t182 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t181) + %t183 = load i32, ptr %exc.cell + %t184 = icmp ne i32 %t183, 0 + %t185 = call i1 @llvm.expect.i1(i1 %t184, i1 false) + br i1 %t185, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t182) + br label %exc.cleanup59 +exc.k58: + store ptr %t182, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t186 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t187 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t188 = load i32, ptr %t187 + %t189 = icmp eq i32 %t188, 6 + br i1 %t189, label %tern.t60, label %tern.f61 +tern.t60: + %t192 = call ptr @scr_dyn_undefined() + %t191 = call ptr @scr_dyn_retain_v(ptr %t192) + store ptr %t191, ptr %s190 + br label %tern.j62 +tern.f61: + %t193 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t194 = call ptr @sc_rc_retain_dyn(ptr %t193) + %t195 = call ptr @sc_f__x25_dyn_class_property_27(ptr %t194) + %t196 = load i32, ptr %exc.cell + %t197 = icmp ne i32 %t196, 0 + %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false) + br i1 %t198, label %exc.u63, label %exc.k64 +exc.u63: + call void @sc_rc_release_dyn(ptr %t195) + br label %exc.cleanup65 +exc.k64: + store ptr %t195, ptr %s190 + br label %tern.j62 +tern.j62: + %t199 = load ptr, ptr %s190 + store ptr %t199, ptr %sc_l__x25_callback_3 + %t200 = load ptr, ptr %sc_l__x25_callback_3 + %t201 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t203 = load ptr, ptr %sc_l_parser_0 + %t204 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t203, i64 0, i32 19 + %t205 = load ptr, ptr %t204, !tbaa !28 + %t206 = call ptr @scr_arr_retain_v(ptr %t205) + %t207 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t206, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t207, ptr @sc_ldr_11_materialize_ops) + %t208 = load ptr, ptr %sc_l_parser_0 + %t209 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t208, i64 0, i32 20 + %t210 = load ptr, ptr %t209, !tbaa !30 + %t211 = call ptr @scr_arr_retain_v(ptr %t210) + %t212 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t211, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t212, ptr @sc_ldr_2_materialize_ops) + %t214 = getelementptr inbounds [2 x ptr], ptr %s213, i64 0, i64 0 + store ptr %t207, ptr %t214 + %t215 = getelementptr inbounds [2 x ptr], ptr %s213, i64 0, i64 1 + store ptr %t212, ptr %t215 + call void @scr_dyn_this_push_dyn(ptr %t202) + %t216 = call ptr @scr_dyn_call(ptr %t200, ptr %s213, i64 2, ptr @sc_cs_1513435222814291) + call void @scr_dyn_this_pop() + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t202) + call void @scr_arr_release(ptr %t206) + call void @sc_rc_release_dyn(ptr %t207) + call void @scr_arr_release(ptr %t211) + call void @sc_rc_release_dyn(ptr %t212) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup68 +exc.k67: + call void @sc_rc_release_dyn(ptr %t202) + call void @scr_arr_release(ptr %t206) + call void @sc_rc_release_dyn(ptr %t207) + call void @scr_arr_release(ptr %t211) + call void @sc_rc_release_dyn(ptr %t212) + call void @sc_rc_release_dyn(ptr %t216) + %t220 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t220) + %t221 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t221) + %t222 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t222) + %t223 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t223) + %t224 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t224) + %t225 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t225) + %t226 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t226) + %t227 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t227) + ret i32 0 +exc.cleanup4: + %t228 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t228) + ret i32 0 +exc.cleanup10: + %t229 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t229) + %t230 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t230) + ret i32 0 +exc.cleanup13: + %t231 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t231) + %t232 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t232) + %t233 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t233) + ret i32 0 +exc.cleanup18: + %t234 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t234) + ret i32 0 +exc.cleanup29: + %t235 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t235) + %t236 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t236) + %t237 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t237) + %t238 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t238) + %t239 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t239) + ret i32 0 +exc.cleanup35: + %t240 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t240) + %t241 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t241) + %t242 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t242) + %t243 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t243) + %t244 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t244) + %t245 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t245) + ret i32 0 +exc.cleanup38: + %t246 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t246) + %t247 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t247) + %t248 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t248) + %t249 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t249) + %t250 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t250) + %t251 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t251) + %t252 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t252) + ret i32 0 +exc.cleanup48: + %t253 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t253) + %t254 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t254) + %t255 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t255) + %t256 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t256) + %t257 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t257) + %t258 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t258) + ret i32 0 +exc.cleanup51: + %t259 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t259) + %t260 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t260) + %t261 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t261) + %t262 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t262) + %t263 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t263) + %t264 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t264) + %t265 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t265) + ret i32 0 +exc.cleanup59: + %t266 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t266) + %t267 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t267) + %t268 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t268) + %t269 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t269) + %t270 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t270) + %t271 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t271) + ret i32 0 +exc.cleanup65: + %t272 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t272) + %t273 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t273) + %t274 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t274) + %t275 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t275) + %t276 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t276) + %t277 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t277) + %t278 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t278) + ret i32 0 +exc.cleanup68: + %t279 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t279) + %t280 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t280) + %t281 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t281) + %t282 = load ptr, ptr %sc_l_bnd_0 + call void @scr_str_release(ptr %t282) + %t283 = load ptr, ptr %sc_l_st_0 + call void @sc_release__x25_m4_MultipartStorage(ptr %t283) + %t284 = load ptr, ptr %sc_l_parser_0 + call void @sc_release__x25_m4_MultipartParser(ptr %t284) + %t285 = load ptr, ptr %sc_l_bytes_0 + call void @scr_bytes_release(ptr %t285) + %t286 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t286) + ret i32 0 +} +define internal double @sc_bf__x25_m5_runMultipartPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %r = call i32 @sc_bf__x25_m5_runMultipartPrim.i32(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + %d = sitofp i32 %r to double + ret double %d +} +define internal double @sc_f__x25_m5_runMultipartPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call double @sc_bf__x25_m5_runMultipartPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @sc_release__x25_m5_MpCfg(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_union_release(ptr %p3) + ret double %result +} + +define internal void @sc_bf__x25_m5_replyPlain.i32(ptr %p_sc_l_sink_0, i32 %p_sc_l_status_0.i32, ptr %p_sc_l_msg_0) #0 { ; %m5.replyPlain +entry: + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_status_0 = alloca i32 ; status + %sc_l_msg_0 = alloca ptr ; msg + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca ptr + %s30 = alloca [1 x ptr] + %s49 = alloca ptr + %s64 = alloca [2 x ptr] + %s84 = alloca ptr + %s102 = alloca [2 x ptr] + %s122 = alloca ptr + %s137 = alloca [1 x ptr] + %p_sc_l_status_0 = sitofp i32 %p_sc_l_status_0.i32 to double + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store i32 %p_sc_l_status_0.i32, ptr %sc_l_status_0 + store ptr %p_sc_l_msg_0, ptr %sc_l_msg_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_sink_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t7 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t6) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t7) + ret void +exc.k3: + store ptr %t7, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t11 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 6 + br i1 %t14, label %tern.t4, label %tern.f5 +tern.t4: + %t17 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t17) + store ptr %t16, ptr %s15 + br label %tern.j6 +tern.f5: + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = call ptr @sc_rc_retain_dyn(ptr %t18) + %t20 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup9 +exc.k8: + store ptr %t20, ptr %s15 + br label %tern.j6 +tern.j6: + %t24 = load ptr, ptr %s15 + store ptr %t24, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t28 = load i32, ptr %sc_l_status_0 + %t29 = call ptr @sc_td_2(double %p_sc_l_status_0) + %t31 = getelementptr inbounds [1 x ptr], ptr %s30, i64 0, i64 0 + store ptr %t29, ptr %t31 + call void @scr_dyn_this_push_dyn(ptr %t27) + %t32 = call ptr @scr_dyn_call(ptr %t25, ptr %s30, i64 1, ptr @sc_cs_137127765515474) + call void @scr_dyn_this_pop() + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t32) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t32) + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + %t38 = load ptr, ptr %sc_l_sink_0 + store ptr %t38, ptr %sc_l__x25_callbackReceiver_1 + %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t41 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t40) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t41) + ret void +exc.k14: + store ptr %t41, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t45 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t46 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t48 = icmp eq i32 %t47, 6 + br i1 %t48, label %tern.t15, label %tern.f16 +tern.t15: + %t51 = call ptr @scr_dyn_undefined() + %t50 = call ptr @scr_dyn_retain_v(ptr %t51) + store ptr %t50, ptr %s49 + br label %tern.j17 +tern.f16: + %t52 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t53 = call ptr @sc_rc_retain_dyn(ptr %t52) + %t54 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t53) + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t54) + br label %exc.cleanup20 +exc.k19: + store ptr %t54, ptr %s49 + br label %tern.j17 +tern.j17: + %t58 = load ptr, ptr %s49 + store ptr %t58, ptr %sc_l__x25_callback_1 + %t59 = load ptr, ptr %sc_l__x25_callback_1 + %t60 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t62 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t63 = call ptr @sc_td_0(ptr @sc_lit_266676967674785) + %t65 = getelementptr inbounds [2 x ptr], ptr %s64, i64 0, i64 0 + store ptr %t62, ptr %t65 + %t66 = getelementptr inbounds [2 x ptr], ptr %s64, i64 0, i64 1 + store ptr %t63, ptr %t66 + call void @scr_dyn_this_push_dyn(ptr %t61) + %t67 = call ptr @scr_dyn_call(ptr %t59, ptr %s64, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u21, label %exc.k22 +exc.u21: + call void @sc_rc_release_dyn(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup23 +exc.k22: + call void @sc_rc_release_dyn(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + %t71 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t71) + %t72 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t72) + %t73 = load ptr, ptr %sc_l_sink_0 + store ptr %t73, ptr %sc_l__x25_callbackReceiver_2 + %t74 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t76 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t75) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t76) + ret void +exc.k25: + store ptr %t76, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t80 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t81 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind + %t82 = load i32, ptr %t81 + %t83 = icmp eq i32 %t82, 6 + br i1 %t83, label %tern.t26, label %tern.f27 +tern.t26: + %t86 = call ptr @scr_dyn_undefined() + %t85 = call ptr @scr_dyn_retain_v(ptr %t86) + store ptr %t85, ptr %s84 + br label %tern.j28 +tern.f27: + %t87 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t88 = call ptr @sc_rc_retain_dyn(ptr %t87) + %t89 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t88) + %t90 = load i32, ptr %exc.cell + %t91 = icmp ne i32 %t90, 0 + %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false) + br i1 %t92, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t89) + br label %exc.cleanup31 +exc.k30: + store ptr %t89, ptr %s84 + br label %tern.j28 +tern.j28: + %t93 = load ptr, ptr %s84 + store ptr %t93, ptr %sc_l__x25_callback_2 + %t94 = load ptr, ptr %sc_l__x25_callback_2 + %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t97 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802) + %t98 = load ptr, ptr %sc_l_msg_0 + %t99 = call double @sc_bf__x25_m5_utf8len(ptr %t98) + %t100 = call ptr @scr_f64_to_scrstr(double %t99) + %t101 = call ptr @sc_td_0(ptr %t100) + %t103 = getelementptr inbounds [2 x ptr], ptr %s102, i64 0, i64 0 + store ptr %t97, ptr %t103 + %t104 = getelementptr inbounds [2 x ptr], ptr %s102, i64 0, i64 1 + store ptr %t101, ptr %t104 + call void @scr_dyn_this_push_dyn(ptr %t96) + %t105 = call ptr @scr_dyn_call(ptr %t94, ptr %s102, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t97) + call void @scr_str_release(ptr %t100) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t105) + br label %exc.cleanup34 +exc.k33: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t97) + call void @scr_str_release(ptr %t100) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t105) + %t109 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t109) + %t110 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t110) + %t111 = load ptr, ptr %sc_l_sink_0 + store ptr %t111, ptr %sc_l__x25_callbackReceiver_3 + %t112 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t113 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t112, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t114 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t113) + %t115 = load i32, ptr %exc.cell + %t116 = icmp ne i32 %t115, 0 + %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false) + br i1 %t117, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t114) + ret void +exc.k36: + store ptr %t114, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t118 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t119 = getelementptr inbounds i8, ptr %t118, i64 8 ; ->kind + %t120 = load i32, ptr %t119 + %t121 = icmp eq i32 %t120, 6 + br i1 %t121, label %tern.t37, label %tern.f38 +tern.t37: + %t124 = call ptr @scr_dyn_undefined() + %t123 = call ptr @scr_dyn_retain_v(ptr %t124) + store ptr %t123, ptr %s122 + br label %tern.j39 +tern.f38: + %t125 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t126 = call ptr @sc_rc_retain_dyn(ptr %t125) + %t127 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t126) + %t128 = load i32, ptr %exc.cell + %t129 = icmp ne i32 %t128, 0 + %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false) + br i1 %t130, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t127) + br label %exc.cleanup42 +exc.k41: + store ptr %t127, ptr %s122 + br label %tern.j39 +tern.j39: + %t131 = load ptr, ptr %s122 + store ptr %t131, ptr %sc_l__x25_callback_3 + %t132 = load ptr, ptr %sc_l__x25_callback_3 + %t133 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t134 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t133, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t135 = load ptr, ptr %sc_l_msg_0 + %t136 = call ptr @sc_td_0(ptr %t135) + %t138 = getelementptr inbounds [1 x ptr], ptr %s137, i64 0, i64 0 + store ptr %t136, ptr %t138 + call void @scr_dyn_this_push_dyn(ptr %t134) + %t139 = call ptr @scr_dyn_call(ptr %t132, ptr %s137, i64 1, ptr @sc_cs_891738944038355) + call void @scr_dyn_this_pop() + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u43, label %exc.k44 +exc.u43: + call void @sc_rc_release_dyn(ptr %t134) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t139) + br label %exc.cleanup45 +exc.k44: + call void @sc_rc_release_dyn(ptr %t134) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t139) + %t143 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t143) + %t144 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t144) + ret void +exc.cleanup9: + %t145 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t145) + ret void +exc.cleanup12: + %t146 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t146) + %t147 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t147) + ret void +exc.cleanup20: + %t148 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t148) + ret void +exc.cleanup23: + %t149 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t149) + %t150 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t150) + ret void +exc.cleanup31: + %t151 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t151) + ret void +exc.cleanup34: + %t152 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t152) + %t153 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t153) + ret void +exc.cleanup42: + %t154 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t154) + ret void +exc.cleanup45: + %t155 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t155) + %t156 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t156) + ret void +} +define internal void @sc_bf__x25_m5_replyPlain(ptr %p0, double %p1, ptr %p2) #0 { +entry: + %a1 = fptosi double %p1 to i32 + call void @sc_bf__x25_m5_replyPlain.i32(ptr %p0, i32 %a1, ptr %p2) + ret void +} +define internal void @sc_f__x25_m5_replyPlain(ptr %p0, double %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25_m5_replyPlain(ptr %p0, double %p1, ptr %p2) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal double @sc_bf__x25_m5_newNode.i32(ptr %p_sc_l_nodes_0, ptr %p_sc_l_seg_0, i32 %p_sc_l_kind_0.i32) #0 { ; %m5.newNode +entry: + %sc_l_nodes_0 = alloca ptr ; nodes + %sc_l_seg_0 = alloca ptr ; seg + %sc_l_kind_0 = alloca i32 ; kind + %p_sc_l_kind_0 = sitofp i32 %p_sc_l_kind_0.i32 to double + store ptr %p_sc_l_nodes_0, ptr %sc_l_nodes_0 + store ptr %p_sc_l_seg_0, ptr %sc_l_seg_0 + store i32 %p_sc_l_kind_0.i32, ptr %sc_l_kind_0 + %t0 = load ptr, ptr %sc_l_nodes_0 + %t1 = call ptr @sc_rnew_r5() + %t2 = load ptr, ptr %sc_l_seg_0 + %t3 = call ptr @sc_rc_retain_str(ptr %t2) + %t4 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 5 + store ptr %t3, ptr %t4 + %t5 = load i32, ptr %sc_l_kind_0 + %t6 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 4 + store double %p_sc_l_kind_0, ptr %t6 + %t7 = call ptr @scr_arr_new(i32 0, i64 0) + %t8 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 1 + store ptr %t7, ptr %t8 + %t9 = call ptr @scr_arr_new(i32 2, i64 0) + %t10 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 3 + store ptr %t9, ptr %t10 + %t11 = call ptr @scr_arr_new(i32 0, i64 0) + %t12 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 2 + store ptr %t11, ptr %t12 + %t13 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t14 = load i64, ptr %t13, !tbaa !2 + %t17 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t15 = load i64, ptr %t17, !tbaa !2 + %t16 = icmp ult i64 %t14, %t15 + br i1 %t16, label %arr.push.dense0, label %arr.push.slow1 +arr.push.dense0: + %t18 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t20 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t19 = load ptr, ptr %t18, !tbaa !2 + %t21 = load ptr, ptr %t20, !tbaa !2 + %t22 = getelementptr inbounds i8, ptr %t21, i64 %t14 + %t23 = getelementptr inbounds i64, ptr %t19, i64 %t14 + store ptr %t1, ptr %t23, !tbaa !6 + store i8 1, ptr %t22, !tbaa !4 + %t24 = add nuw i64 %t14, 1 + store i64 %t24, ptr %t13, !tbaa !2 + %t26 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t27 = load i32, ptr %t26, !tbaa !2 + %t31 = zext i32 %t27 to i64 + %t28 = icmp eq i64 %t31, %t14 + %t29 = add i32 %t27, 1 + %t30 = select i1 %t28, i32 %t29, i32 %t27 + store i32 %t30, ptr %t26, !tbaa !2 + %t25 = sitofp i64 %t24 to double + br label %arr.push.join2 +arr.push.slow1: + %t32 = call double @scr_arr_push_ref(ptr %t0, ptr %t1) cold + br label %arr.push.join2 +arr.push.join2: + %t33 = phi double [ %t25, %arr.push.dense0 ], [ %t32, %arr.push.slow1 ] + %t34 = load ptr, ptr %sc_l_nodes_0 + %t35 = getelementptr inbounds %ScrArr, ptr %t34, i32 0, i32 1 + %t36 = load i64, ptr %t35, !tbaa !2, !range !{i64 0, i64 4294967296} + %t37 = sitofp i64 %t36 to double + %t39 = fptosi double %t37 to i64 + %t40 = sub nsw i64 %t39, 1 + %t42 = trunc i64 %t40 to i32 + %t41 = sitofp i64 %t40 to double + ret double %t41 +} +define internal double @sc_bf__x25_m5_newNode(ptr %p0, ptr %p1, double %p2) #0 { +entry: + %a2 = fptosi double %p2 to i32 + %r = call double @sc_bf__x25_m5_newNode.i32(ptr %p0, ptr %p1, i32 %a2) + ret double %r +} +define internal double @sc_f__x25_m5_newNode(ptr %p0, ptr %p1, double %p2) #0 { +entry: + %result = call double @sc_bf__x25_m5_newNode(ptr %p0, ptr %p1, double %p2) + call void @scr_arr_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret double %result +} + +define internal void @sc_bf__x25_m5_addRoute(ptr %p_sc_l_nodes_0, ptr %p_sc_l_method_0, ptr %p_sc_l_path_0, double %p_sc_l_hIdx_0) #0 { ; %m5.addRoute +entry: + %sc_l_nodes_0 = alloca ptr ; nodes + %sc_l_method_0 = alloca ptr ; method + %sc_l_path_0 = alloca ptr ; path + %sc_l_hIdx_0 = alloca double ; hIdx + %sc_l_m_0 = alloca ptr ; m + %sc_l_p_0 = alloca ptr ; p + %sc_l_segs_0 = alloca ptr ; segs + %sc_l_ni_0 = alloca ptr ; ni + %sc_l_i_0 = alloca i32 ; i + %sc_l_seg_0 = alloca ptr ; seg + %sc_l_kind_0 = alloca i32 ; kind + %sc_l_child_0 = alloca ptr ; child + %sc_l_ch_0 = alloca ptr ; ch + %sc_l_k_0 = alloca i32 ; k + %sc_l_c_0 = alloca ptr ; c + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s16 = alloca i1 + %s31 = alloca %ScrUnion + %s32 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 1 + %s33 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 5 + %s34 = alloca %ScrUnion + %s35 = getelementptr inbounds %ScrUnion, ptr %s34, i32 0, i32 1 + %s36 = getelementptr inbounds %ScrUnion, ptr %s34, i32 0, i32 5 + %s50 = alloca ptr + %s83 = alloca ptr + %s134 = alloca ptr + %s140 = alloca double + %s141 = alloca i32 + %s182 = alloca i64 ; integer induction k + %s245 = alloca ptr + %s253 = alloca i1 + %s257 = alloca ptr + %s282 = alloca double + %s283 = alloca i32 + %s310 = alloca double + %s311 = alloca i32 + %s357 = alloca ptr + %s363 = alloca double + %s364 = alloca i32 + %s428 = alloca ptr + %s434 = alloca double + %s435 = alloca i32 + store ptr null, ptr %sc_l_m_0 + store ptr null, ptr %sc_l_p_0 + store ptr null, ptr %sc_l_segs_0 + store ptr null, ptr %sc_l_ni_0 + store ptr null, ptr %sc_l_seg_0 + store ptr null, ptr %sc_l_child_0 + store ptr null, ptr %sc_l_ch_0 + store ptr null, ptr %sc_l_c_0 + store ptr %p_sc_l_nodes_0, ptr %sc_l_nodes_0 + store ptr %p_sc_l_method_0, ptr %sc_l_method_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store double %p_sc_l_hIdx_0, ptr %sc_l_hIdx_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_method_0 + %t7 = icmp eq ptr %t4, null + %t6 = select i1 %t7, i32 1, i32 0 + switch i32 %t6, label %u.bad3 [ i32 0, label %u.a4 i32 1, label %u.a5 ] +u.a4: + %t8 = call ptr @sc_rc_retain_str(ptr %t4) + store ptr %t8, ptr %s5 + br label %us.j2 +u.a5: + store ptr @sc_lit_4134463689533233, ptr %s5 + br label %us.j2 +u.bad3: + call void @sc_bad_tag() + unreachable +us.j2: + %t9 = load ptr, ptr %s5 + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_str_release(ptr %t9) + ret void +exc.k7: + store ptr %t9, ptr %sc_l_m_0 + %t13 = load ptr, ptr %sc_l_path_0 + store ptr %t13, ptr %sc_l_p_0 + %t14 = load ptr, ptr %sc_l_p_0 + %t15 = call zeroext i1 @sc_streq_4005573543169985(ptr %t14) + store i1 %t15, ptr %s16 + br i1 %t15, label %log.j9, label %log.r8 +log.r8: + %t17 = load ptr, ptr %sc_l_p_0 + %t18 = call ptr @scr_str_char_at(ptr %t17, double 0x0000000000000000) + %t19 = call zeroext i1 @sc_streq_2434240011052594(ptr %t18) + %t20 = xor i1 %t19, true + store i1 %t20, ptr %s16 + call void @scr_str_release(ptr %t18) + br label %log.j9 +log.j9: + %t21 = load i1, ptr %s16 + br i1 %t21, label %if.t10, label %if.j11 +if.t10: + %t22 = call ptr @sc_td_0(ptr @sc_lit_1079256549531276) + %t24 = call ptr @scr_dyn_undefined() + %t23 = call ptr @scr_dyn_retain_v(ptr %t24) + %t25 = call ptr @scr_error_new_options(i32 0, ptr %t22, ptr %t23) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t23) + call void @scr_error_release(ptr %t25) + br label %exc.cleanup14 +exc.k13: + call void @scr_throw_obj(ptr %t25, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup14 +if.j11: + %t29 = load ptr, ptr %sc_l_p_0 + %t30 = call ptr @scr_str_split_limit(ptr %t29, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000) + store ptr %t30, ptr %sc_l_segs_0 + store double 0x0000000000000000, ptr %s36 + store i32 0, ptr %s35 + %t38 = getelementptr inbounds %ScrUnion, ptr %s34, i64 0, i32 1 + %t37 = load i32, ptr %t38 + %t39 = getelementptr inbounds %ScrUnion, ptr %s34, i32 0, i32 5 + %t40 = load i64, ptr %t39 + store i32 %t37, ptr %s32 + store i64 %t40, ptr %s33 + store ptr %s31, ptr %sc_l_ni_0 + store i32 1, ptr %sc_l_i_0 + br label %loop.c16 +loop.c16: + %t41 = load i32, ptr %sc_l_i_0 + %t42 = uitofp i32 %t41 to double + %t43 = load ptr, ptr %sc_l_segs_0 + %t44 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 1 + %t45 = load i64, ptr %t44, !tbaa !2, !range !{i64 0, i64 4294967296} + %t46 = sitofp i64 %t45 to double + %t48 = fptosi double %t46 to i64 + %t49 = zext i32 %t41 to i64 + %t47 = icmp slt i64 %t49, %t48 + br i1 %t47, label %loop.b17, label %loop.e15 +loop.b17: + %t51 = load ptr, ptr %sc_l_segs_0 + %t52 = load i32, ptr %sc_l_i_0 + %t53 = uitofp i32 %t52 to double + %t54 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 2 + %t55 = load i64, ptr %t54, !tbaa !2 + %t56 = fptosi double %t53 to i64 + %t57 = freeze i64 %t56 + %t58 = sitofp i64 %t57 to double + %t59 = fcmp oeq double %t58, %t53 + %t60 = icmp ult i64 %t57, %t55 + %t61 = and i1 %t59, %t60 + br i1 %t61, label %local.array.range22, label %local.array.slow19 +local.array.range22: + br label %local.array.dense23 +local.array.dense23: + %t62 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 6 + %t63 = load i32, ptr %t62, !tbaa !2 + %t65 = zext i32 %t63 to i64 + %t64 = icmp ult i64 %t57, %t65 + br i1 %t64, label %local.array.value25, label %local.array.len24 +local.array.len24: + %t66 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 1 + %t67 = load i64, ptr %t66, !tbaa !2, !range !{i64 0, i64 4294967296} + %t68 = icmp ult i64 %t57, %t67 + br i1 %t68, label %local.array.state26, label %local.array.missing20 +local.array.state26: + %t69 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 9 + %t70 = load ptr, ptr %t69, !tbaa !2 + %t71 = getelementptr inbounds i8, ptr %t70, i64 %t57 + %t72 = load i8, ptr %t71, !tbaa !4 + %t73 = icmp eq i8 %t72, 1 + br i1 %t73, label %local.array.value25, label %local.array.missing20 +local.array.value25: + %t74 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 8 + %t75 = load ptr, ptr %t74, !tbaa !2 + %t76 = getelementptr inbounds i64, ptr %t75, i64 %t57 + %t77 = load ptr, ptr %t76, !tbaa !6 + %t78 = call ptr @sc_rc_retain_str(ptr %t77) + store ptr %t78, ptr %s50 + br label %local.array.join21 +local.array.slow19: + %t79 = call ptr @scr_arr_peek_ref(ptr %t51, double %t53) + %t80 = icmp ne ptr %t79, null + br i1 %t80, label %local.array.slow.value27, label %local.array.missing20 +local.array.slow.value27: + %t81 = call ptr @sc_rc_retain_str(ptr %t79) + store ptr %t81, ptr %s50 + br label %local.array.join21 +local.array.missing20: + store ptr null, ptr %s50 + br label %local.array.join21 +local.array.join21: + %t82 = load ptr, ptr %s50 + %t85 = icmp eq ptr %t82, null + %t84 = select i1 %t85, i32 1, i32 0 + switch i32 %t84, label %u.bad29 [ i32 0, label %u.a30 i32 1, label %u.a31 ] +u.a30: + %t86 = call ptr @sc_rc_retain_str(ptr %t82) + store ptr %t86, ptr %s83 + br label %us.j28 +u.a31: + store ptr @sc_lit_4134463689533233, ptr %s83 + br label %us.j28 +u.bad29: + call void @sc_bad_tag() + unreachable +us.j28: + %t87 = load ptr, ptr %s83 + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u32, label %exc.k33 +exc.u32: + %t91 = load ptr, ptr %s50 + call void @scr_str_release(ptr %t91) + call void @scr_str_release(ptr %t87) + br label %exc.cleanup34 +exc.k33: + store ptr %t87, ptr %sc_l_seg_0 + %t92 = load ptr, ptr %s50 + call void @scr_str_release(ptr %t92) + store i32 0, ptr %sc_l_kind_0 + %t93 = load ptr, ptr %sc_l_seg_0 + %t94 = call zeroext i1 @sc_streq_1834571860458263(ptr %t93) + br i1 %t94, label %if.t35, label %if.f37 +if.t35: + store i32 2, ptr %sc_l_kind_0 + %t95 = load i32, ptr %sc_l_i_0 + %t96 = uitofp i32 %t95 to double + %t97 = load ptr, ptr %sc_l_segs_0 + %t98 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 1 + %t99 = load i64, ptr %t98, !tbaa !2, !range !{i64 0, i64 4294967296} + %t100 = sitofp i64 %t99 to double + %t102 = fptosi double %t100 to i64 + %t103 = sub nsw i64 %t102, 1 + %t105 = trunc i64 %t103 to i32 + %t104 = sitofp i64 %t103 to double + %t107 = zext i32 %t95 to i64 + %t106 = icmp ne i64 %t107, %t103 + br i1 %t106, label %if.t38, label %if.j39 +if.t38: + %t108 = call ptr @sc_td_0(ptr @sc_lit_109329900898828) + %t110 = call ptr @scr_dyn_undefined() + %t109 = call ptr @scr_dyn_retain_v(ptr %t110) + %t111 = call ptr @scr_error_new_options(i32 0, ptr %t108, ptr %t109) + %t112 = load i32, ptr %exc.cell + %t113 = icmp ne i32 %t112, 0 + %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false) + br i1 %t114, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t108) + call void @sc_rc_release_dyn(ptr %t109) + call void @scr_error_release(ptr %t111) + br label %exc.cleanup42 +exc.k41: + call void @scr_throw_obj(ptr %t111, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + call void @sc_rc_release_dyn(ptr %t108) + call void @sc_rc_release_dyn(ptr %t109) + br label %exc.cleanup42 +if.j39: + br label %if.j36 +if.f37: + %t115 = load ptr, ptr %sc_l_seg_0 + %t116 = call ptr @scr_str_char_at(ptr %t115, double 0x0000000000000000) + %t117 = call zeroext i1 @sc_streq_4075616746236128(ptr %t116) + call void @scr_str_release(ptr %t116) + br i1 %t117, label %if.t43, label %if.j44 +if.t43: + store i32 1, ptr %sc_l_kind_0 + %t118 = load ptr, ptr %sc_l_seg_0 + %t119 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t120 = call ptr @scr_str_slice(ptr %t118, double 0x3FF0000000000000, double %t119) + %t121 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t121) + store ptr %t120, ptr %sc_l_seg_0 + %t122 = load ptr, ptr %sc_l_seg_0 + %t123 = call zeroext i1 @sc_streq_4005573543169985(ptr %t122) + br i1 %t123, label %if.t45, label %if.j46 +if.t45: + %t124 = load ptr, ptr %sc_l_p_0 + %t125 = call ptr @scr_str_concat(ptr @sc_lit_3545740730868640, ptr %t124) + %t126 = call ptr @sc_td_0(ptr %t125) + %t128 = call ptr @scr_dyn_undefined() + %t127 = call ptr @scr_dyn_retain_v(ptr %t128) + %t129 = call ptr @scr_error_new_options(i32 0, ptr %t126, ptr %t127) + %t130 = load i32, ptr %exc.cell + %t131 = icmp ne i32 %t130, 0 + %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false) + br i1 %t132, label %exc.u47, label %exc.k48 +exc.u47: + call void @scr_str_release(ptr %t125) + call void @sc_rc_release_dyn(ptr %t126) + call void @sc_rc_release_dyn(ptr %t127) + call void @scr_error_release(ptr %t129) + br label %exc.cleanup42 +exc.k48: + call void @scr_throw_obj(ptr %t129, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + call void @scr_str_release(ptr %t125) + call void @sc_rc_release_dyn(ptr %t126) + call void @sc_rc_release_dyn(ptr %t127) + br label %exc.cleanup42 +if.j46: + br label %if.j44 +if.j44: + br label %if.j36 +if.j36: + %t133 = call ptr @scr_union_new_f64(i32 0, double 0xBFF0000000000000) + store ptr %t133, ptr %sc_l_child_0 + %t135 = load ptr, ptr %sc_l_nodes_0 + %t136 = load ptr, ptr %sc_l_ni_0 + %t139 = getelementptr inbounds %ScrUnion, ptr %t136, i64 0, i32 1 + %t138 = load i32, ptr %t139 + %t137 = icmp eq i32 %t138, 1 + br i1 %t137, label %tern.t49, label %tern.f50 +tern.t49: + store double 0x7FF8000000000000, ptr %s140 + br label %tern.j51 +tern.f50: + %t142 = load ptr, ptr %sc_l_ni_0 + %t143 = getelementptr inbounds %ScrUnion, ptr %t142, i64 0, i32 5 + %t144 = load double, ptr %t143 + store double %t144, ptr %s140 + br label %tern.j51 +tern.j51: + %t145 = load double, ptr %s140 + %t146 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 2 + %t147 = load i64, ptr %t146, !tbaa !2 + %t148 = fptosi double %t145 to i64 + %t149 = freeze i64 %t148 + %t150 = sitofp i64 %t149 to double + %t151 = fcmp oeq double %t150, %t145 + %t152 = icmp ult i64 %t149, %t147 + %t153 = and i1 %t151, %t152 + br i1 %t153, label %local.array.range55, label %local.array.slow52 +local.array.range55: + br label %local.array.dense56 +local.array.dense56: + %t154 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 6 + %t155 = load i32, ptr %t154, !tbaa !2 + %t157 = zext i32 %t155 to i64 + %t156 = icmp ult i64 %t149, %t157 + br i1 %t156, label %local.array.value58, label %local.array.len57 +local.array.len57: + %t158 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 1 + %t159 = load i64, ptr %t158, !tbaa !2, !range !{i64 0, i64 4294967296} + %t160 = icmp ult i64 %t149, %t159 + br i1 %t160, label %local.array.state59, label %local.array.missing53 +local.array.state59: + %t161 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 9 + %t162 = load ptr, ptr %t161, !tbaa !2 + %t163 = getelementptr inbounds i8, ptr %t162, i64 %t149 + %t164 = load i8, ptr %t163, !tbaa !4 + %t165 = icmp eq i8 %t164, 1 + br i1 %t165, label %local.array.value58, label %local.array.missing53 +local.array.value58: + %t166 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 8 + %t167 = load ptr, ptr %t166, !tbaa !2 + %t168 = getelementptr inbounds i64, ptr %t167, i64 %t149 + %t169 = load ptr, ptr %t168, !tbaa !6 + store ptr %t169, ptr %s134 + br label %local.array.join54 +local.array.slow52: + %t170 = call ptr @scr_arr_peek_ref(ptr %t135, double %t145) + %t171 = icmp ne ptr %t170, null + br i1 %t171, label %local.array.slow.value60, label %local.array.missing53 +local.array.slow.value60: + store ptr %t170, ptr %s134 + br label %local.array.join54 +local.array.missing53: + store ptr null, ptr %s134 + br label %local.array.join54 +local.array.join54: + %t172 = load ptr, ptr %s134 + %t174 = icmp eq ptr %t172, null + %t173 = select i1 %t174, i32 1, i32 0 + %t175 = icmp eq i32 %t173, 0 + br i1 %t175, label %narrow.present61, label %narrow.other62 +narrow.other62: + call ptr @sc_bf__x25_union_narrow_7(ptr %t172) + %t176 = load i32, ptr %exc.cell + %t177 = icmp ne i32 %t176, 0 + %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false) + br i1 %t178, label %exc.u63, label %exc.k64 +exc.u63: + br label %exc.cleanup65 +exc.k64: + unreachable +narrow.present61: + %t179 = getelementptr inbounds %sc_rs_r5, ptr %t172, i64 0, i32 1 + %t180 = load ptr, ptr %t179 + %t181 = call ptr @scr_arr_retain_v(ptr %t180) + store ptr %t181, ptr %sc_l_ch_0 + %t183 = fptosi double 0x0000000000000000 to i64 + store i64 %t183, ptr %s182 + br label %loop.c67 +loop.c67: + %t184 = load ptr, ptr %sc_l_ch_0 + %t185 = getelementptr inbounds %ScrArr, ptr %t184, i64 0, i32 1 + %t186 = load i64, ptr %t185, !tbaa !2 + %t187 = load i64, ptr %s182 + %t188 = icmp ult i64 %t187, %t186 + br i1 %t188, label %loop.b68, label %loop.e66 +loop.b68: + %t189 = load ptr, ptr %sc_l_nodes_0 + %t190 = load ptr, ptr %sc_l_ch_0 + %t191 = load i64, ptr %s182 + %t192 = sitofp i64 %t191 to double + %t193 = trunc i64 %t191 to i32 + %t198 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 8 + %t199 = load ptr, ptr %t198, !tbaa !2 + %t194 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 1 + %t195 = load i64, ptr %t194, !tbaa !2, !range !{i64 0, i64 4294967296} + %t196 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 2 + %t197 = load i64, ptr %t196, !tbaa !2 + %t200 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 9 + %t201 = load ptr, ptr %t200, !tbaa !2 + %t202 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 6 + %t203 = load i32, ptr %t202, !tbaa !2 + %t204 = zext i32 %t203 to i64 + %t205 = icmp ult i64 %t191, %t204 + br i1 %t205, label %arr.get.value72, label %arr.check73 +arr.check73: + %t206 = icmp ult i64 %t191, %t197 + %t207 = icmp ult i64 %t191, %t195 + %t208 = and i1 %t206, %t207 + br i1 %t208, label %arr.dense74, label %arr.get.slow70 +arr.dense74: + %t209 = getelementptr inbounds i8, ptr %t201, i64 %t191 + %t210 = load i8, ptr %t209, !tbaa !4 + %t211 = icmp eq i8 %t210, 1 + br i1 %t211, label %arr.get.value72, label %arr.get.slow70 +arr.get.value72: + %t212 = getelementptr inbounds i64, ptr %t199, i64 %t191 + %t213 = load double, ptr %t212, !tbaa !6 + br label %arr.get.join71 +arr.get.slow70: + %t214 = call double @scr_arr_get_number(ptr %t190, double %t192) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join71 +arr.get.join71: + %t215 = phi double [ %t213, %arr.get.value72 ], [ %t214, %arr.get.slow70 ] + %t216 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 2 + %t217 = load i64, ptr %t216, !tbaa !2 + %t218 = fptosi double %t215 to i64 + %t219 = freeze i64 %t218 + %t220 = sitofp i64 %t219 to double + %t221 = fcmp oeq double %t220, %t215 + %t222 = icmp ult i64 %t219, %t217 + %t223 = and i1 %t221, %t222 + br i1 %t223, label %local.array.range78, label %local.array.slow75 +local.array.range78: + br label %local.array.dense79 +local.array.dense79: + %t224 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 6 + %t225 = load i32, ptr %t224, !tbaa !2 + %t227 = zext i32 %t225 to i64 + %t226 = icmp ult i64 %t219, %t227 + br i1 %t226, label %local.array.value81, label %local.array.len80 +local.array.len80: + %t228 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 1 + %t229 = load i64, ptr %t228, !tbaa !2, !range !{i64 0, i64 4294967296} + %t230 = icmp ult i64 %t219, %t229 + br i1 %t230, label %local.array.state82, label %local.array.missing76 +local.array.state82: + %t231 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 9 + %t232 = load ptr, ptr %t231, !tbaa !2 + %t233 = getelementptr inbounds i8, ptr %t232, i64 %t219 + %t234 = load i8, ptr %t233, !tbaa !4 + %t235 = icmp eq i8 %t234, 1 + br i1 %t235, label %local.array.value81, label %local.array.missing76 +local.array.value81: + %t236 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 8 + %t237 = load ptr, ptr %t236, !tbaa !2 + %t238 = getelementptr inbounds i64, ptr %t237, i64 %t219 + %t239 = load ptr, ptr %t238, !tbaa !6 + store ptr %t239, ptr %sc_l_c_0 + br label %local.array.join77 +local.array.slow75: + %t240 = call ptr @scr_arr_peek_ref(ptr %t189, double %t215) + %t241 = icmp ne ptr %t240, null + br i1 %t241, label %local.array.slow.value83, label %local.array.missing76 +local.array.slow.value83: + store ptr %t240, ptr %sc_l_c_0 + br label %local.array.join77 +local.array.missing76: + store ptr null, ptr %sc_l_c_0 + br label %local.array.join77 +local.array.join77: + %t242 = load ptr, ptr %sc_l_c_0 + %t244 = icmp eq ptr %t242, null + br i1 %t244, label %read.then84, label %read.else85 +read.then84: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209) + br label %exc.cleanup87 +exc.dead88: + store ptr null, ptr %s245 + br label %read.join86 +read.else85: + %t246 = load ptr, ptr %sc_l_c_0 + store ptr %t246, ptr %s245 + br label %read.join86 +read.join86: + %t247 = load ptr, ptr %s245 + %t248 = getelementptr inbounds %sc_rs_r5, ptr %t247, i64 0, i32 4 + %t249 = load double, ptr %t248 + %t250 = load i32, ptr %sc_l_kind_0 + %t251 = sitofp i32 %t250 to double + %t252 = fcmp oeq double %t249, %t251 + store i1 %t252, ptr %s253 + br i1 %t252, label %log.r89, label %log.j90 +log.r89: + %t254 = load ptr, ptr %sc_l_c_0 + %t256 = icmp eq ptr %t254, null + br i1 %t256, label %read.then91, label %read.else92 +read.then91: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_180082455986257) + br label %exc.cleanup87 +exc.dead94: + store ptr null, ptr %s257 + br label %read.join93 +read.else92: + %t258 = load ptr, ptr %sc_l_c_0 + store ptr %t258, ptr %s257 + br label %read.join93 +read.join93: + %t259 = load ptr, ptr %s257 + %t260 = getelementptr inbounds %sc_rs_r5, ptr %t259, i64 0, i32 5 + %t261 = load ptr, ptr %t260 + %t262 = load ptr, ptr %sc_l_seg_0 + %t263 = call zeroext i1 @sc_str_eq(ptr %t261, ptr %t262) + store i1 %t263, ptr %s253 + br label %log.j90 +log.j90: + %t264 = load i1, ptr %s253 + br i1 %t264, label %if.t95, label %if.j96 +if.t95: + %t265 = load ptr, ptr %sc_l_ch_0 + %t266 = load i64, ptr %s182 + %t267 = sitofp i64 %t266 to double + %t268 = trunc i64 %t266 to i32 + %t269 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %t265, double %t267) + %t270 = extractvalue { i32, i64 } %t269, 0 + %t271 = extractvalue { i32, i64 } %t269, 1 + switch i32 %t270, label %union.box.none98 [ i32 0, label %union.box.arm99 i32 1, label %union.box.arm100 ] +union.box.arm99: + %t272 = bitcast i64 %t271 to double + %t273 = call ptr @scr_union_new_f64(i32 0, double %t272) + br label %union.box.join97 +union.box.arm100: + br label %union.box.join97 +union.box.none98: + br label %union.box.join97 +union.box.join97: + %t274 = phi ptr [ %t273, %union.box.arm99 ], [ @sc_unit_3, %union.box.arm100 ], [ null, %union.box.none98 ] + %t275 = load ptr, ptr %sc_l_child_0 + call void @scr_union_release(ptr %t275) + store ptr %t274, ptr %sc_l_child_0 + br label %loop.e66 +if.j96: + br label %loop.u69 +loop.u69: + %t276 = load i64, ptr %s182 + %t277 = add nuw i64 %t276, 1 + store i64 %t277, ptr %s182 + br label %loop.c67 +loop.e66: + %t278 = load ptr, ptr %sc_l_child_0 + %t281 = getelementptr inbounds %ScrUnion, ptr %t278, i64 0, i32 1 + %t280 = load i32, ptr %t281 + %t279 = icmp eq i32 %t280, 1 + br i1 %t279, label %tern.t101, label %tern.f102 +tern.t101: + store double 0x7FF8000000000000, ptr %s282 + br label %tern.j103 +tern.f102: + %t284 = load ptr, ptr %sc_l_child_0 + %t285 = getelementptr inbounds %ScrUnion, ptr %t284, i64 0, i32 5 + %t286 = load double, ptr %t285 + store double %t286, ptr %s282 + br label %tern.j103 +tern.j103: + %t287 = load double, ptr %s282 + %t288 = fcmp olt double %t287, 0x0000000000000000 + br i1 %t288, label %if.t104, label %if.j105 +if.t104: + %t289 = load ptr, ptr %sc_l_nodes_0 + %t290 = load ptr, ptr %sc_l_seg_0 + %t291 = load i32, ptr %sc_l_kind_0 + %t292 = sitofp i32 %t291 to double + %t293 = call double @sc_bf__x25_m5_newNode.i32(ptr %t289, ptr %t290, i32 %t291) + %t294 = call ptr @scr_union_new_f64(i32 0, double %t293) + %t295 = load ptr, ptr %sc_l_child_0 + call void @scr_union_release(ptr %t295) + store ptr %t294, ptr %sc_l_child_0 + %t296 = load ptr, ptr %sc_l_child_0 + %t299 = getelementptr inbounds %ScrUnion, ptr %t296, i64 0, i32 1 + %t298 = load i32, ptr %t299 + %t297 = icmp eq i32 %t298, 1 + br i1 %t297, label %if.t106, label %if.f108 +if.t106: + %t300 = load ptr, ptr %sc_l_ch_0 + %t301 = load ptr, ptr %sc_l_ch_0 + %t302 = getelementptr inbounds %ScrArr, ptr %t301, i32 0, i32 1 + %t303 = load i64, ptr %t302, !tbaa !2, !range !{i64 0, i64 4294967296} + %t304 = sitofp i64 %t303 to double + call void @scr_arr_set_undefined(ptr %t300, double %t304) + br label %if.j107 +if.f108: + %t305 = load ptr, ptr %sc_l_ch_0 + %t306 = load ptr, ptr %sc_l_child_0 + %t309 = getelementptr inbounds %ScrUnion, ptr %t306, i64 0, i32 1 + %t308 = load i32, ptr %t309 + %t307 = icmp eq i32 %t308, 0 + br i1 %t307, label %tern.t109, label %tern.f110 +tern.t109: + %t312 = load ptr, ptr %sc_l_child_0 + %t313 = getelementptr inbounds %ScrUnion, ptr %t312, i64 0, i32 5 + %t314 = load double, ptr %t313 + store double %t314, ptr %s310 + br label %tern.j111 +tern.f110: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup87 +exc.dead112: + store double 0x0000000000000000, ptr %s310 + br label %tern.j111 +tern.j111: + %t315 = load double, ptr %s310 + %t316 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 1 + %t317 = load i64, ptr %t316, !tbaa !2 + %t320 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 2 + %t318 = load i64, ptr %t320, !tbaa !2 + %t319 = icmp ult i64 %t317, %t318 + br i1 %t319, label %arr.push.dense113, label %arr.push.slow114 +arr.push.dense113: + %t321 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 8 + %t323 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 9 + %t322 = load ptr, ptr %t321, !tbaa !2 + %t324 = load ptr, ptr %t323, !tbaa !2 + %t325 = getelementptr inbounds i8, ptr %t324, i64 %t317 + %t326 = getelementptr inbounds i64, ptr %t322, i64 %t317 + store double %t315, ptr %t326, !tbaa !6 + store i8 1, ptr %t325, !tbaa !4 + %t327 = add nuw i64 %t317, 1 + store i64 %t327, ptr %t316, !tbaa !2 + %t329 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 6 + %t330 = load i32, ptr %t329, !tbaa !2 + %t334 = zext i32 %t330 to i64 + %t331 = icmp eq i64 %t334, %t317 + %t332 = add i32 %t330, 1 + %t333 = select i1 %t331, i32 %t332, i32 %t330 + store i32 %t333, ptr %t329, !tbaa !2 + %t328 = sitofp i64 %t327 to double + br label %arr.push.join115 +arr.push.slow114: + %t335 = call double @scr_arr_push_f64(ptr %t305, double %t315) cold + br label %arr.push.join115 +arr.push.join115: + %t336 = phi double [ %t328, %arr.push.dense113 ], [ %t335, %arr.push.slow114 ] + br label %if.j107 +if.j107: + %t337 = load ptr, ptr %sc_l_ch_0 + %t338 = getelementptr inbounds %ScrArr, ptr %t337, i32 0, i32 1 + %t339 = load i64, ptr %t338, !tbaa !2, !range !{i64 0, i64 4294967296} + %t340 = sitofp i64 %t339 to double + br label %if.j105 +if.j105: + %t341 = load ptr, ptr %sc_l_child_0 + %t343 = getelementptr inbounds %ScrUnion, ptr %t341, i64 0, i32 1 + %t342 = load i32, ptr %t343 + %t344 = getelementptr inbounds %ScrUnion, ptr %t341, i32 0, i32 5 + %t345 = load i64, ptr %t344 + store i32 %t342, ptr %s32 + store i64 %t345, ptr %s33 + %t346 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t346) + %t347 = load ptr, ptr %sc_l_child_0 + call void @scr_union_release(ptr %t347) + %t348 = load ptr, ptr %sc_l_ch_0 + call void @scr_arr_release(ptr %t348) + br label %loop.u18 +loop.u18: + %t349 = load i32, ptr %sc_l_i_0 + %t350 = uitofp i32 %t349 to double + %t352 = zext i32 %t349 to i64 + %t353 = add nsw i64 %t352, 1 + %t355 = trunc i64 %t353 to i32 + %t354 = sitofp i64 %t353 to double + %t356 = trunc i64 %t353 to i32 + store i32 %t356, ptr %sc_l_i_0 + br label %loop.c16 +loop.e15: + %t358 = load ptr, ptr %sc_l_nodes_0 + %t359 = load ptr, ptr %sc_l_ni_0 + %t362 = getelementptr inbounds %ScrUnion, ptr %t359, i64 0, i32 1 + %t361 = load i32, ptr %t362 + %t360 = icmp eq i32 %t361, 1 + br i1 %t360, label %tern.t116, label %tern.f117 +tern.t116: + store double 0x7FF8000000000000, ptr %s363 + br label %tern.j118 +tern.f117: + %t365 = load ptr, ptr %sc_l_ni_0 + %t366 = getelementptr inbounds %ScrUnion, ptr %t365, i64 0, i32 5 + %t367 = load double, ptr %t366 + store double %t367, ptr %s363 + br label %tern.j118 +tern.j118: + %t368 = load double, ptr %s363 + %t369 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 2 + %t370 = load i64, ptr %t369, !tbaa !2 + %t371 = fptosi double %t368 to i64 + %t372 = freeze i64 %t371 + %t373 = sitofp i64 %t372 to double + %t374 = fcmp oeq double %t373, %t368 + %t375 = icmp ult i64 %t372, %t370 + %t376 = and i1 %t374, %t375 + br i1 %t376, label %local.array.range122, label %local.array.slow119 +local.array.range122: + br label %local.array.dense123 +local.array.dense123: + %t377 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 6 + %t378 = load i32, ptr %t377, !tbaa !2 + %t380 = zext i32 %t378 to i64 + %t379 = icmp ult i64 %t372, %t380 + br i1 %t379, label %local.array.value125, label %local.array.len124 +local.array.len124: + %t381 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 1 + %t382 = load i64, ptr %t381, !tbaa !2, !range !{i64 0, i64 4294967296} + %t383 = icmp ult i64 %t372, %t382 + br i1 %t383, label %local.array.state126, label %local.array.missing120 +local.array.state126: + %t384 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 9 + %t385 = load ptr, ptr %t384, !tbaa !2 + %t386 = getelementptr inbounds i8, ptr %t385, i64 %t372 + %t387 = load i8, ptr %t386, !tbaa !4 + %t388 = icmp eq i8 %t387, 1 + br i1 %t388, label %local.array.value125, label %local.array.missing120 +local.array.value125: + %t389 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 8 + %t390 = load ptr, ptr %t389, !tbaa !2 + %t391 = getelementptr inbounds i64, ptr %t390, i64 %t372 + %t392 = load ptr, ptr %t391, !tbaa !6 + store ptr %t392, ptr %s357 + br label %local.array.join121 +local.array.slow119: + %t393 = call ptr @scr_arr_peek_ref(ptr %t358, double %t368) + %t394 = icmp ne ptr %t393, null + br i1 %t394, label %local.array.slow.value127, label %local.array.missing120 +local.array.slow.value127: + store ptr %t393, ptr %s357 + br label %local.array.join121 +local.array.missing120: + store ptr null, ptr %s357 + br label %local.array.join121 +local.array.join121: + %t395 = load ptr, ptr %s357 + %t397 = icmp eq ptr %t395, null + %t396 = select i1 %t397, i32 1, i32 0 + %t398 = icmp eq i32 %t396, 0 + br i1 %t398, label %narrow.present128, label %narrow.other129 +narrow.other129: + call ptr @sc_bf__x25_union_narrow_7(ptr %t395) + %t399 = load i32, ptr %exc.cell + %t400 = icmp ne i32 %t399, 0 + %t401 = call i1 @llvm.expect.i1(i1 %t400, i1 false) + br i1 %t401, label %exc.u130, label %exc.k131 +exc.u130: + br label %exc.cleanup34 +exc.k131: + unreachable +narrow.present128: + %t402 = getelementptr inbounds %sc_rs_r5, ptr %t395, i64 0, i32 3 + %t403 = load ptr, ptr %t402 + %t404 = call ptr @scr_arr_retain_v(ptr %t403) + %t405 = load ptr, ptr %sc_l_m_0 + %t406 = call ptr @sc_rc_retain_str(ptr %t405) + %t407 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 1 + %t408 = load i64, ptr %t407, !tbaa !2 + %t411 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 2 + %t409 = load i64, ptr %t411, !tbaa !2 + %t410 = icmp ult i64 %t408, %t409 + br i1 %t410, label %arr.push.dense132, label %arr.push.slow133 +arr.push.dense132: + %t412 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 8 + %t414 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 9 + %t413 = load ptr, ptr %t412, !tbaa !2 + %t415 = load ptr, ptr %t414, !tbaa !2 + %t416 = getelementptr inbounds i8, ptr %t415, i64 %t408 + %t417 = getelementptr inbounds i64, ptr %t413, i64 %t408 + store ptr %t406, ptr %t417, !tbaa !6 + store i8 1, ptr %t416, !tbaa !4 + %t418 = add nuw i64 %t408, 1 + store i64 %t418, ptr %t407, !tbaa !2 + %t420 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 6 + %t421 = load i32, ptr %t420, !tbaa !2 + %t425 = zext i32 %t421 to i64 + %t422 = icmp eq i64 %t425, %t408 + %t423 = add i32 %t421, 1 + %t424 = select i1 %t422, i32 %t423, i32 %t421 + store i32 %t424, ptr %t420, !tbaa !2 + %t419 = sitofp i64 %t418 to double + br label %arr.push.join134 +arr.push.slow133: + %t426 = call double @scr_arr_push_ref(ptr %t404, ptr %t406) cold + br label %arr.push.join134 +arr.push.join134: + %t427 = phi double [ %t419, %arr.push.dense132 ], [ %t426, %arr.push.slow133 ] + call void @scr_arr_release(ptr %t404) + %t429 = load ptr, ptr %sc_l_nodes_0 + %t430 = load ptr, ptr %sc_l_ni_0 + %t433 = getelementptr inbounds %ScrUnion, ptr %t430, i64 0, i32 1 + %t432 = load i32, ptr %t433 + %t431 = icmp eq i32 %t432, 1 + br i1 %t431, label %tern.t135, label %tern.f136 +tern.t135: + store double 0x7FF8000000000000, ptr %s434 + br label %tern.j137 +tern.f136: + %t436 = load ptr, ptr %sc_l_ni_0 + %t437 = getelementptr inbounds %ScrUnion, ptr %t436, i64 0, i32 5 + %t438 = load double, ptr %t437 + store double %t438, ptr %s434 + br label %tern.j137 +tern.j137: + %t439 = load double, ptr %s434 + %t440 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 2 + %t441 = load i64, ptr %t440, !tbaa !2 + %t442 = fptosi double %t439 to i64 + %t443 = freeze i64 %t442 + %t444 = sitofp i64 %t443 to double + %t445 = fcmp oeq double %t444, %t439 + %t446 = icmp ult i64 %t443, %t441 + %t447 = and i1 %t445, %t446 + br i1 %t447, label %local.array.range141, label %local.array.slow138 +local.array.range141: + br label %local.array.dense142 +local.array.dense142: + %t448 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 6 + %t449 = load i32, ptr %t448, !tbaa !2 + %t451 = zext i32 %t449 to i64 + %t450 = icmp ult i64 %t443, %t451 + br i1 %t450, label %local.array.value144, label %local.array.len143 +local.array.len143: + %t452 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 1 + %t453 = load i64, ptr %t452, !tbaa !2, !range !{i64 0, i64 4294967296} + %t454 = icmp ult i64 %t443, %t453 + br i1 %t454, label %local.array.state145, label %local.array.missing139 +local.array.state145: + %t455 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 9 + %t456 = load ptr, ptr %t455, !tbaa !2 + %t457 = getelementptr inbounds i8, ptr %t456, i64 %t443 + %t458 = load i8, ptr %t457, !tbaa !4 + %t459 = icmp eq i8 %t458, 1 + br i1 %t459, label %local.array.value144, label %local.array.missing139 +local.array.value144: + %t460 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 8 + %t461 = load ptr, ptr %t460, !tbaa !2 + %t462 = getelementptr inbounds i64, ptr %t461, i64 %t443 + %t463 = load ptr, ptr %t462, !tbaa !6 + store ptr %t463, ptr %s428 + br label %local.array.join140 +local.array.slow138: + %t464 = call ptr @scr_arr_peek_ref(ptr %t429, double %t439) + %t465 = icmp ne ptr %t464, null + br i1 %t465, label %local.array.slow.value146, label %local.array.missing139 +local.array.slow.value146: + store ptr %t464, ptr %s428 + br label %local.array.join140 +local.array.missing139: + store ptr null, ptr %s428 + br label %local.array.join140 +local.array.join140: + %t466 = load ptr, ptr %s428 + %t468 = icmp eq ptr %t466, null + %t467 = select i1 %t468, i32 1, i32 0 + %t469 = icmp eq i32 %t467, 0 + br i1 %t469, label %narrow.present147, label %narrow.other148 +narrow.other148: + call ptr @sc_bf__x25_union_narrow_7(ptr %t466) + %t470 = load i32, ptr %exc.cell + %t471 = icmp ne i32 %t470, 0 + %t472 = call i1 @llvm.expect.i1(i1 %t471, i1 false) + br i1 %t472, label %exc.u149, label %exc.k150 +exc.u149: + br label %exc.cleanup34 +exc.k150: + unreachable +narrow.present147: + %t473 = getelementptr inbounds %sc_rs_r5, ptr %t466, i64 0, i32 2 + %t474 = load ptr, ptr %t473 + %t475 = call ptr @scr_arr_retain_v(ptr %t474) + %t476 = load double, ptr %sc_l_hIdx_0 + %t477 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 1 + %t478 = load i64, ptr %t477, !tbaa !2 + %t481 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 2 + %t479 = load i64, ptr %t481, !tbaa !2 + %t480 = icmp ult i64 %t478, %t479 + br i1 %t480, label %arr.push.dense151, label %arr.push.slow152 +arr.push.dense151: + %t482 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 8 + %t484 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 9 + %t483 = load ptr, ptr %t482, !tbaa !2 + %t485 = load ptr, ptr %t484, !tbaa !2 + %t486 = getelementptr inbounds i8, ptr %t485, i64 %t478 + %t487 = getelementptr inbounds i64, ptr %t483, i64 %t478 + store double %t476, ptr %t487, !tbaa !6 + store i8 1, ptr %t486, !tbaa !4 + %t488 = add nuw i64 %t478, 1 + store i64 %t488, ptr %t477, !tbaa !2 + %t490 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 6 + %t491 = load i32, ptr %t490, !tbaa !2 + %t495 = zext i32 %t491 to i64 + %t492 = icmp eq i64 %t495, %t478 + %t493 = add i32 %t491, 1 + %t494 = select i1 %t492, i32 %t493, i32 %t491 + store i32 %t494, ptr %t490, !tbaa !2 + %t489 = sitofp i64 %t488 to double + br label %arr.push.join153 +arr.push.slow152: + %t496 = call double @scr_arr_push_f64(ptr %t475, double %t476) cold + br label %arr.push.join153 +arr.push.join153: + %t497 = phi double [ %t489, %arr.push.dense151 ], [ %t496, %arr.push.slow152 ] + call void @scr_arr_release(ptr %t475) + %t498 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t498) + %t499 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t499) + ret void +exc.cleanup14: + %t500 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t500) + ret void +exc.cleanup34: + %t501 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t501) + %t502 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t502) + ret void +exc.cleanup42: + %t503 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t503) + %t504 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t504) + %t505 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t505) + ret void +exc.cleanup65: + %t506 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t506) + %t507 = load ptr, ptr %sc_l_child_0 + call void @scr_union_release(ptr %t507) + %t508 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t508) + %t509 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t509) + ret void +exc.cleanup87: + %t510 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t510) + %t511 = load ptr, ptr %sc_l_child_0 + call void @scr_union_release(ptr %t511) + %t512 = load ptr, ptr %sc_l_ch_0 + call void @scr_arr_release(ptr %t512) + %t513 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t513) + %t514 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t514) + ret void +} +define internal void @sc_f__x25_m5_addRoute(ptr %p0, ptr %p1, ptr %p2, double %p3) #0 { +entry: + call void @sc_bf__x25_m5_addRoute(ptr %p0, ptr %p1, ptr %p2, double %p3) + call void @scr_arr_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal double @sc_bf__x25_m5_segEndAt(ptr %p_sc_l_path_0, double %p_sc_l_pos_0, double %p_sc_l_len_0) #0 { ; %m5.segEndAt +entry: + %sc_l_path_0 = alloca ptr ; path + %sc_l_pos_0 = alloca double ; pos + %sc_l_len_0 = alloca i32 ; len + %sc_l_i_0 = alloca double ; i + %s23 = alloca i64 ; integer induction i + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store double %p_sc_l_pos_0, ptr %sc_l_pos_0 + %t0 = fptosi double %p_sc_l_len_0 to i32 + store i32 %t0, ptr %sc_l_len_0 + %t1 = load double, ptr %sc_l_pos_0 + %t2 = fcmp oge double %t1, 0xC33FFFFFFFFFFFFF + %t3 = fcmp ole double %t1, 0x433FFFFFFFFFFFFF + %t10 = and i1 %t2, %t3 + %t4 = fptosi double %t1 to i64 + %t5 = freeze i64 %t4 + %t6 = sitofp i64 %t5 to double + %t7 = bitcast double %t1 to i64 + %t8 = bitcast double %t6 to i64 + %t9 = icmp eq i64 %t7, %t8 + %t11 = and i1 %t10, %t9 + br i1 %t11, label %counted.fast0, label %counted.slow1 +counted.slow1: + %t12 = load double, ptr %sc_l_pos_0 + store double %t12, ptr %sc_l_i_0 + br label %loop.c4 +loop.c4: + %t13 = load double, ptr %sc_l_i_0 + %t14 = load i32, ptr %sc_l_len_0 + %t15 = fcmp olt double %t13, %p_sc_l_len_0 + br i1 %t15, label %loop.b5, label %loop.e3 +loop.b5: + %t16 = load ptr, ptr %sc_l_path_0 + %t17 = load double, ptr %sc_l_i_0 + %t18 = call double @sc_str_char_code_at(ptr %t16, double %t17) + %t19 = fcmp oeq double %t18, 0x4047800000000000 + br i1 %t19, label %if.t7, label %if.j8 +if.t7: + %t20 = load double, ptr %sc_l_i_0 + ret double %t20 +if.j8: + br label %loop.u6 +loop.u6: + %t21 = load double, ptr %sc_l_i_0 + %t22 = fadd double %t21, 0x3FF0000000000000 + store double %t22, ptr %sc_l_i_0 + br label %loop.c4 +loop.e3: + br label %counted.done2 +counted.fast0: + %t24 = load double, ptr %sc_l_pos_0 + %t25 = fptosi double %t24 to i64 + store i64 %t25, ptr %s23 + %t26 = load i32, ptr %sc_l_len_0 + %t27 = fcmp oge double %p_sc_l_len_0, 0xC340000000000000 + %t28 = select i1 %t27, double %p_sc_l_len_0, double 0xC340000000000000 + %t29 = call double @llvm.ceil.f64(double %t28) + %t30 = fptosi double %t29 to i64 + br label %loop.c10 +loop.c10: + %t31 = load i64, ptr %s23 + %t32 = icmp slt i64 %t31, %t30 + br i1 %t32, label %loop.b11, label %loop.e9 +loop.b11: + %t33 = load ptr, ptr %sc_l_path_0 + %t34 = load i64, ptr %s23 + %t35 = sitofp i64 %t34 to double + %t36 = trunc i64 %t34 to i32 + %t37 = call double @sc_str_char_code_at_int(ptr %t33, i64 %t34) + %t38 = fcmp oeq double %t37, 0x4047800000000000 + br i1 %t38, label %if.t13, label %if.j14 +if.t13: + %t39 = load i64, ptr %s23 + %t40 = sitofp i64 %t39 to double + %t41 = trunc i64 %t39 to i32 + ret double %t40 +if.j14: + br label %loop.u12 +loop.u12: + %t42 = load i64, ptr %s23 + %t43 = add nsw i64 %t42, 1 + store i64 %t43, ptr %s23 + br label %loop.c10 +loop.e9: + br label %counted.done2 +counted.done2: + %t44 = load i32, ptr %sc_l_len_0 + ret double %p_sc_l_len_0 +} +define internal double @sc_f__x25_m5_segEndAt(ptr %p0, double %p1, double %p2) #0 { +entry: + %result = call double @sc_bf__x25_m5_segEndAt(ptr %p0, double %p1, double %p2) + call void @scr_str_release(ptr %p0) + ret double %result +} + +define internal i1 @sc_bf__x25_m5_segEq(ptr %p_sc_l_path_0, double %p_sc_l_pos_0, double %p_sc_l_end_0, ptr %p_sc_l_seg_0) #0 { ; %m5.segEq +entry: + %sc_l_path_0 = alloca ptr ; path + %sc_l_pos_0 = alloca double ; pos + %sc_l_end_0 = alloca double ; end + %sc_l_seg_0 = alloca ptr ; seg + %sc_l_s_0 = alloca ptr ; s + %sc_l_i_0 = alloca i32 ; i + store ptr null, ptr %sc_l_s_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store double %p_sc_l_pos_0, ptr %sc_l_pos_0 + store double %p_sc_l_end_0, ptr %sc_l_end_0 + store ptr %p_sc_l_seg_0, ptr %sc_l_seg_0 + %t0 = load ptr, ptr %sc_l_seg_0 + store ptr %t0, ptr %sc_l_s_0 + %t1 = load double, ptr %sc_l_end_0 + %t2 = load double, ptr %sc_l_pos_0 + %t3 = fsub double %t1, %t2 + %t4 = load ptr, ptr %sc_l_s_0 + %t5 = call double @sc_str_utf16_len(ptr %t4) + %t7 = fptosi double %t5 to i32 + %t6 = fcmp une double %t3, %t5 + br i1 %t6, label %if.t0, label %if.j1 +if.t0: + ret i1 false +if.j1: + store i32 0, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t8 = load i32, ptr %sc_l_i_0 + %t9 = sitofp i32 %t8 to double + %t10 = load ptr, ptr %sc_l_s_0 + %t11 = call double @sc_str_utf16_len(ptr %t10) + %t13 = fptosi double %t11 to i32 + %t14 = sext i32 %t8 to i64 + %t15 = sext i32 %t13 to i64 + %t12 = icmp slt i64 %t14, %t15 + br i1 %t12, label %loop.b4, label %loop.e2 +loop.b4: + %t16 = load ptr, ptr %sc_l_path_0 + %t17 = load double, ptr %sc_l_pos_0 + %t18 = load i32, ptr %sc_l_i_0 + %t19 = sitofp i32 %t18 to double + %t20 = fadd double %t17, %t19 + %t21 = call double @sc_str_char_code_at(ptr %t16, double %t20) + %t22 = load ptr, ptr %sc_l_s_0 + %t23 = load i32, ptr %sc_l_i_0 + %t24 = sitofp i32 %t23 to double + %t26 = sext i32 %t23 to i64 + %t25 = call double @sc_str_char_code_at_int(ptr %t22, i64 %t26) + %t27 = fcmp une double %t21, %t25 + br i1 %t27, label %if.t6, label %if.j7 +if.t6: + ret i1 false +if.j7: + br label %loop.u5 +loop.u5: + %t28 = load i32, ptr %sc_l_i_0 + %t29 = sitofp i32 %t28 to double + %t32 = trunc i64 1 to i32 + %t31 = add nsw i32 %t28, %t32 + %t33 = sitofp i32 %t31 to double + store i32 %t31, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + ret i1 true +} +define internal i1 @sc_f__x25_m5_segEq(ptr %p0, double %p1, double %p2, ptr %p3) #0 { +entry: + %result = call i1 @sc_bf__x25_m5_segEq(ptr %p0, double %p1, double %p2, ptr %p3) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p3) + ret i1 %result +} + +define internal ptr @sc_bf__x25_m5_matchPath(ptr %p_sc_l_nodes_0, ptr %p_sc_l_path_0) #0 { ; %m5.matchPath +entry: + %sc_l_nodes_0 = alloca ptr ; nodes + %sc_l_path_0 = alloca ptr ; path + %sc_l_p_0 = alloca ptr ; p + %sc_l_len_0 = alloca i32 ; len + %sc_l_node_0 = alloca ptr ; node + %sc_l_pos_0 = alloca double ; pos + %sc_l_dive_0 = alloca i1 ; dive + %sc_l_end_0 = alloca double ; end + %sc_l_ch_0 = alloca ptr ; ch + %sc_l_next_0 = alloca ptr ; next + %sc_l_alt_0 = alloca i1 ; alt + %sc_l_k_0 = alloca i32 ; k + %sc_l_c_0 = alloca ptr ; c + %sc_l_stack_0 = alloca ptr ; stack + %sc_l_f_0 = alloca ptr ; f + %sc_l__x25_popArray_0 = alloca ptr ; %popArray + %sc_l__x25_popLength_0 = alloca i32 ; %popLength + %sc_l_fnode_0 = alloca ptr ; fnode + %sc_l_fpos_0 = alloca double ; fpos + %sc_l_end_1 = alloca double ; end + %sc_l_ch_1 = alloca ptr ; ch + %sc_l_k_1 = alloca double ; k + %sc_l_c_1 = alloca ptr ; c + %sc_l_k_2 = alloca double ; k + %sc_l_c_2 = alloca ptr ; c + %sc_l_k_3 = alloca double ; k + %sc_l_c_3 = alloca ptr ; c + %s22 = alloca ptr + %s28 = alloca %ScrUnion + %s29 = getelementptr inbounds %ScrUnion, ptr %s28, i32 0, i32 1 + %s30 = getelementptr inbounds %ScrUnion, ptr %s28, i32 0, i32 5 + %s31 = alloca %ScrUnion + %s32 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 1 + %s33 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 5 + %s38 = alloca i64 ; integer induction k + %s101 = alloca ptr + %s114 = alloca ptr + %s120 = alloca %ScrUnion + %s121 = getelementptr inbounds %ScrUnion, ptr %s120, i32 0, i32 5 + %s122 = getelementptr inbounds %ScrUnion, ptr %s120, i32 0, i32 1 + %s154 = alloca i1 + %s159 = alloca double + %s160 = alloca i32 + %s172 = alloca double + %s173 = alloca i32 + %s191 = alloca i1 + %s195 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s319 = alloca ptr + %s327 = alloca ptr + %s425 = alloca ptr + %s538 = alloca ptr + %s646 = alloca ptr + %s652 = alloca i1 + %s659 = alloca ptr + store ptr null, ptr %sc_l_p_0 + store ptr null, ptr %sc_l_node_0 + store ptr null, ptr %sc_l_ch_0 + store ptr null, ptr %sc_l_next_0 + store ptr null, ptr %sc_l_c_0 + store ptr null, ptr %sc_l_stack_0 + store ptr null, ptr %sc_l_f_0 + store ptr null, ptr %sc_l__x25_popArray_0 + store ptr null, ptr %sc_l_fnode_0 + store ptr null, ptr %sc_l_ch_1 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_c_2 + store ptr null, ptr %sc_l_c_3 + store ptr %p_sc_l_nodes_0, ptr %sc_l_nodes_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + %t0 = load ptr, ptr %sc_l_path_0 + store ptr %t0, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_0 + %t2 = call double @sc_str_utf16_len(ptr %t1) + %t3 = fptosi double %t2 to i32 + store i32 %t3, ptr %sc_l_len_0 + %t4 = load ptr, ptr %sc_l_nodes_0 + %t5 = call ptr @sc_bf__x25_arr_idxOr_11(ptr %t4, double 0x0000000000000000) + store ptr %t5, ptr %sc_l_node_0 + store double 0x3FF0000000000000, ptr %sc_l_pos_0 + %t6 = load double, ptr %sc_l_pos_0 + %t7 = load i32, ptr %sc_l_len_0 + %t8 = sitofp i32 %t7 to double + %t10 = fptosi double %t6 to i32 + %t11 = sext i32 %t10 to i64 + %t12 = sext i32 %t7 to i64 + %t9 = icmp sle i64 %t11, %t12 + store i1 %t9, ptr %sc_l_dive_0 + br label %loop.c1 +loop.c1: + %t13 = load i1, ptr %sc_l_dive_0 + br i1 %t13, label %loop.b2, label %loop.e0 +loop.b2: + %t14 = load ptr, ptr %sc_l_p_0 + %t15 = load double, ptr %sc_l_pos_0 + %t16 = load i32, ptr %sc_l_len_0 + %t17 = sitofp i32 %t16 to double + %t18 = call double @sc_bf__x25_m5_segEndAt(ptr %t14, double %t15, double %t17) + store double %t18, ptr %sc_l_end_0 + %t19 = load ptr, ptr %sc_l_node_0 + %t21 = icmp eq ptr %t19, null + br i1 %t21, label %read.then3, label %read.else4 +read.then3: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2399462614592355) + br label %exc.cleanup6 +exc.dead7: + store ptr null, ptr %s22 + br label %read.join5 +read.else4: + %t23 = load ptr, ptr %sc_l_node_0 + store ptr %t23, ptr %s22 + br label %read.join5 +read.join5: + %t24 = load ptr, ptr %s22 + %t25 = getelementptr inbounds %sc_rs_r5, ptr %t24, i64 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @scr_arr_retain_v(ptr %t26) + store ptr %t27, ptr %sc_l_ch_0 + store double 0xBFF0000000000000, ptr %s33 + store i32 0, ptr %s32 + %t35 = getelementptr inbounds %ScrUnion, ptr %s31, i64 0, i32 1 + %t34 = load i32, ptr %t35 + %t36 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 5 + %t37 = load i64, ptr %t36 + store i32 %t34, ptr %s29 + store i64 %t37, ptr %s30 + store ptr %s28, ptr %sc_l_next_0 + store i1 false, ptr %sc_l_alt_0 + %t39 = fptosi double 0x0000000000000000 to i64 + store i64 %t39, ptr %s38 + br label %loop.c9 +loop.c9: + %t40 = load ptr, ptr %sc_l_ch_0 + %t41 = getelementptr inbounds %ScrArr, ptr %t40, i64 0, i32 1 + %t42 = load i64, ptr %t41, !tbaa !2 + %t43 = load i64, ptr %s38 + %t44 = icmp ult i64 %t43, %t42 + br i1 %t44, label %loop.b10, label %loop.e8 +loop.b10: + %t45 = load ptr, ptr %sc_l_nodes_0 + %t46 = load ptr, ptr %sc_l_ch_0 + %t47 = load i64, ptr %s38 + %t48 = sitofp i64 %t47 to double + %t49 = trunc i64 %t47 to i32 + %t54 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8 + %t55 = load ptr, ptr %t54, !tbaa !2 + %t50 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1 + %t51 = load i64, ptr %t50, !tbaa !2, !range !{i64 0, i64 4294967296} + %t52 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2 + %t53 = load i64, ptr %t52, !tbaa !2 + %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9 + %t57 = load ptr, ptr %t56, !tbaa !2 + %t58 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6 + %t59 = load i32, ptr %t58, !tbaa !2 + %t60 = zext i32 %t59 to i64 + %t61 = icmp ult i64 %t47, %t60 + br i1 %t61, label %arr.get.value14, label %arr.check15 +arr.check15: + %t62 = icmp ult i64 %t47, %t53 + %t63 = icmp ult i64 %t47, %t51 + %t64 = and i1 %t62, %t63 + br i1 %t64, label %arr.dense16, label %arr.get.slow12 +arr.dense16: + %t65 = getelementptr inbounds i8, ptr %t57, i64 %t47 + %t66 = load i8, ptr %t65, !tbaa !4 + %t67 = icmp eq i8 %t66, 1 + br i1 %t67, label %arr.get.value14, label %arr.get.slow12 +arr.get.value14: + %t68 = getelementptr inbounds i64, ptr %t55, i64 %t47 + %t69 = load double, ptr %t68, !tbaa !6 + br label %arr.get.join13 +arr.get.slow12: + %t70 = call double @scr_arr_get_number(ptr %t46, double %t48) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join13 +arr.get.join13: + %t71 = phi double [ %t69, %arr.get.value14 ], [ %t70, %arr.get.slow12 ] + %t72 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 2 + %t73 = load i64, ptr %t72, !tbaa !2 + %t74 = fptosi double %t71 to i64 + %t75 = freeze i64 %t74 + %t76 = sitofp i64 %t75 to double + %t77 = fcmp oeq double %t76, %t71 + %t78 = icmp ult i64 %t75, %t73 + %t79 = and i1 %t77, %t78 + br i1 %t79, label %local.array.range20, label %local.array.slow17 +local.array.range20: + br label %local.array.dense21 +local.array.dense21: + %t80 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 6 + %t81 = load i32, ptr %t80, !tbaa !2 + %t83 = zext i32 %t81 to i64 + %t82 = icmp ult i64 %t75, %t83 + br i1 %t82, label %local.array.value23, label %local.array.len22 +local.array.len22: + %t84 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 1 + %t85 = load i64, ptr %t84, !tbaa !2, !range !{i64 0, i64 4294967296} + %t86 = icmp ult i64 %t75, %t85 + br i1 %t86, label %local.array.state24, label %local.array.missing18 +local.array.state24: + %t87 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 9 + %t88 = load ptr, ptr %t87, !tbaa !2 + %t89 = getelementptr inbounds i8, ptr %t88, i64 %t75 + %t90 = load i8, ptr %t89, !tbaa !4 + %t91 = icmp eq i8 %t90, 1 + br i1 %t91, label %local.array.value23, label %local.array.missing18 +local.array.value23: + %t92 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 8 + %t93 = load ptr, ptr %t92, !tbaa !2 + %t94 = getelementptr inbounds i64, ptr %t93, i64 %t75 + %t95 = load ptr, ptr %t94, !tbaa !6 + store ptr %t95, ptr %sc_l_c_0 + br label %local.array.join19 +local.array.slow17: + %t96 = call ptr @scr_arr_peek_ref(ptr %t45, double %t71) + %t97 = icmp ne ptr %t96, null + br i1 %t97, label %local.array.slow.value25, label %local.array.missing18 +local.array.slow.value25: + store ptr %t96, ptr %sc_l_c_0 + br label %local.array.join19 +local.array.missing18: + store ptr null, ptr %sc_l_c_0 + br label %local.array.join19 +local.array.join19: + %t98 = load ptr, ptr %sc_l_c_0 + %t100 = icmp eq ptr %t98, null + br i1 %t100, label %read.then26, label %read.else27 +read.then26: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209) + br label %exc.cleanup29 +exc.dead30: + store ptr null, ptr %s101 + br label %read.join28 +read.else27: + %t102 = load ptr, ptr %sc_l_c_0 + store ptr %t102, ptr %s101 + br label %read.join28 +read.join28: + %t103 = load ptr, ptr %s101 + %t104 = getelementptr inbounds %sc_rs_r5, ptr %t103, i64 0, i32 4 + %t105 = load double, ptr %t104 + %t106 = fcmp oeq double %t105, 0x0000000000000000 + br i1 %t106, label %if.t31, label %if.f33 +if.t31: + %t107 = load ptr, ptr %sc_l_p_0 + %t108 = load double, ptr %sc_l_pos_0 + %t109 = load double, ptr %sc_l_end_0 + %t110 = load ptr, ptr %sc_l_c_0 + %t111 = getelementptr inbounds %sc_rs_r5, ptr %t110, i64 0, i32 5 + %t112 = load ptr, ptr %t111 + %t113 = call i1 @sc_bf__x25_m5_segEq(ptr %t107, double %t108, double %t109, ptr %t112) + br i1 %t113, label %if.t34, label %if.j35 +if.t34: + %t115 = load ptr, ptr %sc_l_ch_0 + %t116 = load i64, ptr %s38 + %t117 = load i64, ptr %s38 + %t118 = sitofp i64 %t117 to double + %t119 = trunc i64 %t117 to i32 + %t123 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 2 + %t124 = load i64, ptr %t123, !tbaa !2 + %t125 = icmp ult i64 %t116, %t124 + br i1 %t125, label %local.array.range39, label %local.array.slow36 +local.array.range39: + br label %local.array.dense40 +local.array.dense40: + %t126 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 6 + %t127 = load i32, ptr %t126, !tbaa !2 + %t129 = zext i32 %t127 to i64 + %t128 = icmp ult i64 %t116, %t129 + br i1 %t128, label %local.array.value42, label %local.array.len41 +local.array.len41: + %t130 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 1 + %t131 = load i64, ptr %t130, !tbaa !2, !range !{i64 0, i64 4294967296} + %t132 = icmp ult i64 %t116, %t131 + br i1 %t132, label %local.array.state43, label %local.array.missing37 +local.array.state43: + %t133 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 9 + %t134 = load ptr, ptr %t133, !tbaa !2 + %t135 = getelementptr inbounds i8, ptr %t134, i64 %t116 + %t136 = load i8, ptr %t135, !tbaa !4 + %t137 = icmp eq i8 %t136, 1 + br i1 %t137, label %local.array.value42, label %local.array.missing37 +local.array.value42: + %t138 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 8 + %t139 = load ptr, ptr %t138, !tbaa !2 + %t140 = getelementptr inbounds i64, ptr %t139, i64 %t116 + %t141 = load i64, ptr %t140, !tbaa !6 + store i64 %t141, ptr %s121 + store i32 0, ptr %s122 + br label %local.array.join38 +local.array.slow36: + %t142 = call double @scr_arr_state(ptr %t115, double %t118) cold memory(read, inaccessiblemem: readwrite) + %t143 = fcmp oeq double %t142, 1.0 + br i1 %t143, label %local.array.slow.value44, label %local.array.missing37 +local.array.slow.value44: + %t144 = call double @scr_arr_get_f64(ptr %t115, double %t118) cold memory(read, inaccessiblemem: readwrite) + %t145 = bitcast double %t144 to i64 + store i64 %t145, ptr %s121 + store i32 0, ptr %s122 + br label %local.array.join38 +local.array.missing37: + store i64 0, ptr %s121 + store i32 1, ptr %s122 + br label %local.array.join38 +local.array.join38: + store ptr %s120, ptr %s114 + %t146 = load ptr, ptr %s114 + %t148 = getelementptr inbounds %ScrUnion, ptr %t146, i64 0, i32 1 + %t147 = load i32, ptr %t148 + %t149 = getelementptr inbounds %ScrUnion, ptr %t146, i32 0, i32 5 + %t150 = load i64, ptr %t149 + store i32 %t147, ptr %s29 + store i64 %t150, ptr %s30 + br label %if.j35 +if.j35: + br label %if.j32 +if.f33: + store i1 true, ptr %sc_l_alt_0 + br label %if.j32 +if.j32: + br label %loop.u11 +loop.u11: + %t151 = load i64, ptr %s38 + %t152 = add nuw i64 %t151, 1 + store i64 %t152, ptr %s38 + br label %loop.c9 +loop.e8: + %t153 = load i1, ptr %sc_l_alt_0 + store i1 %t153, ptr %s154 + br i1 %t153, label %log.j46, label %log.r45 +log.r45: + %t155 = load ptr, ptr %sc_l_next_0 + %t158 = getelementptr inbounds %ScrUnion, ptr %t155, i64 0, i32 1 + %t157 = load i32, ptr %t158 + %t156 = icmp eq i32 %t157, 1 + br i1 %t156, label %tern.t47, label %tern.f48 +tern.t47: + store double 0x7FF8000000000000, ptr %s159 + br label %tern.j49 +tern.f48: + %t161 = load ptr, ptr %sc_l_next_0 + %t162 = getelementptr inbounds %ScrUnion, ptr %t161, i64 0, i32 5 + %t163 = load double, ptr %t162 + store double %t163, ptr %s159 + br label %tern.j49 +tern.j49: + %t164 = load double, ptr %s159 + %t165 = fcmp olt double %t164, 0x0000000000000000 + store i1 %t165, ptr %s154 + br label %log.j46 +log.j46: + %t166 = load i1, ptr %s154 + br i1 %t166, label %if.t50, label %if.f52 +if.t50: + store i1 false, ptr %sc_l_dive_0 + br label %if.j51 +if.f52: + %t167 = load ptr, ptr %sc_l_nodes_0 + %t168 = load ptr, ptr %sc_l_next_0 + %t171 = getelementptr inbounds %ScrUnion, ptr %t168, i64 0, i32 1 + %t170 = load i32, ptr %t171 + %t169 = icmp eq i32 %t170, 1 + br i1 %t169, label %tern.t53, label %tern.f54 +tern.t53: + store double 0x7FF8000000000000, ptr %s172 + br label %tern.j55 +tern.f54: + %t174 = load ptr, ptr %sc_l_next_0 + %t175 = getelementptr inbounds %ScrUnion, ptr %t174, i64 0, i32 5 + %t176 = load double, ptr %t175 + store double %t176, ptr %s172 + br label %tern.j55 +tern.j55: + %t177 = load double, ptr %s172 + %t178 = call ptr @sc_bf__x25_arr_idxOr_11(ptr %t167, double %t177) + %t179 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t179) + store ptr %t178, ptr %sc_l_node_0 + %t180 = load double, ptr %sc_l_end_0 + %t181 = fadd double %t180, 0x3FF0000000000000 + store double %t181, ptr %sc_l_pos_0 + %t182 = load double, ptr %sc_l_pos_0 + %t183 = load i32, ptr %sc_l_len_0 + %t184 = sitofp i32 %t183 to double + %t185 = fcmp ole double %t182, %t184 + store i1 %t185, ptr %sc_l_dive_0 + br label %if.j51 +if.j51: + %t186 = load ptr, ptr %sc_l_ch_0 + call void @scr_arr_release(ptr %t186) + br label %loop.c1 +loop.e0: + %t187 = load double, ptr %sc_l_pos_0 + %t188 = load i32, ptr %sc_l_len_0 + %t189 = sitofp i32 %t188 to double + %t190 = fcmp ogt double %t187, %t189 + store i1 %t190, ptr %s191 + br i1 %t190, label %log.r56, label %log.j57 +log.r56: + %t192 = load ptr, ptr %sc_l_node_0 + %t194 = icmp eq ptr %t192, null + br i1 %t194, label %read.then58, label %read.else59 +read.then58: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2156830633837320) + br label %exc.cleanup6 +exc.dead61: + store ptr null, ptr %s195 + br label %read.join60 +read.else59: + %t196 = load ptr, ptr %sc_l_node_0 + store ptr %t196, ptr %s195 + br label %read.join60 +read.join60: + %t197 = load ptr, ptr %s195 + %t198 = getelementptr inbounds %sc_rs_r5, ptr %t197, i64 0, i32 2 + %t199 = load ptr, ptr %t198 + %t200 = getelementptr inbounds %ScrArr, ptr %t199, i32 0, i32 1 + %t201 = load i64, ptr %t200, !tbaa !2, !range !{i64 0, i64 4294967296} + %t202 = sitofp i64 %t201 to double + %t204 = fptosi double %t202 to i64 + %t203 = icmp sgt i64 %t204, 0 + store i1 %t203, ptr %s191 + br label %log.j57 +log.j57: + %t205 = load i1, ptr %s191 + br i1 %t205, label %if.t62, label %if.j63 +if.t62: + %t206 = load ptr, ptr %sc_l_node_0 + %t207 = call ptr @sc_bf__x25_union_retag_7(ptr %t206) + %t208 = load i32, ptr %exc.cell + %t209 = icmp ne i32 %t208, 0 + %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false) + br i1 %t210, label %exc.u64, label %exc.k65 +exc.u64: + br label %exc.cleanup6 +exc.k65: + %t211 = call ptr @sc_rretain_r5(ptr %t207) + %t212 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t212) + ret ptr %t211 +if.j63: + %t213 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.sc_rretain_r16.sc_rrelease_r16.null) + store ptr %t213, ptr %sc_l_stack_0 + %t214 = load ptr, ptr %sc_l_stack_0 + %t215 = call ptr @sc_rnew_r31() + %t216 = load ptr, ptr %sc_l_node_0 + %t217 = call ptr @sc_rretain_r5(ptr %t216) + %t218 = getelementptr inbounds %sc_rs_r31, ptr %t215, i64 0, i32 1 + store ptr %t217, ptr %t218 + %t219 = load double, ptr %sc_l_pos_0 + %t220 = getelementptr inbounds %sc_rs_r31, ptr %t215, i64 0, i32 2 + store double %t219, ptr %t220 + %t221 = call ptr @sc_bf__x25_rec_width_3(ptr %t215) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rrelease_r31(ptr %t215) + call void @sc_rrelease_r16(ptr %t221) + br label %exc.cleanup68 +exc.k67: + call void @sc_rrelease_r31(ptr %t215) + %t225 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 1 + %t226 = load i64, ptr %t225, !tbaa !2 + %t229 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 2 + %t227 = load i64, ptr %t229, !tbaa !2 + %t228 = icmp ult i64 %t226, %t227 + br i1 %t228, label %arr.push.dense69, label %arr.push.slow70 +arr.push.dense69: + %t230 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 8 + %t232 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 9 + %t231 = load ptr, ptr %t230, !tbaa !2 + %t233 = load ptr, ptr %t232, !tbaa !2 + %t234 = getelementptr inbounds i8, ptr %t233, i64 %t226 + %t235 = getelementptr inbounds i64, ptr %t231, i64 %t226 + store ptr %t221, ptr %t235, !tbaa !6 + store i8 1, ptr %t234, !tbaa !4 + %t236 = add nuw i64 %t226, 1 + store i64 %t236, ptr %t225, !tbaa !2 + %t238 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 6 + %t239 = load i32, ptr %t238, !tbaa !2 + %t243 = zext i32 %t239 to i64 + %t240 = icmp eq i64 %t243, %t226 + %t241 = add i32 %t239, 1 + %t242 = select i1 %t240, i32 %t241, i32 %t239 + store i32 %t242, ptr %t238, !tbaa !2 + %t237 = sitofp i64 %t236 to double + br label %arr.push.join71 +arr.push.slow70: + %t244 = call double @scr_arr_push_ref(ptr %t214, ptr %t221) cold + br label %arr.push.join71 +arr.push.join71: + %t245 = phi double [ %t237, %arr.push.dense69 ], [ %t244, %arr.push.slow70 ] + br label %loop.c73 +loop.c73: + %t246 = load ptr, ptr %sc_l_stack_0 + %t247 = getelementptr inbounds %ScrArr, ptr %t246, i32 0, i32 1 + %t248 = load i64, ptr %t247, !tbaa !2, !range !{i64 0, i64 4294967296} + %t249 = sitofp i64 %t248 to double + %t251 = fptosi double %t249 to i64 + %t250 = icmp sgt i64 %t251, 0 + br i1 %t250, label %loop.b74, label %loop.e72 +loop.b74: + %t252 = load ptr, ptr %sc_l_stack_0 + %t253 = load ptr, ptr %sc_l_stack_0 + %t254 = getelementptr inbounds %ScrArr, ptr %t253, i32 0, i32 1 + %t255 = load i64, ptr %t254, !tbaa !2, !range !{i64 0, i64 4294967296} + %t256 = sitofp i64 %t255 to double + %t258 = fptosi double %t256 to i64 + %t259 = sub nsw i64 %t258, 1 + %t261 = trunc i64 %t259 to i32 + %t260 = sitofp i64 %t259 to double + %t262 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 2 + %t263 = load i64, ptr %t262, !tbaa !2 + %t264 = fptosi double %t260 to i64 + %t265 = freeze i64 %t264 + %t266 = sitofp i64 %t265 to double + %t267 = fcmp oeq double %t266, %t260 + %t268 = icmp ult i64 %t265, %t263 + %t269 = and i1 %t267, %t268 + br i1 %t269, label %local.array.range78, label %local.array.slow75 +local.array.range78: + br label %local.array.dense79 +local.array.dense79: + %t270 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 6 + %t271 = load i32, ptr %t270, !tbaa !2 + %t273 = zext i32 %t271 to i64 + %t272 = icmp ult i64 %t265, %t273 + br i1 %t272, label %local.array.value81, label %local.array.len80 +local.array.len80: + %t274 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 1 + %t275 = load i64, ptr %t274, !tbaa !2, !range !{i64 0, i64 4294967296} + %t276 = icmp ult i64 %t265, %t275 + br i1 %t276, label %local.array.state82, label %local.array.missing76 +local.array.state82: + %t277 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 9 + %t278 = load ptr, ptr %t277, !tbaa !2 + %t279 = getelementptr inbounds i8, ptr %t278, i64 %t265 + %t280 = load i8, ptr %t279, !tbaa !4 + %t281 = icmp eq i8 %t280, 1 + br i1 %t281, label %local.array.value81, label %local.array.missing76 +local.array.value81: + %t282 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 8 + %t283 = load ptr, ptr %t282, !tbaa !2 + %t284 = getelementptr inbounds i64, ptr %t283, i64 %t265 + %t285 = load ptr, ptr %t284, !tbaa !6 + %t286 = call ptr @sc_rretain_r16(ptr %t285) + store ptr %t286, ptr %sc_l_f_0 + br label %local.array.join77 +local.array.slow75: + %t287 = call ptr @scr_arr_peek_ref(ptr %t252, double %t260) + %t288 = icmp ne ptr %t287, null + br i1 %t288, label %local.array.slow.value83, label %local.array.missing76 +local.array.slow.value83: + %t289 = call ptr @sc_rretain_r16(ptr %t287) + store ptr %t289, ptr %sc_l_f_0 + br label %local.array.join77 +local.array.missing76: + store ptr null, ptr %sc_l_f_0 + br label %local.array.join77 +local.array.join77: + %t290 = load ptr, ptr %sc_l_stack_0 + store ptr %t290, ptr %sc_l__x25_popArray_0 + %t291 = load ptr, ptr %sc_l__x25_popArray_0 + %t292 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 1 + %t293 = load i64, ptr %t292, !tbaa !2, !range !{i64 0, i64 4294967296} + %t294 = sitofp i64 %t293 to double + %t295 = fptosi double %t294 to i64 + %t296 = trunc i64 %t295 to i32 + store i32 %t296, ptr %sc_l__x25_popLength_0 + %t297 = load i32, ptr %sc_l__x25_popLength_0 + %t298 = uitofp i32 %t297 to double + %t300 = zext i32 %t297 to i64 + %t299 = icmp sgt i64 %t300, 0 + br i1 %t299, label %if.t84, label %if.f86 +if.t84: + %t301 = load ptr, ptr %sc_l__x25_popArray_0 + %t302 = load i32, ptr %sc_l__x25_popLength_0 + %t303 = uitofp i32 %t302 to double + %t305 = zext i32 %t302 to i64 + %t306 = sub nsw i64 %t305, 1 + %t308 = trunc i64 %t306 to i32 + %t307 = sitofp i64 %t306 to double + %t309 = getelementptr inbounds %ScrArr, ptr %t301, i32 0, i32 1 + %t310 = load i64, ptr %t309, !tbaa !2, !range !{i64 0, i64 4294967296} + %t311 = sitofp i64 %t310 to double + %t312 = fcmp oeq double %t307, %t311 + br i1 %t312, label %arr.len.done88, label %arr.len.set87 +arr.len.set87: + call void @scr_arr_set_len(ptr %t301, double %t307) + %t313 = load i32, ptr %exc.cell + %t314 = icmp ne i32 %t313, 0 + %t315 = call i1 @llvm.expect.i1(i1 %t314, i1 false) + br i1 %t315, label %exc.u89, label %exc.k90 +exc.u89: + br label %exc.cleanup91 +exc.k90: + br label %arr.len.done88 +arr.len.done88: + br label %if.j85 +if.f86: + br label %if.j85 +if.j85: + %t316 = load ptr, ptr %sc_l_f_0 + %t318 = icmp eq ptr %t316, null + br i1 %t318, label %read.then92, label %read.else93 +read.then92: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1390182173853979) + br label %exc.cleanup91 +exc.dead95: + store ptr null, ptr %s319 + br label %read.join94 +read.else93: + %t320 = load ptr, ptr %sc_l_f_0 + store ptr %t320, ptr %s319 + br label %read.join94 +read.join94: + %t321 = load ptr, ptr %s319 + %t322 = getelementptr inbounds %sc_rs_r16, ptr %t321, i64 0, i32 1 + %t323 = load ptr, ptr %t322 + store ptr %t323, ptr %sc_l_fnode_0 + %t324 = load ptr, ptr %sc_l_f_0 + %t326 = icmp eq ptr %t324, null + br i1 %t326, label %read.then96, label %read.else97 +read.then96: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1639075665038257) + br label %exc.cleanup91 +exc.dead99: + store ptr null, ptr %s327 + br label %read.join98 +read.else97: + %t328 = load ptr, ptr %sc_l_f_0 + store ptr %t328, ptr %s327 + br label %read.join98 +read.join98: + %t329 = load ptr, ptr %s327 + %t330 = getelementptr inbounds %sc_rs_r16, ptr %t329, i64 0, i32 2 + %t331 = load double, ptr %t330 + store double %t331, ptr %sc_l_fpos_0 + %t332 = load double, ptr %sc_l_fpos_0 + %t333 = load i32, ptr %sc_l_len_0 + %t334 = sitofp i32 %t333 to double + %t335 = fcmp ogt double %t332, %t334 + br i1 %t335, label %if.t100, label %if.j101 +if.t100: + %t336 = load ptr, ptr %sc_l_fnode_0 + %t337 = getelementptr inbounds %sc_rs_r5, ptr %t336, i64 0, i32 2 + %t338 = load ptr, ptr %t337 + %t339 = getelementptr inbounds %ScrArr, ptr %t338, i32 0, i32 1 + %t340 = load i64, ptr %t339, !tbaa !2, !range !{i64 0, i64 4294967296} + %t341 = sitofp i64 %t340 to double + %t343 = fptosi double %t341 to i64 + %t342 = icmp sgt i64 %t343, 0 + br i1 %t342, label %if.t102, label %if.j103 +if.t102: + %t344 = load ptr, ptr %sc_l_fnode_0 + %t345 = call ptr @sc_rretain_r5(ptr %t344) + %t346 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r16(ptr %t346) + %t347 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t347) + %t348 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t348) + ret ptr %t345 +if.j103: + %t349 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r16(ptr %t349) + br label %loop.c73 +if.j101: + %t350 = load ptr, ptr %sc_l_p_0 + %t351 = load double, ptr %sc_l_fpos_0 + %t352 = load i32, ptr %sc_l_len_0 + %t353 = sitofp i32 %t352 to double + %t354 = call double @sc_bf__x25_m5_segEndAt(ptr %t350, double %t351, double %t353) + store double %t354, ptr %sc_l_end_1 + %t355 = load ptr, ptr %sc_l_fnode_0 + %t356 = getelementptr inbounds %sc_rs_r5, ptr %t355, i64 0, i32 1 + %t357 = load ptr, ptr %t356 + store ptr %t357, ptr %sc_l_ch_1 + %t358 = load ptr, ptr %sc_l_ch_1 + %t359 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 1 + %t360 = load i64, ptr %t359, !tbaa !2, !range !{i64 0, i64 4294967296} + %t361 = sitofp i64 %t360 to double + %t363 = fptosi double %t361 to i64 + %t364 = sub nsw i64 %t363, 1 + %t366 = trunc i64 %t364 to i32 + %t365 = sitofp i64 %t364 to double + store double %t365, ptr %sc_l_k_1 + br label %loop.c105 +loop.c105: + %t367 = load double, ptr %sc_l_k_1 + %t369 = fptosi double %t367 to i64 + %t368 = icmp sge i64 %t369, 0 + br i1 %t368, label %loop.b106, label %loop.e104 +loop.b106: + %t370 = load ptr, ptr %sc_l_nodes_0 + %t371 = load ptr, ptr %sc_l_ch_1 + %t372 = load double, ptr %sc_l_k_1 + %t373 = fptosi double %t372 to i64 + %t378 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 8 + %t379 = load ptr, ptr %t378, !tbaa !2 + %t374 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 1 + %t375 = load i64, ptr %t374, !tbaa !2, !range !{i64 0, i64 4294967296} + %t376 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 2 + %t377 = load i64, ptr %t376, !tbaa !2 + %t380 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 9 + %t381 = load ptr, ptr %t380, !tbaa !2 + %t382 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 6 + %t383 = load i32, ptr %t382, !tbaa !2 + %t384 = zext i32 %t383 to i64 + %t385 = icmp ult i64 %t373, %t384 + br i1 %t385, label %arr.get.value110, label %arr.check111 +arr.check111: + %t386 = icmp ult i64 %t373, %t377 + %t387 = icmp ult i64 %t373, %t375 + %t388 = and i1 %t386, %t387 + br i1 %t388, label %arr.dense112, label %arr.get.slow108 +arr.dense112: + %t389 = getelementptr inbounds i8, ptr %t381, i64 %t373 + %t390 = load i8, ptr %t389, !tbaa !4 + %t391 = icmp eq i8 %t390, 1 + br i1 %t391, label %arr.get.value110, label %arr.get.slow108 +arr.get.value110: + %t392 = getelementptr inbounds i64, ptr %t379, i64 %t373 + %t393 = load double, ptr %t392, !tbaa !6 + br label %arr.get.join109 +arr.get.slow108: + %t394 = call double @scr_arr_get_number(ptr %t371, double %t372) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join109 +arr.get.join109: + %t395 = phi double [ %t393, %arr.get.value110 ], [ %t394, %arr.get.slow108 ] + %t396 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 2 + %t397 = load i64, ptr %t396, !tbaa !2 + %t398 = fptosi double %t395 to i64 + %t399 = freeze i64 %t398 + %t400 = sitofp i64 %t399 to double + %t401 = fcmp oeq double %t400, %t395 + %t402 = icmp ult i64 %t399, %t397 + %t403 = and i1 %t401, %t402 + br i1 %t403, label %local.array.range116, label %local.array.slow113 +local.array.range116: + br label %local.array.dense117 +local.array.dense117: + %t404 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 6 + %t405 = load i32, ptr %t404, !tbaa !2 + %t407 = zext i32 %t405 to i64 + %t406 = icmp ult i64 %t399, %t407 + br i1 %t406, label %local.array.value119, label %local.array.len118 +local.array.len118: + %t408 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 1 + %t409 = load i64, ptr %t408, !tbaa !2, !range !{i64 0, i64 4294967296} + %t410 = icmp ult i64 %t399, %t409 + br i1 %t410, label %local.array.state120, label %local.array.missing114 +local.array.state120: + %t411 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 9 + %t412 = load ptr, ptr %t411, !tbaa !2 + %t413 = getelementptr inbounds i8, ptr %t412, i64 %t399 + %t414 = load i8, ptr %t413, !tbaa !4 + %t415 = icmp eq i8 %t414, 1 + br i1 %t415, label %local.array.value119, label %local.array.missing114 +local.array.value119: + %t416 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 8 + %t417 = load ptr, ptr %t416, !tbaa !2 + %t418 = getelementptr inbounds i64, ptr %t417, i64 %t399 + %t419 = load ptr, ptr %t418, !tbaa !6 + store ptr %t419, ptr %sc_l_c_1 + br label %local.array.join115 +local.array.slow113: + %t420 = call ptr @scr_arr_peek_ref(ptr %t370, double %t395) + %t421 = icmp ne ptr %t420, null + br i1 %t421, label %local.array.slow.value121, label %local.array.missing114 +local.array.slow.value121: + store ptr %t420, ptr %sc_l_c_1 + br label %local.array.join115 +local.array.missing114: + store ptr null, ptr %sc_l_c_1 + br label %local.array.join115 +local.array.join115: + %t422 = load ptr, ptr %sc_l_c_1 + %t424 = icmp eq ptr %t422, null + br i1 %t424, label %read.then122, label %read.else123 +read.then122: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209) + br label %exc.cleanup91 +exc.dead125: + store ptr null, ptr %s425 + br label %read.join124 +read.else123: + %t426 = load ptr, ptr %sc_l_c_1 + store ptr %t426, ptr %s425 + br label %read.join124 +read.join124: + %t427 = load ptr, ptr %s425 + %t428 = getelementptr inbounds %sc_rs_r5, ptr %t427, i64 0, i32 4 + %t429 = load double, ptr %t428 + %t430 = fcmp oeq double %t429, 0x4000000000000000 + br i1 %t430, label %if.t126, label %if.j127 +if.t126: + %t431 = load ptr, ptr %sc_l_stack_0 + %t432 = call ptr @sc_rnew_r16() + %t433 = load ptr, ptr %sc_l_c_1 + %t434 = call ptr @sc_rretain_r5(ptr %t433) + %t435 = getelementptr inbounds %sc_rs_r16, ptr %t432, i64 0, i32 1 + store ptr %t434, ptr %t435 + %t436 = load i32, ptr %sc_l_len_0 + %t437 = sitofp i32 %t436 to double + %t439 = sext i32 %t436 to i64 + %t440 = add nsw i64 %t439, 1 + %t442 = trunc i64 %t440 to i32 + %t441 = sitofp i64 %t440 to double + %t443 = getelementptr inbounds %sc_rs_r16, ptr %t432, i64 0, i32 2 + store double %t441, ptr %t443 + %t444 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 1 + %t445 = load i64, ptr %t444, !tbaa !2 + %t448 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 2 + %t446 = load i64, ptr %t448, !tbaa !2 + %t447 = icmp ult i64 %t445, %t446 + br i1 %t447, label %arr.push.dense128, label %arr.push.slow129 +arr.push.dense128: + %t449 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 8 + %t451 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 9 + %t450 = load ptr, ptr %t449, !tbaa !2 + %t452 = load ptr, ptr %t451, !tbaa !2 + %t453 = getelementptr inbounds i8, ptr %t452, i64 %t445 + %t454 = getelementptr inbounds i64, ptr %t450, i64 %t445 + store ptr %t432, ptr %t454, !tbaa !6 + store i8 1, ptr %t453, !tbaa !4 + %t455 = add nuw i64 %t445, 1 + store i64 %t455, ptr %t444, !tbaa !2 + %t457 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 6 + %t458 = load i32, ptr %t457, !tbaa !2 + %t462 = zext i32 %t458 to i64 + %t459 = icmp eq i64 %t462, %t445 + %t460 = add i32 %t458, 1 + %t461 = select i1 %t459, i32 %t460, i32 %t458 + store i32 %t461, ptr %t457, !tbaa !2 + %t456 = sitofp i64 %t455 to double + br label %arr.push.join130 +arr.push.slow129: + %t463 = call double @scr_arr_push_ref(ptr %t431, ptr %t432) cold + br label %arr.push.join130 +arr.push.join130: + %t464 = phi double [ %t456, %arr.push.dense128 ], [ %t463, %arr.push.slow129 ] + br label %if.j127 +if.j127: + br label %loop.u107 +loop.u107: + %t465 = load double, ptr %sc_l_k_1 + %t467 = fptosi double %t465 to i64 + %t468 = sub nsw i64 %t467, 1 + %t470 = trunc i64 %t468 to i32 + %t469 = sitofp i64 %t468 to double + store double %t469, ptr %sc_l_k_1 + br label %loop.c105 +loop.e104: + %t471 = load ptr, ptr %sc_l_ch_1 + %t472 = getelementptr inbounds %ScrArr, ptr %t471, i32 0, i32 1 + %t473 = load i64, ptr %t472, !tbaa !2, !range !{i64 0, i64 4294967296} + %t474 = sitofp i64 %t473 to double + %t476 = fptosi double %t474 to i64 + %t477 = sub nsw i64 %t476, 1 + %t479 = trunc i64 %t477 to i32 + %t478 = sitofp i64 %t477 to double + store double %t478, ptr %sc_l_k_2 + br label %loop.c132 +loop.c132: + %t480 = load double, ptr %sc_l_k_2 + %t482 = fptosi double %t480 to i64 + %t481 = icmp sge i64 %t482, 0 + br i1 %t481, label %loop.b133, label %loop.e131 +loop.b133: + %t483 = load ptr, ptr %sc_l_nodes_0 + %t484 = load ptr, ptr %sc_l_ch_1 + %t485 = load double, ptr %sc_l_k_2 + %t486 = fptosi double %t485 to i64 + %t491 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 8 + %t492 = load ptr, ptr %t491, !tbaa !2 + %t487 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 1 + %t488 = load i64, ptr %t487, !tbaa !2, !range !{i64 0, i64 4294967296} + %t489 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 2 + %t490 = load i64, ptr %t489, !tbaa !2 + %t493 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 9 + %t494 = load ptr, ptr %t493, !tbaa !2 + %t495 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 6 + %t496 = load i32, ptr %t495, !tbaa !2 + %t497 = zext i32 %t496 to i64 + %t498 = icmp ult i64 %t486, %t497 + br i1 %t498, label %arr.get.value137, label %arr.check138 +arr.check138: + %t499 = icmp ult i64 %t486, %t490 + %t500 = icmp ult i64 %t486, %t488 + %t501 = and i1 %t499, %t500 + br i1 %t501, label %arr.dense139, label %arr.get.slow135 +arr.dense139: + %t502 = getelementptr inbounds i8, ptr %t494, i64 %t486 + %t503 = load i8, ptr %t502, !tbaa !4 + %t504 = icmp eq i8 %t503, 1 + br i1 %t504, label %arr.get.value137, label %arr.get.slow135 +arr.get.value137: + %t505 = getelementptr inbounds i64, ptr %t492, i64 %t486 + %t506 = load double, ptr %t505, !tbaa !6 + br label %arr.get.join136 +arr.get.slow135: + %t507 = call double @scr_arr_get_number(ptr %t484, double %t485) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join136 +arr.get.join136: + %t508 = phi double [ %t506, %arr.get.value137 ], [ %t507, %arr.get.slow135 ] + %t509 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 2 + %t510 = load i64, ptr %t509, !tbaa !2 + %t511 = fptosi double %t508 to i64 + %t512 = freeze i64 %t511 + %t513 = sitofp i64 %t512 to double + %t514 = fcmp oeq double %t513, %t508 + %t515 = icmp ult i64 %t512, %t510 + %t516 = and i1 %t514, %t515 + br i1 %t516, label %local.array.range143, label %local.array.slow140 +local.array.range143: + br label %local.array.dense144 +local.array.dense144: + %t517 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 6 + %t518 = load i32, ptr %t517, !tbaa !2 + %t520 = zext i32 %t518 to i64 + %t519 = icmp ult i64 %t512, %t520 + br i1 %t519, label %local.array.value146, label %local.array.len145 +local.array.len145: + %t521 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 1 + %t522 = load i64, ptr %t521, !tbaa !2, !range !{i64 0, i64 4294967296} + %t523 = icmp ult i64 %t512, %t522 + br i1 %t523, label %local.array.state147, label %local.array.missing141 +local.array.state147: + %t524 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 9 + %t525 = load ptr, ptr %t524, !tbaa !2 + %t526 = getelementptr inbounds i8, ptr %t525, i64 %t512 + %t527 = load i8, ptr %t526, !tbaa !4 + %t528 = icmp eq i8 %t527, 1 + br i1 %t528, label %local.array.value146, label %local.array.missing141 +local.array.value146: + %t529 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 8 + %t530 = load ptr, ptr %t529, !tbaa !2 + %t531 = getelementptr inbounds i64, ptr %t530, i64 %t512 + %t532 = load ptr, ptr %t531, !tbaa !6 + store ptr %t532, ptr %sc_l_c_2 + br label %local.array.join142 +local.array.slow140: + %t533 = call ptr @scr_arr_peek_ref(ptr %t483, double %t508) + %t534 = icmp ne ptr %t533, null + br i1 %t534, label %local.array.slow.value148, label %local.array.missing141 +local.array.slow.value148: + store ptr %t533, ptr %sc_l_c_2 + br label %local.array.join142 +local.array.missing141: + store ptr null, ptr %sc_l_c_2 + br label %local.array.join142 +local.array.join142: + %t535 = load ptr, ptr %sc_l_c_2 + %t537 = icmp eq ptr %t535, null + br i1 %t537, label %read.then149, label %read.else150 +read.then149: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209) + br label %exc.cleanup91 +exc.dead152: + store ptr null, ptr %s538 + br label %read.join151 +read.else150: + %t539 = load ptr, ptr %sc_l_c_2 + store ptr %t539, ptr %s538 + br label %read.join151 +read.join151: + %t540 = load ptr, ptr %s538 + %t541 = getelementptr inbounds %sc_rs_r5, ptr %t540, i64 0, i32 4 + %t542 = load double, ptr %t541 + %t543 = fcmp oeq double %t542, 0x3FF0000000000000 + br i1 %t543, label %if.t153, label %if.j154 +if.t153: + %t544 = load ptr, ptr %sc_l_stack_0 + %t545 = call ptr @sc_rnew_r16() + %t546 = load ptr, ptr %sc_l_c_2 + %t547 = call ptr @sc_rretain_r5(ptr %t546) + %t548 = getelementptr inbounds %sc_rs_r16, ptr %t545, i64 0, i32 1 + store ptr %t547, ptr %t548 + %t549 = load double, ptr %sc_l_end_1 + %t550 = fadd double %t549, 0x3FF0000000000000 + %t551 = getelementptr inbounds %sc_rs_r16, ptr %t545, i64 0, i32 2 + store double %t550, ptr %t551 + %t552 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 1 + %t553 = load i64, ptr %t552, !tbaa !2 + %t556 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 2 + %t554 = load i64, ptr %t556, !tbaa !2 + %t555 = icmp ult i64 %t553, %t554 + br i1 %t555, label %arr.push.dense155, label %arr.push.slow156 +arr.push.dense155: + %t557 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 8 + %t559 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 9 + %t558 = load ptr, ptr %t557, !tbaa !2 + %t560 = load ptr, ptr %t559, !tbaa !2 + %t561 = getelementptr inbounds i8, ptr %t560, i64 %t553 + %t562 = getelementptr inbounds i64, ptr %t558, i64 %t553 + store ptr %t545, ptr %t562, !tbaa !6 + store i8 1, ptr %t561, !tbaa !4 + %t563 = add nuw i64 %t553, 1 + store i64 %t563, ptr %t552, !tbaa !2 + %t565 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 6 + %t566 = load i32, ptr %t565, !tbaa !2 + %t570 = zext i32 %t566 to i64 + %t567 = icmp eq i64 %t570, %t553 + %t568 = add i32 %t566, 1 + %t569 = select i1 %t567, i32 %t568, i32 %t566 + store i32 %t569, ptr %t565, !tbaa !2 + %t564 = sitofp i64 %t563 to double + br label %arr.push.join157 +arr.push.slow156: + %t571 = call double @scr_arr_push_ref(ptr %t544, ptr %t545) cold + br label %arr.push.join157 +arr.push.join157: + %t572 = phi double [ %t564, %arr.push.dense155 ], [ %t571, %arr.push.slow156 ] + br label %if.j154 +if.j154: + br label %loop.u134 +loop.u134: + %t573 = load double, ptr %sc_l_k_2 + %t575 = fptosi double %t573 to i64 + %t576 = sub nsw i64 %t575, 1 + %t578 = trunc i64 %t576 to i32 + %t577 = sitofp i64 %t576 to double + store double %t577, ptr %sc_l_k_2 + br label %loop.c132 +loop.e131: + %t579 = load ptr, ptr %sc_l_ch_1 + %t580 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 1 + %t581 = load i64, ptr %t580, !tbaa !2, !range !{i64 0, i64 4294967296} + %t582 = sitofp i64 %t581 to double + %t584 = fptosi double %t582 to i64 + %t585 = sub nsw i64 %t584, 1 + %t587 = trunc i64 %t585 to i32 + %t586 = sitofp i64 %t585 to double + store double %t586, ptr %sc_l_k_3 + br label %loop.c159 +loop.c159: + %t588 = load double, ptr %sc_l_k_3 + %t590 = fptosi double %t588 to i64 + %t589 = icmp sge i64 %t590, 0 + br i1 %t589, label %loop.b160, label %loop.e158 +loop.b160: + %t591 = load ptr, ptr %sc_l_nodes_0 + %t592 = load ptr, ptr %sc_l_ch_1 + %t593 = load double, ptr %sc_l_k_3 + %t594 = fptosi double %t593 to i64 + %t599 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 8 + %t600 = load ptr, ptr %t599, !tbaa !2 + %t595 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 1 + %t596 = load i64, ptr %t595, !tbaa !2, !range !{i64 0, i64 4294967296} + %t597 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 2 + %t598 = load i64, ptr %t597, !tbaa !2 + %t601 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 9 + %t602 = load ptr, ptr %t601, !tbaa !2 + %t603 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 6 + %t604 = load i32, ptr %t603, !tbaa !2 + %t605 = zext i32 %t604 to i64 + %t606 = icmp ult i64 %t594, %t605 + br i1 %t606, label %arr.get.value164, label %arr.check165 +arr.check165: + %t607 = icmp ult i64 %t594, %t598 + %t608 = icmp ult i64 %t594, %t596 + %t609 = and i1 %t607, %t608 + br i1 %t609, label %arr.dense166, label %arr.get.slow162 +arr.dense166: + %t610 = getelementptr inbounds i8, ptr %t602, i64 %t594 + %t611 = load i8, ptr %t610, !tbaa !4 + %t612 = icmp eq i8 %t611, 1 + br i1 %t612, label %arr.get.value164, label %arr.get.slow162 +arr.get.value164: + %t613 = getelementptr inbounds i64, ptr %t600, i64 %t594 + %t614 = load double, ptr %t613, !tbaa !6 + br label %arr.get.join163 +arr.get.slow162: + %t615 = call double @scr_arr_get_number(ptr %t592, double %t593) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join163 +arr.get.join163: + %t616 = phi double [ %t614, %arr.get.value164 ], [ %t615, %arr.get.slow162 ] + %t617 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 2 + %t618 = load i64, ptr %t617, !tbaa !2 + %t619 = fptosi double %t616 to i64 + %t620 = freeze i64 %t619 + %t621 = sitofp i64 %t620 to double + %t622 = fcmp oeq double %t621, %t616 + %t623 = icmp ult i64 %t620, %t618 + %t624 = and i1 %t622, %t623 + br i1 %t624, label %local.array.range170, label %local.array.slow167 +local.array.range170: + br label %local.array.dense171 +local.array.dense171: + %t625 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 6 + %t626 = load i32, ptr %t625, !tbaa !2 + %t628 = zext i32 %t626 to i64 + %t627 = icmp ult i64 %t620, %t628 + br i1 %t627, label %local.array.value173, label %local.array.len172 +local.array.len172: + %t629 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 1 + %t630 = load i64, ptr %t629, !tbaa !2, !range !{i64 0, i64 4294967296} + %t631 = icmp ult i64 %t620, %t630 + br i1 %t631, label %local.array.state174, label %local.array.missing168 +local.array.state174: + %t632 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 9 + %t633 = load ptr, ptr %t632, !tbaa !2 + %t634 = getelementptr inbounds i8, ptr %t633, i64 %t620 + %t635 = load i8, ptr %t634, !tbaa !4 + %t636 = icmp eq i8 %t635, 1 + br i1 %t636, label %local.array.value173, label %local.array.missing168 +local.array.value173: + %t637 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 8 + %t638 = load ptr, ptr %t637, !tbaa !2 + %t639 = getelementptr inbounds i64, ptr %t638, i64 %t620 + %t640 = load ptr, ptr %t639, !tbaa !6 + store ptr %t640, ptr %sc_l_c_3 + br label %local.array.join169 +local.array.slow167: + %t641 = call ptr @scr_arr_peek_ref(ptr %t591, double %t616) + %t642 = icmp ne ptr %t641, null + br i1 %t642, label %local.array.slow.value175, label %local.array.missing168 +local.array.slow.value175: + store ptr %t641, ptr %sc_l_c_3 + br label %local.array.join169 +local.array.missing168: + store ptr null, ptr %sc_l_c_3 + br label %local.array.join169 +local.array.join169: + %t643 = load ptr, ptr %sc_l_c_3 + %t645 = icmp eq ptr %t643, null + br i1 %t645, label %read.then176, label %read.else177 +read.then176: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209) + br label %exc.cleanup91 +exc.dead179: + store ptr null, ptr %s646 + br label %read.join178 +read.else177: + %t647 = load ptr, ptr %sc_l_c_3 + store ptr %t647, ptr %s646 + br label %read.join178 +read.join178: + %t648 = load ptr, ptr %s646 + %t649 = getelementptr inbounds %sc_rs_r5, ptr %t648, i64 0, i32 4 + %t650 = load double, ptr %t649 + %t651 = fcmp oeq double %t650, 0x0000000000000000 + store i1 %t651, ptr %s652 + br i1 %t651, label %log.r180, label %log.j181 +log.r180: + %t653 = load ptr, ptr %sc_l_p_0 + %t654 = load double, ptr %sc_l_fpos_0 + %t655 = load double, ptr %sc_l_end_1 + %t656 = load ptr, ptr %sc_l_c_3 + %t658 = icmp eq ptr %t656, null + br i1 %t658, label %read.then182, label %read.else183 +read.then182: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_180082455986257) + br label %exc.cleanup91 +exc.dead185: + store ptr null, ptr %s659 + br label %read.join184 +read.else183: + %t660 = load ptr, ptr %sc_l_c_3 + store ptr %t660, ptr %s659 + br label %read.join184 +read.join184: + %t661 = load ptr, ptr %s659 + %t662 = getelementptr inbounds %sc_rs_r5, ptr %t661, i64 0, i32 5 + %t663 = load ptr, ptr %t662 + %t664 = call i1 @sc_bf__x25_m5_segEq(ptr %t653, double %t654, double %t655, ptr %t663) + store i1 %t664, ptr %s652 + br label %log.j181 +log.j181: + %t665 = load i1, ptr %s652 + br i1 %t665, label %if.t186, label %if.j187 +if.t186: + %t666 = load ptr, ptr %sc_l_stack_0 + %t667 = call ptr @sc_rnew_r16() + %t668 = load ptr, ptr %sc_l_c_3 + %t669 = call ptr @sc_rretain_r5(ptr %t668) + %t670 = getelementptr inbounds %sc_rs_r16, ptr %t667, i64 0, i32 1 + store ptr %t669, ptr %t670 + %t671 = load double, ptr %sc_l_end_1 + %t672 = fadd double %t671, 0x3FF0000000000000 + %t673 = getelementptr inbounds %sc_rs_r16, ptr %t667, i64 0, i32 2 + store double %t672, ptr %t673 + %t674 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 1 + %t675 = load i64, ptr %t674, !tbaa !2 + %t678 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 2 + %t676 = load i64, ptr %t678, !tbaa !2 + %t677 = icmp ult i64 %t675, %t676 + br i1 %t677, label %arr.push.dense188, label %arr.push.slow189 +arr.push.dense188: + %t679 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 8 + %t681 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 9 + %t680 = load ptr, ptr %t679, !tbaa !2 + %t682 = load ptr, ptr %t681, !tbaa !2 + %t683 = getelementptr inbounds i8, ptr %t682, i64 %t675 + %t684 = getelementptr inbounds i64, ptr %t680, i64 %t675 + store ptr %t667, ptr %t684, !tbaa !6 + store i8 1, ptr %t683, !tbaa !4 + %t685 = add nuw i64 %t675, 1 + store i64 %t685, ptr %t674, !tbaa !2 + %t687 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 6 + %t688 = load i32, ptr %t687, !tbaa !2 + %t692 = zext i32 %t688 to i64 + %t689 = icmp eq i64 %t692, %t675 + %t690 = add i32 %t688, 1 + %t691 = select i1 %t689, i32 %t690, i32 %t688 + store i32 %t691, ptr %t687, !tbaa !2 + %t686 = sitofp i64 %t685 to double + br label %arr.push.join190 +arr.push.slow189: + %t693 = call double @scr_arr_push_ref(ptr %t666, ptr %t667) cold + br label %arr.push.join190 +arr.push.join190: + %t694 = phi double [ %t686, %arr.push.dense188 ], [ %t693, %arr.push.slow189 ] + br label %if.j187 +if.j187: + br label %loop.u161 +loop.u161: + %t695 = load double, ptr %sc_l_k_3 + %t697 = fptosi double %t695 to i64 + %t698 = sub nsw i64 %t697, 1 + %t700 = trunc i64 %t698 to i32 + %t699 = sitofp i64 %t698 to double + store double %t699, ptr %sc_l_k_3 + br label %loop.c159 +loop.e158: + %t701 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r16(ptr %t701) + br label %loop.c73 +loop.e72: + %t702 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t702) + %t703 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t703) + ret ptr @sc_nullable_null +exc.cleanup6: + %t704 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t704) + ret ptr null +exc.cleanup29: + %t705 = load ptr, ptr %sc_l_ch_0 + call void @scr_arr_release(ptr %t705) + %t706 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t706) + ret ptr null +exc.cleanup68: + %t707 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t707) + %t708 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t708) + ret ptr null +exc.cleanup91: + %t709 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r16(ptr %t709) + %t710 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t710) + %t711 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t711) + ret ptr null +} +define internal ptr @sc_f__x25_m5_matchPath(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_matchPath(ptr %p0, ptr %p1) + call void @scr_arr_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal double @sc_bf__x25_m5_findEntry(ptr %p_sc_l_node_0, ptr %p_sc_l_method_0) #0 { ; %m5.findEntry +entry: + %sc_l_node_0 = alloca ptr ; node + %sc_l_method_0 = alloca ptr ; method + %sc_l_m_0 = alloca ptr ; m + %sc_l_hm_0 = alloca ptr ; hm + %sc_l_star_0 = alloca double ; star + %sc_l_i_0 = alloca i32 ; i + %sc_l_i_1 = alloca i32 ; i + %s4 = alloca ptr + %s9 = alloca i64 ; integer induction i + %s16 = alloca ptr + %s47 = alloca i1 + %s60 = alloca ptr + %s90 = alloca i1 + %s99 = alloca i1 + %s114 = alloca i64 ; integer induction i + %s121 = alloca ptr + %s151 = alloca i1 + store ptr null, ptr %sc_l_m_0 + store ptr null, ptr %sc_l_hm_0 + store ptr %p_sc_l_node_0, ptr %sc_l_node_0 + store ptr %p_sc_l_method_0, ptr %sc_l_method_0 + %t0 = load ptr, ptr %sc_l_method_0 + store ptr %t0, ptr %sc_l_m_0 + %t1 = load ptr, ptr %sc_l_node_0 + %t3 = icmp eq ptr %t1, null + br i1 %t3, label %read.then0, label %read.else1 +read.then0: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4226955055047009) + ret double 0x0000000000000000 +exc.dead3: + store ptr null, ptr %s4 + br label %read.join2 +read.else1: + %t5 = load ptr, ptr %sc_l_node_0 + store ptr %t5, ptr %s4 + br label %read.join2 +read.join2: + %t6 = load ptr, ptr %s4 + %t7 = getelementptr inbounds %sc_rs_r5, ptr %t6, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_hm_0 + store double 0xBFF0000000000000, ptr %sc_l_star_0 + %t10 = fptosi double 0x0000000000000000 to i64 + store i64 %t10, ptr %s9 + br label %loop.c5 +loop.c5: + %t11 = load ptr, ptr %sc_l_hm_0 + %t12 = getelementptr inbounds %ScrArr, ptr %t11, i64 0, i32 1 + %t13 = load i64, ptr %t12, !tbaa !2 + %t14 = load i64, ptr %s9 + %t15 = icmp ult i64 %t14, %t13 + br i1 %t15, label %loop.b6, label %loop.e4 +loop.b6: + %t17 = load ptr, ptr %sc_l_hm_0 + %t18 = load i64, ptr %s9 + %t19 = load i64, ptr %s9 + %t20 = sitofp i64 %t19 to double + %t21 = trunc i64 %t19 to i32 + %t22 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2 + %t23 = load i64, ptr %t22, !tbaa !2 + %t24 = icmp ult i64 %t18, %t23 + br i1 %t24, label %local.array.range11, label %local.array.slow8 +local.array.range11: + br label %local.array.dense12 +local.array.dense12: + %t25 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6 + %t26 = load i32, ptr %t25, !tbaa !2 + %t28 = zext i32 %t26 to i64 + %t27 = icmp ult i64 %t18, %t28 + br i1 %t27, label %local.array.value14, label %local.array.len13 +local.array.len13: + %t29 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + %t30 = load i64, ptr %t29, !tbaa !2, !range !{i64 0, i64 4294967296} + %t31 = icmp ult i64 %t18, %t30 + br i1 %t31, label %local.array.state15, label %local.array.missing9 +local.array.state15: + %t32 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9 + %t33 = load ptr, ptr %t32, !tbaa !2 + %t34 = getelementptr inbounds i8, ptr %t33, i64 %t18 + %t35 = load i8, ptr %t34, !tbaa !4 + %t36 = icmp eq i8 %t35, 1 + br i1 %t36, label %local.array.value14, label %local.array.missing9 +local.array.value14: + %t37 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8 + %t38 = load ptr, ptr %t37, !tbaa !2 + %t39 = getelementptr inbounds i64, ptr %t38, i64 %t18 + %t40 = load ptr, ptr %t39, !tbaa !6 + %t41 = call ptr @sc_rc_retain_str(ptr %t40) + store ptr %t41, ptr %s16 + br label %local.array.join10 +local.array.slow8: + %t42 = call ptr @scr_arr_peek_ref(ptr %t17, double %t20) + %t43 = icmp ne ptr %t42, null + br i1 %t43, label %local.array.slow.value16, label %local.array.missing9 +local.array.slow.value16: + %t44 = call ptr @sc_rc_retain_str(ptr %t42) + store ptr %t44, ptr %s16 + br label %local.array.join10 +local.array.missing9: + store ptr null, ptr %s16 + br label %local.array.join10 +local.array.join10: + %t45 = load ptr, ptr %s16 + %t46 = load ptr, ptr %sc_l_m_0 + %t48 = icmp eq ptr %t45, %t46 + %t50 = icmp ne ptr %t45, null + %t51 = icmp ne ptr %t46, null + %t49 = and i1 %t50, %t51 + store i1 %t48, ptr %s47 + %t52 = xor i1 %t48, true + %t53 = and i1 %t52, %t49 + br i1 %t53, label %ues.b17, label %ues.j18 +ues.b17: + %t54 = call zeroext i1 @sc_str_eq(ptr %t45, ptr %t46) + store i1 %t54, ptr %s47 + br label %ues.j18 +ues.j18: + %t55 = load i1, ptr %s47 + %t56 = load ptr, ptr %s16 + call void @scr_str_release(ptr %t56) + br i1 %t55, label %if.t19, label %if.j20 +if.t19: + %t57 = load i64, ptr %s9 + %t58 = sitofp i64 %t57 to double + %t59 = trunc i64 %t57 to i32 + ret double %t58 +if.j20: + %t61 = load ptr, ptr %sc_l_hm_0 + %t62 = load i64, ptr %s9 + %t63 = load i64, ptr %s9 + %t64 = sitofp i64 %t63 to double + %t65 = trunc i64 %t63 to i32 + %t66 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 2 + %t67 = load i64, ptr %t66, !tbaa !2 + %t68 = icmp ult i64 %t62, %t67 + br i1 %t68, label %local.array.range24, label %local.array.slow21 +local.array.range24: + br label %local.array.dense25 +local.array.dense25: + %t69 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 6 + %t70 = load i32, ptr %t69, !tbaa !2 + %t72 = zext i32 %t70 to i64 + %t71 = icmp ult i64 %t62, %t72 + br i1 %t71, label %local.array.value27, label %local.array.len26 +local.array.len26: + %t73 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 1 + %t74 = load i64, ptr %t73, !tbaa !2, !range !{i64 0, i64 4294967296} + %t75 = icmp ult i64 %t62, %t74 + br i1 %t75, label %local.array.state28, label %local.array.missing22 +local.array.state28: + %t76 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 9 + %t77 = load ptr, ptr %t76, !tbaa !2 + %t78 = getelementptr inbounds i8, ptr %t77, i64 %t62 + %t79 = load i8, ptr %t78, !tbaa !4 + %t80 = icmp eq i8 %t79, 1 + br i1 %t80, label %local.array.value27, label %local.array.missing22 +local.array.value27: + %t81 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 8 + %t82 = load ptr, ptr %t81, !tbaa !2 + %t83 = getelementptr inbounds i64, ptr %t82, i64 %t62 + %t84 = load ptr, ptr %t83, !tbaa !6 + %t85 = call ptr @sc_rc_retain_str(ptr %t84) + store ptr %t85, ptr %s60 + br label %local.array.join23 +local.array.slow21: + %t86 = call ptr @scr_arr_peek_ref(ptr %t61, double %t64) + %t87 = icmp ne ptr %t86, null + br i1 %t87, label %local.array.slow.value29, label %local.array.missing22 +local.array.slow.value29: + %t88 = call ptr @sc_rc_retain_str(ptr %t86) + store ptr %t88, ptr %s60 + br label %local.array.join23 +local.array.missing22: + store ptr null, ptr %s60 + br label %local.array.join23 +local.array.join23: + %t89 = load ptr, ptr %s60 + %t91 = icmp eq ptr %t89, @sc_lit_1834571860458263 + %t93 = icmp ne ptr %t89, null + %t94 = icmp ne ptr @sc_lit_1834571860458263, null + %t92 = and i1 %t93, %t94 + store i1 %t91, ptr %s90 + %t95 = xor i1 %t91, true + %t96 = and i1 %t95, %t92 + br i1 %t96, label %ues.b30, label %ues.j31 +ues.b30: + %t97 = call zeroext i1 @sc_streq_1834571860458263(ptr %t89) + store i1 %t97, ptr %s90 + br label %ues.j31 +ues.j31: + %t98 = load i1, ptr %s90 + store i1 %t98, ptr %s99 + br i1 %t98, label %log.r32, label %log.j33 +log.r32: + %t100 = load double, ptr %sc_l_star_0 + %t101 = fcmp olt double %t100, 0x0000000000000000 + store i1 %t101, ptr %s99 + br label %log.j33 +log.j33: + %t102 = load i1, ptr %s99 + %t103 = load ptr, ptr %s60 + call void @scr_str_release(ptr %t103) + br i1 %t102, label %if.t34, label %if.j35 +if.t34: + %t104 = load i64, ptr %s9 + %t105 = sitofp i64 %t104 to double + %t106 = trunc i64 %t104 to i32 + store double %t105, ptr %sc_l_star_0 + br label %if.j35 +if.j35: + br label %loop.u7 +loop.u7: + %t107 = load i64, ptr %s9 + %t108 = add nuw i64 %t107, 1 + store i64 %t108, ptr %s9 + br label %loop.c5 +loop.e4: + %t109 = load double, ptr %sc_l_star_0 + %t110 = fcmp oge double %t109, 0x0000000000000000 + br i1 %t110, label %if.t36, label %if.j37 +if.t36: + %t111 = load double, ptr %sc_l_star_0 + ret double %t111 +if.j37: + %t112 = load ptr, ptr %sc_l_m_0 + %t113 = call zeroext i1 @sc_streq_3185835515143599(ptr %t112) + br i1 %t113, label %if.t38, label %if.j39 +if.t38: + %t115 = fptosi double 0x0000000000000000 to i64 + store i64 %t115, ptr %s114 + br label %loop.c41 +loop.c41: + %t116 = load ptr, ptr %sc_l_hm_0 + %t117 = getelementptr inbounds %ScrArr, ptr %t116, i64 0, i32 1 + %t118 = load i64, ptr %t117, !tbaa !2 + %t119 = load i64, ptr %s114 + %t120 = icmp ult i64 %t119, %t118 + br i1 %t120, label %loop.b42, label %loop.e40 +loop.b42: + %t122 = load ptr, ptr %sc_l_hm_0 + %t123 = load i64, ptr %s114 + %t124 = load i64, ptr %s114 + %t125 = sitofp i64 %t124 to double + %t126 = trunc i64 %t124 to i32 + %t127 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 2 + %t128 = load i64, ptr %t127, !tbaa !2 + %t129 = icmp ult i64 %t123, %t128 + br i1 %t129, label %local.array.range47, label %local.array.slow44 +local.array.range47: + br label %local.array.dense48 +local.array.dense48: + %t130 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 6 + %t131 = load i32, ptr %t130, !tbaa !2 + %t133 = zext i32 %t131 to i64 + %t132 = icmp ult i64 %t123, %t133 + br i1 %t132, label %local.array.value50, label %local.array.len49 +local.array.len49: + %t134 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 1 + %t135 = load i64, ptr %t134, !tbaa !2, !range !{i64 0, i64 4294967296} + %t136 = icmp ult i64 %t123, %t135 + br i1 %t136, label %local.array.state51, label %local.array.missing45 +local.array.state51: + %t137 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 9 + %t138 = load ptr, ptr %t137, !tbaa !2 + %t139 = getelementptr inbounds i8, ptr %t138, i64 %t123 + %t140 = load i8, ptr %t139, !tbaa !4 + %t141 = icmp eq i8 %t140, 1 + br i1 %t141, label %local.array.value50, label %local.array.missing45 +local.array.value50: + %t142 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 8 + %t143 = load ptr, ptr %t142, !tbaa !2 + %t144 = getelementptr inbounds i64, ptr %t143, i64 %t123 + %t145 = load ptr, ptr %t144, !tbaa !6 + %t146 = call ptr @sc_rc_retain_str(ptr %t145) + store ptr %t146, ptr %s121 + br label %local.array.join46 +local.array.slow44: + %t147 = call ptr @scr_arr_peek_ref(ptr %t122, double %t125) + %t148 = icmp ne ptr %t147, null + br i1 %t148, label %local.array.slow.value52, label %local.array.missing45 +local.array.slow.value52: + %t149 = call ptr @sc_rc_retain_str(ptr %t147) + store ptr %t149, ptr %s121 + br label %local.array.join46 +local.array.missing45: + store ptr null, ptr %s121 + br label %local.array.join46 +local.array.join46: + %t150 = load ptr, ptr %s121 + %t152 = icmp eq ptr %t150, @sc_lit_367446482893939 + %t154 = icmp ne ptr %t150, null + %t155 = icmp ne ptr @sc_lit_367446482893939, null + %t153 = and i1 %t154, %t155 + store i1 %t152, ptr %s151 + %t156 = xor i1 %t152, true + %t157 = and i1 %t156, %t153 + br i1 %t157, label %ues.b53, label %ues.j54 +ues.b53: + %t158 = call zeroext i1 @sc_streq_367446482893939(ptr %t150) + store i1 %t158, ptr %s151 + br label %ues.j54 +ues.j54: + %t159 = load i1, ptr %s151 + %t160 = load ptr, ptr %s121 + call void @scr_str_release(ptr %t160) + br i1 %t159, label %if.t55, label %if.j56 +if.t55: + %t161 = load i64, ptr %s114 + %t162 = sitofp i64 %t161 to double + %t163 = trunc i64 %t161 to i32 + ret double %t162 +if.j56: + br label %loop.u43 +loop.u43: + %t164 = load i64, ptr %s114 + %t165 = add nuw i64 %t164, 1 + store i64 %t165, ptr %s114 + br label %loop.c41 +loop.e40: + br label %if.j39 +if.j39: + ret double 0xBFF0000000000000 +} +define internal double @sc_f__x25_m5_findEntry(ptr %p0, ptr %p1) #0 { +entry: + %result = call double @sc_bf__x25_m5_findEntry(ptr %p0, ptr %p1) + call void @sc_rrelease_r5(ptr %p0) + call void @scr_str_release(ptr %p1) + ret double %result +} + +define internal void @sc_bf__x25_m5_defaultNotFound(ptr %p_sc_l_c_0) #0 { ; %m5.defaultNotFound +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s28 = alloca [1 x ptr] + %s50 = alloca ptr + %s64 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_c_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret void +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t27 = call ptr @sc_td_2(double 0x4079400000000000) + %t29 = getelementptr inbounds [1 x ptr], ptr %s28, i64 0, i64 0 + store ptr %t27, ptr %t29 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t30 = call ptr @scr_dyn_call(ptr %t24, ptr %s28, i64 1, ptr @sc_cs_1113611553843547) + call void @scr_dyn_this_pop() + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t30) + br label %exc.cleanup12 +exc.k11: + %t34 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t30) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_release__x25_m5_CtxCore(ptr %t34) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_release__x25_m5_CtxCore(ptr %t34) + %t38 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t38) + %t39 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l_c_0 + store ptr %t40, ptr %sc_l__x25_callbackReceiver_1 + %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t42 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t41) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t42) + ret void +exc.k16: + store ptr %t42, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t46 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t47 = getelementptr inbounds i8, ptr %t46, i64 8 ; ->kind + %t48 = load i32, ptr %t47 + %t49 = icmp eq i32 %t48, 6 + br i1 %t49, label %tern.t17, label %tern.f18 +tern.t17: + %t52 = call ptr @scr_dyn_undefined() + %t51 = call ptr @scr_dyn_retain_v(ptr %t52) + store ptr %t51, ptr %s50 + br label %tern.j19 +tern.f18: + %t53 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t54 = call ptr @sc_rc_retain_dyn(ptr %t53) + %t55 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t54) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t55) + br label %exc.cleanup22 +exc.k21: + store ptr %t55, ptr %s50 + br label %tern.j19 +tern.j19: + %t59 = load ptr, ptr %s50 + store ptr %t59, ptr %sc_l__x25_callback_1 + %t60 = load ptr, ptr %sc_l__x25_callback_1 + %t61 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t63 = call ptr @sc_td_0(ptr @sc_lit_1778054279894) + %t65 = getelementptr inbounds [1 x ptr], ptr %s64, i64 0, i64 0 + store ptr %t63, ptr %t65 + call void @scr_dyn_this_push_dyn(ptr %t62) + %t66 = call ptr @scr_dyn_call(ptr %t60, ptr %s64, i64 1, ptr @sc_cs_4031902885015721) + call void @scr_dyn_this_pop() + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u23, label %exc.k24 +exc.u23: + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t66) + br label %exc.cleanup25 +exc.k24: + %t70 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t66) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_release__x25_m5_CtxCore(ptr %t70) + br label %exc.cleanup25 +exc.k27: + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_release__x25_m5_CtxCore(ptr %t70) + %t74 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t74) + %t75 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t75) + ret void +exc.cleanup9: + %t76 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t76) + ret void +exc.cleanup12: + %t77 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t77) + %t78 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t78) + ret void +exc.cleanup22: + %t79 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t79) + ret void +exc.cleanup25: + %t80 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t80) + %t81 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t81) + ret void +} +define internal void @sc_f__x25_m5_defaultNotFound(ptr %p0) #0 { +entry: + call void @sc_bf__x25_m5_defaultNotFound(ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_m5_allow405(ptr %p_sc_l_node_0, ptr %p_sc_l_req_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0) #0 { ; %m5.allow405 +entry: + %sc_l_node_0 = alloca ptr ; node + %sc_l_req_0 = alloca ptr ; req + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_hm_0 = alloca ptr ; hm + %sc_l_seen_0 = alloca ptr ; seen + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca i32 ; i + %sc_l_m_0 = alloca ptr ; m + %sc_l_url_0 = alloca ptr ; url + %sc_l_path_0 = alloca ptr ; path + %sc_l_qs_0 = alloca ptr ; qs + %sc_l_qi_0 = alloca i32 ; qi + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_4 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_5 = alloca ptr ; %callback + %sc_l_e_0 = alloca ptr ; e + %sc_l__x25_callbackReceiver_6 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_6 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_6 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_6 = alloca ptr ; %callback + %s10 = alloca i64 ; integer induction i + %s17 = alloca ptr + %s47 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s62 = alloca i1 + %s65 = alloca ptr + %s68 = alloca double + %s79 = alloca ptr + %s82 = alloca double + %s121 = alloca ptr + %s124 = alloca double + %s172 = alloca ptr + %s242 = alloca ptr + %s285 = alloca ptr + %s299 = alloca [1 x ptr] + %s318 = alloca ptr + %s335 = alloca [2 x ptr] + %s355 = alloca ptr + %s370 = alloca [2 x ptr] + %s390 = alloca ptr + %s405 = alloca [2 x ptr] + %s425 = alloca ptr + %s439 = alloca [1 x ptr] + %s459 = alloca ptr + store ptr null, ptr %sc_l_hm_0 + store ptr null, ptr %sc_l_seen_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_m_0 + store ptr null, ptr %sc_l_url_0 + store ptr null, ptr %sc_l_path_0 + store ptr null, ptr %sc_l_qs_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr null, ptr %sc_l__x25_callbackReceiver_4 + store ptr null, ptr %sc_l__x25_callbackBag_4 + store ptr null, ptr %sc_l__x25_callback_4 + store ptr null, ptr %sc_l__x25_callbackReceiver_5 + store ptr null, ptr %sc_l__x25_callbackBag_5 + store ptr null, ptr %sc_l__x25_callback_5 + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_6 + store ptr null, ptr %sc_l__x25_callbackBag_6 + store ptr null, ptr %sc_l__x25_callback_6 + store ptr %p_sc_l_node_0, ptr %sc_l_node_0 + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_node_0 + %t5 = getelementptr inbounds %sc_rs_r5, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @scr_arr_retain_v(ptr %t6) + store ptr %t7, ptr %sc_l_hm_0 + %t8 = call ptr @sc_rnew_r12() + store ptr %t8, ptr %sc_l_seen_0 + %t9 = call ptr @scr_arr_new_small(i32 2) + store ptr %t9, ptr %sc_l_out_0 + %t11 = fptosi double 0x0000000000000000 to i64 + store i64 %t11, ptr %s10 + br label %loop.c3 +loop.c3: + %t12 = load ptr, ptr %sc_l_hm_0 + %t13 = getelementptr inbounds %ScrArr, ptr %t12, i64 0, i32 1 + %t14 = load i64, ptr %t13, !tbaa !2 + %t15 = load i64, ptr %s10 + %t16 = icmp ult i64 %t15, %t14 + br i1 %t16, label %loop.b4, label %loop.e2 +loop.b4: + %t18 = load ptr, ptr %sc_l_hm_0 + %t19 = load i64, ptr %s10 + %t20 = load i64, ptr %s10 + %t21 = sitofp i64 %t20 to double + %t22 = trunc i64 %t20 to i32 + %t23 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2 + %t24 = load i64, ptr %t23, !tbaa !2 + %t25 = icmp ult i64 %t19, %t24 + br i1 %t25, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t26 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6 + %t27 = load i32, ptr %t26, !tbaa !2 + %t29 = zext i32 %t27 to i64 + %t28 = icmp ult i64 %t19, %t29 + br i1 %t28, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t30 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1 + %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296} + %t32 = icmp ult i64 %t19, %t31 + br i1 %t32, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9 + %t34 = load ptr, ptr %t33, !tbaa !2 + %t35 = getelementptr inbounds i8, ptr %t34, i64 %t19 + %t36 = load i8, ptr %t35, !tbaa !4 + %t37 = icmp eq i8 %t36, 1 + br i1 %t37, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t38 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8 + %t39 = load ptr, ptr %t38, !tbaa !2 + %t40 = getelementptr inbounds i64, ptr %t39, i64 %t19 + %t41 = load ptr, ptr %t40, !tbaa !6 + %t42 = call ptr @sc_rc_retain_str(ptr %t41) + store ptr %t42, ptr %s17 + br label %local.array.join8 +local.array.slow6: + %t43 = call ptr @scr_arr_peek_ref(ptr %t18, double %t21) + %t44 = icmp ne ptr %t43, null + br i1 %t44, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t45 = call ptr @sc_rc_retain_str(ptr %t43) + store ptr %t45, ptr %s17 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %s17 + br label %local.array.join8 +local.array.join8: + %t46 = load ptr, ptr %s17 + %t49 = icmp eq ptr %t46, null + %t48 = select i1 %t49, i32 1, i32 0 + switch i32 %t48, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ] +u.a17: + %t50 = call ptr @sc_rc_retain_str(ptr %t46) + store ptr %t50, ptr %s47 + br label %us.j15 +u.a18: + store ptr @sc_lit_4134463689533233, ptr %s47 + br label %us.j15 +u.bad16: + call void @sc_bad_tag() + unreachable +us.j15: + %t51 = load ptr, ptr %s47 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u19, label %exc.k20 +exc.u19: + %t55 = load ptr, ptr %s17 + call void @scr_str_release(ptr %t55) + call void @scr_str_release(ptr %t51) + br label %exc.cleanup21 +exc.k20: + store ptr %t51, ptr %sc_l_m_0 + %t56 = load ptr, ptr %s17 + call void @scr_str_release(ptr %t56) + %t57 = load ptr, ptr %sc_l_m_0 + %t58 = call zeroext i1 @sc_streq_1834571860458263(ptr %t57) + br i1 %t58, label %if.t22, label %if.f24 +if.t22: + %t59 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t59) + store ptr @sc_lit_1613346130462307, ptr %sc_l_m_0 + br label %if.j23 +if.f24: + %t60 = load ptr, ptr %sc_l_m_0 + %t61 = call zeroext i1 @sc_streq_367446482893939(ptr %t60) + store i1 %t61, ptr %s62 + br i1 %t61, label %log.r25, label %log.j26 +log.r25: + %t63 = load ptr, ptr %sc_l_seen_0 + %t64 = call ptr @sc_rretain_r12(ptr %t63) + %t66 = getelementptr inbounds %sc_rs_r12, ptr %t64, i64 0, i32 1 + %t67 = load ptr, ptr %t66 + store double 0x0000000000000000, ptr %s68 + %t69 = call zeroext i1 @scr_map_get_str_f64(ptr %t67, ptr @sc_lit_3185835515143599, ptr %s68) + br i1 %t69, label %rkg.h28, label %rkg.n29 +rkg.h28: + %t70 = load double, ptr %s68 + %t71 = call ptr @scr_union_new_f64(i32 0, double %t70) + store ptr %t71, ptr %s65 + br label %rkg.j27 +rkg.n29: + store ptr @sc_unit_3, ptr %s65 + br label %rkg.j27 +rkg.j27: + %t72 = load ptr, ptr %s65 + %t75 = getelementptr inbounds %ScrUnion, ptr %t72, i64 0, i32 1 + %t74 = load i32, ptr %t75 + %t73 = icmp eq i32 %t74, 1 + store i1 %t73, ptr %s62 + call void @sc_rrelease_r12(ptr %t64) + call void @scr_union_release(ptr %t72) + br label %log.j26 +log.j26: + %t76 = load i1, ptr %s62 + br i1 %t76, label %if.t30, label %if.j31 +if.t30: + %t77 = load ptr, ptr %sc_l_seen_0 + %t78 = call ptr @sc_rretain_r12(ptr %t77) + %t80 = getelementptr inbounds %sc_rs_r12, ptr %t78, i64 0, i32 1 + %t81 = load ptr, ptr %t80 + store double 0x0000000000000000, ptr %s82 + %t83 = call zeroext i1 @scr_map_get_str_f64(ptr %t81, ptr @sc_lit_367446482893939, ptr %s82) + br i1 %t83, label %rkg.h33, label %rkg.n34 +rkg.h33: + %t84 = load double, ptr %s82 + %t85 = call ptr @scr_union_new_f64(i32 0, double %t84) + store ptr %t85, ptr %s79 + br label %rkg.j32 +rkg.n34: + store ptr @sc_unit_3, ptr %s79 + br label %rkg.j32 +rkg.j32: + %t86 = load ptr, ptr %s79 + %t89 = getelementptr inbounds %ScrUnion, ptr %t86, i64 0, i32 1 + %t88 = load i32, ptr %t89 + %t87 = icmp eq i32 %t88, 1 + call void @sc_rrelease_r12(ptr %t78) + call void @scr_union_release(ptr %t86) + br i1 %t87, label %if.t35, label %if.j36 +if.t35: + %t90 = load ptr, ptr %sc_l_seen_0 + %t91 = call ptr @sc_rretain_r12(ptr %t90) + %t92 = getelementptr inbounds %sc_rs_r12, ptr %t91, i64 0, i32 1 + %t93 = load ptr, ptr %t92 + call void @scr_map_set_str_f64(ptr %t93, ptr @sc_lit_367446482893939, double 0x3FF0000000000000) + call void @sc_rrelease_r12(ptr %t91) + %t94 = load ptr, ptr %sc_l_out_0 + %t95 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 1 + %t96 = load i64, ptr %t95, !tbaa !2 + %t99 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 2 + %t97 = load i64, ptr %t99, !tbaa !2 + %t98 = icmp ult i64 %t96, %t97 + br i1 %t98, label %arr.push.dense37, label %arr.push.slow38 +arr.push.dense37: + %t100 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 8 + %t102 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 9 + %t101 = load ptr, ptr %t100, !tbaa !2 + %t103 = load ptr, ptr %t102, !tbaa !2 + %t104 = getelementptr inbounds i8, ptr %t103, i64 %t96 + %t105 = getelementptr inbounds i64, ptr %t101, i64 %t96 + store ptr @sc_lit_367446482893939, ptr %t105, !tbaa !6 + store i8 1, ptr %t104, !tbaa !4 + %t106 = add nuw i64 %t96, 1 + store i64 %t106, ptr %t95, !tbaa !2 + %t108 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 6 + %t109 = load i32, ptr %t108, !tbaa !2 + %t113 = zext i32 %t109 to i64 + %t110 = icmp eq i64 %t113, %t96 + %t111 = add i32 %t109, 1 + %t112 = select i1 %t110, i32 %t111, i32 %t109 + store i32 %t112, ptr %t108, !tbaa !2 + %t107 = sitofp i64 %t106 to double + br label %arr.push.join39 +arr.push.slow38: + %t114 = call double @scr_arr_push_ref(ptr %t94, ptr @sc_lit_367446482893939) cold + br label %arr.push.join39 +arr.push.join39: + %t115 = phi double [ %t107, %arr.push.dense37 ], [ %t114, %arr.push.slow38 ] + br label %if.j36 +if.j36: + %t116 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t116) + store ptr @sc_lit_3185835515143599, ptr %sc_l_m_0 + br label %if.j31 +if.j31: + br label %if.j23 +if.j23: + %t117 = load ptr, ptr %sc_l_seen_0 + %t118 = call ptr @sc_rretain_r12(ptr %t117) + %t119 = load ptr, ptr %sc_l_m_0 + %t120 = call ptr @sc_rc_retain_str(ptr %t119) + %t122 = getelementptr inbounds %sc_rs_r12, ptr %t118, i64 0, i32 1 + %t123 = load ptr, ptr %t122 + store double 0x0000000000000000, ptr %s124 + %t125 = call zeroext i1 @scr_map_get_str_f64(ptr %t123, ptr %t120, ptr %s124) + br i1 %t125, label %rkg.h41, label %rkg.n42 +rkg.h41: + %t126 = load double, ptr %s124 + %t127 = call ptr @scr_union_new_f64(i32 0, double %t126) + store ptr %t127, ptr %s121 + br label %rkg.j40 +rkg.n42: + store ptr @sc_unit_3, ptr %s121 + br label %rkg.j40 +rkg.j40: + %t128 = load ptr, ptr %s121 + %t131 = getelementptr inbounds %ScrUnion, ptr %t128, i64 0, i32 1 + %t130 = load i32, ptr %t131 + %t129 = icmp eq i32 %t130, 1 + call void @sc_rrelease_r12(ptr %t118) + call void @scr_str_release(ptr %t120) + call void @scr_union_release(ptr %t128) + br i1 %t129, label %if.t43, label %if.j44 +if.t43: + %t132 = load ptr, ptr %sc_l_seen_0 + %t133 = call ptr @sc_rretain_r12(ptr %t132) + %t134 = load ptr, ptr %sc_l_m_0 + %t135 = call ptr @sc_rc_retain_str(ptr %t134) + %t136 = getelementptr inbounds %sc_rs_r12, ptr %t133, i64 0, i32 1 + %t137 = load ptr, ptr %t136 + call void @scr_map_set_str_f64(ptr %t137, ptr %t135, double 0x3FF0000000000000) + br label %rks.j45 +rks.j45: + call void @sc_rrelease_r12(ptr %t133) + call void @scr_str_release(ptr %t135) + %t138 = load ptr, ptr %sc_l_out_0 + %t139 = load ptr, ptr %sc_l_m_0 + %t140 = call ptr @sc_rc_retain_str(ptr %t139) + %t141 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 1 + %t142 = load i64, ptr %t141, !tbaa !2 + %t145 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 2 + %t143 = load i64, ptr %t145, !tbaa !2 + %t144 = icmp ult i64 %t142, %t143 + br i1 %t144, label %arr.push.dense46, label %arr.push.slow47 +arr.push.dense46: + %t146 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 8 + %t148 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 9 + %t147 = load ptr, ptr %t146, !tbaa !2 + %t149 = load ptr, ptr %t148, !tbaa !2 + %t150 = getelementptr inbounds i8, ptr %t149, i64 %t142 + %t151 = getelementptr inbounds i64, ptr %t147, i64 %t142 + store ptr %t140, ptr %t151, !tbaa !6 + store i8 1, ptr %t150, !tbaa !4 + %t152 = add nuw i64 %t142, 1 + store i64 %t152, ptr %t141, !tbaa !2 + %t154 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 6 + %t155 = load i32, ptr %t154, !tbaa !2 + %t159 = zext i32 %t155 to i64 + %t156 = icmp eq i64 %t159, %t142 + %t157 = add i32 %t155, 1 + %t158 = select i1 %t156, i32 %t157, i32 %t155 + store i32 %t158, ptr %t154, !tbaa !2 + %t153 = sitofp i64 %t152 to double + br label %arr.push.join48 +arr.push.slow47: + %t160 = call double @scr_arr_push_ref(ptr %t138, ptr %t140) cold + br label %arr.push.join48 +arr.push.join48: + %t161 = phi double [ %t153, %arr.push.dense46 ], [ %t160, %arr.push.slow47 ] + br label %if.j44 +if.j44: + %t162 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t162) + br label %loop.u5 +loop.u5: + %t163 = load i64, ptr %s10 + %t164 = add nuw i64 %t163, 1 + store i64 %t164, ptr %s10 + br label %loop.c3 +loop.e2: + %t165 = load ptr, ptr %sc_l_oef_0 + %t168 = getelementptr inbounds %ScrUnion, ptr %t165, i64 0, i32 1 + %t167 = load i32, ptr %t168 + %t166 = icmp ne i32 %t167, 1 + br i1 %t166, label %if.t49, label %if.j50 +if.t49: + %t169 = load ptr, ptr %sc_l_req_0 + %t170 = call ptr @scr_http_req_retain_v(ptr %t169) + %t171 = call ptr @scr_http_req_url(ptr %t170) + store ptr %t171, ptr %s172 + %t173 = getelementptr inbounds %ScrStr, ptr %t171, i64 0, i32 1 + %t174 = load i64, ptr %t173 + %t175 = icmp ne i64 %t174, 0 + br i1 %t175, label %log.j52, label %log.r51 +log.r51: + call void @scr_str_release(ptr %t171) + store ptr @sc_lit_2434240011052594, ptr %s172 + br label %log.j52 +log.j52: + %t176 = load ptr, ptr %s172 + store ptr %t176, ptr %sc_l_url_0 + call void @scr_http_req_release(ptr %t170) + %t177 = load ptr, ptr %sc_l_url_0 + %t178 = call ptr @sc_rc_retain_str(ptr %t177) + store ptr %t178, ptr %sc_l_path_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_qs_0 + %t179 = load ptr, ptr %sc_l_url_0 + %t180 = call double @scr_str_index_of(ptr %t179, ptr @sc_lit_2437473434951379, double 0x0000000000000000) + %t181 = fptosi double %t180 to i32 + store i32 %t181, ptr %sc_l_qi_0 + %t182 = load i32, ptr %sc_l_qi_0 + %t183 = sitofp i32 %t182 to double + %t185 = sext i32 %t182 to i64 + %t184 = icmp sge i64 %t185, 0 + br i1 %t184, label %if.t53, label %if.j54 +if.t53: + %t186 = load ptr, ptr %sc_l_url_0 + %t187 = load i32, ptr %sc_l_qi_0 + %t188 = sitofp i32 %t187 to double + %t189 = call ptr @scr_str_slice(ptr %t186, double 0x0000000000000000, double %t188) + %t190 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t190) + store ptr %t189, ptr %sc_l_path_0 + %t191 = load ptr, ptr %sc_l_url_0 + %t192 = load i32, ptr %sc_l_qi_0 + %t193 = sitofp i32 %t192 to double + %t195 = sext i32 %t192 to i64 + %t196 = add nsw i64 %t195, 1 + %t198 = trunc i64 %t196 to i32 + %t197 = sitofp i64 %t196 to double + %t199 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t200 = call ptr @scr_str_slice(ptr %t191, double %t197, double %t199) + %t201 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t201) + store ptr %t200, ptr %sc_l_qs_0 + br label %if.j54 +if.j54: + %t202 = load ptr, ptr %sc_l_oef_0 + %t203 = getelementptr inbounds %ScrUnion, ptr %t202, i64 0, i32 5 + %t204 = load ptr, ptr %t203 + %t205 = call ptr @sc_new__x25_m5_MethodNotAllowedError() + %t206 = load ptr, ptr %sc_l_out_0 + %t207 = call ptr @scr_arr_join(ptr %t206, ptr @sc_lit_3662817572149066) + call void @sc_bf__x25__x25_m5_MethodNotAllowedError_constructor(ptr %t205, ptr %t207) + %t208 = load i32, ptr %exc.cell + %t209 = icmp ne i32 %t208, 0 + %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false) + br i1 %t210, label %exc.u55, label %exc.k56 +exc.u55: + call void @scr_str_release(ptr %t207) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205) + br label %exc.cleanup57 +exc.k56: + call void @scr_str_release(ptr %t207) + %t211 = call ptr @sc_td_15(ptr %t205) + %t212 = call ptr @sc_new__x25_m5_CtxCore() + %t213 = call ptr @sc_new__x25_m5_ReqViewCore() + %t214 = load ptr, ptr %sc_l_req_0 + %t215 = call ptr @scr_http_req_retain_v(ptr %t214) + %t216 = call ptr @scr_union_new_ref(i32 0, ptr %t215, ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) + %t217 = load ptr, ptr %sc_l_qs_0 + %t218 = load ptr, ptr %sc_l_path_0 + call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %t213, ptr %t216, ptr %t217, ptr %t218, ptr null, ptr null, ptr null, ptr null) + %t219 = load i32, ptr %exc.cell + %t220 = icmp ne i32 %t219, 0 + %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false) + br i1 %t221, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_union_release(ptr %t216) + call void @sc_release__x25_m5_ReqViewCore(ptr %t213) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205) + call void @sc_rc_release_dyn(ptr %t211) + call void @sc_release__x25_m5_CtxCore(ptr %t212) + br label %exc.cleanup57 +exc.k59: + call void @scr_union_release(ptr %t216) + %t222 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %t212, ptr %t213, ptr %t222) + %t223 = load i32, ptr %exc.cell + %t224 = icmp ne i32 %t223, 0 + %t225 = call i1 @llvm.expect.i1(i1 %t224, i1 false) + br i1 %t225, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_release__x25_m5_ReqViewCore(ptr %t213) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205) + call void @sc_rc_release_dyn(ptr %t211) + call void @sc_release__x25_m5_CtxCore(ptr %t212) + br label %exc.cleanup57 +exc.k61: + call void @sc_release__x25_m5_ReqViewCore(ptr %t213) + %t226 = getelementptr inbounds %ScrClosure, ptr %t204, i64 0, i32 1 + %t227 = load ptr, ptr %t226 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t227(ptr %t204, ptr %t211, ptr %t212) + call void @scr_dyn_this_pop() + %t228 = load i32, ptr %exc.cell + %t229 = icmp ne i32 %t228, 0 + %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false) + br i1 %t230, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205) + br label %exc.cleanup57 +exc.k63: + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205) + %t231 = load ptr, ptr %sc_l_sink_0 + store ptr %t231, ptr %sc_l__x25_callbackReceiver_0 + %t232 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t233 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t232, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t234 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t233) + %t235 = load i32, ptr %exc.cell + %t236 = icmp ne i32 %t235, 0 + %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false) + br i1 %t237, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t234) + br label %exc.cleanup57 +exc.k65: + store ptr %t234, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t238 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t239 = getelementptr inbounds i8, ptr %t238, i64 8 ; ->kind + %t240 = load i32, ptr %t239 + %t241 = icmp eq i32 %t240, 6 + br i1 %t241, label %tern.t66, label %tern.f67 +tern.t66: + %t244 = call ptr @scr_dyn_undefined() + %t243 = call ptr @scr_dyn_retain_v(ptr %t244) + store ptr %t243, ptr %s242 + br label %tern.j68 +tern.f67: + %t245 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t246 = call ptr @sc_rc_retain_dyn(ptr %t245) + %t247 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t246) + %t248 = load i32, ptr %exc.cell + %t249 = icmp ne i32 %t248, 0 + %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false) + br i1 %t250, label %exc.u69, label %exc.k70 +exc.u69: + call void @sc_rc_release_dyn(ptr %t247) + br label %exc.cleanup71 +exc.k70: + store ptr %t247, ptr %s242 + br label %tern.j68 +tern.j68: + %t251 = load ptr, ptr %s242 + store ptr %t251, ptr %sc_l__x25_callback_0 + %t252 = load ptr, ptr %sc_l__x25_callback_0 + %t253 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t254 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t253, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t254) + %t255 = call ptr @scr_dyn_call(ptr %t252, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t256 = load i32, ptr %exc.cell + %t257 = icmp ne i32 %t256, 0 + %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false) + br i1 %t258, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t254) + call void @sc_rc_release_dyn(ptr %t255) + br label %exc.cleanup74 +exc.k73: + %t259 = call zeroext i1 @sc_dc_3(ptr %t255, ptr null) + %t260 = load i32, ptr %exc.cell + %t261 = icmp ne i32 %t260, 0 + %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false) + br i1 %t262, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t254) + call void @sc_rc_release_dyn(ptr %t255) + br label %exc.cleanup74 +exc.k76: + call void @sc_rc_release_dyn(ptr %t254) + call void @sc_rc_release_dyn(ptr %t255) + %t263 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t263) + %t264 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t264) + br i1 %t259, label %if.t77, label %if.j78 +if.t77: + %t265 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t265) + %t266 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t266) + %t267 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t267) + %t268 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t268) + %t269 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t269) + %t270 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t270) + ret void +if.j78: + %t271 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t271) + %t272 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t272) + %t273 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t273) + br label %if.j50 +if.j50: + %t274 = load ptr, ptr %sc_l_sink_0 + store ptr %t274, ptr %sc_l__x25_callbackReceiver_1 + %t275 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t277 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t276) + %t278 = load i32, ptr %exc.cell + %t279 = icmp ne i32 %t278, 0 + %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false) + br i1 %t280, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t277) + br label %try.c79 +exc.k83: + store ptr %t277, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t281 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t282 = getelementptr inbounds i8, ptr %t281, i64 8 ; ->kind + %t283 = load i32, ptr %t282 + %t284 = icmp eq i32 %t283, 6 + br i1 %t284, label %tern.t84, label %tern.f85 +tern.t84: + %t287 = call ptr @scr_dyn_undefined() + %t286 = call ptr @scr_dyn_retain_v(ptr %t287) + store ptr %t286, ptr %s285 + br label %tern.j86 +tern.f85: + %t288 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t289 = call ptr @sc_rc_retain_dyn(ptr %t288) + %t290 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t289) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t290) + br label %exc.cleanup89 +exc.k88: + store ptr %t290, ptr %s285 + br label %tern.j86 +tern.j86: + %t294 = load ptr, ptr %s285 + store ptr %t294, ptr %sc_l__x25_callback_1 + %t295 = load ptr, ptr %sc_l__x25_callback_1 + %t296 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t297 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t296, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t298 = call ptr @sc_td_2(double 0x4079500000000000) + %t300 = getelementptr inbounds [1 x ptr], ptr %s299, i64 0, i64 0 + store ptr %t298, ptr %t300 + call void @scr_dyn_this_push_dyn(ptr %t297) + %t301 = call ptr @scr_dyn_call(ptr %t295, ptr %s299, i64 1, ptr @sc_cs_137127765515474) + call void @scr_dyn_this_pop() + %t302 = load i32, ptr %exc.cell + %t303 = icmp ne i32 %t302, 0 + %t304 = call i1 @llvm.expect.i1(i1 %t303, i1 false) + br i1 %t304, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t301) + br label %exc.cleanup92 +exc.k91: + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t301) + %t305 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t305) + %t306 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t306) + %t307 = load ptr, ptr %sc_l_sink_0 + store ptr %t307, ptr %sc_l__x25_callbackReceiver_2 + %t308 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t309 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t308, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t310 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t309) + %t311 = load i32, ptr %exc.cell + %t312 = icmp ne i32 %t311, 0 + %t313 = call i1 @llvm.expect.i1(i1 %t312, i1 false) + br i1 %t313, label %exc.u93, label %exc.k94 +exc.u93: + call void @sc_rc_release_dyn(ptr %t310) + br label %try.c79 +exc.k94: + store ptr %t310, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t314 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t315 = getelementptr inbounds i8, ptr %t314, i64 8 ; ->kind + %t316 = load i32, ptr %t315 + %t317 = icmp eq i32 %t316, 6 + br i1 %t317, label %tern.t95, label %tern.f96 +tern.t95: + %t320 = call ptr @scr_dyn_undefined() + %t319 = call ptr @scr_dyn_retain_v(ptr %t320) + store ptr %t319, ptr %s318 + br label %tern.j97 +tern.f96: + %t321 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t322 = call ptr @sc_rc_retain_dyn(ptr %t321) + %t323 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t322) + %t324 = load i32, ptr %exc.cell + %t325 = icmp ne i32 %t324, 0 + %t326 = call i1 @llvm.expect.i1(i1 %t325, i1 false) + br i1 %t326, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t323) + br label %exc.cleanup100 +exc.k99: + store ptr %t323, ptr %s318 + br label %tern.j97 +tern.j97: + %t327 = load ptr, ptr %s318 + store ptr %t327, ptr %sc_l__x25_callback_2 + %t328 = load ptr, ptr %sc_l__x25_callback_2 + %t329 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_td_0(ptr @sc_lit_1143527378875226) + %t332 = load ptr, ptr %sc_l_out_0 + %t333 = call ptr @scr_arr_join(ptr %t332, ptr @sc_lit_176469025513879) + %t334 = call ptr @sc_td_0(ptr %t333) + %t336 = getelementptr inbounds [2 x ptr], ptr %s335, i64 0, i64 0 + store ptr %t331, ptr %t336 + %t337 = getelementptr inbounds [2 x ptr], ptr %s335, i64 0, i64 1 + store ptr %t334, ptr %t337 + call void @scr_dyn_this_push_dyn(ptr %t330) + %t338 = call ptr @scr_dyn_call(ptr %t328, ptr %s335, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t339 = load i32, ptr %exc.cell + %t340 = icmp ne i32 %t339, 0 + %t341 = call i1 @llvm.expect.i1(i1 %t340, i1 false) + br i1 %t341, label %exc.u101, label %exc.k102 +exc.u101: + call void @sc_rc_release_dyn(ptr %t330) + call void @sc_rc_release_dyn(ptr %t331) + call void @scr_str_release(ptr %t333) + call void @sc_rc_release_dyn(ptr %t334) + call void @sc_rc_release_dyn(ptr %t338) + br label %exc.cleanup103 +exc.k102: + call void @sc_rc_release_dyn(ptr %t330) + call void @sc_rc_release_dyn(ptr %t331) + call void @scr_str_release(ptr %t333) + call void @sc_rc_release_dyn(ptr %t334) + call void @sc_rc_release_dyn(ptr %t338) + %t342 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t342) + %t343 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t343) + %t344 = load ptr, ptr %sc_l_sink_0 + store ptr %t344, ptr %sc_l__x25_callbackReceiver_3 + %t345 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t346 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t345, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t347 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t346) + %t348 = load i32, ptr %exc.cell + %t349 = icmp ne i32 %t348, 0 + %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false) + br i1 %t350, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t347) + br label %try.c79 +exc.k105: + store ptr %t347, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t351 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t352 = getelementptr inbounds i8, ptr %t351, i64 8 ; ->kind + %t353 = load i32, ptr %t352 + %t354 = icmp eq i32 %t353, 6 + br i1 %t354, label %tern.t106, label %tern.f107 +tern.t106: + %t357 = call ptr @scr_dyn_undefined() + %t356 = call ptr @scr_dyn_retain_v(ptr %t357) + store ptr %t356, ptr %s355 + br label %tern.j108 +tern.f107: + %t358 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t359 = call ptr @sc_rc_retain_dyn(ptr %t358) + %t360 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t359) + %t361 = load i32, ptr %exc.cell + %t362 = icmp ne i32 %t361, 0 + %t363 = call i1 @llvm.expect.i1(i1 %t362, i1 false) + br i1 %t363, label %exc.u109, label %exc.k110 +exc.u109: + call void @sc_rc_release_dyn(ptr %t360) + br label %exc.cleanup111 +exc.k110: + store ptr %t360, ptr %s355 + br label %tern.j108 +tern.j108: + %t364 = load ptr, ptr %s355 + store ptr %t364, ptr %sc_l__x25_callback_3 + %t365 = load ptr, ptr %sc_l__x25_callback_3 + %t366 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t367 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t366, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t368 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t369 = call ptr @sc_td_0(ptr @sc_lit_266676967674785) + %t371 = getelementptr inbounds [2 x ptr], ptr %s370, i64 0, i64 0 + store ptr %t368, ptr %t371 + %t372 = getelementptr inbounds [2 x ptr], ptr %s370, i64 0, i64 1 + store ptr %t369, ptr %t372 + call void @scr_dyn_this_push_dyn(ptr %t367) + %t373 = call ptr @scr_dyn_call(ptr %t365, ptr %s370, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t374 = load i32, ptr %exc.cell + %t375 = icmp ne i32 %t374, 0 + %t376 = call i1 @llvm.expect.i1(i1 %t375, i1 false) + br i1 %t376, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t368) + call void @sc_rc_release_dyn(ptr %t369) + call void @sc_rc_release_dyn(ptr %t373) + br label %exc.cleanup114 +exc.k113: + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t368) + call void @sc_rc_release_dyn(ptr %t369) + call void @sc_rc_release_dyn(ptr %t373) + %t377 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t377) + %t378 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t378) + %t379 = load ptr, ptr %sc_l_sink_0 + store ptr %t379, ptr %sc_l__x25_callbackReceiver_4 + %t380 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t381 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t380, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t382 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t381) + %t383 = load i32, ptr %exc.cell + %t384 = icmp ne i32 %t383, 0 + %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false) + br i1 %t385, label %exc.u115, label %exc.k116 +exc.u115: + call void @sc_rc_release_dyn(ptr %t382) + br label %try.c79 +exc.k116: + store ptr %t382, ptr %sc_l__x25_callbackBag_4 + store i1 true, ptr %sc_l__x25_callbackPresent_4 + %t386 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t387 = getelementptr inbounds i8, ptr %t386, i64 8 ; ->kind + %t388 = load i32, ptr %t387 + %t389 = icmp eq i32 %t388, 6 + br i1 %t389, label %tern.t117, label %tern.f118 +tern.t117: + %t392 = call ptr @scr_dyn_undefined() + %t391 = call ptr @scr_dyn_retain_v(ptr %t392) + store ptr %t391, ptr %s390 + br label %tern.j119 +tern.f118: + %t393 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t394 = call ptr @sc_rc_retain_dyn(ptr %t393) + %t395 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t394) + %t396 = load i32, ptr %exc.cell + %t397 = icmp ne i32 %t396, 0 + %t398 = call i1 @llvm.expect.i1(i1 %t397, i1 false) + br i1 %t398, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t395) + br label %exc.cleanup122 +exc.k121: + store ptr %t395, ptr %s390 + br label %tern.j119 +tern.j119: + %t399 = load ptr, ptr %s390 + store ptr %t399, ptr %sc_l__x25_callback_4 + %t400 = load ptr, ptr %sc_l__x25_callback_4 + %t401 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t403 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802) + %t404 = call ptr @sc_td_0(ptr @sc_lit_1386027184562237) + %t406 = getelementptr inbounds [2 x ptr], ptr %s405, i64 0, i64 0 + store ptr %t403, ptr %t406 + %t407 = getelementptr inbounds [2 x ptr], ptr %s405, i64 0, i64 1 + store ptr %t404, ptr %t407 + call void @scr_dyn_this_push_dyn(ptr %t402) + %t408 = call ptr @scr_dyn_call(ptr %t400, ptr %s405, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t409 = load i32, ptr %exc.cell + %t410 = icmp ne i32 %t409, 0 + %t411 = call i1 @llvm.expect.i1(i1 %t410, i1 false) + br i1 %t411, label %exc.u123, label %exc.k124 +exc.u123: + call void @sc_rc_release_dyn(ptr %t402) + call void @sc_rc_release_dyn(ptr %t403) + call void @sc_rc_release_dyn(ptr %t404) + call void @sc_rc_release_dyn(ptr %t408) + br label %exc.cleanup125 +exc.k124: + call void @sc_rc_release_dyn(ptr %t402) + call void @sc_rc_release_dyn(ptr %t403) + call void @sc_rc_release_dyn(ptr %t404) + call void @sc_rc_release_dyn(ptr %t408) + %t412 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t412) + %t413 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t413) + %t414 = load ptr, ptr %sc_l_sink_0 + store ptr %t414, ptr %sc_l__x25_callbackReceiver_5 + %t415 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t416 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t415, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t417 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t416) + %t418 = load i32, ptr %exc.cell + %t419 = icmp ne i32 %t418, 0 + %t420 = call i1 @llvm.expect.i1(i1 %t419, i1 false) + br i1 %t420, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t417) + br label %try.c79 +exc.k127: + store ptr %t417, ptr %sc_l__x25_callbackBag_5 + store i1 true, ptr %sc_l__x25_callbackPresent_5 + %t421 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t422 = getelementptr inbounds i8, ptr %t421, i64 8 ; ->kind + %t423 = load i32, ptr %t422 + %t424 = icmp eq i32 %t423, 6 + br i1 %t424, label %tern.t128, label %tern.f129 +tern.t128: + %t427 = call ptr @scr_dyn_undefined() + %t426 = call ptr @scr_dyn_retain_v(ptr %t427) + store ptr %t426, ptr %s425 + br label %tern.j130 +tern.f129: + %t428 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t429 = call ptr @sc_rc_retain_dyn(ptr %t428) + %t430 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t429) + %t431 = load i32, ptr %exc.cell + %t432 = icmp ne i32 %t431, 0 + %t433 = call i1 @llvm.expect.i1(i1 %t432, i1 false) + br i1 %t433, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t430) + br label %exc.cleanup133 +exc.k132: + store ptr %t430, ptr %s425 + br label %tern.j130 +tern.j130: + %t434 = load ptr, ptr %s425 + store ptr %t434, ptr %sc_l__x25_callback_5 + %t435 = load ptr, ptr %sc_l__x25_callback_5 + %t436 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t437 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t436, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t438 = call ptr @sc_td_0(ptr @sc_lit_4003541287264371) + %t440 = getelementptr inbounds [1 x ptr], ptr %s439, i64 0, i64 0 + store ptr %t438, ptr %t440 + call void @scr_dyn_this_push_dyn(ptr %t437) + %t441 = call ptr @scr_dyn_call(ptr %t435, ptr %s439, i64 1, ptr @sc_cs_891738944038355) + call void @scr_dyn_this_pop() + %t442 = load i32, ptr %exc.cell + %t443 = icmp ne i32 %t442, 0 + %t444 = call i1 @llvm.expect.i1(i1 %t443, i1 false) + br i1 %t444, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t437) + call void @sc_rc_release_dyn(ptr %t438) + call void @sc_rc_release_dyn(ptr %t441) + br label %exc.cleanup136 +exc.k135: + call void @sc_rc_release_dyn(ptr %t437) + call void @sc_rc_release_dyn(ptr %t438) + call void @sc_rc_release_dyn(ptr %t441) + %t445 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t445) + %t446 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t446) + br label %try.e81 +try.c79: + %t447 = call ptr @scr_exc_take() ; catch binding + store ptr %t447, ptr %sc_l_e_0 + %t448 = load ptr, ptr %sc_l_sink_0 + store ptr %t448, ptr %sc_l__x25_callbackReceiver_6 + %t449 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + %t450 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t449, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t451 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t450) + %t452 = load i32, ptr %exc.cell + %t453 = icmp ne i32 %t452, 0 + %t454 = call i1 @llvm.expect.i1(i1 %t453, i1 false) + br i1 %t454, label %exc.u137, label %exc.k138 +exc.u137: + call void @sc_rc_release_dyn(ptr %t451) + br label %exc.cleanup139 +exc.k138: + store ptr %t451, ptr %sc_l__x25_callbackBag_6 + store i1 true, ptr %sc_l__x25_callbackPresent_6 + %t455 = load ptr, ptr %sc_l__x25_callbackBag_6 + %t456 = getelementptr inbounds i8, ptr %t455, i64 8 ; ->kind + %t457 = load i32, ptr %t456 + %t458 = icmp eq i32 %t457, 6 + br i1 %t458, label %tern.t140, label %tern.f141 +tern.t140: + %t461 = call ptr @scr_dyn_undefined() + %t460 = call ptr @scr_dyn_retain_v(ptr %t461) + store ptr %t460, ptr %s459 + br label %tern.j142 +tern.f141: + %t462 = load ptr, ptr %sc_l__x25_callbackBag_6 + %t463 = call ptr @sc_rc_retain_dyn(ptr %t462) + %t464 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t463) + %t465 = load i32, ptr %exc.cell + %t466 = icmp ne i32 %t465, 0 + %t467 = call i1 @llvm.expect.i1(i1 %t466, i1 false) + br i1 %t467, label %exc.u143, label %exc.k144 +exc.u143: + call void @sc_rc_release_dyn(ptr %t464) + br label %exc.cleanup145 +exc.k144: + store ptr %t464, ptr %s459 + br label %tern.j142 +tern.j142: + %t468 = load ptr, ptr %s459 + store ptr %t468, ptr %sc_l__x25_callback_6 + %t469 = load ptr, ptr %sc_l__x25_callback_6 + %t470 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + %t471 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t470, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t471) + %t472 = call ptr @scr_dyn_call(ptr %t469, ptr null, i64 0, ptr @sc_cs_3499760650817953) + call void @scr_dyn_this_pop() + %t473 = load i32, ptr %exc.cell + %t474 = icmp ne i32 %t473, 0 + %t475 = call i1 @llvm.expect.i1(i1 %t474, i1 false) + br i1 %t475, label %exc.u146, label %exc.k147 +exc.u146: + call void @sc_rc_release_dyn(ptr %t471) + call void @sc_rc_release_dyn(ptr %t472) + br label %exc.cleanup148 +exc.k147: + call void @sc_rc_release_dyn(ptr %t471) + call void @sc_rc_release_dyn(ptr %t472) + %t476 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t476) + %t477 = load ptr, ptr %sc_l__x25_callback_6 + call void @sc_rc_release_dyn(ptr %t477) + %t478 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t478) + br label %try.e81 +try.e81: + %t479 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t479) + %t480 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t480) + %t481 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t481) + ret void +exc.cleanup21: + %t482 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t482) + %t483 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t483) + %t484 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t484) + ret void +exc.cleanup57: + %t485 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t485) + %t486 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t486) + %t487 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t487) + %t488 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t488) + %t489 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t489) + %t490 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t490) + ret void +exc.cleanup71: + %t491 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t491) + %t492 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t492) + %t493 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t493) + %t494 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t494) + %t495 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t495) + %t496 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t496) + %t497 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t497) + ret void +exc.cleanup74: + %t498 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t498) + %t499 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t499) + %t500 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t500) + %t501 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t501) + %t502 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t502) + %t503 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t503) + %t504 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t504) + %t505 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t505) + ret void +exc.cleanup89: + %t506 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t506) + br label %try.c79 +exc.cleanup92: + %t507 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t507) + %t508 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t508) + br label %try.c79 +exc.cleanup100: + %t509 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t509) + br label %try.c79 +exc.cleanup103: + %t510 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t510) + %t511 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t511) + br label %try.c79 +exc.cleanup111: + %t512 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t512) + br label %try.c79 +exc.cleanup114: + %t513 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t513) + %t514 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t514) + br label %try.c79 +exc.cleanup122: + %t515 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t515) + br label %try.c79 +exc.cleanup125: + %t516 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t516) + %t517 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t517) + br label %try.c79 +exc.cleanup133: + %t518 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t518) + br label %try.c79 +exc.cleanup136: + %t519 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t519) + %t520 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t520) + br label %try.c79 +exc.cleanup139: + %t521 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t521) + %t522 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t522) + %t523 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t523) + %t524 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t524) + ret void +exc.cleanup145: + %t525 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t525) + %t526 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t526) + %t527 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t527) + %t528 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t528) + %t529 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t529) + ret void +exc.cleanup148: + %t530 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t530) + %t531 = load ptr, ptr %sc_l__x25_callback_6 + call void @sc_rc_release_dyn(ptr %t531) + %t532 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t532) + %t533 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t533) + %t534 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t534) + %t535 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t535) + ret void +} +define internal void @sc_f__x25_m5_allow405(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + call void @sc_bf__x25_m5_allow405(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_rrelease_r5(ptr %p0) + call void @scr_http_req_release(ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p2) + call void @scr_union_release(ptr %p3) + ret void +} + +define internal void @sc_bf__x25_m5_send500(ptr %p_sc_l_sink_0) #0 { ; %m5.send500 +entry: + %sc_l_sink_0 = alloca ptr ; sink + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_4 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_5 = alloca ptr ; %callback + %sc_l_e_0 = alloca ptr ; e + %sc_l__x25_callbackReceiver_6 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_6 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_6 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_6 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca ptr + %s49 = alloca ptr + %s79 = alloca ptr + %s93 = alloca [1 x ptr] + %s112 = alloca ptr + %s127 = alloca [2 x ptr] + %s147 = alloca ptr + %s162 = alloca [2 x ptr] + %s182 = alloca ptr + %s196 = alloca [1 x ptr] + %s216 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr null, ptr %sc_l__x25_callbackReceiver_4 + store ptr null, ptr %sc_l__x25_callbackBag_4 + store ptr null, ptr %sc_l__x25_callback_4 + store ptr null, ptr %sc_l__x25_callbackReceiver_5 + store ptr null, ptr %sc_l__x25_callbackBag_5 + store ptr null, ptr %sc_l__x25_callback_5 + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_6 + store ptr null, ptr %sc_l__x25_callbackBag_6 + store ptr null, ptr %sc_l__x25_callback_6 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_sink_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t7 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t6) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t7) + br label %try.c2 +exc.k6: + store ptr %t7, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t11 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 6 + br i1 %t14, label %tern.t7, label %tern.f8 +tern.t7: + %t17 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t17) + store ptr %t16, ptr %s15 + br label %tern.j9 +tern.f8: + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = call ptr @sc_rc_retain_dyn(ptr %t18) + %t20 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup12 +exc.k11: + store ptr %t20, ptr %s15 + br label %tern.j9 +tern.j9: + %t24 = load ptr, ptr %s15 + store ptr %t24, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t27) + %t28 = call ptr @scr_dyn_call(ptr %t25, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + br label %exc.cleanup15 +exc.k14: + %t32 = call zeroext i1 @sc_dc_3(ptr %t28, ptr null) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + br label %exc.cleanup15 +exc.k17: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + br i1 %t32, label %if.t18, label %if.f20 +if.t18: + %t38 = load ptr, ptr %sc_l_sink_0 + store ptr %t38, ptr %sc_l__x25_callbackReceiver_1 + %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t41 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t40) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u21, label %exc.k22 +exc.u21: + call void @sc_rc_release_dyn(ptr %t41) + br label %try.c2 +exc.k22: + store ptr %t41, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t45 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t46 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t48 = icmp eq i32 %t47, 6 + br i1 %t48, label %tern.t23, label %tern.f24 +tern.t23: + %t51 = call ptr @scr_dyn_undefined() + %t50 = call ptr @scr_dyn_retain_v(ptr %t51) + store ptr %t50, ptr %s49 + br label %tern.j25 +tern.f24: + %t52 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t53 = call ptr @sc_rc_retain_dyn(ptr %t52) + %t54 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t53) + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t54) + br label %exc.cleanup28 +exc.k27: + store ptr %t54, ptr %s49 + br label %tern.j25 +tern.j25: + %t58 = load ptr, ptr %s49 + store ptr %t58, ptr %sc_l__x25_callback_1 + %t59 = load ptr, ptr %sc_l__x25_callback_1 + %t60 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t61) + %t62 = call ptr @scr_dyn_call(ptr %t59, ptr null, i64 0, ptr @sc_cs_3499760650817953) + call void @scr_dyn_this_pop() + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + br label %exc.cleanup31 +exc.k30: + call void @sc_rc_release_dyn(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + %t66 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t66) + %t67 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t67) + br label %if.j19 +if.f20: + %t68 = load ptr, ptr %sc_l_sink_0 + store ptr %t68, ptr %sc_l__x25_callbackReceiver_2 + %t69 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t70 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t69, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t71 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t70) + %t72 = load i32, ptr %exc.cell + %t73 = icmp ne i32 %t72, 0 + %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false) + br i1 %t74, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t71) + br label %try.c2 +exc.k33: + store ptr %t71, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t75 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t76 = getelementptr inbounds i8, ptr %t75, i64 8 ; ->kind + %t77 = load i32, ptr %t76 + %t78 = icmp eq i32 %t77, 6 + br i1 %t78, label %tern.t34, label %tern.f35 +tern.t34: + %t81 = call ptr @scr_dyn_undefined() + %t80 = call ptr @scr_dyn_retain_v(ptr %t81) + store ptr %t80, ptr %s79 + br label %tern.j36 +tern.f35: + %t82 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t83 = call ptr @sc_rc_retain_dyn(ptr %t82) + %t84 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t83) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rc_release_dyn(ptr %t84) + br label %exc.cleanup39 +exc.k38: + store ptr %t84, ptr %s79 + br label %tern.j36 +tern.j36: + %t88 = load ptr, ptr %s79 + store ptr %t88, ptr %sc_l__x25_callback_2 + %t89 = load ptr, ptr %sc_l__x25_callback_2 + %t90 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t91 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t90, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t92 = call ptr @sc_td_2(double 0x407F400000000000) + %t94 = getelementptr inbounds [1 x ptr], ptr %s93, i64 0, i64 0 + store ptr %t92, ptr %t94 + call void @scr_dyn_this_push_dyn(ptr %t91) + %t95 = call ptr @scr_dyn_call(ptr %t89, ptr %s93, i64 1, ptr @sc_cs_137127765515474) + call void @scr_dyn_this_pop() + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t91) + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t95) + br label %exc.cleanup42 +exc.k41: + call void @sc_rc_release_dyn(ptr %t91) + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t95) + %t99 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t99) + %t100 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t100) + %t101 = load ptr, ptr %sc_l_sink_0 + store ptr %t101, ptr %sc_l__x25_callbackReceiver_3 + %t102 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t103 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t102, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t104 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t103) + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u43, label %exc.k44 +exc.u43: + call void @sc_rc_release_dyn(ptr %t104) + br label %try.c2 +exc.k44: + store ptr %t104, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t108 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t109 = getelementptr inbounds i8, ptr %t108, i64 8 ; ->kind + %t110 = load i32, ptr %t109 + %t111 = icmp eq i32 %t110, 6 + br i1 %t111, label %tern.t45, label %tern.f46 +tern.t45: + %t114 = call ptr @scr_dyn_undefined() + %t113 = call ptr @scr_dyn_retain_v(ptr %t114) + store ptr %t113, ptr %s112 + br label %tern.j47 +tern.f46: + %t115 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t116 = call ptr @sc_rc_retain_dyn(ptr %t115) + %t117 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t116) + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t117) + br label %exc.cleanup50 +exc.k49: + store ptr %t117, ptr %s112 + br label %tern.j47 +tern.j47: + %t121 = load ptr, ptr %s112 + store ptr %t121, ptr %sc_l__x25_callback_3 + %t122 = load ptr, ptr %sc_l__x25_callback_3 + %t123 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t125 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t126 = call ptr @sc_td_0(ptr @sc_lit_266676967674785) + %t128 = getelementptr inbounds [2 x ptr], ptr %s127, i64 0, i64 0 + store ptr %t125, ptr %t128 + %t129 = getelementptr inbounds [2 x ptr], ptr %s127, i64 0, i64 1 + store ptr %t126, ptr %t129 + call void @scr_dyn_this_push_dyn(ptr %t124) + %t130 = call ptr @scr_dyn_call(ptr %t122, ptr %s127, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t124) + call void @sc_rc_release_dyn(ptr %t125) + call void @sc_rc_release_dyn(ptr %t126) + call void @sc_rc_release_dyn(ptr %t130) + br label %exc.cleanup53 +exc.k52: + call void @sc_rc_release_dyn(ptr %t124) + call void @sc_rc_release_dyn(ptr %t125) + call void @sc_rc_release_dyn(ptr %t126) + call void @sc_rc_release_dyn(ptr %t130) + %t134 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t134) + %t135 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t135) + %t136 = load ptr, ptr %sc_l_sink_0 + store ptr %t136, ptr %sc_l__x25_callbackReceiver_4 + %t137 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t138 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t137, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t139 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t138) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t139) + br label %try.c2 +exc.k55: + store ptr %t139, ptr %sc_l__x25_callbackBag_4 + store i1 true, ptr %sc_l__x25_callbackPresent_4 + %t143 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t144 = getelementptr inbounds i8, ptr %t143, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t146 = icmp eq i32 %t145, 6 + br i1 %t146, label %tern.t56, label %tern.f57 +tern.t56: + %t149 = call ptr @scr_dyn_undefined() + %t148 = call ptr @scr_dyn_retain_v(ptr %t149) + store ptr %t148, ptr %s147 + br label %tern.j58 +tern.f57: + %t150 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t151 = call ptr @sc_rc_retain_dyn(ptr %t150) + %t152 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t151) + %t153 = load i32, ptr %exc.cell + %t154 = icmp ne i32 %t153, 0 + %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false) + br i1 %t155, label %exc.u59, label %exc.k60 +exc.u59: + call void @sc_rc_release_dyn(ptr %t152) + br label %exc.cleanup61 +exc.k60: + store ptr %t152, ptr %s147 + br label %tern.j58 +tern.j58: + %t156 = load ptr, ptr %s147 + store ptr %t156, ptr %sc_l__x25_callback_4 + %t157 = load ptr, ptr %sc_l__x25_callback_4 + %t158 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t159 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t158, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t160 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802) + %t161 = call ptr @sc_td_0(ptr @sc_lit_1957914011051515) + %t163 = getelementptr inbounds [2 x ptr], ptr %s162, i64 0, i64 0 + store ptr %t160, ptr %t163 + %t164 = getelementptr inbounds [2 x ptr], ptr %s162, i64 0, i64 1 + store ptr %t161, ptr %t164 + call void @scr_dyn_this_push_dyn(ptr %t159) + %t165 = call ptr @scr_dyn_call(ptr %t157, ptr %s162, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t166 = load i32, ptr %exc.cell + %t167 = icmp ne i32 %t166, 0 + %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false) + br i1 %t168, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t159) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_rc_release_dyn(ptr %t161) + call void @sc_rc_release_dyn(ptr %t165) + br label %exc.cleanup64 +exc.k63: + call void @sc_rc_release_dyn(ptr %t159) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_rc_release_dyn(ptr %t161) + call void @sc_rc_release_dyn(ptr %t165) + %t169 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t169) + %t170 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t170) + %t171 = load ptr, ptr %sc_l_sink_0 + store ptr %t171, ptr %sc_l__x25_callbackReceiver_5 + %t172 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t173 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t172, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t174 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t173) + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u65, label %exc.k66 +exc.u65: + call void @sc_rc_release_dyn(ptr %t174) + br label %try.c2 +exc.k66: + store ptr %t174, ptr %sc_l__x25_callbackBag_5 + store i1 true, ptr %sc_l__x25_callbackPresent_5 + %t178 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t179 = getelementptr inbounds i8, ptr %t178, i64 8 ; ->kind + %t180 = load i32, ptr %t179 + %t181 = icmp eq i32 %t180, 6 + br i1 %t181, label %tern.t67, label %tern.f68 +tern.t67: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + store ptr %t183, ptr %s182 + br label %tern.j69 +tern.f68: + %t185 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t186 = call ptr @sc_rc_retain_dyn(ptr %t185) + %t187 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t186) + %t188 = load i32, ptr %exc.cell + %t189 = icmp ne i32 %t188, 0 + %t190 = call i1 @llvm.expect.i1(i1 %t189, i1 false) + br i1 %t190, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t187) + br label %exc.cleanup72 +exc.k71: + store ptr %t187, ptr %s182 + br label %tern.j69 +tern.j69: + %t191 = load ptr, ptr %s182 + store ptr %t191, ptr %sc_l__x25_callback_5 + %t192 = load ptr, ptr %sc_l__x25_callback_5 + %t193 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t195 = call ptr @sc_td_0(ptr @sc_lit_4012553578658412) + %t197 = getelementptr inbounds [1 x ptr], ptr %s196, i64 0, i64 0 + store ptr %t195, ptr %t197 + call void @scr_dyn_this_push_dyn(ptr %t194) + %t198 = call ptr @scr_dyn_call(ptr %t192, ptr %s196, i64 1, ptr @sc_cs_891738944038355) + call void @scr_dyn_this_pop() + %t199 = load i32, ptr %exc.cell + %t200 = icmp ne i32 %t199, 0 + %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false) + br i1 %t201, label %exc.u73, label %exc.k74 +exc.u73: + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t195) + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup75 +exc.k74: + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t195) + call void @sc_rc_release_dyn(ptr %t198) + %t202 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t202) + %t203 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t203) + br label %if.j19 +if.j19: + br label %try.e4 +try.c2: + %t204 = call ptr @scr_exc_take() ; catch binding + store ptr %t204, ptr %sc_l_e_0 + %t205 = load ptr, ptr %sc_l_sink_0 + store ptr %t205, ptr %sc_l__x25_callbackReceiver_6 + %t206 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + %t207 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t206, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t208 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t207) + %t209 = load i32, ptr %exc.cell + %t210 = icmp ne i32 %t209, 0 + %t211 = call i1 @llvm.expect.i1(i1 %t210, i1 false) + br i1 %t211, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t208) + br label %exc.cleanup78 +exc.k77: + store ptr %t208, ptr %sc_l__x25_callbackBag_6 + store i1 true, ptr %sc_l__x25_callbackPresent_6 + %t212 = load ptr, ptr %sc_l__x25_callbackBag_6 + %t213 = getelementptr inbounds i8, ptr %t212, i64 8 ; ->kind + %t214 = load i32, ptr %t213 + %t215 = icmp eq i32 %t214, 6 + br i1 %t215, label %tern.t79, label %tern.f80 +tern.t79: + %t218 = call ptr @scr_dyn_undefined() + %t217 = call ptr @scr_dyn_retain_v(ptr %t218) + store ptr %t217, ptr %s216 + br label %tern.j81 +tern.f80: + %t219 = load ptr, ptr %sc_l__x25_callbackBag_6 + %t220 = call ptr @sc_rc_retain_dyn(ptr %t219) + %t221 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t220) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t221) + br label %exc.cleanup84 +exc.k83: + store ptr %t221, ptr %s216 + br label %tern.j81 +tern.j81: + %t225 = load ptr, ptr %s216 + store ptr %t225, ptr %sc_l__x25_callback_6 + %t226 = load ptr, ptr %sc_l__x25_callback_6 + %t227 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + %t228 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t227, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t228) + %t229 = call ptr @scr_dyn_call(ptr %t226, ptr null, i64 0, ptr @sc_cs_3499760650817953) + call void @scr_dyn_this_pop() + %t230 = load i32, ptr %exc.cell + %t231 = icmp ne i32 %t230, 0 + %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false) + br i1 %t232, label %exc.u85, label %exc.k86 +exc.u85: + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t229) + br label %exc.cleanup87 +exc.k86: + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t229) + %t233 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t233) + %t234 = load ptr, ptr %sc_l__x25_callback_6 + call void @sc_rc_release_dyn(ptr %t234) + %t235 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t235) + br label %try.e4 +try.e4: + ret void +exc.cleanup12: + %t236 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t236) + br label %try.c2 +exc.cleanup15: + %t237 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t237) + %t238 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t238) + br label %try.c2 +exc.cleanup28: + %t239 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t239) + br label %try.c2 +exc.cleanup31: + %t240 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t240) + %t241 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t241) + br label %try.c2 +exc.cleanup39: + %t242 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t242) + br label %try.c2 +exc.cleanup42: + %t243 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t243) + %t244 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t244) + br label %try.c2 +exc.cleanup50: + %t245 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t245) + br label %try.c2 +exc.cleanup53: + %t246 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t246) + %t247 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t247) + br label %try.c2 +exc.cleanup61: + %t248 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t248) + br label %try.c2 +exc.cleanup64: + %t249 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t249) + %t250 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t250) + br label %try.c2 +exc.cleanup72: + %t251 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t251) + br label %try.c2 +exc.cleanup75: + %t252 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t252) + %t253 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t253) + br label %try.c2 +exc.cleanup78: + %t254 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t254) + ret void +exc.cleanup84: + %t255 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t255) + %t256 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t256) + ret void +exc.cleanup87: + %t257 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t257) + %t258 = load ptr, ptr %sc_l__x25_callback_6 + call void @sc_rc_release_dyn(ptr %t258) + %t259 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t259) + ret void +} +define internal void @sc_f__x25_m5_send500(ptr %p0) #0 { +entry: + call void @sc_bf__x25_m5_send500(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret void +} + +define internal double @sc_bf__x25_m5_utf8len(ptr %p_sc_l_s_0) #0 { ; %m5.utf8len +entry: + %sc_l_s_0 = alloca ptr ; s + %sc_l_b_0 = alloca ptr ; b + %sc_l_n_0 = alloca double ; n + %sc_l_i_0 = alloca double ; i + %sc_l_c_0 = alloca double ; c + %sc_l_c2_0 = alloca double ; c2 + %s19 = alloca i1 + %s23 = alloca i1 + %s37 = alloca i1 + store ptr null, ptr %sc_l_b_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = load ptr, ptr %sc_l_s_0 + store ptr %t0, ptr %sc_l_b_0 + store double 0x0000000000000000, ptr %sc_l_n_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c1 +loop.c1: + %t1 = load double, ptr %sc_l_i_0 + %t2 = load ptr, ptr %sc_l_b_0 + %t3 = call double @sc_str_utf16_len(ptr %t2) + %t5 = fptosi double %t3 to i32 + %t4 = fcmp olt double %t1, %t3 + br i1 %t4, label %loop.b2, label %loop.e0 +loop.b2: + %t6 = load ptr, ptr %sc_l_b_0 + %t7 = load double, ptr %sc_l_i_0 + %t8 = call double @sc_str_char_code_at(ptr %t6, double %t7) + store double %t8, ptr %sc_l_c_0 + %t9 = load double, ptr %sc_l_c_0 + %t10 = fcmp olt double %t9, 0x4060000000000000 + br i1 %t10, label %if.t4, label %if.f6 +if.t4: + %t11 = load double, ptr %sc_l_n_0 + %t12 = fadd double %t11, 0x3FF0000000000000 + store double %t12, ptr %sc_l_n_0 + br label %if.j5 +if.f6: + %t13 = load double, ptr %sc_l_c_0 + %t14 = fcmp olt double %t13, 0x40A0000000000000 + br i1 %t14, label %if.t7, label %if.f9 +if.t7: + %t15 = load double, ptr %sc_l_n_0 + %t16 = fadd double %t15, 0x4000000000000000 + store double %t16, ptr %sc_l_n_0 + br label %if.j8 +if.f9: + %t17 = load double, ptr %sc_l_c_0 + %t18 = fcmp oge double %t17, 0x40EB000000000000 + store i1 %t18, ptr %s19 + br i1 %t18, label %log.r10, label %log.j11 +log.r10: + %t20 = load double, ptr %sc_l_c_0 + %t21 = fcmp ole double %t20, 0x40EB7FE000000000 + store i1 %t21, ptr %s19 + br label %log.j11 +log.j11: + %t22 = load i1, ptr %s19 + store i1 %t22, ptr %s23 + br i1 %t22, label %log.r12, label %log.j13 +log.r12: + %t24 = load double, ptr %sc_l_i_0 + %t25 = fadd double %t24, 0x3FF0000000000000 + %t26 = load ptr, ptr %sc_l_b_0 + %t27 = call double @sc_str_utf16_len(ptr %t26) + %t29 = fptosi double %t27 to i32 + %t28 = fcmp olt double %t25, %t27 + store i1 %t28, ptr %s23 + br label %log.j13 +log.j13: + %t30 = load i1, ptr %s23 + br i1 %t30, label %if.t14, label %if.f16 +if.t14: + %t31 = load ptr, ptr %sc_l_b_0 + %t32 = load double, ptr %sc_l_i_0 + %t33 = fadd double %t32, 0x3FF0000000000000 + %t34 = call double @sc_str_char_code_at(ptr %t31, double %t33) + store double %t34, ptr %sc_l_c2_0 + %t35 = load double, ptr %sc_l_c2_0 + %t36 = fcmp oge double %t35, 0x40EB800000000000 + store i1 %t36, ptr %s37 + br i1 %t36, label %log.r17, label %log.j18 +log.r17: + %t38 = load double, ptr %sc_l_c2_0 + %t39 = fcmp ole double %t38, 0x40EBFFE000000000 + store i1 %t39, ptr %s37 + br label %log.j18 +log.j18: + %t40 = load i1, ptr %s37 + br i1 %t40, label %if.t19, label %if.f21 +if.t19: + %t41 = load double, ptr %sc_l_n_0 + %t42 = fadd double %t41, 0x4010000000000000 + store double %t42, ptr %sc_l_n_0 + %t43 = load double, ptr %sc_l_i_0 + %t44 = fadd double %t43, 0x3FF0000000000000 + store double %t44, ptr %sc_l_i_0 + br label %if.j20 +if.f21: + %t45 = load double, ptr %sc_l_n_0 + %t46 = fadd double %t45, 0x4008000000000000 + store double %t46, ptr %sc_l_n_0 + br label %if.j20 +if.j20: + br label %if.j15 +if.f16: + %t47 = load double, ptr %sc_l_n_0 + %t48 = fadd double %t47, 0x4008000000000000 + store double %t48, ptr %sc_l_n_0 + br label %if.j15 +if.j15: + br label %if.j8 +if.j8: + br label %if.j5 +if.j5: + br label %loop.u3 +loop.u3: + %t49 = load double, ptr %sc_l_i_0 + %t50 = fadd double %t49, 0x3FF0000000000000 + store double %t50, ptr %sc_l_i_0 + br label %loop.c1 +loop.e0: + %t51 = load double, ptr %sc_l_n_0 + ret double %t51 +} +define internal double @sc_f__x25_m5_utf8len(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25_m5_utf8len(ptr %p0) + call void @scr_str_release(ptr %p0) + ret double %result +} + +define internal ptr @sc_bf__x25_m5_dec(ptr %p_sc_l_s_0) #0 { ; %m5.dec +entry: + %sc_l_s_0 = alloca ptr ; s + %sc_l_t_0 = alloca ptr ; t + %sc_l_e_0 = alloca ptr ; e + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_t_0 + store ptr null, ptr %sc_l_e_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_s_0 + %t5 = call ptr @scr_str_split_limit(ptr %t4, ptr @sc_lit_2869227738459631, double 0x41EFFFFFFFE00000) + %t6 = call ptr @scr_arr_join(ptr %t5, ptr @sc_lit_961653900088760) + store ptr %t6, ptr %sc_l_t_0 + call void @scr_arr_release(ptr %t5) + %t7 = load ptr, ptr %sc_l_t_0 + %t8 = call ptr @sc_rc_retain_str(ptr %t7) + %t9 = call ptr @scr_str_decode_uri_component(ptr %t8) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u5, label %exc.k6 +exc.u5: + call void @scr_str_release(ptr %t8) + call void @scr_str_release(ptr %t9) + br label %try.c2 +exc.k6: + call void @scr_str_release(ptr %t8) + %t13 = load ptr, ptr %sc_l_t_0 + call void @scr_str_release(ptr %t13) + ret ptr %t9 +try.c2: + %t14 = call ptr @scr_exc_take() ; catch binding + store ptr %t14, ptr %sc_l_e_0 + %t15 = load ptr, ptr %sc_l_t_0 + %t16 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t16) + ret ptr %t15 +try.e4: + call void @scr_throw_error_msg_code(i32 0, ptr @sc_cs_492252702126034, i64 123, ptr @sc_cs_4391986516593320) + br label %exc.cleanup7 +exc.cleanup7: + %t17 = load ptr, ptr %sc_l_t_0 + call void @scr_str_release(ptr %t17) + ret ptr null +} +define internal ptr @sc_f__x25_m5_dec(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_dec(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m5_copyMw(ptr %p_sc_l_mw_0) #0 { ; %m5.copyMw +entry: + %sc_l_mw_0 = alloca ptr ; mw + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget + %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue + %s1 = alloca i64 ; integer induction i + %s14 = alloca %ScrUnion + %s15 = getelementptr inbounds %ScrUnion, ptr %s14, i32 0, i32 5 + %s16 = getelementptr inbounds %ScrUnion, ptr %s14, i32 0, i32 1 + %s54 = alloca ptr + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l__x25_pushTarget_0 + store ptr null, ptr %sc_l__x25_pushValue_0 + store ptr %p_sc_l_mw_0, ptr %sc_l_mw_0 + %t0 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 0) + store ptr %t0, ptr %sc_l_out_0 + %t2 = fptosi double 0x0000000000000000 to i64 + store i64 %t2, ptr %s1 + br label %loop.c1 +loop.c1: + %t3 = load ptr, ptr %sc_l_mw_0 + %t4 = getelementptr inbounds %ScrArr, ptr %t3, i64 0, i32 1 + %t5 = load i64, ptr %t4, !tbaa !2 + %t6 = load i64, ptr %s1 + %t7 = icmp ult i64 %t6, %t5 + br i1 %t7, label %loop.b2, label %loop.e0 +loop.b2: + %t8 = load ptr, ptr %sc_l_out_0 + store ptr %t8, ptr %sc_l__x25_pushTarget_0 + %t9 = load ptr, ptr %sc_l_mw_0 + %t10 = load i64, ptr %s1 + %t11 = load i64, ptr %s1 + %t12 = sitofp i64 %t11 to double + %t13 = trunc i64 %t11 to i32 + %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2 + %t18 = load i64, ptr %t17, !tbaa !2 + %t19 = icmp ult i64 %t10, %t18 + br i1 %t19, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t20 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6 + %t21 = load i32, ptr %t20, !tbaa !2 + %t23 = zext i32 %t21 to i64 + %t22 = icmp ult i64 %t10, %t23 + br i1 %t22, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t24 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t25 = load i64, ptr %t24, !tbaa !2, !range !{i64 0, i64 4294967296} + %t26 = icmp ult i64 %t10, %t25 + br i1 %t26, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t27 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9 + %t28 = load ptr, ptr %t27, !tbaa !2 + %t29 = getelementptr inbounds i8, ptr %t28, i64 %t10 + %t30 = load i8, ptr %t29, !tbaa !4 + %t31 = icmp eq i8 %t30, 1 + br i1 %t31, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t32 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8 + %t33 = load ptr, ptr %t32, !tbaa !2 + %t34 = getelementptr inbounds i64, ptr %t33, i64 %t10 + %t35 = load ptr, ptr %t34, !tbaa !6 + %t36 = call ptr @scr_closure_retain_v(ptr %t35) + store ptr %t36, ptr %s15 + store i32 0, ptr %s16 + br label %local.array.join6 +local.array.slow4: + %t37 = call ptr @scr_arr_peek_ref(ptr %t9, double %t12) + %t38 = icmp ne ptr %t37, null + br i1 %t38, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + %t39 = call ptr @scr_closure_retain_v(ptr %t37) + store ptr %t39, ptr %s15 + store i32 0, ptr %s16 + br label %local.array.join6 +local.array.missing5: + store i64 0, ptr %s15 + store i32 1, ptr %s16 + br label %local.array.join6 +local.array.join6: + store ptr %s14, ptr %sc_l__x25_pushValue_0 + %t40 = load ptr, ptr %sc_l__x25_pushValue_0 + %t43 = getelementptr inbounds %ScrUnion, ptr %t40, i64 0, i32 1 + %t42 = load i32, ptr %t43 + %t41 = icmp eq i32 %t42, 1 + br i1 %t41, label %if.t13, label %if.f15 +if.t13: + %t44 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t45 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t46 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 1 + %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296} + %t48 = sitofp i64 %t47 to double + call void @scr_arr_set_undefined(ptr %t44, double %t48) + br label %if.j14 +if.f15: + %t49 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t50 = load ptr, ptr %sc_l__x25_pushValue_0 + %t53 = getelementptr inbounds %ScrUnion, ptr %t50, i64 0, i32 1 + %t52 = load i32, ptr %t53 + %t51 = icmp eq i32 %t52, 0 + br i1 %t51, label %tern.t16, label %tern.f17 +tern.t16: + %t55 = load ptr, ptr %sc_l__x25_pushValue_0 + %t56 = getelementptr inbounds %ScrUnion, ptr %t55, i64 0, i32 5 + %t57 = load ptr, ptr %t56 + %t58 = call ptr @scr_closure_retain_v(ptr %t57) + store ptr %t58, ptr %s54 + br label %tern.j18 +tern.f17: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup19 +exc.dead20: + store ptr null, ptr %s54 + br label %tern.j18 +tern.j18: + %t59 = load ptr, ptr %s54 + %t60 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 1 + %t61 = load i64, ptr %t60, !tbaa !2 + %t64 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 2 + %t62 = load i64, ptr %t64, !tbaa !2 + %t63 = icmp ult i64 %t61, %t62 + br i1 %t63, label %arr.push.dense21, label %arr.push.slow22 +arr.push.dense21: + %t65 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 8 + %t67 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 9 + %t66 = load ptr, ptr %t65, !tbaa !2 + %t68 = load ptr, ptr %t67, !tbaa !2 + %t69 = getelementptr inbounds i8, ptr %t68, i64 %t61 + %t70 = getelementptr inbounds i64, ptr %t66, i64 %t61 + store ptr %t59, ptr %t70, !tbaa !6 + store i8 1, ptr %t69, !tbaa !4 + %t71 = add nuw i64 %t61, 1 + store i64 %t71, ptr %t60, !tbaa !2 + %t73 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 6 + %t74 = load i32, ptr %t73, !tbaa !2 + %t78 = zext i32 %t74 to i64 + %t75 = icmp eq i64 %t78, %t61 + %t76 = add i32 %t74, 1 + %t77 = select i1 %t75, i32 %t76, i32 %t74 + store i32 %t77, ptr %t73, !tbaa !2 + %t72 = sitofp i64 %t71 to double + br label %arr.push.join23 +arr.push.slow22: + %t79 = call double @scr_arr_push_ref(ptr %t49, ptr %t59) cold + br label %arr.push.join23 +arr.push.join23: + %t80 = phi double [ %t72, %arr.push.dense21 ], [ %t79, %arr.push.slow22 ] + br label %if.j14 +if.j14: + %t81 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t82 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 1 + %t83 = load i64, ptr %t82, !tbaa !2, !range !{i64 0, i64 4294967296} + %t84 = sitofp i64 %t83 to double + %t85 = load ptr, ptr %s15 + call void @scr_closure_release(ptr %t85) + br label %loop.u3 +loop.u3: + %t86 = load i64, ptr %s1 + %t87 = add nuw i64 %t86, 1 + store i64 %t87, ptr %s1 + br label %loop.c1 +loop.e0: + %t88 = load ptr, ptr %sc_l_out_0 + ret ptr %t88 +exc.cleanup19: + %t89 = load ptr, ptr %s15 + call void @scr_closure_release(ptr %t89) + %t90 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t90) + ret ptr null +} +define internal ptr @sc_f__x25_m5_copyMw(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_copyMw(ptr %p0) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_m5_matchUsePath(ptr %p_sc_l_reqPath_0, ptr %p_sc_l_filter_0) #0 { ; %m5.matchUsePath +entry: + %sc_l_reqPath_0 = alloca ptr ; reqPath + %sc_l_filter_0 = alloca ptr ; filter + %sc_l_prefix_0 = alloca ptr ; prefix + %s7 = alloca i1 + store ptr null, ptr %sc_l_prefix_0 + store ptr %p_sc_l_reqPath_0, ptr %sc_l_reqPath_0 + store ptr %p_sc_l_filter_0, ptr %sc_l_filter_0 + %t0 = load ptr, ptr %sc_l_filter_0 + %t1 = call zeroext i1 @sc_streq_1834571860458263(ptr %t0) + br i1 %t1, label %if.t0, label %if.j1 +if.t0: + ret i1 true +if.j1: + %t2 = load ptr, ptr %sc_l_filter_0 + %t3 = call double @sc_str_utf16_len(ptr %t2) + %t5 = fptosi double %t3 to i32 + %t6 = sext i32 %t5 to i64 + %t4 = icmp sgt i64 %t6, 0 + store i1 %t4, ptr %s7 + br i1 %t4, label %log.r2, label %log.j3 +log.r2: + %t8 = load ptr, ptr %sc_l_filter_0 + %t9 = load ptr, ptr %sc_l_filter_0 + %t10 = call double @sc_str_utf16_len(ptr %t9) + %t12 = fptosi double %t10 to i32 + %t14 = trunc i64 1 to i32 + %t13 = sub nsw i32 %t12, %t14 + %t15 = sitofp i32 %t13 to double + %t16 = call ptr @scr_str_char_at(ptr %t8, double %t15) + %t17 = call zeroext i1 @sc_streq_1834571860458263(ptr %t16) + store i1 %t17, ptr %s7 + call void @scr_str_release(ptr %t16) + br label %log.j3 +log.j3: + %t18 = load i1, ptr %s7 + br i1 %t18, label %if.t4, label %if.j5 +if.t4: + %t19 = load ptr, ptr %sc_l_filter_0 + %t20 = load ptr, ptr %sc_l_filter_0 + %t21 = call double @sc_str_utf16_len(ptr %t20) + %t23 = fptosi double %t21 to i32 + %t25 = trunc i64 1 to i32 + %t24 = sub nsw i32 %t23, %t25 + %t26 = sitofp i32 %t24 to double + %t27 = call ptr @scr_str_slice(ptr %t19, double 0x0000000000000000, double %t26) + store ptr %t27, ptr %sc_l_prefix_0 + %t28 = load ptr, ptr %sc_l_reqPath_0 + %t29 = load ptr, ptr %sc_l_prefix_0 + %t30 = call double @scr_str_index_of(ptr %t28, ptr %t29, double 0x0000000000000000) + %t32 = fptosi double %t30 to i32 + %t33 = sext i32 %t32 to i64 + %t31 = icmp eq i64 %t33, 0 + %t34 = load ptr, ptr %sc_l_prefix_0 + call void @scr_str_release(ptr %t34) + ret i1 %t31 +if.j5: + %t35 = load ptr, ptr %sc_l_reqPath_0 + %t36 = load ptr, ptr %sc_l_filter_0 + %t37 = call zeroext i1 @sc_str_eq(ptr %t35, ptr %t36) + ret i1 %t37 +} +define internal i1 @sc_f__x25_m5_matchUsePath(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_m5_matchUsePath(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_bf__x25_m5_runPrefixed(ptr %p_sc_l_mws_0, double %p_sc_l_i_0, ptr %p_sc_l_c_0, ptr %p_sc_l_outerNext_0) #0 { ; %m5.runPrefixed +entry: + %sc_l_mws_0 = alloca ptr ; mws + %sc_l_i_0 = alloca double ; i + %sc_l_c_0 = alloca ptr ; c + %sc_l_outerNext_0 = alloca ptr ; outerNext + %sc_l_mw_0 = alloca ptr ; mw + %sc_l_i_1 = alloca double ; i + %s0 = alloca ptr ; lazy box mws + %s1 = alloca ptr ; lazy box i + %s2 = alloca ptr ; lazy box c + %s3 = alloca ptr ; lazy box outerNext + %exc.cell = load ptr, ptr @scr_exc_active + %s33 = alloca %ScrUnion + %s34 = getelementptr inbounds %ScrUnion, ptr %s33, i32 0, i32 5 + %s35 = getelementptr inbounds %ScrUnion, ptr %s33, i32 0, i32 1 + %s68 = alloca ptr + store ptr null, ptr %sc_l_mw_0 + store ptr null, ptr %s0 + store ptr null, ptr %s1 + store ptr null, ptr %s2 + store ptr null, ptr %s3 + store ptr %p_sc_l_mws_0, ptr %sc_l_mws_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_outerNext_0, ptr %sc_l_outerNext_0 + %t4 = call ptr @llvm.stacksave.p0() + %t5 = load ptr, ptr @scr_stack_guard + %t6 = icmp ult ptr %t4, %t5 + %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false) + br i1 %t7, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t8 = load double, ptr %sc_l_i_0 + store double %t8, ptr %sc_l_i_1 + %t9 = load double, ptr %sc_l_i_1 + %t10 = load ptr, ptr %sc_l_mws_0 + %t11 = getelementptr inbounds %ScrArr, ptr %t10, i32 0, i32 1 + %t12 = load i64, ptr %t11, !tbaa !2, !range !{i64 0, i64 4294967296} + %t13 = sitofp i64 %t12 to double + %t15 = fptosi double %t13 to i64 + %t14 = fcmp oge double %t9, %t13 + br i1 %t14, label %if.t3, label %if.j4 +if.t3: + %t16 = load ptr, ptr %sc_l_outerNext_0 + %t17 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 1 + %t18 = load ptr, ptr %t17 + call void @scr_dyn_this_push_dyn(ptr null) + %t19 = call ptr %t18(ptr %t16) + call void @scr_dyn_this_pop() + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup2 +exc.k6: + %t23 = load ptr, ptr %s0 + %t24 = icmp ne ptr %t23, null + br i1 %t24, label %lazy.release7, label %lazy.release.j8 +lazy.release7: + call void @scr_box_release(ptr %t23) + br label %lazy.release.j8 +lazy.release.j8: + %t25 = load ptr, ptr %s1 + %t26 = icmp ne ptr %t25, null + br i1 %t26, label %lazy.release9, label %lazy.release.j10 +lazy.release9: + call void @scr_box_release(ptr %t25) + br label %lazy.release.j10 +lazy.release.j10: + %t27 = load ptr, ptr %s2 + %t28 = icmp ne ptr %t27, null + br i1 %t28, label %lazy.release11, label %lazy.release.j12 +lazy.release11: + call void @scr_box_release(ptr %t27) + br label %lazy.release.j12 +lazy.release.j12: + %t29 = load ptr, ptr %s3 + %t30 = icmp ne ptr %t29, null + br i1 %t30, label %lazy.release13, label %lazy.release.j14 +lazy.release13: + call void @scr_box_release(ptr %t29) + br label %lazy.release.j14 +lazy.release.j14: + ret ptr %t19 +if.j4: + %t31 = load ptr, ptr %sc_l_mws_0 + %t32 = load double, ptr %sc_l_i_1 + %t36 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 2 + %t37 = load i64, ptr %t36, !tbaa !2 + %t38 = fptosi double %t32 to i64 + %t39 = freeze i64 %t38 + %t40 = sitofp i64 %t39 to double + %t41 = fcmp oeq double %t40, %t32 + %t42 = icmp ult i64 %t39, %t37 + %t43 = and i1 %t41, %t42 + br i1 %t43, label %local.array.range18, label %local.array.slow15 +local.array.range18: + br label %local.array.dense19 +local.array.dense19: + %t44 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t47 = zext i32 %t45 to i64 + %t46 = icmp ult i64 %t39, %t47 + br i1 %t46, label %local.array.value21, label %local.array.len20 +local.array.len20: + %t48 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 1 + %t49 = load i64, ptr %t48, !tbaa !2, !range !{i64 0, i64 4294967296} + %t50 = icmp ult i64 %t39, %t49 + br i1 %t50, label %local.array.state22, label %local.array.missing16 +local.array.state22: + %t51 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 9 + %t52 = load ptr, ptr %t51, !tbaa !2 + %t53 = getelementptr inbounds i8, ptr %t52, i64 %t39 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %local.array.value21, label %local.array.missing16 +local.array.value21: + %t56 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 8 + %t57 = load ptr, ptr %t56, !tbaa !2 + %t58 = getelementptr inbounds i64, ptr %t57, i64 %t39 + %t59 = load ptr, ptr %t58, !tbaa !6 + %t60 = call ptr @scr_closure_retain_v(ptr %t59) + store ptr %t60, ptr %s34 + store i32 0, ptr %s35 + br label %local.array.join17 +local.array.slow15: + %t61 = call ptr @scr_arr_peek_ref(ptr %t31, double %t32) + %t62 = icmp ne ptr %t61, null + br i1 %t62, label %local.array.slow.value23, label %local.array.missing16 +local.array.slow.value23: + %t63 = call ptr @scr_closure_retain_v(ptr %t61) + store ptr %t63, ptr %s34 + store i32 0, ptr %s35 + br label %local.array.join17 +local.array.missing16: + store i64 0, ptr %s34 + store i32 1, ptr %s35 + br label %local.array.join17 +local.array.join17: + store ptr %s33, ptr %sc_l_mw_0 + %t64 = load ptr, ptr %sc_l_mw_0 + %t67 = getelementptr inbounds %ScrUnion, ptr %t64, i64 0, i32 1 + %t66 = load i32, ptr %t67 + %t65 = icmp eq i32 %t66, 1 + br i1 %t65, label %read.then24, label %read.else25 +read.then24: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2573344890364836) + br label %exc.cleanup27 +exc.dead28: + store ptr null, ptr %s68 + br label %read.join26 +read.else25: + %t69 = load ptr, ptr %sc_l_mw_0 + %t70 = getelementptr inbounds %ScrUnion, ptr %t69, i64 0, i32 5 + %t71 = load ptr, ptr %t70 + store ptr %t71, ptr %s68 + br label %read.join26 +read.join26: + %t72 = load ptr, ptr %s68 + %t73 = load ptr, ptr %sc_l_c_0 + %t74 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t73) + %t75 = call ptr @scr_closure_new(ptr @sc_f__x25_fn30, i64 4) + %t76 = getelementptr inbounds %ScrClosure, ptr %t75, i64 0, i32 4 + store i32 4, ptr %t76 + %t77 = load ptr, ptr %s0 + %t78 = icmp eq ptr %t77, null + br i1 %t78, label %lazy.box29, label %lazy.box.j30 +lazy.box29: + %t79 = call ptr @scr_box_new_obj(ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @scr_arr_trace_v) + %t80 = load ptr, ptr %sc_l_mws_0 + %t81 = call ptr @scr_arr_retain_v(ptr %t80) + call void @scr_box_set_ref(ptr %t79, ptr %t81) + store ptr %t79, ptr %s0 + br label %lazy.box.j30 +lazy.box.j30: + %t82 = load ptr, ptr %s0 + %t83 = call ptr @sc_retain_box(ptr %t82) + %t84 = getelementptr inbounds %ScrClosure, ptr %t75, i64 1 ; caps + %t85 = getelementptr inbounds ptr, ptr %t84, i64 0 ; caps[0] + store ptr %t83, ptr %t85 + %t86 = load ptr, ptr %s1 + %t87 = icmp eq ptr %t86, null + br i1 %t87, label %lazy.box31, label %lazy.box.j32 +lazy.box31: + %t88 = call ptr @scr_box_new(i32 0) + %t89 = load double, ptr %sc_l_i_0 + %t90 = getelementptr inbounds %ScrBox, ptr %t88, i32 0, i32 5 + store double %t89, ptr %t90 + store ptr %t88, ptr %s1 + br label %lazy.box.j32 +lazy.box.j32: + %t91 = load ptr, ptr %s1 + %t92 = call ptr @sc_retain_box(ptr %t91) + %t93 = getelementptr inbounds %ScrClosure, ptr %t75, i64 1 ; caps + %t94 = getelementptr inbounds ptr, ptr %t93, i64 1 ; caps[1] + store ptr %t92, ptr %t94 + %t95 = load ptr, ptr %s2 + %t96 = icmp eq ptr %t95, null + br i1 %t96, label %lazy.box33, label %lazy.box.j34 +lazy.box33: + %t97 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore) + %t98 = load ptr, ptr %sc_l_c_0 + %t99 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t98) + call void @scr_box_set_ref(ptr %t97, ptr %t99) + store ptr %t97, ptr %s2 + br label %lazy.box.j34 +lazy.box.j34: + %t100 = load ptr, ptr %s2 + %t101 = call ptr @sc_retain_box(ptr %t100) + %t102 = getelementptr inbounds %ScrClosure, ptr %t75, i64 1 ; caps + %t103 = getelementptr inbounds ptr, ptr %t102, i64 2 ; caps[2] + store ptr %t101, ptr %t103 + %t104 = load ptr, ptr %s3 + %t105 = icmp eq ptr %t104, null + br i1 %t105, label %lazy.box35, label %lazy.box.j36 +lazy.box35: + %t106 = call ptr @scr_box_new(i32 4) + %t107 = load ptr, ptr %sc_l_outerNext_0 + %t108 = call ptr @scr_closure_retain_v(ptr %t107) + call void @scr_box_set_ref(ptr %t106, ptr %t108) + store ptr %t106, ptr %s3 + br label %lazy.box.j36 +lazy.box.j36: + %t109 = load ptr, ptr %s3 + %t110 = call ptr @sc_retain_box(ptr %t109) + %t111 = getelementptr inbounds %ScrClosure, ptr %t75, i64 1 ; caps + %t112 = getelementptr inbounds ptr, ptr %t111, i64 3 ; caps[3] + store ptr %t110, ptr %t112 + %t113 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 1 + %t114 = load ptr, ptr %t113 + call void @scr_dyn_this_push_dyn(ptr null) + %t115 = call ptr %t114(ptr %t72, ptr %t74, ptr %t75) + call void @scr_dyn_this_pop() + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rc_release_dyn(ptr %t115) + br label %exc.cleanup27 +exc.k38: + %t119 = load ptr, ptr %s0 + %t120 = icmp ne ptr %t119, null + br i1 %t120, label %lazy.release39, label %lazy.release.j40 +lazy.release39: + call void @scr_box_release(ptr %t119) + br label %lazy.release.j40 +lazy.release.j40: + %t121 = load ptr, ptr %s1 + %t122 = icmp ne ptr %t121, null + br i1 %t122, label %lazy.release41, label %lazy.release.j42 +lazy.release41: + call void @scr_box_release(ptr %t121) + br label %lazy.release.j42 +lazy.release.j42: + %t123 = load ptr, ptr %s2 + %t124 = icmp ne ptr %t123, null + br i1 %t124, label %lazy.release43, label %lazy.release.j44 +lazy.release43: + call void @scr_box_release(ptr %t123) + br label %lazy.release.j44 +lazy.release.j44: + %t125 = load ptr, ptr %s3 + %t126 = icmp ne ptr %t125, null + br i1 %t126, label %lazy.release45, label %lazy.release.j46 +lazy.release45: + call void @scr_box_release(ptr %t125) + br label %lazy.release.j46 +lazy.release.j46: + %t127 = load ptr, ptr %s34 + call void @scr_closure_release(ptr %t127) + ret ptr %t115 +exc.cleanup2: + %t128 = load ptr, ptr %s0 + %t129 = icmp ne ptr %t128, null + br i1 %t129, label %lazy.release47, label %lazy.release.j48 +lazy.release47: + call void @scr_box_release(ptr %t128) + br label %lazy.release.j48 +lazy.release.j48: + %t130 = load ptr, ptr %s1 + %t131 = icmp ne ptr %t130, null + br i1 %t131, label %lazy.release49, label %lazy.release.j50 +lazy.release49: + call void @scr_box_release(ptr %t130) + br label %lazy.release.j50 +lazy.release.j50: + %t132 = load ptr, ptr %s2 + %t133 = icmp ne ptr %t132, null + br i1 %t133, label %lazy.release51, label %lazy.release.j52 +lazy.release51: + call void @scr_box_release(ptr %t132) + br label %lazy.release.j52 +lazy.release.j52: + %t134 = load ptr, ptr %s3 + %t135 = icmp ne ptr %t134, null + br i1 %t135, label %lazy.release53, label %lazy.release.j54 +lazy.release53: + call void @scr_box_release(ptr %t134) + br label %lazy.release.j54 +lazy.release.j54: + ret ptr null +exc.cleanup27: + %t136 = load ptr, ptr %s0 + %t137 = icmp ne ptr %t136, null + br i1 %t137, label %lazy.release55, label %lazy.release.j56 +lazy.release55: + call void @scr_box_release(ptr %t136) + br label %lazy.release.j56 +lazy.release.j56: + %t138 = load ptr, ptr %s1 + %t139 = icmp ne ptr %t138, null + br i1 %t139, label %lazy.release57, label %lazy.release.j58 +lazy.release57: + call void @scr_box_release(ptr %t138) + br label %lazy.release.j58 +lazy.release.j58: + %t140 = load ptr, ptr %s2 + %t141 = icmp ne ptr %t140, null + br i1 %t141, label %lazy.release59, label %lazy.release.j60 +lazy.release59: + call void @scr_box_release(ptr %t140) + br label %lazy.release.j60 +lazy.release.j60: + %t142 = load ptr, ptr %s3 + %t143 = icmp ne ptr %t142, null + br i1 %t143, label %lazy.release61, label %lazy.release.j62 +lazy.release61: + call void @scr_box_release(ptr %t142) + br label %lazy.release.j62 +lazy.release.j62: + %t144 = load ptr, ptr %s34 + call void @scr_closure_release(ptr %t144) + ret ptr null +} +define internal ptr @sc_f__x25_m5_runPrefixed(ptr %p0, double %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_runPrefixed(ptr %p0, double %p1, ptr %p2, ptr %p3) + call void @scr_arr_release(ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p2) + call void @scr_closure_release(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m5_compose(ptr %p_sc_l_mw_0, ptr %p_sc_l_h_0) #0 { ; %m5.compose +entry: + %sc_l_mw_0 = alloca ptr ; mw + %sc_l_h_0 = alloca ptr ; h + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_i_0 = alloca double ; i + %sc_l_fn_0 = alloca ptr ; fn + %sc_l_inner_0 = alloca ptr ; inner + store ptr null, ptr %sc_l_chain_0 + store ptr null, ptr %sc_l_fn_0 + store ptr null, ptr %sc_l_inner_0 + store ptr %p_sc_l_mw_0, ptr %sc_l_mw_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + %t0 = load ptr, ptr %sc_l_h_0 + %t1 = call ptr @scr_union_retain_v(ptr %t0) + store ptr %t1, ptr %sc_l_chain_0 + %t2 = load ptr, ptr %sc_l_mw_0 + %t3 = getelementptr inbounds %ScrArr, ptr %t2, i32 0, i32 1 + %t4 = load i64, ptr %t3, !tbaa !2, !range !{i64 0, i64 4294967296} + %t5 = sitofp i64 %t4 to double + %t7 = fptosi double %t5 to i64 + %t8 = sub nsw i64 %t7, 1 + %t10 = trunc i64 %t8 to i32 + %t9 = sitofp i64 %t8 to double + store double %t9, ptr %sc_l_i_0 + br label %loop.c1 +loop.c1: + %t11 = load double, ptr %sc_l_i_0 + %t13 = fptosi double %t11 to i64 + %t12 = icmp sge i64 %t13, 0 + br i1 %t12, label %loop.b2, label %loop.e0 +loop.b2: + %t14 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let fn (boxed) + store ptr %t14, ptr %sc_l_fn_0 + %t15 = load ptr, ptr %sc_l_mw_0 + %t16 = load double, ptr %sc_l_i_0 + %t17 = call ptr @sc_bf__x25_arr_idxOr_9(ptr %t15, double %t16) + call void @scr_box_set_ref(ptr %t14, ptr %t17) + %t18 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let inner (boxed) + store ptr %t18, ptr %sc_l_inner_0 + %t19 = load ptr, ptr %sc_l_chain_0 + %t20 = call ptr @scr_union_retain_v(ptr %t19) + call void @scr_box_set_ref(ptr %t18, ptr %t20) + %t21 = call ptr @scr_closure_new(ptr @sc_f__x25_fn31, i64 2) + %t22 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + store i32 4, ptr %t22 + %t23 = load ptr, ptr %sc_l_fn_0 + %t24 = call ptr @sc_retain_box(ptr %t23) + %t25 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t26 = getelementptr inbounds ptr, ptr %t25, i64 0 ; caps[0] + store ptr %t24, ptr %t26 + %t27 = load ptr, ptr %sc_l_inner_0 + %t28 = call ptr @sc_retain_box(ptr %t27) + %t29 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t30 = getelementptr inbounds ptr, ptr %t29, i64 1 ; caps[1] + store ptr %t28, ptr %t30 + %t31 = call ptr @scr_union_new_ref(i32 0, ptr %t21, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + %t32 = load ptr, ptr %sc_l_chain_0 + call void @scr_union_release(ptr %t32) + store ptr %t31, ptr %sc_l_chain_0 + %t33 = load ptr, ptr %sc_l_fn_0 + call void @scr_box_release(ptr %t33) + %t34 = load ptr, ptr %sc_l_inner_0 + call void @scr_box_release(ptr %t34) + br label %loop.u3 +loop.u3: + %t35 = load double, ptr %sc_l_i_0 + %t37 = fptosi double %t35 to i64 + %t38 = sub nsw i64 %t37, 1 + %t40 = trunc i64 %t38 to i32 + %t39 = sitofp i64 %t38 to double + store double %t39, ptr %sc_l_i_0 + br label %loop.c1 +loop.e0: + %t41 = load ptr, ptr %sc_l_chain_0 + ret ptr %t41 +} +define internal ptr @sc_f__x25_m5_compose(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_compose(ptr %p0, ptr %p1) + call void @scr_arr_release(ptr %p0) + call void @scr_union_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m5_mergeMw(ptr %p_sc_l_a_0, ptr %p_sc_l_b_0) #0 { ; %m5.mergeMw +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_b_0 = alloca ptr ; b + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget + %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue + %sc_l_i_1 = alloca i32 ; i + %sc_l__x25_pushTarget_1 = alloca ptr ; %pushTarget + %sc_l__x25_pushValue_1 = alloca ptr ; %pushValue + %s1 = alloca i64 ; integer induction i + %s14 = alloca %ScrUnion + %s15 = getelementptr inbounds %ScrUnion, ptr %s14, i32 0, i32 5 + %s16 = getelementptr inbounds %ScrUnion, ptr %s14, i32 0, i32 1 + %s54 = alloca ptr + %s93 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s110 = alloca %ScrUnion + %s111 = getelementptr inbounds %ScrUnion, ptr %s110, i32 0, i32 5 + %s112 = getelementptr inbounds %ScrUnion, ptr %s110, i32 0, i32 1 + %s155 = alloca ptr + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l__x25_pushTarget_0 + store ptr null, ptr %sc_l__x25_pushValue_0 + store ptr null, ptr %sc_l__x25_pushTarget_1 + store ptr null, ptr %sc_l__x25_pushValue_1 + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + %t0 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 0) + store ptr %t0, ptr %sc_l_out_0 + %t2 = fptosi double 0x0000000000000000 to i64 + store i64 %t2, ptr %s1 + br label %loop.c1 +loop.c1: + %t3 = load ptr, ptr %sc_l_a_0 + %t4 = getelementptr inbounds %ScrArr, ptr %t3, i64 0, i32 1 + %t5 = load i64, ptr %t4, !tbaa !2 + %t6 = load i64, ptr %s1 + %t7 = icmp ult i64 %t6, %t5 + br i1 %t7, label %loop.b2, label %loop.e0 +loop.b2: + %t8 = load ptr, ptr %sc_l_out_0 + store ptr %t8, ptr %sc_l__x25_pushTarget_0 + %t9 = load ptr, ptr %sc_l_a_0 + %t10 = load i64, ptr %s1 + %t11 = load i64, ptr %s1 + %t12 = sitofp i64 %t11 to double + %t13 = trunc i64 %t11 to i32 + %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2 + %t18 = load i64, ptr %t17, !tbaa !2 + %t19 = icmp ult i64 %t10, %t18 + br i1 %t19, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t20 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6 + %t21 = load i32, ptr %t20, !tbaa !2 + %t23 = zext i32 %t21 to i64 + %t22 = icmp ult i64 %t10, %t23 + br i1 %t22, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t24 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t25 = load i64, ptr %t24, !tbaa !2, !range !{i64 0, i64 4294967296} + %t26 = icmp ult i64 %t10, %t25 + br i1 %t26, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t27 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9 + %t28 = load ptr, ptr %t27, !tbaa !2 + %t29 = getelementptr inbounds i8, ptr %t28, i64 %t10 + %t30 = load i8, ptr %t29, !tbaa !4 + %t31 = icmp eq i8 %t30, 1 + br i1 %t31, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t32 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8 + %t33 = load ptr, ptr %t32, !tbaa !2 + %t34 = getelementptr inbounds i64, ptr %t33, i64 %t10 + %t35 = load ptr, ptr %t34, !tbaa !6 + %t36 = call ptr @scr_closure_retain_v(ptr %t35) + store ptr %t36, ptr %s15 + store i32 0, ptr %s16 + br label %local.array.join6 +local.array.slow4: + %t37 = call ptr @scr_arr_peek_ref(ptr %t9, double %t12) + %t38 = icmp ne ptr %t37, null + br i1 %t38, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + %t39 = call ptr @scr_closure_retain_v(ptr %t37) + store ptr %t39, ptr %s15 + store i32 0, ptr %s16 + br label %local.array.join6 +local.array.missing5: + store i64 0, ptr %s15 + store i32 1, ptr %s16 + br label %local.array.join6 +local.array.join6: + store ptr %s14, ptr %sc_l__x25_pushValue_0 + %t40 = load ptr, ptr %sc_l__x25_pushValue_0 + %t43 = getelementptr inbounds %ScrUnion, ptr %t40, i64 0, i32 1 + %t42 = load i32, ptr %t43 + %t41 = icmp eq i32 %t42, 1 + br i1 %t41, label %if.t13, label %if.f15 +if.t13: + %t44 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t45 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t46 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 1 + %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296} + %t48 = sitofp i64 %t47 to double + call void @scr_arr_set_undefined(ptr %t44, double %t48) + br label %if.j14 +if.f15: + %t49 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t50 = load ptr, ptr %sc_l__x25_pushValue_0 + %t53 = getelementptr inbounds %ScrUnion, ptr %t50, i64 0, i32 1 + %t52 = load i32, ptr %t53 + %t51 = icmp eq i32 %t52, 0 + br i1 %t51, label %tern.t16, label %tern.f17 +tern.t16: + %t55 = load ptr, ptr %sc_l__x25_pushValue_0 + %t56 = getelementptr inbounds %ScrUnion, ptr %t55, i64 0, i32 5 + %t57 = load ptr, ptr %t56 + %t58 = call ptr @scr_closure_retain_v(ptr %t57) + store ptr %t58, ptr %s54 + br label %tern.j18 +tern.f17: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup19 +exc.dead20: + store ptr null, ptr %s54 + br label %tern.j18 +tern.j18: + %t59 = load ptr, ptr %s54 + %t60 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 1 + %t61 = load i64, ptr %t60, !tbaa !2 + %t64 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 2 + %t62 = load i64, ptr %t64, !tbaa !2 + %t63 = icmp ult i64 %t61, %t62 + br i1 %t63, label %arr.push.dense21, label %arr.push.slow22 +arr.push.dense21: + %t65 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 8 + %t67 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 9 + %t66 = load ptr, ptr %t65, !tbaa !2 + %t68 = load ptr, ptr %t67, !tbaa !2 + %t69 = getelementptr inbounds i8, ptr %t68, i64 %t61 + %t70 = getelementptr inbounds i64, ptr %t66, i64 %t61 + store ptr %t59, ptr %t70, !tbaa !6 + store i8 1, ptr %t69, !tbaa !4 + %t71 = add nuw i64 %t61, 1 + store i64 %t71, ptr %t60, !tbaa !2 + %t73 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 6 + %t74 = load i32, ptr %t73, !tbaa !2 + %t78 = zext i32 %t74 to i64 + %t75 = icmp eq i64 %t78, %t61 + %t76 = add i32 %t74, 1 + %t77 = select i1 %t75, i32 %t76, i32 %t74 + store i32 %t77, ptr %t73, !tbaa !2 + %t72 = sitofp i64 %t71 to double + br label %arr.push.join23 +arr.push.slow22: + %t79 = call double @scr_arr_push_ref(ptr %t49, ptr %t59) cold + br label %arr.push.join23 +arr.push.join23: + %t80 = phi double [ %t72, %arr.push.dense21 ], [ %t79, %arr.push.slow22 ] + br label %if.j14 +if.j14: + %t81 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t82 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 1 + %t83 = load i64, ptr %t82, !tbaa !2, !range !{i64 0, i64 4294967296} + %t84 = sitofp i64 %t83 to double + %t85 = load ptr, ptr %s15 + call void @scr_closure_release(ptr %t85) + br label %loop.u3 +loop.u3: + %t86 = load i64, ptr %s1 + %t87 = add nuw i64 %t86, 1 + store i64 %t87, ptr %s1 + br label %loop.c1 +loop.e0: + store i32 0, ptr %sc_l_i_1 + br label %loop.c25 +loop.c25: + %t88 = load i32, ptr %sc_l_i_1 + %t89 = uitofp i32 %t88 to double + %t90 = load ptr, ptr %sc_l_b_0 + %t92 = icmp eq ptr %t90, null + br i1 %t92, label %read.then28, label %read.else29 +read.then28: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup31 +exc.dead32: + store ptr null, ptr %s93 + br label %read.join30 +read.else29: + %t94 = load ptr, ptr %sc_l_b_0 + store ptr %t94, ptr %s93 + br label %read.join30 +read.join30: + %t95 = load ptr, ptr %s93 + %t96 = getelementptr inbounds %ScrArr, ptr %t95, i32 0, i32 1 + %t97 = load i64, ptr %t96, !tbaa !2, !range !{i64 0, i64 4294967296} + %t98 = sitofp i64 %t97 to double + %t100 = fptosi double %t98 to i64 + %t101 = zext i32 %t88 to i64 + %t99 = icmp slt i64 %t101, %t100 + br i1 %t99, label %loop.b26, label %loop.e24 +loop.b26: + %t102 = load ptr, ptr %sc_l_out_0 + store ptr %t102, ptr %sc_l__x25_pushTarget_1 + %t103 = load ptr, ptr %sc_l_b_0 + %t104 = call ptr @sc_bf__x25_union_narrow_12(ptr %t103) ; borrowed result + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u33, label %exc.k34 +exc.u33: + br label %exc.cleanup31 +exc.k34: + %t108 = load i32, ptr %sc_l_i_1 + %t109 = uitofp i32 %t108 to double + %t113 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 2 + %t114 = load i64, ptr %t113, !tbaa !2 + %t115 = fptosi double %t109 to i64 + %t116 = freeze i64 %t115 + %t117 = sitofp i64 %t116 to double + %t118 = fcmp oeq double %t117, %t109 + %t119 = icmp ult i64 %t116, %t114 + %t120 = and i1 %t118, %t119 + br i1 %t120, label %local.array.range38, label %local.array.slow35 +local.array.range38: + br label %local.array.dense39 +local.array.dense39: + %t121 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 6 + %t122 = load i32, ptr %t121, !tbaa !2 + %t124 = zext i32 %t122 to i64 + %t123 = icmp ult i64 %t116, %t124 + br i1 %t123, label %local.array.value41, label %local.array.len40 +local.array.len40: + %t125 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 1 + %t126 = load i64, ptr %t125, !tbaa !2, !range !{i64 0, i64 4294967296} + %t127 = icmp ult i64 %t116, %t126 + br i1 %t127, label %local.array.state42, label %local.array.missing36 +local.array.state42: + %t128 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 9 + %t129 = load ptr, ptr %t128, !tbaa !2 + %t130 = getelementptr inbounds i8, ptr %t129, i64 %t116 + %t131 = load i8, ptr %t130, !tbaa !4 + %t132 = icmp eq i8 %t131, 1 + br i1 %t132, label %local.array.value41, label %local.array.missing36 +local.array.value41: + %t133 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 8 + %t134 = load ptr, ptr %t133, !tbaa !2 + %t135 = getelementptr inbounds i64, ptr %t134, i64 %t116 + %t136 = load ptr, ptr %t135, !tbaa !6 + %t137 = call ptr @scr_closure_retain_v(ptr %t136) + store ptr %t137, ptr %s111 + store i32 0, ptr %s112 + br label %local.array.join37 +local.array.slow35: + %t138 = call ptr @scr_arr_peek_ref(ptr %t104, double %t109) + %t139 = icmp ne ptr %t138, null + br i1 %t139, label %local.array.slow.value43, label %local.array.missing36 +local.array.slow.value43: + %t140 = call ptr @scr_closure_retain_v(ptr %t138) + store ptr %t140, ptr %s111 + store i32 0, ptr %s112 + br label %local.array.join37 +local.array.missing36: + store i64 0, ptr %s111 + store i32 1, ptr %s112 + br label %local.array.join37 +local.array.join37: + store ptr %s110, ptr %sc_l__x25_pushValue_1 + %t141 = load ptr, ptr %sc_l__x25_pushValue_1 + %t144 = getelementptr inbounds %ScrUnion, ptr %t141, i64 0, i32 1 + %t143 = load i32, ptr %t144 + %t142 = icmp eq i32 %t143, 1 + br i1 %t142, label %if.t44, label %if.f46 +if.t44: + %t145 = load ptr, ptr %sc_l__x25_pushTarget_1 + %t146 = load ptr, ptr %sc_l__x25_pushTarget_1 + %t147 = getelementptr inbounds %ScrArr, ptr %t146, i32 0, i32 1 + %t148 = load i64, ptr %t147, !tbaa !2, !range !{i64 0, i64 4294967296} + %t149 = sitofp i64 %t148 to double + call void @scr_arr_set_undefined(ptr %t145, double %t149) + br label %if.j45 +if.f46: + %t150 = load ptr, ptr %sc_l__x25_pushTarget_1 + %t151 = load ptr, ptr %sc_l__x25_pushValue_1 + %t154 = getelementptr inbounds %ScrUnion, ptr %t151, i64 0, i32 1 + %t153 = load i32, ptr %t154 + %t152 = icmp eq i32 %t153, 0 + br i1 %t152, label %tern.t47, label %tern.f48 +tern.t47: + %t156 = load ptr, ptr %sc_l__x25_pushValue_1 + %t157 = getelementptr inbounds %ScrUnion, ptr %t156, i64 0, i32 5 + %t158 = load ptr, ptr %t157 + %t159 = call ptr @scr_closure_retain_v(ptr %t158) + store ptr %t159, ptr %s155 + br label %tern.j49 +tern.f48: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup50 +exc.dead51: + store ptr null, ptr %s155 + br label %tern.j49 +tern.j49: + %t160 = load ptr, ptr %s155 + %t161 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 1 + %t162 = load i64, ptr %t161, !tbaa !2 + %t165 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 2 + %t163 = load i64, ptr %t165, !tbaa !2 + %t164 = icmp ult i64 %t162, %t163 + br i1 %t164, label %arr.push.dense52, label %arr.push.slow53 +arr.push.dense52: + %t166 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 8 + %t168 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 9 + %t167 = load ptr, ptr %t166, !tbaa !2 + %t169 = load ptr, ptr %t168, !tbaa !2 + %t170 = getelementptr inbounds i8, ptr %t169, i64 %t162 + %t171 = getelementptr inbounds i64, ptr %t167, i64 %t162 + store ptr %t160, ptr %t171, !tbaa !6 + store i8 1, ptr %t170, !tbaa !4 + %t172 = add nuw i64 %t162, 1 + store i64 %t172, ptr %t161, !tbaa !2 + %t174 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 6 + %t175 = load i32, ptr %t174, !tbaa !2 + %t179 = zext i32 %t175 to i64 + %t176 = icmp eq i64 %t179, %t162 + %t177 = add i32 %t175, 1 + %t178 = select i1 %t176, i32 %t177, i32 %t175 + store i32 %t178, ptr %t174, !tbaa !2 + %t173 = sitofp i64 %t172 to double + br label %arr.push.join54 +arr.push.slow53: + %t180 = call double @scr_arr_push_ref(ptr %t150, ptr %t160) cold + br label %arr.push.join54 +arr.push.join54: + %t181 = phi double [ %t173, %arr.push.dense52 ], [ %t180, %arr.push.slow53 ] + br label %if.j45 +if.j45: + %t182 = load ptr, ptr %sc_l__x25_pushTarget_1 + %t183 = getelementptr inbounds %ScrArr, ptr %t182, i32 0, i32 1 + %t184 = load i64, ptr %t183, !tbaa !2, !range !{i64 0, i64 4294967296} + %t185 = sitofp i64 %t184 to double + %t186 = load ptr, ptr %s111 + call void @scr_closure_release(ptr %t186) + br label %loop.u27 +loop.u27: + %t187 = load i32, ptr %sc_l_i_1 + %t188 = uitofp i32 %t187 to double + %t190 = zext i32 %t187 to i64 + %t191 = add nsw i64 %t190, 1 + %t193 = trunc i64 %t191 to i32 + %t192 = sitofp i64 %t191 to double + %t194 = trunc i64 %t191 to i32 + store i32 %t194, ptr %sc_l_i_1 + br label %loop.c25 +loop.e24: + %t195 = load ptr, ptr %sc_l_out_0 + ret ptr %t195 +exc.cleanup19: + %t196 = load ptr, ptr %s15 + call void @scr_closure_release(ptr %t196) + %t197 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t197) + ret ptr null +exc.cleanup31: + %t198 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t198) + ret ptr null +exc.cleanup50: + %t199 = load ptr, ptr %s111 + call void @scr_closure_release(ptr %t199) + %t200 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t200) + ret ptr null +} +define internal ptr @sc_f__x25_m5_mergeMw(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_mergeMw(ptr %p0, ptr %p1) + call void @scr_arr_release(ptr %p0) + call void @scr_arr_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_m5_pathMeta(ptr %p_sc_l_path_0) #0 { ; %m5.pathMeta +entry: + %sc_l_path_0 = alloca ptr ; path + %sc_l_names_0 = alloca ptr ; names + %sc_l_idxs_0 = alloca ptr ; idxs + %sc_l_splat_0 = alloca double ; splat + %sc_l_segs_0 = alloca ptr ; segs + %sc_l_i_0 = alloca i32 ; i + %sc_l_seg_0 = alloca ptr ; seg + %s17 = alloca ptr + %s50 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_names_0 + store ptr null, ptr %sc_l_idxs_0 + store ptr null, ptr %sc_l_segs_0 + store ptr null, ptr %sc_l_seg_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_arr_new_small(i32 2) + store ptr %t4, ptr %sc_l_names_0 + %t5 = call ptr @scr_arr_new_small(i32 0) + store ptr %t5, ptr %sc_l_idxs_0 + store double 0xBFF0000000000000, ptr %sc_l_splat_0 + %t6 = load ptr, ptr %sc_l_path_0 + %t7 = call ptr @scr_str_split_limit(ptr %t6, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000) + store ptr %t7, ptr %sc_l_segs_0 + store i32 1, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t8 = load i32, ptr %sc_l_i_0 + %t9 = uitofp i32 %t8 to double + %t10 = load ptr, ptr %sc_l_segs_0 + %t11 = getelementptr inbounds %ScrArr, ptr %t10, i32 0, i32 1 + %t12 = load i64, ptr %t11, !tbaa !2, !range !{i64 0, i64 4294967296} + %t13 = sitofp i64 %t12 to double + %t15 = fptosi double %t13 to i64 + %t16 = zext i32 %t8 to i64 + %t14 = icmp slt i64 %t16, %t15 + br i1 %t14, label %loop.b4, label %loop.e2 +loop.b4: + %t18 = load ptr, ptr %sc_l_segs_0 + %t19 = load i32, ptr %sc_l_i_0 + %t20 = uitofp i32 %t19 to double + %t21 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2 + %t22 = load i64, ptr %t21, !tbaa !2 + %t23 = fptosi double %t20 to i64 + %t24 = freeze i64 %t23 + %t25 = sitofp i64 %t24 to double + %t26 = fcmp oeq double %t25, %t20 + %t27 = icmp ult i64 %t24, %t22 + %t28 = and i1 %t26, %t27 + br i1 %t28, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t29 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6 + %t30 = load i32, ptr %t29, !tbaa !2 + %t32 = zext i32 %t30 to i64 + %t31 = icmp ult i64 %t24, %t32 + br i1 %t31, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1 + %t34 = load i64, ptr %t33, !tbaa !2, !range !{i64 0, i64 4294967296} + %t35 = icmp ult i64 %t24, %t34 + br i1 %t35, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t36 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9 + %t37 = load ptr, ptr %t36, !tbaa !2 + %t38 = getelementptr inbounds i8, ptr %t37, i64 %t24 + %t39 = load i8, ptr %t38, !tbaa !4 + %t40 = icmp eq i8 %t39, 1 + br i1 %t40, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t41 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8 + %t42 = load ptr, ptr %t41, !tbaa !2 + %t43 = getelementptr inbounds i64, ptr %t42, i64 %t24 + %t44 = load ptr, ptr %t43, !tbaa !6 + %t45 = call ptr @sc_rc_retain_str(ptr %t44) + store ptr %t45, ptr %s17 + br label %local.array.join8 +local.array.slow6: + %t46 = call ptr @scr_arr_peek_ref(ptr %t18, double %t20) + %t47 = icmp ne ptr %t46, null + br i1 %t47, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t48 = call ptr @sc_rc_retain_str(ptr %t46) + store ptr %t48, ptr %s17 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %s17 + br label %local.array.join8 +local.array.join8: + %t49 = load ptr, ptr %s17 + %t52 = icmp eq ptr %t49, null + %t51 = select i1 %t52, i32 1, i32 0 + switch i32 %t51, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ] +u.a17: + %t53 = call ptr @sc_rc_retain_str(ptr %t49) + store ptr %t53, ptr %s50 + br label %us.j15 +u.a18: + store ptr @sc_lit_4134463689533233, ptr %s50 + br label %us.j15 +u.bad16: + call void @sc_bad_tag() + unreachable +us.j15: + %t54 = load ptr, ptr %s50 + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u19, label %exc.k20 +exc.u19: + %t58 = load ptr, ptr %s17 + call void @scr_str_release(ptr %t58) + call void @scr_str_release(ptr %t54) + br label %exc.cleanup21 +exc.k20: + store ptr %t54, ptr %sc_l_seg_0 + %t59 = load ptr, ptr %s17 + call void @scr_str_release(ptr %t59) + %t60 = load ptr, ptr %sc_l_seg_0 + %t61 = call zeroext i1 @sc_streq_1834571860458263(ptr %t60) + br i1 %t61, label %if.t22, label %if.f24 +if.t22: + %t62 = load i32, ptr %sc_l_i_0 + %t63 = uitofp i32 %t62 to double + store double %t63, ptr %sc_l_splat_0 + br label %if.j23 +if.f24: + %t64 = load ptr, ptr %sc_l_seg_0 + %t65 = call ptr @scr_str_char_at(ptr %t64, double 0x0000000000000000) + %t66 = call zeroext i1 @sc_streq_4075616746236128(ptr %t65) + call void @scr_str_release(ptr %t65) + br i1 %t66, label %if.t25, label %if.j26 +if.t25: + %t67 = load ptr, ptr %sc_l_names_0 + %t68 = load ptr, ptr %sc_l_seg_0 + %t69 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t70 = call ptr @scr_str_slice(ptr %t68, double 0x3FF0000000000000, double %t69) + %t71 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 1 + %t72 = load i64, ptr %t71, !tbaa !2 + %t75 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 2 + %t73 = load i64, ptr %t75, !tbaa !2 + %t74 = icmp ult i64 %t72, %t73 + br i1 %t74, label %arr.push.dense27, label %arr.push.slow28 +arr.push.dense27: + %t76 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 8 + %t78 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 9 + %t77 = load ptr, ptr %t76, !tbaa !2 + %t79 = load ptr, ptr %t78, !tbaa !2 + %t80 = getelementptr inbounds i8, ptr %t79, i64 %t72 + %t81 = getelementptr inbounds i64, ptr %t77, i64 %t72 + store ptr %t70, ptr %t81, !tbaa !6 + store i8 1, ptr %t80, !tbaa !4 + %t82 = add nuw i64 %t72, 1 + store i64 %t82, ptr %t71, !tbaa !2 + %t84 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 6 + %t85 = load i32, ptr %t84, !tbaa !2 + %t89 = zext i32 %t85 to i64 + %t86 = icmp eq i64 %t89, %t72 + %t87 = add i32 %t85, 1 + %t88 = select i1 %t86, i32 %t87, i32 %t85 + store i32 %t88, ptr %t84, !tbaa !2 + %t83 = sitofp i64 %t82 to double + br label %arr.push.join29 +arr.push.slow28: + %t90 = call double @scr_arr_push_ref(ptr %t67, ptr %t70) cold + br label %arr.push.join29 +arr.push.join29: + %t91 = phi double [ %t83, %arr.push.dense27 ], [ %t90, %arr.push.slow28 ] + %t92 = load ptr, ptr %sc_l_idxs_0 + %t93 = load i32, ptr %sc_l_i_0 + %t94 = uitofp i32 %t93 to double + %t95 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 1 + %t96 = load i64, ptr %t95, !tbaa !2 + %t99 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 2 + %t97 = load i64, ptr %t99, !tbaa !2 + %t98 = icmp ult i64 %t96, %t97 + br i1 %t98, label %arr.push.dense30, label %arr.push.slow31 +arr.push.dense30: + %t100 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 8 + %t102 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 9 + %t101 = load ptr, ptr %t100, !tbaa !2 + %t103 = load ptr, ptr %t102, !tbaa !2 + %t104 = getelementptr inbounds i8, ptr %t103, i64 %t96 + %t105 = getelementptr inbounds i64, ptr %t101, i64 %t96 + store double %t94, ptr %t105, !tbaa !6 + store i8 1, ptr %t104, !tbaa !4 + %t106 = add nuw i64 %t96, 1 + store i64 %t106, ptr %t95, !tbaa !2 + %t108 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 6 + %t109 = load i32, ptr %t108, !tbaa !2 + %t113 = zext i32 %t109 to i64 + %t110 = icmp eq i64 %t113, %t96 + %t111 = add i32 %t109, 1 + %t112 = select i1 %t110, i32 %t111, i32 %t109 + store i32 %t112, ptr %t108, !tbaa !2 + %t107 = sitofp i64 %t106 to double + br label %arr.push.join32 +arr.push.slow31: + %t114 = call double @scr_arr_push_f64(ptr %t92, double %t94) cold + br label %arr.push.join32 +arr.push.join32: + %t115 = phi double [ %t107, %arr.push.dense30 ], [ %t114, %arr.push.slow31 ] + br label %if.j26 +if.j26: + br label %if.j23 +if.j23: + %t116 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t116) + br label %loop.u5 +loop.u5: + %t117 = load i32, ptr %sc_l_i_0 + %t118 = uitofp i32 %t117 to double + %t120 = zext i32 %t117 to i64 + %t121 = add nsw i64 %t120, 1 + %t123 = trunc i64 %t121 to i32 + %t122 = sitofp i64 %t121 to double + %t124 = trunc i64 %t121 to i32 + store i32 %t124, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t125 = call ptr @sc_rnew_r9() + %t126 = load ptr, ptr %sc_l_names_0 + %t127 = call ptr @scr_arr_retain_v(ptr %t126) + %t128 = getelementptr inbounds %sc_rs_r9, ptr %t125, i64 0, i32 2 + store ptr %t127, ptr %t128 + %t129 = load ptr, ptr %sc_l_idxs_0 + %t130 = call ptr @scr_arr_retain_v(ptr %t129) + %t131 = getelementptr inbounds %sc_rs_r9, ptr %t125, i64 0, i32 1 + store ptr %t130, ptr %t131 + %t132 = load double, ptr %sc_l_splat_0 + %t133 = getelementptr inbounds %sc_rs_r9, ptr %t125, i64 0, i32 3 + store double %t132, ptr %t133 + %t134 = load ptr, ptr %sc_l_names_0 + call void @scr_arr_release(ptr %t134) + %t135 = load ptr, ptr %sc_l_idxs_0 + call void @scr_arr_release(ptr %t135) + %t136 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t136) + ret ptr %t125 +exc.cleanup21: + %t137 = load ptr, ptr %sc_l_names_0 + call void @scr_arr_release(ptr %t137) + %t138 = load ptr, ptr %sc_l_idxs_0 + call void @scr_arr_release(ptr %t138) + %t139 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t139) + ret ptr null +} +define internal ptr @sc_f__x25_m5_pathMeta(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_pathMeta(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_m5_mountRoutes(ptr %p_sc_l_sub_0, ptr %p_sc_l_app_0, ptr %p_sc_l_prefix_0, ptr %p_sc_l_pre_0) #0 { ; %m5.mountRoutes +entry: + %sc_l_sub_0 = alloca ptr ; sub + %sc_l_app_0 = alloca ptr ; app + %sc_l_prefix_0 = alloca ptr ; prefix + %sc_l_pre_0 = alloca ptr ; pre + %sc_l_sn_0 = alloca ptr ; sn + %sc_l_stack_0 = alloca ptr ; stack + %sc_l_f_0 = alloca ptr ; f + %sc_l__x25_popArray_0 = alloca ptr ; %popArray + %sc_l__x25_popLength_0 = alloca i32 ; %popLength + %sc_l_n_0 = alloca ptr ; n + %sc_l_a_0 = alloca ptr ; a + %sc_l_hs_0 = alloca ptr ; hs + %sc_l_path_0 = alloca ptr ; path + %sc_l_i_0 = alloca i32 ; i + %sc_l_subMw_0 = alloca ptr ; subMw + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_idx_0 = alloca double ; idx + %sc_l_ch_0 = alloca ptr ; ch + %sc_l_i_1 = alloca i32 ; i + %sc_l_c_0 = alloca ptr ; c + %sc_l_seg_0 = alloca ptr ; seg + %exc.cell = load ptr, ptr @scr_exc_active + %s107 = alloca ptr + %s143 = alloca ptr + %s151 = alloca ptr + %s170 = alloca i64 ; integer induction i + %s244 = alloca ptr + %s368 = alloca [5 x ptr] + %s387 = alloca ptr + %s391 = alloca ptr + %s438 = alloca ptr + %s443 = alloca i64 ; integer induction i + %s506 = alloca ptr + %s515 = alloca ptr + %s526 = alloca ptr + %s532 = alloca %ScrUnion + %s533 = getelementptr inbounds %ScrUnion, ptr %s532, i32 0, i32 5 + %s534 = getelementptr inbounds %ScrUnion, ptr %s532, i32 0, i32 1 + %s570 = alloca [3 x ptr] + store ptr null, ptr %sc_l_sn_0 + store ptr null, ptr %sc_l_stack_0 + store ptr null, ptr %sc_l_f_0 + store ptr null, ptr %sc_l__x25_popArray_0 + store ptr null, ptr %sc_l_n_0 + store ptr null, ptr %sc_l_a_0 + store ptr null, ptr %sc_l_hs_0 + store ptr null, ptr %sc_l_path_0 + store ptr null, ptr %sc_l_subMw_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_ch_0 + store ptr null, ptr %sc_l_c_0 + store ptr null, ptr %sc_l_seg_0 + store ptr %p_sc_l_sub_0, ptr %sc_l_sub_0 + store ptr %p_sc_l_app_0, ptr %sc_l_app_0 + store ptr %p_sc_l_prefix_0, ptr %sc_l_prefix_0 + store ptr %p_sc_l_pre_0, ptr %sc_l_pre_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_sub_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !32 + %t7 = call ptr @scr_arr_retain_v(ptr %t6) + store ptr %t7, ptr %sc_l_sn_0 + %t8 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r17.sc_rrelease_r17.null, i64 1) + %t9 = call ptr @sc_rnew_r17() + %t10 = getelementptr inbounds %sc_rs_r17, ptr %t9, i64 0, i32 2 + store double 0x0000000000000000, ptr %t10 + %t11 = getelementptr inbounds %sc_rs_r17, ptr %t9, i64 0, i32 1 + store ptr @sc_lit_4005573543169985, ptr %t11 + %t12 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 1 + %t13 = load i64, ptr %t12, !tbaa !2 + %t16 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 2 + %t14 = load i64, ptr %t16, !tbaa !2 + %t15 = icmp ult i64 %t13, %t14 + br i1 %t15, label %arr.push.dense2, label %arr.push.slow3 +arr.push.dense2: + %t17 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 8 + %t19 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 9 + %t18 = load ptr, ptr %t17, !tbaa !2 + %t20 = load ptr, ptr %t19, !tbaa !2 + %t21 = getelementptr inbounds i8, ptr %t20, i64 %t13 + %t22 = getelementptr inbounds i64, ptr %t18, i64 %t13 + store ptr %t9, ptr %t22, !tbaa !6 + store i8 1, ptr %t21, !tbaa !4 + %t23 = add nuw i64 %t13, 1 + store i64 %t23, ptr %t12, !tbaa !2 + %t25 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 6 + %t26 = load i32, ptr %t25, !tbaa !2 + %t30 = zext i32 %t26 to i64 + %t27 = icmp eq i64 %t30, %t13 + %t28 = add i32 %t26, 1 + %t29 = select i1 %t27, i32 %t28, i32 %t26 + store i32 %t29, ptr %t25, !tbaa !2 + %t24 = sitofp i64 %t23 to double + br label %arr.push.join4 +arr.push.slow3: + %t31 = call double @scr_arr_push_ref(ptr %t8, ptr %t9) cold + br label %arr.push.join4 +arr.push.join4: + %t32 = phi double [ %t24, %arr.push.dense2 ], [ %t31, %arr.push.slow3 ] + store ptr %t8, ptr %sc_l_stack_0 + br label %loop.c6 +loop.c6: + %t33 = load ptr, ptr %sc_l_stack_0 + %t34 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 1 + %t35 = load i64, ptr %t34, !tbaa !2, !range !{i64 0, i64 4294967296} + %t36 = sitofp i64 %t35 to double + %t38 = fptosi double %t36 to i64 + %t37 = icmp sgt i64 %t38, 0 + br i1 %t37, label %loop.b7, label %loop.e5 +loop.b7: + %t39 = load ptr, ptr %sc_l_stack_0 + %t40 = load ptr, ptr %sc_l_stack_0 + %t41 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 1 + %t42 = load i64, ptr %t41, !tbaa !2, !range !{i64 0, i64 4294967296} + %t43 = sitofp i64 %t42 to double + %t45 = fptosi double %t43 to i64 + %t46 = sub nsw i64 %t45, 1 + %t48 = trunc i64 %t46 to i32 + %t47 = sitofp i64 %t46 to double + %t49 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 2 + %t50 = load i64, ptr %t49, !tbaa !2 + %t51 = fptosi double %t47 to i64 + %t52 = freeze i64 %t51 + %t53 = sitofp i64 %t52 to double + %t54 = fcmp oeq double %t53, %t47 + %t55 = icmp ult i64 %t52, %t50 + %t56 = and i1 %t54, %t55 + br i1 %t56, label %local.array.range11, label %local.array.slow8 +local.array.range11: + br label %local.array.dense12 +local.array.dense12: + %t57 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 6 + %t58 = load i32, ptr %t57, !tbaa !2 + %t60 = zext i32 %t58 to i64 + %t59 = icmp ult i64 %t52, %t60 + br i1 %t59, label %local.array.value14, label %local.array.len13 +local.array.len13: + %t61 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1 + %t62 = load i64, ptr %t61, !tbaa !2, !range !{i64 0, i64 4294967296} + %t63 = icmp ult i64 %t52, %t62 + br i1 %t63, label %local.array.state15, label %local.array.missing9 +local.array.state15: + %t64 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 9 + %t65 = load ptr, ptr %t64, !tbaa !2 + %t66 = getelementptr inbounds i8, ptr %t65, i64 %t52 + %t67 = load i8, ptr %t66, !tbaa !4 + %t68 = icmp eq i8 %t67, 1 + br i1 %t68, label %local.array.value14, label %local.array.missing9 +local.array.value14: + %t69 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 8 + %t70 = load ptr, ptr %t69, !tbaa !2 + %t71 = getelementptr inbounds i64, ptr %t70, i64 %t52 + %t72 = load ptr, ptr %t71, !tbaa !6 + %t73 = call ptr @sc_rretain_r17(ptr %t72) + store ptr %t73, ptr %sc_l_f_0 + br label %local.array.join10 +local.array.slow8: + %t74 = call ptr @scr_arr_peek_ref(ptr %t39, double %t47) + %t75 = icmp ne ptr %t74, null + br i1 %t75, label %local.array.slow.value16, label %local.array.missing9 +local.array.slow.value16: + %t76 = call ptr @sc_rretain_r17(ptr %t74) + store ptr %t76, ptr %sc_l_f_0 + br label %local.array.join10 +local.array.missing9: + store ptr null, ptr %sc_l_f_0 + br label %local.array.join10 +local.array.join10: + %t77 = load ptr, ptr %sc_l_stack_0 + store ptr %t77, ptr %sc_l__x25_popArray_0 + %t78 = load ptr, ptr %sc_l__x25_popArray_0 + %t79 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 1 + %t80 = load i64, ptr %t79, !tbaa !2, !range !{i64 0, i64 4294967296} + %t81 = sitofp i64 %t80 to double + %t82 = fptosi double %t81 to i64 + %t83 = trunc i64 %t82 to i32 + store i32 %t83, ptr %sc_l__x25_popLength_0 + %t84 = load i32, ptr %sc_l__x25_popLength_0 + %t85 = uitofp i32 %t84 to double + %t87 = zext i32 %t84 to i64 + %t86 = icmp sgt i64 %t87, 0 + br i1 %t86, label %if.t17, label %if.f19 +if.t17: + %t88 = load ptr, ptr %sc_l__x25_popArray_0 + %t89 = load i32, ptr %sc_l__x25_popLength_0 + %t90 = uitofp i32 %t89 to double + %t92 = zext i32 %t89 to i64 + %t93 = sub nsw i64 %t92, 1 + %t95 = trunc i64 %t93 to i32 + %t94 = sitofp i64 %t93 to double + %t96 = getelementptr inbounds %ScrArr, ptr %t88, i32 0, i32 1 + %t97 = load i64, ptr %t96, !tbaa !2, !range !{i64 0, i64 4294967296} + %t98 = sitofp i64 %t97 to double + %t99 = fcmp oeq double %t94, %t98 + br i1 %t99, label %arr.len.done21, label %arr.len.set20 +arr.len.set20: + call void @scr_arr_set_len(ptr %t88, double %t94) + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u22, label %exc.k23 +exc.u22: + br label %exc.cleanup24 +exc.k23: + br label %arr.len.done21 +arr.len.done21: + br label %if.j18 +if.f19: + br label %if.j18 +if.j18: + %t103 = load ptr, ptr %sc_l_sn_0 + %t104 = load ptr, ptr %sc_l_f_0 + %t106 = icmp eq ptr %t104, null + br i1 %t106, label %read.then25, label %read.else26 +read.then25: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1410221948126323) + br label %exc.cleanup24 +exc.dead28: + store ptr null, ptr %s107 + br label %read.join27 +read.else26: + %t108 = load ptr, ptr %sc_l_f_0 + store ptr %t108, ptr %s107 + br label %read.join27 +read.join27: + %t109 = load ptr, ptr %s107 + %t110 = getelementptr inbounds %sc_rs_r17, ptr %t109, i64 0, i32 2 + %t111 = load double, ptr %t110 + %t112 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 2 + %t113 = load i64, ptr %t112, !tbaa !2 + %t114 = fptosi double %t111 to i64 + %t115 = freeze i64 %t114 + %t116 = sitofp i64 %t115 to double + %t117 = fcmp oeq double %t116, %t111 + %t118 = icmp ult i64 %t115, %t113 + %t119 = and i1 %t117, %t118 + br i1 %t119, label %local.array.range32, label %local.array.slow29 +local.array.range32: + br label %local.array.dense33 +local.array.dense33: + %t120 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 6 + %t121 = load i32, ptr %t120, !tbaa !2 + %t123 = zext i32 %t121 to i64 + %t122 = icmp ult i64 %t115, %t123 + br i1 %t122, label %local.array.value35, label %local.array.len34 +local.array.len34: + %t124 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 1 + %t125 = load i64, ptr %t124, !tbaa !2, !range !{i64 0, i64 4294967296} + %t126 = icmp ult i64 %t115, %t125 + br i1 %t126, label %local.array.state36, label %local.array.missing30 +local.array.state36: + %t127 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 9 + %t128 = load ptr, ptr %t127, !tbaa !2 + %t129 = getelementptr inbounds i8, ptr %t128, i64 %t115 + %t130 = load i8, ptr %t129, !tbaa !4 + %t131 = icmp eq i8 %t130, 1 + br i1 %t131, label %local.array.value35, label %local.array.missing30 +local.array.value35: + %t132 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 8 + %t133 = load ptr, ptr %t132, !tbaa !2 + %t134 = getelementptr inbounds i64, ptr %t133, i64 %t115 + %t135 = load ptr, ptr %t134, !tbaa !6 + %t136 = call ptr @sc_rretain_r5(ptr %t135) + store ptr %t136, ptr %sc_l_n_0 + br label %local.array.join31 +local.array.slow29: + %t137 = call ptr @scr_arr_peek_ref(ptr %t103, double %t111) + %t138 = icmp ne ptr %t137, null + br i1 %t138, label %local.array.slow.value37, label %local.array.missing30 +local.array.slow.value37: + %t139 = call ptr @sc_rretain_r5(ptr %t137) + store ptr %t139, ptr %sc_l_n_0 + br label %local.array.join31 +local.array.missing30: + store ptr null, ptr %sc_l_n_0 + br label %local.array.join31 +local.array.join31: + %t140 = load ptr, ptr %sc_l_f_0 + %t142 = icmp eq ptr %t140, null + br i1 %t142, label %read.then38, label %read.else39 +read.then38: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4291706737594396) + br label %exc.cleanup41 +exc.dead42: + store ptr null, ptr %s143 + br label %read.join40 +read.else39: + %t144 = load ptr, ptr %sc_l_f_0 + store ptr %t144, ptr %s143 + br label %read.join40 +read.join40: + %t145 = load ptr, ptr %s143 + %t146 = getelementptr inbounds %sc_rs_r17, ptr %t145, i64 0, i32 1 + %t147 = load ptr, ptr %t146 + store ptr %t147, ptr %sc_l_a_0 + %t148 = load ptr, ptr %sc_l_n_0 + %t150 = icmp eq ptr %t148, null + br i1 %t150, label %read.then43, label %read.else44 +read.then43: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2156830633837320) + br label %exc.cleanup41 +exc.dead46: + store ptr null, ptr %s151 + br label %read.join45 +read.else44: + %t152 = load ptr, ptr %sc_l_n_0 + store ptr %t152, ptr %s151 + br label %read.join45 +read.join45: + %t153 = load ptr, ptr %s151 + %t154 = getelementptr inbounds %sc_rs_r5, ptr %t153, i64 0, i32 2 + %t155 = load ptr, ptr %t154 + %t156 = call ptr @scr_arr_retain_v(ptr %t155) + store ptr %t156, ptr %sc_l_hs_0 + %t157 = load ptr, ptr %sc_l_hs_0 + %t158 = getelementptr inbounds %ScrArr, ptr %t157, i32 0, i32 1 + %t159 = load i64, ptr %t158, !tbaa !2, !range !{i64 0, i64 4294967296} + %t160 = sitofp i64 %t159 to double + %t162 = fptosi double %t160 to i64 + %t161 = icmp sgt i64 %t162, 0 + br i1 %t161, label %if.t47, label %if.j48 +if.t47: + %t163 = load ptr, ptr %sc_l_prefix_0 + %t164 = call ptr @sc_rc_retain_str(ptr %t163) + %t165 = load ptr, ptr %sc_l_a_0 + %t166 = call ptr @scr_str_concat(ptr %t164, ptr %t165) + store ptr %t166, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t164) + %t167 = load ptr, ptr %sc_l_path_0 + %t168 = call zeroext i1 @sc_streq_4005573543169985(ptr %t167) + br i1 %t168, label %if.t49, label %if.j50 +if.t49: + %t169 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t169) + store ptr @sc_lit_2434240011052594, ptr %sc_l_path_0 + br label %if.j50 +if.j50: + %t171 = fptosi double 0x0000000000000000 to i64 + store i64 %t171, ptr %s170 + br label %loop.c52 +loop.c52: + %t172 = load ptr, ptr %sc_l_hs_0 + %t173 = getelementptr inbounds %ScrArr, ptr %t172, i64 0, i32 1 + %t174 = load i64, ptr %t173, !tbaa !2 + %t175 = load i64, ptr %s170 + %t176 = icmp ult i64 %t175, %t174 + br i1 %t176, label %loop.b53, label %loop.e51 +loop.b53: + %t177 = load ptr, ptr %sc_l_sub_0 + %t178 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t177, i64 0, i32 4 + %t179 = load ptr, ptr %t178, !tbaa !34 + %t180 = load ptr, ptr %sc_l_hs_0 + %t181 = load i64, ptr %s170 + %t182 = sitofp i64 %t181 to double + %t183 = trunc i64 %t181 to i32 + %t188 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 8 + %t189 = load ptr, ptr %t188, !tbaa !2 + %t184 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 1 + %t185 = load i64, ptr %t184, !tbaa !2, !range !{i64 0, i64 4294967296} + %t186 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 2 + %t187 = load i64, ptr %t186, !tbaa !2 + %t190 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 9 + %t191 = load ptr, ptr %t190, !tbaa !2 + %t192 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 6 + %t193 = load i32, ptr %t192, !tbaa !2 + %t194 = zext i32 %t193 to i64 + %t195 = icmp ult i64 %t181, %t194 + br i1 %t195, label %arr.get.value57, label %arr.check58 +arr.check58: + %t196 = icmp ult i64 %t181, %t187 + %t197 = icmp ult i64 %t181, %t185 + %t198 = and i1 %t196, %t197 + br i1 %t198, label %arr.dense59, label %arr.get.slow55 +arr.dense59: + %t199 = getelementptr inbounds i8, ptr %t191, i64 %t181 + %t200 = load i8, ptr %t199, !tbaa !4 + %t201 = icmp eq i8 %t200, 1 + br i1 %t201, label %arr.get.value57, label %arr.get.slow55 +arr.get.value57: + %t202 = getelementptr inbounds i64, ptr %t189, i64 %t181 + %t203 = load double, ptr %t202, !tbaa !6 + br label %arr.get.join56 +arr.get.slow55: + %t204 = call double @scr_arr_get_number(ptr %t180, double %t182) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join56 +arr.get.join56: + %t205 = phi double [ %t203, %arr.get.value57 ], [ %t204, %arr.get.slow55 ] + %t206 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 2 + %t207 = load i64, ptr %t206, !tbaa !2 + %t208 = fptosi double %t205 to i64 + %t209 = freeze i64 %t208 + %t210 = sitofp i64 %t209 to double + %t211 = fcmp oeq double %t210, %t205 + %t212 = icmp ult i64 %t209, %t207 + %t213 = and i1 %t211, %t212 + br i1 %t213, label %local.array.range63, label %local.array.slow60 +local.array.range63: + br label %local.array.dense64 +local.array.dense64: + %t214 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 6 + %t215 = load i32, ptr %t214, !tbaa !2 + %t217 = zext i32 %t215 to i64 + %t216 = icmp ult i64 %t209, %t217 + br i1 %t216, label %local.array.value66, label %local.array.len65 +local.array.len65: + %t218 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 1 + %t219 = load i64, ptr %t218, !tbaa !2, !range !{i64 0, i64 4294967296} + %t220 = icmp ult i64 %t209, %t219 + br i1 %t220, label %local.array.state67, label %local.array.missing61 +local.array.state67: + %t221 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 9 + %t222 = load ptr, ptr %t221, !tbaa !2 + %t223 = getelementptr inbounds i8, ptr %t222, i64 %t209 + %t224 = load i8, ptr %t223, !tbaa !4 + %t225 = icmp eq i8 %t224, 1 + br i1 %t225, label %local.array.value66, label %local.array.missing61 +local.array.value66: + %t226 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 8 + %t227 = load ptr, ptr %t226, !tbaa !2 + %t228 = getelementptr inbounds i64, ptr %t227, i64 %t209 + %t229 = load ptr, ptr %t228, !tbaa !6 + %t230 = call ptr @scr_arr_retain_v(ptr %t229) + store ptr %t230, ptr %sc_l_subMw_0 + br label %local.array.join62 +local.array.slow60: + %t231 = call ptr @scr_arr_peek_ref(ptr %t179, double %t205) + %t232 = icmp ne ptr %t231, null + br i1 %t232, label %local.array.slow.value68, label %local.array.missing61 +local.array.slow.value68: + %t233 = call ptr @scr_arr_retain_v(ptr %t231) + store ptr %t233, ptr %sc_l_subMw_0 + br label %local.array.join62 +local.array.missing61: + store ptr null, ptr %sc_l_subMw_0 + br label %local.array.join62 +local.array.join62: + %t234 = load ptr, ptr %sc_l_app_0 + store ptr %t234, ptr %sc_l__x25_callbackReceiver_0 + %t235 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t236 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t235) + %t237 = load i32, ptr %exc.cell + %t238 = icmp ne i32 %t237, 0 + %t239 = call i1 @llvm.expect.i1(i1 %t238, i1 false) + br i1 %t239, label %exc.u69, label %exc.k70 +exc.u69: + call void @sc_rc_release_dyn(ptr %t236) + br label %exc.cleanup71 +exc.k70: + store ptr %t236, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t240 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t241 = getelementptr inbounds i8, ptr %t240, i64 8 ; ->kind + %t242 = load i32, ptr %t241 + %t243 = icmp eq i32 %t242, 6 + br i1 %t243, label %tern.t72, label %tern.f73 +tern.t72: + %t246 = call ptr @scr_dyn_undefined() + %t245 = call ptr @scr_dyn_retain_v(ptr %t246) + store ptr %t245, ptr %s244 + br label %tern.j74 +tern.f73: + %t247 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t249 = call ptr @sc_f__x25_dyn_class_property_5(ptr %t248) + %t250 = load i32, ptr %exc.cell + %t251 = icmp ne i32 %t250, 0 + %t252 = call i1 @llvm.expect.i1(i1 %t251, i1 false) + br i1 %t252, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t249) + br label %exc.cleanup77 +exc.k76: + store ptr %t249, ptr %s244 + br label %tern.j74 +tern.j74: + %t253 = load ptr, ptr %s244 + store ptr %t253, ptr %sc_l__x25_callback_0 + %t254 = load ptr, ptr %sc_l__x25_callback_0 + %t255 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t256 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t255, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t257 = load ptr, ptr %sc_l_sub_0 + %t258 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t257, i64 0, i32 3 + %t259 = load ptr, ptr %t258, !tbaa !36 + %t260 = load ptr, ptr %sc_l_hs_0 + %t261 = load i64, ptr %s170 + %t262 = sitofp i64 %t261 to double + %t263 = trunc i64 %t261 to i32 + %t268 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 8 + %t269 = load ptr, ptr %t268, !tbaa !2 + %t264 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 1 + %t265 = load i64, ptr %t264, !tbaa !2, !range !{i64 0, i64 4294967296} + %t266 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 2 + %t267 = load i64, ptr %t266, !tbaa !2 + %t270 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 9 + %t271 = load ptr, ptr %t270, !tbaa !2 + %t272 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 6 + %t273 = load i32, ptr %t272, !tbaa !2 + %t274 = zext i32 %t273 to i64 + %t275 = icmp ult i64 %t261, %t274 + br i1 %t275, label %arr.get.value80, label %arr.check81 +arr.check81: + %t276 = icmp ult i64 %t261, %t267 + %t277 = icmp ult i64 %t261, %t265 + %t278 = and i1 %t276, %t277 + br i1 %t278, label %arr.dense82, label %arr.get.slow78 +arr.dense82: + %t279 = getelementptr inbounds i8, ptr %t271, i64 %t261 + %t280 = load i8, ptr %t279, !tbaa !4 + %t281 = icmp eq i8 %t280, 1 + br i1 %t281, label %arr.get.value80, label %arr.get.slow78 +arr.get.value80: + %t282 = getelementptr inbounds i64, ptr %t269, i64 %t261 + %t283 = load double, ptr %t282, !tbaa !6 + br label %arr.get.join79 +arr.get.slow78: + %t284 = call double @scr_arr_get_number(ptr %t260, double %t262) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join79 +arr.get.join79: + %t285 = phi double [ %t283, %arr.get.value80 ], [ %t284, %arr.get.slow78 ] + %t286 = call ptr @sc_bf__x25_arr_idxOr_2(ptr %t259, double %t285) + %t287 = call ptr @sc_td_28(ptr %t286) + %t288 = load ptr, ptr %sc_l_pre_0 + %t289 = load ptr, ptr %sc_l_subMw_0 + %t290 = call ptr @sc_bf__x25_m5_mergeMw(ptr %t288, ptr %t289) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u83, label %exc.k84 +exc.u83: + call void @scr_arr_release(ptr %t290) + call void @sc_rc_release_dyn(ptr %t256) + call void @scr_union_release(ptr %t286) + call void @sc_rc_release_dyn(ptr %t287) + br label %exc.cleanup85 +exc.k84: + %t294 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t290, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t294, ptr @sc_ldr_26_materialize_ops) + %t295 = load ptr, ptr %sc_l_path_0 + %t296 = call ptr @sc_bf__x25_m5_pathMeta(ptr %t295) + %t297 = load i32, ptr %exc.cell + %t298 = icmp ne i32 %t297, 0 + %t299 = call i1 @llvm.expect.i1(i1 %t298, i1 false) + br i1 %t299, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rrelease_r9(ptr %t296) + call void @sc_rc_release_dyn(ptr %t256) + call void @scr_union_release(ptr %t286) + call void @sc_rc_release_dyn(ptr %t287) + call void @scr_arr_release(ptr %t290) + call void @sc_rc_release_dyn(ptr %t294) + br label %exc.cleanup85 +exc.k87: + %t300 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t296, ptr @sc_rretain_r9, ptr @sc_rrelease_r9, ptr @sc_cs_1790505695584955, i64 9, ptr @sc_ldr_33_materialize, ptr @sc_ldr_33_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t300, ptr @sc_ldr_33_materialize_rops) + %t301 = load ptr, ptr %sc_l_sub_0 + %t302 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t301, i64 0, i32 13 + %t303 = load ptr, ptr %t302, !tbaa !38 + %t304 = load ptr, ptr %sc_l_hs_0 + %t305 = load i64, ptr %s170 + %t306 = sitofp i64 %t305 to double + %t307 = trunc i64 %t305 to i32 + %t312 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 8 + %t313 = load ptr, ptr %t312, !tbaa !2 + %t308 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 1 + %t309 = load i64, ptr %t308, !tbaa !2, !range !{i64 0, i64 4294967296} + %t310 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 2 + %t311 = load i64, ptr %t310, !tbaa !2 + %t314 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 9 + %t315 = load ptr, ptr %t314, !tbaa !2 + %t316 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 6 + %t317 = load i32, ptr %t316, !tbaa !2 + %t318 = zext i32 %t317 to i64 + %t319 = icmp ult i64 %t305, %t318 + br i1 %t319, label %arr.get.value90, label %arr.check91 +arr.check91: + %t320 = icmp ult i64 %t305, %t311 + %t321 = icmp ult i64 %t305, %t309 + %t322 = and i1 %t320, %t321 + br i1 %t322, label %arr.dense92, label %arr.get.slow88 +arr.dense92: + %t323 = getelementptr inbounds i8, ptr %t315, i64 %t305 + %t324 = load i8, ptr %t323, !tbaa !4 + %t325 = icmp eq i8 %t324, 1 + br i1 %t325, label %arr.get.value90, label %arr.get.slow88 +arr.get.value90: + %t326 = getelementptr inbounds i64, ptr %t313, i64 %t305 + %t327 = load double, ptr %t326, !tbaa !6 + br label %arr.get.join89 +arr.get.slow88: + %t328 = call double @scr_arr_get_number(ptr %t304, double %t306) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join89 +arr.get.join89: + %t329 = phi double [ %t327, %arr.get.value90 ], [ %t328, %arr.get.slow88 ] + %t330 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %t303, double %t329) + %t331 = extractvalue { i32, i64 } %t330, 0 + %t332 = extractvalue { i32, i64 } %t330, 1 + switch i32 %t331, label %union.box.none94 [ i32 0, label %union.box.arm95 i32 1, label %union.box.arm96 ] +union.box.arm95: + %t333 = bitcast i64 %t332 to double + %t334 = call ptr @scr_union_new_f64(i32 0, double %t333) + br label %union.box.join93 +union.box.arm96: + br label %union.box.join93 +union.box.none94: + br label %union.box.join93 +union.box.join93: + %t335 = phi ptr [ %t334, %union.box.arm95 ], [ @sc_unit_3, %union.box.arm96 ], [ null, %union.box.none94 ] + %t336 = call ptr @sc_td_29(ptr %t335) + %t337 = load ptr, ptr %sc_l_sub_0 + %t338 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t337, i64 0, i32 14 + %t339 = load ptr, ptr %t338, !tbaa !40 + %t340 = load ptr, ptr %sc_l_hs_0 + %t341 = load i64, ptr %s170 + %t342 = sitofp i64 %t341 to double + %t343 = trunc i64 %t341 to i32 + %t348 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 8 + %t349 = load ptr, ptr %t348, !tbaa !2 + %t344 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 1 + %t345 = load i64, ptr %t344, !tbaa !2, !range !{i64 0, i64 4294967296} + %t346 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 2 + %t347 = load i64, ptr %t346, !tbaa !2 + %t350 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 9 + %t351 = load ptr, ptr %t350, !tbaa !2 + %t352 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 6 + %t353 = load i32, ptr %t352, !tbaa !2 + %t354 = zext i32 %t353 to i64 + %t355 = icmp ult i64 %t341, %t354 + br i1 %t355, label %arr.get.value99, label %arr.check100 +arr.check100: + %t356 = icmp ult i64 %t341, %t347 + %t357 = icmp ult i64 %t341, %t345 + %t358 = and i1 %t356, %t357 + br i1 %t358, label %arr.dense101, label %arr.get.slow97 +arr.dense101: + %t359 = getelementptr inbounds i8, ptr %t351, i64 %t341 + %t360 = load i8, ptr %t359, !tbaa !4 + %t361 = icmp eq i8 %t360, 1 + br i1 %t361, label %arr.get.value99, label %arr.get.slow97 +arr.get.value99: + %t362 = getelementptr inbounds i64, ptr %t349, i64 %t341 + %t363 = load double, ptr %t362, !tbaa !6 + br label %arr.get.join98 +arr.get.slow97: + %t364 = call double @scr_arr_get_number(ptr %t340, double %t342) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join98 +arr.get.join98: + %t365 = phi double [ %t363, %arr.get.value99 ], [ %t364, %arr.get.slow97 ] + %t366 = call ptr @sc_bf__x25_arr_idxOr_5(ptr %t339, double %t365) + %t367 = call ptr @sc_ldu_6(ptr %t366) + %t369 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 0 + store ptr %t287, ptr %t369 + %t370 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 1 + store ptr %t294, ptr %t370 + %t371 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 2 + store ptr %t300, ptr %t371 + %t372 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 3 + store ptr %t336, ptr %t372 + %t373 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 4 + store ptr %t367, ptr %t373 + call void @scr_dyn_this_push_dyn(ptr %t256) + %t374 = call ptr @scr_dyn_call(ptr %t254, ptr %s368, i64 5, ptr @sc_cs_618920405504547) + call void @scr_dyn_this_pop() + %t375 = load i32, ptr %exc.cell + %t376 = icmp ne i32 %t375, 0 + %t377 = call i1 @llvm.expect.i1(i1 %t376, i1 false) + br i1 %t377, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t256) + call void @scr_union_release(ptr %t286) + call void @sc_rc_release_dyn(ptr %t287) + call void @scr_arr_release(ptr %t290) + call void @sc_rc_release_dyn(ptr %t294) + call void @sc_rrelease_r9(ptr %t296) + call void @sc_rc_release_dyn(ptr %t300) + call void @scr_union_release(ptr %t335) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m5_MpCfg(ptr %t366) + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup85 +exc.k103: + %t378 = call double @sc_dc_2(ptr %t374, ptr null) + %t379 = load i32, ptr %exc.cell + %t380 = icmp ne i32 %t379, 0 + %t381 = call i1 @llvm.expect.i1(i1 %t380, i1 false) + br i1 %t381, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t256) + call void @scr_union_release(ptr %t286) + call void @sc_rc_release_dyn(ptr %t287) + call void @scr_arr_release(ptr %t290) + call void @sc_rc_release_dyn(ptr %t294) + call void @sc_rrelease_r9(ptr %t296) + call void @sc_rc_release_dyn(ptr %t300) + call void @scr_union_release(ptr %t335) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m5_MpCfg(ptr %t366) + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup85 +exc.k105: + store double %t378, ptr %sc_l_idx_0 + call void @sc_rc_release_dyn(ptr %t256) + call void @scr_union_release(ptr %t286) + call void @sc_rc_release_dyn(ptr %t287) + call void @scr_arr_release(ptr %t290) + call void @sc_rc_release_dyn(ptr %t294) + call void @sc_rrelease_r9(ptr %t296) + call void @sc_rc_release_dyn(ptr %t300) + call void @scr_union_release(ptr %t335) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m5_MpCfg(ptr %t366) + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t374) + %t382 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t382) + %t383 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t383) + %t384 = load ptr, ptr %sc_l_app_0 + %t385 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t384, i64 0, i32 1 + %t386 = load ptr, ptr %t385, !tbaa !32 + %t388 = load ptr, ptr %sc_l_n_0 + %t390 = icmp eq ptr %t388, null + br i1 %t390, label %read.then106, label %read.else107 +read.then106: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4226955055047009) + br label %exc.cleanup71 +exc.dead109: + store ptr null, ptr %s391 + br label %read.join108 +read.else107: + %t392 = load ptr, ptr %sc_l_n_0 + store ptr %t392, ptr %s391 + br label %read.join108 +read.join108: + %t393 = load ptr, ptr %s391 + %t394 = getelementptr inbounds %sc_rs_r5, ptr %t393, i64 0, i32 3 + %t395 = load ptr, ptr %t394 + %t396 = load i64, ptr %s170 + %t397 = load i64, ptr %s170 + %t398 = sitofp i64 %t397 to double + %t399 = trunc i64 %t397 to i32 + %t400 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 2 + %t401 = load i64, ptr %t400, !tbaa !2 + %t402 = icmp ult i64 %t396, %t401 + br i1 %t402, label %local.array.range113, label %local.array.slow110 +local.array.range113: + br label %local.array.dense114 +local.array.dense114: + %t403 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 6 + %t404 = load i32, ptr %t403, !tbaa !2 + %t406 = zext i32 %t404 to i64 + %t405 = icmp ult i64 %t396, %t406 + br i1 %t405, label %local.array.value116, label %local.array.len115 +local.array.len115: + %t407 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 1 + %t408 = load i64, ptr %t407, !tbaa !2, !range !{i64 0, i64 4294967296} + %t409 = icmp ult i64 %t396, %t408 + br i1 %t409, label %local.array.state117, label %local.array.missing111 +local.array.state117: + %t410 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 9 + %t411 = load ptr, ptr %t410, !tbaa !2 + %t412 = getelementptr inbounds i8, ptr %t411, i64 %t396 + %t413 = load i8, ptr %t412, !tbaa !4 + %t414 = icmp eq i8 %t413, 1 + br i1 %t414, label %local.array.value116, label %local.array.missing111 +local.array.value116: + %t415 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 8 + %t416 = load ptr, ptr %t415, !tbaa !2 + %t417 = getelementptr inbounds i64, ptr %t416, i64 %t396 + %t418 = load ptr, ptr %t417, !tbaa !6 + %t419 = call ptr @sc_rc_retain_str(ptr %t418) + store ptr %t419, ptr %s387 + br label %local.array.join112 +local.array.slow110: + %t420 = call ptr @scr_arr_peek_ref(ptr %t395, double %t398) + %t421 = icmp ne ptr %t420, null + br i1 %t421, label %local.array.slow.value118, label %local.array.missing111 +local.array.slow.value118: + %t422 = call ptr @sc_rc_retain_str(ptr %t420) + store ptr %t422, ptr %s387 + br label %local.array.join112 +local.array.missing111: + store ptr null, ptr %s387 + br label %local.array.join112 +local.array.join112: + %t423 = load ptr, ptr %s387 + %t424 = load ptr, ptr %sc_l_path_0 + %t425 = load double, ptr %sc_l_idx_0 + call void @sc_bf__x25_m5_addRoute(ptr %t386, ptr %t423, ptr %t424, double %t425) + %t426 = load i32, ptr %exc.cell + %t427 = icmp ne i32 %t426, 0 + %t428 = call i1 @llvm.expect.i1(i1 %t427, i1 false) + br i1 %t428, label %exc.u119, label %exc.k120 +exc.u119: + %t429 = load ptr, ptr %s387 + call void @scr_str_release(ptr %t429) + br label %exc.cleanup71 +exc.k120: + %t430 = load ptr, ptr %s387 + call void @scr_str_release(ptr %t430) + %t431 = load ptr, ptr %sc_l_subMw_0 + call void @scr_arr_release(ptr %t431) + br label %loop.u54 +loop.u54: + %t432 = load i64, ptr %s170 + %t433 = add nuw i64 %t432, 1 + store i64 %t433, ptr %s170 + br label %loop.c52 +loop.e51: + %t434 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t434) + br label %if.j48 +if.j48: + %t435 = load ptr, ptr %sc_l_n_0 + %t437 = icmp eq ptr %t435, null + br i1 %t437, label %read.then121, label %read.else122 +read.then121: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2399462614592355) + br label %exc.cleanup124 +exc.dead125: + store ptr null, ptr %s438 + br label %read.join123 +read.else122: + %t439 = load ptr, ptr %sc_l_n_0 + store ptr %t439, ptr %s438 + br label %read.join123 +read.join123: + %t440 = load ptr, ptr %s438 + %t441 = getelementptr inbounds %sc_rs_r5, ptr %t440, i64 0, i32 1 + %t442 = load ptr, ptr %t441 + store ptr %t442, ptr %sc_l_ch_0 + %t444 = fptosi double 0x0000000000000000 to i64 + store i64 %t444, ptr %s443 + br label %loop.c127 +loop.c127: + %t445 = load ptr, ptr %sc_l_ch_0 + %t446 = getelementptr inbounds %ScrArr, ptr %t445, i64 0, i32 1 + %t447 = load i64, ptr %t446, !tbaa !2 + %t448 = load i64, ptr %s443 + %t449 = icmp ult i64 %t448, %t447 + br i1 %t449, label %loop.b128, label %loop.e126 +loop.b128: + %t450 = load ptr, ptr %sc_l_sn_0 + %t451 = load ptr, ptr %sc_l_ch_0 + %t452 = load i64, ptr %s443 + %t453 = sitofp i64 %t452 to double + %t454 = trunc i64 %t452 to i32 + %t459 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 8 + %t460 = load ptr, ptr %t459, !tbaa !2 + %t455 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 1 + %t456 = load i64, ptr %t455, !tbaa !2, !range !{i64 0, i64 4294967296} + %t457 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 2 + %t458 = load i64, ptr %t457, !tbaa !2 + %t461 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 9 + %t462 = load ptr, ptr %t461, !tbaa !2 + %t463 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 6 + %t464 = load i32, ptr %t463, !tbaa !2 + %t465 = zext i32 %t464 to i64 + %t466 = icmp ult i64 %t452, %t465 + br i1 %t466, label %arr.get.value132, label %arr.check133 +arr.check133: + %t467 = icmp ult i64 %t452, %t458 + %t468 = icmp ult i64 %t452, %t456 + %t469 = and i1 %t467, %t468 + br i1 %t469, label %arr.dense134, label %arr.get.slow130 +arr.dense134: + %t470 = getelementptr inbounds i8, ptr %t462, i64 %t452 + %t471 = load i8, ptr %t470, !tbaa !4 + %t472 = icmp eq i8 %t471, 1 + br i1 %t472, label %arr.get.value132, label %arr.get.slow130 +arr.get.value132: + %t473 = getelementptr inbounds i64, ptr %t460, i64 %t452 + %t474 = load double, ptr %t473, !tbaa !6 + br label %arr.get.join131 +arr.get.slow130: + %t475 = call double @scr_arr_get_number(ptr %t451, double %t453) cold memory(read, inaccessiblemem: readwrite) + br label %arr.get.join131 +arr.get.join131: + %t476 = phi double [ %t474, %arr.get.value132 ], [ %t475, %arr.get.slow130 ] + %t477 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 2 + %t478 = load i64, ptr %t477, !tbaa !2 + %t479 = fptosi double %t476 to i64 + %t480 = freeze i64 %t479 + %t481 = sitofp i64 %t480 to double + %t482 = fcmp oeq double %t481, %t476 + %t483 = icmp ult i64 %t480, %t478 + %t484 = and i1 %t482, %t483 + br i1 %t484, label %local.array.range138, label %local.array.slow135 +local.array.range138: + br label %local.array.dense139 +local.array.dense139: + %t485 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 6 + %t486 = load i32, ptr %t485, !tbaa !2 + %t488 = zext i32 %t486 to i64 + %t487 = icmp ult i64 %t480, %t488 + br i1 %t487, label %local.array.value141, label %local.array.len140 +local.array.len140: + %t489 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 1 + %t490 = load i64, ptr %t489, !tbaa !2, !range !{i64 0, i64 4294967296} + %t491 = icmp ult i64 %t480, %t490 + br i1 %t491, label %local.array.state142, label %local.array.missing136 +local.array.state142: + %t492 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 9 + %t493 = load ptr, ptr %t492, !tbaa !2 + %t494 = getelementptr inbounds i8, ptr %t493, i64 %t480 + %t495 = load i8, ptr %t494, !tbaa !4 + %t496 = icmp eq i8 %t495, 1 + br i1 %t496, label %local.array.value141, label %local.array.missing136 +local.array.value141: + %t497 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 8 + %t498 = load ptr, ptr %t497, !tbaa !2 + %t499 = getelementptr inbounds i64, ptr %t498, i64 %t480 + %t500 = load ptr, ptr %t499, !tbaa !6 + store ptr %t500, ptr %sc_l_c_0 + br label %local.array.join137 +local.array.slow135: + %t501 = call ptr @scr_arr_peek_ref(ptr %t450, double %t476) + %t502 = icmp ne ptr %t501, null + br i1 %t502, label %local.array.slow.value143, label %local.array.missing136 +local.array.slow.value143: + store ptr %t501, ptr %sc_l_c_0 + br label %local.array.join137 +local.array.missing136: + store ptr null, ptr %sc_l_c_0 + br label %local.array.join137 +local.array.join137: + %t503 = load ptr, ptr %sc_l_c_0 + %t505 = icmp eq ptr %t503, null + br i1 %t505, label %read.then144, label %read.else145 +read.then144: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_180082455986257) + br label %exc.cleanup124 +exc.dead147: + store ptr null, ptr %s506 + br label %read.join146 +read.else145: + %t507 = load ptr, ptr %sc_l_c_0 + store ptr %t507, ptr %s506 + br label %read.join146 +read.join146: + %t508 = load ptr, ptr %s506 + %t509 = getelementptr inbounds %sc_rs_r5, ptr %t508, i64 0, i32 5 + %t510 = load ptr, ptr %t509 + %t511 = call ptr @sc_rc_retain_str(ptr %t510) + store ptr %t511, ptr %sc_l_seg_0 + %t512 = load ptr, ptr %sc_l_c_0 + %t514 = icmp eq ptr %t512, null + br i1 %t514, label %read.then148, label %read.else149 +read.then148: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209) + br label %exc.cleanup151 +exc.dead152: + store ptr null, ptr %s515 + br label %read.join150 +read.else149: + %t516 = load ptr, ptr %sc_l_c_0 + store ptr %t516, ptr %s515 + br label %read.join150 +read.join150: + %t517 = load ptr, ptr %s515 + %t518 = getelementptr inbounds %sc_rs_r5, ptr %t517, i64 0, i32 4 + %t519 = load double, ptr %t518 + %t520 = fcmp oeq double %t519, 0x3FF0000000000000 + br i1 %t520, label %if.t153, label %if.j154 +if.t153: + %t521 = load ptr, ptr %sc_l_seg_0 + %t522 = call ptr @scr_str_concat(ptr @sc_lit_4075616746236128, ptr %t521) + %t523 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t523) + store ptr %t522, ptr %sc_l_seg_0 + br label %if.j154 +if.j154: + %t524 = load ptr, ptr %sc_l_stack_0 + %t525 = call ptr @sc_rnew_r25() + %t527 = load ptr, ptr %sc_l_ch_0 + %t528 = load i64, ptr %s443 + %t529 = load i64, ptr %s443 + %t530 = sitofp i64 %t529 to double + %t531 = trunc i64 %t529 to i32 + %t535 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 2 + %t536 = load i64, ptr %t535, !tbaa !2 + %t537 = icmp ult i64 %t528, %t536 + br i1 %t537, label %local.array.range158, label %local.array.slow155 +local.array.range158: + br label %local.array.dense159 +local.array.dense159: + %t538 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 6 + %t539 = load i32, ptr %t538, !tbaa !2 + %t541 = zext i32 %t539 to i64 + %t540 = icmp ult i64 %t528, %t541 + br i1 %t540, label %local.array.value161, label %local.array.len160 +local.array.len160: + %t542 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 1 + %t543 = load i64, ptr %t542, !tbaa !2, !range !{i64 0, i64 4294967296} + %t544 = icmp ult i64 %t528, %t543 + br i1 %t544, label %local.array.state162, label %local.array.missing156 +local.array.state162: + %t545 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 9 + %t546 = load ptr, ptr %t545, !tbaa !2 + %t547 = getelementptr inbounds i8, ptr %t546, i64 %t528 + %t548 = load i8, ptr %t547, !tbaa !4 + %t549 = icmp eq i8 %t548, 1 + br i1 %t549, label %local.array.value161, label %local.array.missing156 +local.array.value161: + %t550 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 8 + %t551 = load ptr, ptr %t550, !tbaa !2 + %t552 = getelementptr inbounds i64, ptr %t551, i64 %t528 + %t553 = load i64, ptr %t552, !tbaa !6 + store i64 %t553, ptr %s533 + store i32 0, ptr %s534 + br label %local.array.join157 +local.array.slow155: + %t554 = call double @scr_arr_state(ptr %t527, double %t530) cold memory(read, inaccessiblemem: readwrite) + %t555 = fcmp oeq double %t554, 1.0 + br i1 %t555, label %local.array.slow.value163, label %local.array.missing156 +local.array.slow.value163: + %t556 = call double @scr_arr_get_f64(ptr %t527, double %t530) cold memory(read, inaccessiblemem: readwrite) + %t557 = bitcast double %t556 to i64 + store i64 %t557, ptr %s533 + store i32 0, ptr %s534 + br label %local.array.join157 +local.array.missing156: + store i64 0, ptr %s533 + store i32 1, ptr %s534 + br label %local.array.join157 +local.array.join157: + store ptr %s532, ptr %s526 + %t558 = load ptr, ptr %s526 + %t559 = getelementptr inbounds %sc_rs_r25, ptr %t525, i64 0, i32 2 + %t560 = icmp eq ptr %t558, null + %t561 = select i1 %t560, ptr @sc_union_none, ptr %t558 + %t562 = getelementptr inbounds %ScrUnion, ptr %t561, i64 0, i32 1 + %t564 = load i32, ptr %t562 + %t563 = getelementptr inbounds %ScrUnion, ptr %t561, i64 0, i32 5 + %t565 = load i64, ptr %t563 + %t566 = getelementptr inbounds { i32, i64 }, ptr %t559, i32 0, i32 0 + store i32 %t564, ptr %t566 + %t567 = getelementptr inbounds { i32, i64 }, ptr %t559, i32 0, i32 1 + store i64 %t565, ptr %t567 + %t568 = load ptr, ptr %sc_l_a_0 + %t569 = load ptr, ptr %sc_l_seg_0 + %t571 = getelementptr [3 x ptr], ptr %s570, i32 0, i32 0 + store ptr %t568, ptr %t571 + %t572 = getelementptr [3 x ptr], ptr %s570, i32 0, i32 1 + store ptr @sc_lit_2434240011052594, ptr %t572 + %t573 = getelementptr [3 x ptr], ptr %s570, i32 0, i32 2 + store ptr %t569, ptr %t573 + %t574 = call ptr @scr_str_concat_parts(ptr %s570, i64 3) + %t575 = getelementptr inbounds %sc_rs_r25, ptr %t525, i64 0, i32 1 + store ptr %t574, ptr %t575 + %t576 = call ptr @sc_bf__x25_rec_width_1(ptr %t525) + %t577 = load i32, ptr %exc.cell + %t578 = icmp ne i32 %t577, 0 + %t579 = call i1 @llvm.expect.i1(i1 %t578, i1 false) + br i1 %t579, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rrelease_r25(ptr %t525) + call void @sc_rrelease_r17(ptr %t576) + br label %exc.cleanup151 +exc.k165: + call void @sc_rrelease_r25(ptr %t525) + %t580 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 1 + %t581 = load i64, ptr %t580, !tbaa !2 + %t584 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 2 + %t582 = load i64, ptr %t584, !tbaa !2 + %t583 = icmp ult i64 %t581, %t582 + br i1 %t583, label %arr.push.dense166, label %arr.push.slow167 +arr.push.dense166: + %t585 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 8 + %t587 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 9 + %t586 = load ptr, ptr %t585, !tbaa !2 + %t588 = load ptr, ptr %t587, !tbaa !2 + %t589 = getelementptr inbounds i8, ptr %t588, i64 %t581 + %t590 = getelementptr inbounds i64, ptr %t586, i64 %t581 + store ptr %t576, ptr %t590, !tbaa !6 + store i8 1, ptr %t589, !tbaa !4 + %t591 = add nuw i64 %t581, 1 + store i64 %t591, ptr %t580, !tbaa !2 + %t593 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 6 + %t594 = load i32, ptr %t593, !tbaa !2 + %t598 = zext i32 %t594 to i64 + %t595 = icmp eq i64 %t598, %t581 + %t596 = add i32 %t594, 1 + %t597 = select i1 %t595, i32 %t596, i32 %t594 + store i32 %t597, ptr %t593, !tbaa !2 + %t592 = sitofp i64 %t591 to double + br label %arr.push.join168 +arr.push.slow167: + %t599 = call double @scr_arr_push_ref(ptr %t524, ptr %t576) cold + br label %arr.push.join168 +arr.push.join168: + %t600 = phi double [ %t592, %arr.push.dense166 ], [ %t599, %arr.push.slow167 ] + %t601 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t601) + br label %loop.u129 +loop.u129: + %t602 = load i64, ptr %s443 + %t603 = add nuw i64 %t602, 1 + store i64 %t603, ptr %s443 + br label %loop.c127 +loop.e126: + %t604 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r17(ptr %t604) + %t605 = load ptr, ptr %sc_l_n_0 + call void @sc_rrelease_r5(ptr %t605) + %t606 = load ptr, ptr %sc_l_hs_0 + call void @scr_arr_release(ptr %t606) + br label %loop.c6 +loop.e5: + %t607 = load ptr, ptr %sc_l_sn_0 + call void @scr_arr_release(ptr %t607) + %t608 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t608) + ret void +exc.cleanup24: + %t609 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r17(ptr %t609) + %t610 = load ptr, ptr %sc_l_sn_0 + call void @scr_arr_release(ptr %t610) + %t611 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t611) + ret void +exc.cleanup41: + %t612 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r17(ptr %t612) + %t613 = load ptr, ptr %sc_l_n_0 + call void @sc_rrelease_r5(ptr %t613) + %t614 = load ptr, ptr %sc_l_sn_0 + call void @scr_arr_release(ptr %t614) + %t615 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t615) + ret void +exc.cleanup71: + %t616 = load ptr, ptr %sc_l_subMw_0 + call void @scr_arr_release(ptr %t616) + %t617 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t617) + %t618 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r17(ptr %t618) + %t619 = load ptr, ptr %sc_l_n_0 + call void @sc_rrelease_r5(ptr %t619) + %t620 = load ptr, ptr %sc_l_hs_0 + call void @scr_arr_release(ptr %t620) + %t621 = load ptr, ptr %sc_l_sn_0 + call void @scr_arr_release(ptr %t621) + %t622 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t622) + ret void +exc.cleanup77: + %t623 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t623) + %t624 = load ptr, ptr %sc_l_subMw_0 + call void @scr_arr_release(ptr %t624) + %t625 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t625) + %t626 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r17(ptr %t626) + %t627 = load ptr, ptr %sc_l_n_0 + call void @sc_rrelease_r5(ptr %t627) + %t628 = load ptr, ptr %sc_l_hs_0 + call void @scr_arr_release(ptr %t628) + %t629 = load ptr, ptr %sc_l_sn_0 + call void @scr_arr_release(ptr %t629) + %t630 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t630) + ret void +exc.cleanup85: + %t631 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t631) + %t632 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t632) + %t633 = load ptr, ptr %sc_l_subMw_0 + call void @scr_arr_release(ptr %t633) + %t634 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t634) + %t635 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r17(ptr %t635) + %t636 = load ptr, ptr %sc_l_n_0 + call void @sc_rrelease_r5(ptr %t636) + %t637 = load ptr, ptr %sc_l_hs_0 + call void @scr_arr_release(ptr %t637) + %t638 = load ptr, ptr %sc_l_sn_0 + call void @scr_arr_release(ptr %t638) + %t639 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t639) + ret void +exc.cleanup124: + %t640 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r17(ptr %t640) + %t641 = load ptr, ptr %sc_l_n_0 + call void @sc_rrelease_r5(ptr %t641) + %t642 = load ptr, ptr %sc_l_hs_0 + call void @scr_arr_release(ptr %t642) + %t643 = load ptr, ptr %sc_l_sn_0 + call void @scr_arr_release(ptr %t643) + %t644 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t644) + ret void +exc.cleanup151: + %t645 = load ptr, ptr %sc_l_seg_0 + call void @scr_str_release(ptr %t645) + %t646 = load ptr, ptr %sc_l_f_0 + call void @sc_rrelease_r17(ptr %t646) + %t647 = load ptr, ptr %sc_l_n_0 + call void @sc_rrelease_r5(ptr %t647) + %t648 = load ptr, ptr %sc_l_hs_0 + call void @scr_arr_release(ptr %t648) + %t649 = load ptr, ptr %sc_l_sn_0 + call void @scr_arr_release(ptr %t649) + %t650 = load ptr, ptr %sc_l_stack_0 + call void @scr_arr_release(ptr %t650) + ret void +} +define internal void @sc_f__x25_m5_mountRoutes(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + call void @sc_bf__x25_m5_mountRoutes(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @sc_release__x25_m5_App(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_arr_release(ptr %p3) + ret void +} + +define internal i1 @sc_bf__x25_m5_isSettled(ptr %p_sc_l_r_0, ptr %p_sc_l_c_0) #0 { ; %m5.isSettled +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_c_0 = alloca ptr ; c + %s8 = alloca i1 + %s14 = alloca i1 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_r_0 + %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 6 + store i1 %t7, ptr %s8 + br i1 %t7, label %log.j3, label %log.r2 +log.r2: + %t9 = load ptr, ptr %sc_l_r_0 + %t10 = getelementptr inbounds i8, ptr %t9, i64 8 ; ->kind + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 0 + store i1 %t12, ptr %s8 + br label %log.j3 +log.j3: + %t13 = load i1, ptr %s8 + store i1 %t13, ptr %s14 + br i1 %t13, label %log.j5, label %log.r4 +log.r4: + %t15 = load ptr, ptr %sc_l_r_0 + %t16 = load ptr, ptr %sc_l_c_0 + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t18 = call zeroext i1 @scr_dyn_strict_eq(ptr %t15, ptr %t17) + store i1 %t18, ptr %s14 + call void @sc_rc_release_dyn(ptr %t17) + br label %log.j5 +log.j5: + %t19 = load i1, ptr %s14 + ret i1 %t19 +} +define internal i1 @sc_f__x25_m5_isSettled(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_m5_isSettled(ptr %p0, ptr %p1) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p1) + ret i1 %result +} + +define internal void @sc_f__x25_m5_settleChain(ptr %p_sc_l_r_0, ptr %p_sc_l_c_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0) #0 { ; %m5.settleChain +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_c_0 = alloca ptr ; c + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_e_0 = alloca ptr ; e + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %s46 = alloca i1 + %s60 = alloca ptr + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_r_0 + %t5 = call ptr @sc_rc_retain_dyn(ptr %t4) + %t6 = call ptr @scr_await_dyn_value(ptr %t5) + %t7 = load ptr, ptr @scr_exc_active + %t8 = load i32, ptr %t7 + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t5) + call void @sc_rc_release_dyn(ptr %t6) + br label %try.c3 +exc.k7: + call void @sc_rc_release_dyn(ptr %t5) + call void @sc_rc_release_dyn(ptr %t6) + br label %try.e5 +try.c3: + %t11 = call ptr @scr_exc_take() ; catch binding + store ptr %t11, ptr %sc_l_e_0 + %t12 = load ptr, ptr %sc_l_oef_0 + %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1 + %t14 = load i32, ptr %t15 + %t13 = icmp ne i32 %t14, 1 + br i1 %t13, label %if.t8, label %if.f10 +if.t8: + %t16 = load ptr, ptr %sc_l_oef_0 + %t17 = getelementptr inbounds %ScrUnion, ptr %t16, i64 0, i32 5 + %t18 = load ptr, ptr %t17 + %t19 = load ptr, ptr %sc_l_e_0 + %t20 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t19) + %t21 = load ptr, ptr @scr_exc_active + %t22 = load i32, ptr %t21 + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup13 +exc.k12: + %t25 = load ptr, ptr %sc_l_sink_0 + %t26 = load ptr, ptr %sc_l_c_0 + call void @sc_bf__x25_m5_runOnError(ptr %t18, ptr %t20, ptr %t25, ptr %t26) + %t27 = load ptr, ptr @scr_exc_active + %t28 = load i32, ptr %t27 + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup13 +exc.k15: + call void @sc_rc_release_dyn(ptr %t20) + br label %if.j9 +if.f10: + %t31 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25_m5_send500(ptr %t31) + %t32 = load ptr, ptr @scr_exc_active + %t33 = load i32, ptr %t32 + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u16, label %exc.k17 +exc.u16: + br label %exc.cleanup13 +exc.k17: + br label %if.j9 +if.j9: + %t36 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t36) + %t37 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t37) + %t38 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t38) + %t39 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t39) + %t40 = load ptr, ptr %sc_l_oef_0 + call void @scr_union_release(ptr %t40) + ret void +try.e5: + %t41 = load ptr, ptr %sc_l_c_0 + %t42 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t41, i64 0, i32 5 + %t43 = load i8, ptr %t42, !tbaa !42 + %t44 = trunc i8 %t43 to i1 + %t45 = icmp eq i1 %t44, false + store i1 %t45, ptr %s46 + br i1 %t45, label %log.r18, label %log.j19 +log.r18: + %t47 = load ptr, ptr %sc_l_sink_0 + %t48 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t47) + store ptr %t48, ptr %sc_l__x25_callbackReceiver_0 + %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t51 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t50) + %t52 = load ptr, ptr @scr_exc_active + %t53 = load i32, ptr %t52 + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t51) + br label %exc.cleanup22 +exc.k21: + store ptr %t51, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t56 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t57 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t58 = load i32, ptr %t57 + %t59 = icmp eq i32 %t58, 6 + br i1 %t59, label %tern.t23, label %tern.f24 +tern.t23: + %t62 = call ptr @scr_dyn_undefined() + %t61 = call ptr @scr_dyn_retain_v(ptr %t62) + store ptr %t61, ptr %s60 + br label %tern.j25 +tern.f24: + %t63 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t64 = call ptr @sc_rc_retain_dyn(ptr %t63) + %t65 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t64) + %t66 = load ptr, ptr @scr_exc_active + %t67 = load i32, ptr %t66 + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t65) + br label %exc.cleanup28 +exc.k27: + store ptr %t65, ptr %s60 + br label %tern.j25 +tern.j25: + %t70 = load ptr, ptr %s60 + store ptr %t70, ptr %sc_l__x25_callback_0 + %t71 = load ptr, ptr %sc_l__x25_callback_0 + %t72 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t73) + %t74 = call ptr @scr_dyn_call(ptr %t71, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t75 = load ptr, ptr @scr_exc_active + %t76 = load i32, ptr %t75 + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + br label %exc.cleanup31 +exc.k30: + %t79 = call zeroext i1 @sc_dc_3(ptr %t74, ptr null) + %t80 = load ptr, ptr @scr_exc_active + %t81 = load i32, ptr %t80 + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + br label %exc.cleanup31 +exc.k33: + %t84 = icmp eq i1 %t79, false + store i1 %t84, ptr %s46 + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + %t85 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t85) + %t86 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t86) + %t87 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t87) + br label %log.j19 +log.j19: + %t88 = load i1, ptr %s46 + br i1 %t88, label %if.t34, label %if.j35 +if.t34: + %t89 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25_m5_send500(ptr %t89) + %t90 = load ptr, ptr @scr_exc_active + %t91 = load i32, ptr %t90 + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u36, label %exc.k37 +exc.u36: + br label %exc.cleanup2 +exc.k37: + br label %if.j35 +if.j35: + %t94 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t94) + %t95 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t95) + %t96 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t96) + %t97 = load ptr, ptr %sc_l_oef_0 + call void @scr_union_release(ptr %t97) + ret void +exc.cleanup2: + %t98 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t98) + %t99 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t99) + %t100 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t100) + %t101 = load ptr, ptr %sc_l_oef_0 + call void @scr_union_release(ptr %t101) + ret void +exc.cleanup13: + %t102 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t102) + %t103 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t103) + %t104 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t104) + %t105 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t105) + %t106 = load ptr, ptr %sc_l_oef_0 + call void @scr_union_release(ptr %t106) + ret void +exc.cleanup22: + %t107 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t107) + %t108 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t108) + %t109 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t109) + %t110 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t110) + %t111 = load ptr, ptr %sc_l_oef_0 + call void @scr_union_release(ptr %t111) + ret void +exc.cleanup28: + %t112 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t112) + %t113 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t113) + %t114 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t114) + %t115 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t115) + %t116 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t116) + %t117 = load ptr, ptr %sc_l_oef_0 + call void @scr_union_release(ptr %t117) + ret void +exc.cleanup31: + %t118 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t118) + %t119 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t119) + %t120 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t120) + %t121 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t121) + %t122 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t122) + %t123 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t123) + %t124 = load ptr, ptr %sc_l_oef_0 + call void @scr_union_release(ptr %t124) + ret void +} + +define internal void @sc_bf__x25_m5_runChain(ptr %p_sc_l_chain_0, ptr %p_sc_l_c_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0) #0 { ; %m5.runChain +entry: + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_c_0 = alloca ptr ; c + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_r_0 = alloca ptr ; r + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_e_0 = alloca ptr ; e + %s8 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s37 = alloca i1 + %s49 = alloca ptr + store ptr null, ptr %sc_l_r_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_e_0 + store ptr %p_sc_l_chain_0, ptr %sc_l_chain_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_chain_0 + %t7 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 1 + %t6 = load i32, ptr %t7 + %t5 = icmp eq i32 %t6, 1 + br i1 %t5, label %read.then5, label %read.else6 +read.then5: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1988484489435674) + br label %try.c2 +exc.dead8: + store ptr null, ptr %s8 + br label %read.join7 +read.else6: + %t9 = load ptr, ptr %sc_l_chain_0 + %t10 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5 + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %s8 + br label %read.join7 +read.join7: + %t12 = load ptr, ptr %s8 + %t13 = load ptr, ptr %sc_l_c_0 + %t14 = getelementptr inbounds %ScrClosure, ptr %t12, i64 0, i32 1 + %t15 = load ptr, ptr %t14 + %t16 = getelementptr inbounds %ScrClosure, ptr %t12, i64 0, i32 7 + %t17 = load ptr, ptr %t16 + %t18 = icmp ne ptr %t17, null + br i1 %t18, label %callback.lend9, label %callback.own10 +callback.lend9: + call void @scr_dyn_this_push_dyn(ptr null) + %t19 = call ptr %t17(ptr %t12, ptr %t13) + call void @scr_dyn_this_pop() + br label %callback.done11 +callback.own10: + %t20 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t13) + call void @scr_dyn_this_push_dyn(ptr null) + %t21 = call ptr %t15(ptr %t12, ptr %t20) + call void @scr_dyn_this_pop() + br label %callback.done11 +callback.done11: + %t22 = phi ptr [ %t19, %callback.lend9 ], [ %t21, %callback.own10 ] + %t23 = load i32, ptr %exc.cell + %t24 = icmp ne i32 %t23, 0 + %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false) + br i1 %t25, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t22) + br label %try.c2 +exc.k13: + store ptr %t22, ptr %sc_l_r_0 + %t26 = load ptr, ptr %sc_l_r_0 + %t27 = load ptr, ptr %sc_l_c_0 + %t28 = call i1 @sc_bf__x25_m5_isSettled(ptr %t26, ptr %t27) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u14, label %exc.k15 +exc.u14: + br label %exc.cleanup16 +exc.k15: + br i1 %t28, label %if.t17, label %if.f19 +if.t17: + %t32 = load ptr, ptr %sc_l_c_0 + %t33 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t32, i64 0, i32 5 + %t34 = load i8, ptr %t33, !tbaa !42 + %t35 = trunc i8 %t34 to i1 + %t36 = icmp eq i1 %t35, false + store i1 %t36, ptr %s37 + br i1 %t36, label %log.r20, label %log.j21 +log.r20: + %t38 = load ptr, ptr %sc_l_sink_0 + store ptr %t38, ptr %sc_l__x25_callbackReceiver_0 + %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t41 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t40) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t41) + br label %exc.cleanup16 +exc.k23: + store ptr %t41, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t45 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t46 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t48 = icmp eq i32 %t47, 6 + br i1 %t48, label %tern.t24, label %tern.f25 +tern.t24: + %t51 = call ptr @scr_dyn_undefined() + %t50 = call ptr @scr_dyn_retain_v(ptr %t51) + store ptr %t50, ptr %s49 + br label %tern.j26 +tern.f25: + %t52 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t53 = call ptr @sc_rc_retain_dyn(ptr %t52) + %t54 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t53) + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t54) + br label %exc.cleanup29 +exc.k28: + store ptr %t54, ptr %s49 + br label %tern.j26 +tern.j26: + %t58 = load ptr, ptr %s49 + store ptr %t58, ptr %sc_l__x25_callback_0 + %t59 = load ptr, ptr %sc_l__x25_callback_0 + %t60 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t61) + %t62 = call ptr @scr_dyn_call(ptr %t59, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + br label %exc.cleanup32 +exc.k31: + %t66 = call zeroext i1 @sc_dc_3(ptr %t62, ptr null) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + br label %exc.cleanup32 +exc.k34: + %t70 = icmp eq i1 %t66, false + store i1 %t70, ptr %s37 + call void @sc_rc_release_dyn(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + %t71 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t71) + %t72 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t72) + br label %log.j21 +log.j21: + %t73 = load i1, ptr %s37 + br i1 %t73, label %if.t35, label %if.j36 +if.t35: + %t74 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25_m5_send500(ptr %t74) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u37, label %exc.k38 +exc.u37: + br label %exc.cleanup16 +exc.k38: + br label %if.j36 +if.j36: + br label %if.j18 +if.f19: + %t78 = load ptr, ptr %sc_l_r_0 + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + %t80 = load ptr, ptr %sc_l_c_0 + %t81 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t80) + %t82 = load ptr, ptr %sc_l_sink_0 + %t83 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t82) + %t84 = load ptr, ptr %sc_l_oef_0 + %t85 = call ptr @scr_union_retain_v(ptr %t84) + %t86 = call ptr @sc_as__x25_m5_settleChain(ptr %t79, ptr %t81, ptr %t83, ptr %t85) + %t87 = load i32, ptr %exc.cell + %t88 = icmp ne i32 %t87, 0 + %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false) + br i1 %t89, label %exc.u39, label %exc.k40 +exc.u39: + call void @scr_promise_release(ptr %t86) + br label %exc.cleanup16 +exc.k40: + call void @scr_promise_release(ptr %t86) + br label %if.j18 +if.j18: + %t90 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t90) + br label %try.e4 +try.c2: + %t91 = call ptr @scr_exc_take() ; catch binding + store ptr %t91, ptr %sc_l_e_0 + %t92 = load ptr, ptr %sc_l_oef_0 + %t95 = getelementptr inbounds %ScrUnion, ptr %t92, i64 0, i32 1 + %t94 = load i32, ptr %t95 + %t93 = icmp ne i32 %t94, 1 + br i1 %t93, label %if.t41, label %if.f43 +if.t41: + %t96 = load ptr, ptr %sc_l_oef_0 + %t97 = getelementptr inbounds %ScrUnion, ptr %t96, i64 0, i32 5 + %t98 = load ptr, ptr %t97 + %t99 = load ptr, ptr %sc_l_e_0 + %t100 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup46 +exc.k45: + %t104 = load ptr, ptr %sc_l_sink_0 + %t105 = load ptr, ptr %sc_l_c_0 + call void @sc_bf__x25_m5_runOnError(ptr %t98, ptr %t100, ptr %t104, ptr %t105) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u47, label %exc.k48 +exc.u47: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup46 +exc.k48: + call void @sc_rc_release_dyn(ptr %t100) + br label %if.j42 +if.f43: + %t109 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25_m5_send500(ptr %t109) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u49, label %exc.k50 +exc.u49: + br label %exc.cleanup46 +exc.k50: + br label %if.j42 +if.j42: + %t113 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t113) + br label %try.e4 +try.e4: + ret void +exc.cleanup16: + %t114 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t114) + br label %try.c2 +exc.cleanup29: + %t115 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t115) + %t116 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t116) + br label %try.c2 +exc.cleanup32: + %t117 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t117) + %t118 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t118) + %t119 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t119) + br label %try.c2 +exc.cleanup46: + %t120 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t120) + ret void +} +define internal void @sc_f__x25_m5_runChain(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + call void @sc_bf__x25_m5_runChain(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @scr_union_release(ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p2) + call void @scr_union_release(ptr %p3) + ret void +} + +define internal void @sc_bf__x25_m5_runOnError(ptr %p_sc_l_oef_0, ptr %p_sc_l_e_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_c_0) #0 { ; %m5.runOnError +entry: + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_e_0 = alloca ptr ; e + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_c_0 = alloca ptr ; c + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l_e2_0 = alloca ptr ; e2 + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s22 = alloca i1 + %s34 = alloca ptr + %s74 = alloca ptr + %s105 = alloca ptr + %s144 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l_e2_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0 + store ptr %p_sc_l_e_0, ptr %sc_l_e_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_oef_0 + %t5 = load ptr, ptr %sc_l_e_0 + %t6 = load ptr, ptr %sc_l_c_0 + %t7 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 7 + %t10 = load ptr, ptr %t9 + %t11 = icmp ne ptr %t10, null + br i1 %t11, label %callback.lend5, label %callback.own6 +callback.lend5: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t10(ptr %t4, ptr %t5, ptr %t6) + call void @scr_dyn_this_pop() + br label %callback.done7 +callback.own6: + %t12 = call ptr @sc_rc_retain_dyn(ptr %t5) + %t13 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t6) + call void @scr_dyn_this_push_dyn(ptr null) + call void %t8(ptr %t4, ptr %t12, ptr %t13) + call void @scr_dyn_this_pop() + br label %callback.done7 +callback.done7: + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u8, label %exc.k9 +exc.u8: + br label %try.c2 +exc.k9: + %t17 = load ptr, ptr %sc_l_c_0 + %t18 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t17, i64 0, i32 5 + %t19 = load i8, ptr %t18, !tbaa !42 + %t20 = trunc i8 %t19 to i1 + %t21 = xor i1 %t20, true + store i1 %t21, ptr %s22 + br i1 %t21, label %log.r10, label %log.j11 +log.r10: + %t23 = load ptr, ptr %sc_l_sink_0 + store ptr %t23, ptr %sc_l__x25_callbackReceiver_0 + %t24 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t25 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t24, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t26 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t25) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t26) + br label %try.c2 +exc.k13: + store ptr %t26, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t30 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t31 = getelementptr inbounds i8, ptr %t30, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t33 = icmp eq i32 %t32, 6 + br i1 %t33, label %tern.t14, label %tern.f15 +tern.t14: + %t36 = call ptr @scr_dyn_undefined() + %t35 = call ptr @scr_dyn_retain_v(ptr %t36) + store ptr %t35, ptr %s34 + br label %tern.j16 +tern.f15: + %t37 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t38 = call ptr @sc_rc_retain_dyn(ptr %t37) + %t39 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t38) + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup19 +exc.k18: + store ptr %t39, ptr %s34 + br label %tern.j16 +tern.j16: + %t43 = load ptr, ptr %s34 + store ptr %t43, ptr %sc_l__x25_callback_0 + %t44 = load ptr, ptr %sc_l__x25_callback_0 + %t45 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t46 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t45, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t46) + %t47 = call ptr @scr_dyn_call(ptr %t44, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t46) + call void @sc_rc_release_dyn(ptr %t47) + br label %exc.cleanup22 +exc.k21: + %t51 = call zeroext i1 @sc_dc_3(ptr %t47, ptr null) + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u23, label %exc.k24 +exc.u23: + call void @sc_rc_release_dyn(ptr %t46) + call void @sc_rc_release_dyn(ptr %t47) + br label %exc.cleanup22 +exc.k24: + %t55 = xor i1 %t51, true + store i1 %t55, ptr %s22 + call void @sc_rc_release_dyn(ptr %t46) + call void @sc_rc_release_dyn(ptr %t47) + %t56 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t56) + %t57 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t57) + br label %log.j11 +log.j11: + %t58 = load i1, ptr %s22 + br i1 %t58, label %if.t25, label %if.f27 +if.t25: + %t59 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25_m5_send500(ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u28, label %exc.k29 +exc.u28: + br label %try.c2 +exc.k29: + br label %if.j26 +if.f27: + %t63 = load ptr, ptr %sc_l_sink_0 + store ptr %t63, ptr %sc_l__x25_callbackReceiver_1 + %t64 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t65 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t64, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t66 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t65) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t66) + br label %try.c2 +exc.k31: + store ptr %t66, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t70 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t71 = getelementptr inbounds i8, ptr %t70, i64 8 ; ->kind + %t72 = load i32, ptr %t71 + %t73 = icmp eq i32 %t72, 6 + br i1 %t73, label %tern.t32, label %tern.f33 +tern.t32: + %t76 = call ptr @scr_dyn_undefined() + %t75 = call ptr @scr_dyn_retain_v(ptr %t76) + store ptr %t75, ptr %s74 + br label %tern.j34 +tern.f33: + %t77 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t78 = call ptr @sc_rc_retain_dyn(ptr %t77) + %t79 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t78) + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t79) + br label %exc.cleanup37 +exc.k36: + store ptr %t79, ptr %s74 + br label %tern.j34 +tern.j34: + %t83 = load ptr, ptr %s74 + store ptr %t83, ptr %sc_l__x25_callback_1 + %t84 = load ptr, ptr %sc_l__x25_callback_1 + %t85 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t86 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t85, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t86) + %t87 = call ptr @scr_dyn_call(ptr %t84, ptr null, i64 0, ptr @sc_cs_3499760650817953) + call void @scr_dyn_this_pop() + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t86) + call void @sc_rc_release_dyn(ptr %t87) + br label %exc.cleanup40 +exc.k39: + call void @sc_rc_release_dyn(ptr %t86) + call void @sc_rc_release_dyn(ptr %t87) + %t91 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t91) + %t92 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t92) + br label %if.j26 +if.j26: + br label %try.e4 +try.c2: + %t93 = call ptr @scr_exc_take() ; catch binding + store ptr %t93, ptr %sc_l_e2_0 + %t94 = load ptr, ptr %sc_l_sink_0 + store ptr %t94, ptr %sc_l__x25_callbackReceiver_2 + %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t97 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t96) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u41, label %exc.k42 +exc.u41: + call void @sc_rc_release_dyn(ptr %t97) + br label %exc.cleanup43 +exc.k42: + store ptr %t97, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t101 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t102 = getelementptr inbounds i8, ptr %t101, i64 8 ; ->kind + %t103 = load i32, ptr %t102 + %t104 = icmp eq i32 %t103, 6 + br i1 %t104, label %tern.t44, label %tern.f45 +tern.t44: + %t107 = call ptr @scr_dyn_undefined() + %t106 = call ptr @scr_dyn_retain_v(ptr %t107) + store ptr %t106, ptr %s105 + br label %tern.j46 +tern.f45: + %t108 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t109 = call ptr @sc_rc_retain_dyn(ptr %t108) + %t110 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t109) + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u47, label %exc.k48 +exc.u47: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup49 +exc.k48: + store ptr %t110, ptr %s105 + br label %tern.j46 +tern.j46: + %t114 = load ptr, ptr %s105 + store ptr %t114, ptr %sc_l__x25_callback_2 + %t115 = load ptr, ptr %sc_l__x25_callback_2 + %t116 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t117 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t116, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t117) + %t118 = call ptr @scr_dyn_call(ptr %t115, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + br label %exc.cleanup52 +exc.k51: + %t122 = call zeroext i1 @sc_dc_3(ptr %t118, ptr null) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + br label %exc.cleanup52 +exc.k54: + %t126 = xor i1 %t122, true + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + %t127 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t127) + %t128 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t126, label %if.t55, label %if.f57 +if.t55: + %t129 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25_m5_send500(ptr %t129) + %t130 = load i32, ptr %exc.cell + %t131 = icmp ne i32 %t130, 0 + %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false) + br i1 %t132, label %exc.u58, label %exc.k59 +exc.u58: + br label %exc.cleanup43 +exc.k59: + br label %if.j56 +if.f57: + %t133 = load ptr, ptr %sc_l_sink_0 + store ptr %t133, ptr %sc_l__x25_callbackReceiver_3 + %t134 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t136 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t135) + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t136) + br label %exc.cleanup43 +exc.k61: + store ptr %t136, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t140 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t141 = getelementptr inbounds i8, ptr %t140, i64 8 ; ->kind + %t142 = load i32, ptr %t141 + %t143 = icmp eq i32 %t142, 6 + br i1 %t143, label %tern.t62, label %tern.f63 +tern.t62: + %t146 = call ptr @scr_dyn_undefined() + %t145 = call ptr @scr_dyn_retain_v(ptr %t146) + store ptr %t145, ptr %s144 + br label %tern.j64 +tern.f63: + %t147 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t148 = call ptr @sc_rc_retain_dyn(ptr %t147) + %t149 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t148) + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u65, label %exc.k66 +exc.u65: + call void @sc_rc_release_dyn(ptr %t149) + br label %exc.cleanup67 +exc.k66: + store ptr %t149, ptr %s144 + br label %tern.j64 +tern.j64: + %t153 = load ptr, ptr %s144 + store ptr %t153, ptr %sc_l__x25_callback_3 + %t154 = load ptr, ptr %sc_l__x25_callback_3 + %t155 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t156) + %t157 = call ptr @scr_dyn_call(ptr %t154, ptr null, i64 0, ptr @sc_cs_3499760650817953) + call void @scr_dyn_this_pop() + %t158 = load i32, ptr %exc.cell + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + br label %exc.cleanup70 +exc.k69: + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + %t161 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t161) + %t162 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t162) + br label %if.j56 +if.j56: + %t163 = load ptr, ptr %sc_l_e2_0 + call void @scr_caught_release(ptr %t163) + br label %try.e4 +try.e4: + ret void +exc.cleanup19: + %t164 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t164) + br label %try.c2 +exc.cleanup22: + %t165 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t165) + %t166 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t166) + br label %try.c2 +exc.cleanup37: + %t167 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t167) + br label %try.c2 +exc.cleanup40: + %t168 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t168) + %t169 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t169) + br label %try.c2 +exc.cleanup43: + %t170 = load ptr, ptr %sc_l_e2_0 + call void @scr_caught_release(ptr %t170) + ret void +exc.cleanup49: + %t171 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t171) + %t172 = load ptr, ptr %sc_l_e2_0 + call void @scr_caught_release(ptr %t172) + ret void +exc.cleanup52: + %t173 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t173) + %t174 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t174) + %t175 = load ptr, ptr %sc_l_e2_0 + call void @scr_caught_release(ptr %t175) + ret void +exc.cleanup67: + %t176 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t176) + %t177 = load ptr, ptr %sc_l_e2_0 + call void @scr_caught_release(ptr %t177) + ret void +exc.cleanup70: + %t178 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t178) + %t179 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t179) + %t180 = load ptr, ptr %sc_l_e2_0 + call void @scr_caught_release(ptr %t180) + ret void +} +define internal void @sc_f__x25_m5_runOnError(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + call void @sc_bf__x25_m5_runOnError(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @scr_closure_release(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p2) + call void @sc_release__x25_m5_CtxCore(ptr %p3) + ret void +} + +define internal ptr @sc_f__x25_m5_createRouter() #0 { ; %m5.createRouter +entry: + %t0 = call ptr @sc_new__x25_m5_App() + call void @sc_bf__x25__x25_m5_App_constructor(ptr %t0) + ret ptr %t0 +} + +define internal ptr @sc_bf__x25_m5_headersFromRaw(ptr %p_sc_l_req_0) #0 { ; %m5.headersFromRaw +entry: + %sc_l_req_0 = alloca ptr ; req + %sc_l_out_0 = alloca ptr ; out + %sc_l_h_0 = alloca ptr ; h + %sc_l_out_1 = alloca ptr ; out + %s12 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_h_0 + store ptr null, ptr %sc_l_out_1 + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @sc_rnew_r0() + store ptr %t4, ptr %sc_l_out_1 + %t5 = call ptr @scr_box_new_obj(ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr null) ; let out (boxed) + store ptr %t5, ptr %sc_l_out_0 + %t6 = load ptr, ptr %sc_l_out_1 + %t7 = call ptr @sc_rretain_r0(ptr %t6) + call void @scr_box_set_ref(ptr %t5, ptr %t7) + %t8 = load ptr, ptr %sc_l_req_0 + %t9 = getelementptr inbounds i8, ptr %t8, i64 8 ; ->kind + %t10 = load i32, ptr %t9 + %t11 = icmp eq i32 %t10, 0 + store i1 %t11, ptr %s12 + br i1 %t11, label %log.j3, label %log.r2 +log.r2: + %t13 = load ptr, ptr %sc_l_req_0 + %t14 = getelementptr inbounds i8, ptr %t13, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 6 + store i1 %t16, ptr %s12 + br label %log.j3 +log.j3: + %t17 = load i1, ptr %s12 + br i1 %t17, label %if.t4, label %if.j5 +if.t4: + %t18 = load ptr, ptr %sc_l_out_1 + %t19 = load ptr, ptr %sc_l_out_0 + call void @scr_box_release(ptr %t19) + ret ptr %t18 +if.j5: + %t20 = load ptr, ptr %sc_l_req_0 + %t21 = call ptr @sc_dc_55(ptr %t20, ptr null) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rrelease_r27(ptr %t21) + br label %exc.cleanup8 +exc.k7: + %t25 = getelementptr inbounds %sc_rs_r27, ptr %t21, i64 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = call ptr @sc_rretain_r19(ptr %t26) + store ptr %t27, ptr %sc_l_h_0 + call void @sc_rrelease_r27(ptr %t21) + %t28 = load ptr, ptr %sc_l_h_0 + %t29 = getelementptr inbounds %sc_rs_r19, ptr %t28, i64 0, i32 1 + %t30 = load ptr, ptr %t29 + %t31 = call ptr @scr_closure_retain_v(ptr %t30) + %t32 = call ptr @scr_closure_new(ptr @sc_f__x25_fn47, i64 1) + %t33 = getelementptr inbounds %ScrClosure, ptr %t32, i64 0, i32 4 + store i32 4, ptr %t33 + %t34 = getelementptr inbounds %ScrClosure, ptr %t32, i64 0, i32 7 + store ptr @sc_bf__x25_fn47, ptr %t34 + %t35 = load ptr, ptr %sc_l_out_0 + %t36 = call ptr @sc_retain_box(ptr %t35) + %t37 = getelementptr inbounds %ScrClosure, ptr %t32, i64 1 ; caps + %t38 = getelementptr inbounds ptr, ptr %t37, i64 0 ; caps[0] + store ptr %t36, ptr %t38 + %t39 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 1 + %t40 = load ptr, ptr %t39 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t40(ptr %t31, ptr %t32) + call void @scr_dyn_this_pop() + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u9, label %exc.k10 +exc.u9: + call void @scr_closure_release(ptr %t31) + br label %exc.cleanup11 +exc.k10: + call void @scr_closure_release(ptr %t31) + %t44 = load ptr, ptr %sc_l_out_1 + %t45 = load ptr, ptr %sc_l_out_0 + call void @scr_box_release(ptr %t45) + %t46 = load ptr, ptr %sc_l_h_0 + call void @sc_rrelease_r19(ptr %t46) + ret ptr %t44 +exc.cleanup8: + %t47 = load ptr, ptr %sc_l_out_1 + call void @sc_rrelease_r0(ptr %t47) + %t48 = load ptr, ptr %sc_l_out_0 + call void @scr_box_release(ptr %t48) + ret ptr null +exc.cleanup11: + %t49 = load ptr, ptr %sc_l_out_1 + call void @sc_rrelease_r0(ptr %t49) + %t50 = load ptr, ptr %sc_l_out_0 + call void @scr_box_release(ptr %t50) + %t51 = load ptr, ptr %sc_l_h_0 + call void @sc_rrelease_r19(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25_m5_headersFromRaw(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_headersFromRaw(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_m5_adoptResponse(ptr %p_sc_l_r_0, ptr %p_sc_l_c_0) #0 { ; %m5.adoptResponse +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_c_0 = alloca ptr ; c + %sc_l_o_0 = alloca ptr ; o + %sc_l_view_0 = alloca ptr ; view + %sc_l_sink_0 = alloca ptr ; sink + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %s8 = alloca i1 + %s14 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s44 = alloca i1 + %s76 = alloca i1 + %s87 = alloca ptr + %s119 = alloca ptr + %s134 = alloca [1 x ptr] + store ptr null, ptr %sc_l_o_0 + store ptr null, ptr %sc_l_view_0 + store ptr null, ptr %sc_l_sink_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_r_0 + %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 0 + store i1 %t7, ptr %s8 + br i1 %t7, label %log.j3, label %log.r2 +log.r2: + %t9 = load ptr, ptr %sc_l_r_0 + %t10 = getelementptr inbounds i8, ptr %t9, i64 8 ; ->kind + %t11 = load i32, ptr %t10 + %t12 = icmp eq i32 %t11, 6 + store i1 %t12, ptr %s8 + br label %log.j3 +log.j3: + %t13 = load i1, ptr %s8 + store i1 %t13, ptr %s14 + br i1 %t13, label %log.j5, label %log.r4 +log.r4: + %t15 = load ptr, ptr %sc_l_r_0 + %t16 = load ptr, ptr %sc_l_c_0 + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t18 = call zeroext i1 @scr_dyn_strict_eq(ptr %t15, ptr %t17) + store i1 %t18, ptr %s14 + call void @sc_rc_release_dyn(ptr %t17) + br label %log.j5 +log.j5: + %t19 = load i1, ptr %s14 + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + ret i1 false +if.j7: + %t20 = load ptr, ptr %sc_l_r_0 + store ptr %t20, ptr %sc_l_o_0 + %t21 = load ptr, ptr %sc_l_o_0 + %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 0 + br i1 %t24, label %if.t8, label %if.j9 +if.t8: + ret i1 false +if.j9: + %t25 = load ptr, ptr %sc_l_o_0 + %t26 = call ptr @sc_rc_retain_dyn(ptr %t25) + %t27 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t26) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + ret i1 false +exc.k11: + %t31 = getelementptr inbounds i8, ptr %t27, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t33 = icmp eq i32 %t32, 2 + %t34 = xor i1 %t33, true + call void @sc_rc_release_dyn(ptr %t27) + br i1 %t34, label %if.t12, label %if.j13 +if.t12: + ret i1 false +if.j13: + %t35 = load ptr, ptr %sc_l_o_0 + %t36 = call ptr @sc_rc_retain_dyn(ptr %t35) + %t37 = call ptr @sc_f__x25_dyn_class_property_50(ptr %t36) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t37) + ret i1 false +exc.k15: + %t41 = getelementptr inbounds i8, ptr %t37, i64 8 ; ->kind + %t42 = load i32, ptr %t41 + %t43 = icmp eq i32 %t42, 0 + store i1 %t43, ptr %s44 + br i1 %t43, label %log.j17, label %log.r16 +log.r16: + %t45 = load ptr, ptr %sc_l_o_0 + %t46 = call ptr @sc_rc_retain_dyn(ptr %t45) + %t47 = call ptr @sc_f__x25_dyn_class_property_50(ptr %t46) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t47) + call void @sc_rc_release_dyn(ptr %t37) + ret i1 false +exc.k19: + %t51 = getelementptr inbounds i8, ptr %t47, i64 8 ; ->kind + %t52 = load i32, ptr %t51 + %t53 = icmp eq i32 %t52, 6 + store i1 %t53, ptr %s44 + call void @sc_rc_release_dyn(ptr %t47) + br label %log.j17 +log.j17: + %t54 = load i1, ptr %s44 + call void @sc_rc_release_dyn(ptr %t37) + br i1 %t54, label %if.t20, label %if.j21 +if.t20: + ret i1 false +if.j21: + %t55 = call ptr @sc_rnew_r1() + %t56 = load ptr, ptr %sc_l_o_0 + %t57 = call ptr @sc_rc_retain_dyn(ptr %t56) + %t58 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t57) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rrelease_r1(ptr %t55) + call void @sc_rc_release_dyn(ptr %t58) + ret i1 false +exc.k23: + %t62 = call double @sc_dc_2(ptr %t58, ptr null) + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rrelease_r1(ptr %t55) + call void @sc_rc_release_dyn(ptr %t58) + ret i1 false +exc.k25: + %t66 = getelementptr inbounds %sc_rs_r1, ptr %t55, i64 0, i32 3 + store double %t62, ptr %t66 + %t67 = load ptr, ptr %sc_l_o_0 + %t68 = call ptr @sc_rc_retain_dyn(ptr %t67) + %t69 = call ptr @sc_f__x25_dyn_class_property_51(ptr %t68) + %t70 = load i32, ptr %exc.cell + %t71 = icmp ne i32 %t70, 0 + %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false) + br i1 %t72, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rrelease_r1(ptr %t55) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t69) + ret i1 false +exc.k27: + %t73 = getelementptr inbounds i8, ptr %t69, i64 8 ; ->kind + %t74 = load i32, ptr %t73 + %t75 = icmp eq i32 %t74, 0 + store i1 %t75, ptr %s76 + br i1 %t75, label %log.j29, label %log.r28 +log.r28: + %t77 = load ptr, ptr %sc_l_o_0 + %t78 = call ptr @sc_rc_retain_dyn(ptr %t77) + %t79 = call ptr @sc_f__x25_dyn_class_property_51(ptr %t78) + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t79) + call void @sc_rrelease_r1(ptr %t55) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t69) + ret i1 false +exc.k31: + %t83 = getelementptr inbounds i8, ptr %t79, i64 8 ; ->kind + %t84 = load i32, ptr %t83 + %t85 = icmp eq i32 %t84, 6 + store i1 %t85, ptr %s76 + call void @sc_rc_release_dyn(ptr %t79) + br label %log.j29 +log.j29: + %t86 = load i1, ptr %s76 + br i1 %t86, label %tern.t32, label %tern.f33 +tern.t32: + %t88 = call ptr @scr_dyn_new_null() + store ptr %t88, ptr %s87 + br label %tern.j34 +tern.f33: + %t89 = load ptr, ptr %sc_l_o_0 + %t90 = call ptr @sc_rc_retain_dyn(ptr %t89) + %t91 = call ptr @sc_f__x25_dyn_class_property_51(ptr %t90) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t91) + call void @sc_rrelease_r1(ptr %t55) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t69) + ret i1 false +exc.k36: + store ptr %t91, ptr %s87 + br label %tern.j34 +tern.j34: + %t95 = load ptr, ptr %s87 + %t96 = getelementptr inbounds %sc_rs_r1, ptr %t55, i64 0, i32 1 + store ptr %t95, ptr %t96 + %t97 = load ptr, ptr %sc_l_o_0 + %t98 = call ptr @sc_rc_retain_dyn(ptr %t97) + %t99 = call ptr @sc_f__x25_dyn_class_property_50(ptr %t98) + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rrelease_r1(ptr %t55) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t69) + call void @sc_rc_release_dyn(ptr %t99) + ret i1 false +exc.k38: + %t103 = getelementptr inbounds %sc_rs_r1, ptr %t55, i64 0, i32 2 + store ptr %t99, ptr %t103 + store ptr %t55, ptr %sc_l_view_0 + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t69) + %t104 = load ptr, ptr %sc_l_c_0 + %t105 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t104, i64 0, i32 2 + %t106 = load ptr, ptr %t105, !tbaa !44 + %t107 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t106) + store ptr %t107, ptr %sc_l_sink_0 + %t108 = load ptr, ptr %sc_l_sink_0 + store ptr %t108, ptr %sc_l__x25_callbackReceiver_0 + %t109 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t110 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t109, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t111 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t110) + %t112 = load i32, ptr %exc.cell + %t113 = icmp ne i32 %t112, 0 + %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false) + br i1 %t114, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_rc_release_dyn(ptr %t111) + br label %exc.cleanup41 +exc.k40: + store ptr %t111, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t115 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t116 = getelementptr inbounds i8, ptr %t115, i64 8 ; ->kind + %t117 = load i32, ptr %t116 + %t118 = icmp eq i32 %t117, 6 + br i1 %t118, label %tern.t42, label %tern.f43 +tern.t42: + %t121 = call ptr @scr_dyn_undefined() + %t120 = call ptr @scr_dyn_retain_v(ptr %t121) + store ptr %t120, ptr %s119 + br label %tern.j44 +tern.f43: + %t122 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t123 = call ptr @sc_rc_retain_dyn(ptr %t122) + %t124 = call ptr @sc_f__x25_dyn_class_property_52(ptr %t123) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u45, label %exc.k46 +exc.u45: + call void @sc_rc_release_dyn(ptr %t124) + br label %exc.cleanup47 +exc.k46: + store ptr %t124, ptr %s119 + br label %tern.j44 +tern.j44: + %t128 = load ptr, ptr %s119 + store ptr %t128, ptr %sc_l__x25_callback_0 + %t129 = load ptr, ptr %sc_l__x25_callback_0 + %t130 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t131 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t130, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t132 = load ptr, ptr %sc_l_view_0 + %t133 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t132, ptr @sc_rretain_r1, ptr @sc_rrelease_r1, ptr @sc_cs_2073431270519518, i64 9, ptr @sc_ldr_3_materialize, ptr @sc_ldr_3_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t133, ptr @sc_ldr_3_materialize_rops) + %t135 = getelementptr inbounds [1 x ptr], ptr %s134, i64 0, i64 0 + store ptr %t133, ptr %t135 + call void @scr_dyn_this_push_dyn(ptr %t131) + %t136 = call ptr @scr_dyn_call(ptr %t129, ptr %s134, i64 1, ptr @sc_cs_1005168979260425) + call void @scr_dyn_this_pop() + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t131) + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_rc_release_dyn(ptr %t136) + br label %exc.cleanup50 +exc.k49: + call void @sc_rc_release_dyn(ptr %t131) + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_rc_release_dyn(ptr %t136) + %t140 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t140) + %t141 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t141) + %t142 = load ptr, ptr %sc_l_view_0 + call void @sc_rrelease_r1(ptr %t142) + %t143 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t143) + ret i1 true +exc.cleanup41: + %t144 = load ptr, ptr %sc_l_view_0 + call void @sc_rrelease_r1(ptr %t144) + %t145 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t145) + ret i1 false +exc.cleanup47: + %t146 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t146) + %t147 = load ptr, ptr %sc_l_view_0 + call void @sc_rrelease_r1(ptr %t147) + %t148 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t148) + ret i1 false +exc.cleanup50: + %t149 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t149) + %t150 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t150) + %t151 = load ptr, ptr %sc_l_view_0 + call void @sc_rrelease_r1(ptr %t151) + %t152 = load ptr, ptr %sc_l_sink_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t152) + ret i1 false +} +define internal i1 @sc_f__x25_m5_adoptResponse(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_m5_adoptResponse(ptr %p0, ptr %p1) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p1) + ret i1 %result +} + +define internal void @sc_bf__x25_m5_runChainPromise(ptr %p_sc_l_chain_0, ptr %p_sc_l_c_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0, ptr %p_sc_l_resolve_0) #0 { ; %m5.runChainPromise +entry: + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_c_0 = alloca ptr ; c + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_r_0 = alloca ptr ; r + %sc_l_e_0 = alloca ptr ; e + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_p_0 = alloca ptr ; p + %s10 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s70 = alloca i1 + %s82 = alloca ptr + store ptr null, ptr %sc_l_r_0 + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_p_0 + store ptr %p_sc_l_chain_0, ptr %sc_l_chain_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0 + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t5 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t5) + store ptr %t4, ptr %sc_l_r_0 + %t6 = load ptr, ptr %sc_l_chain_0 + %t9 = getelementptr inbounds %ScrUnion, ptr %t6, i64 0, i32 1 + %t8 = load i32, ptr %t9 + %t7 = icmp eq i32 %t8, 1 + br i1 %t7, label %read.then5, label %read.else6 +read.then5: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1988484489435674) + br label %try.c2 +exc.dead8: + store ptr null, ptr %s10 + br label %read.join7 +read.else6: + %t11 = load ptr, ptr %sc_l_chain_0 + %t12 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 5 + %t13 = load ptr, ptr %t12 + store ptr %t13, ptr %s10 + br label %read.join7 +read.join7: + %t14 = load ptr, ptr %s10 + %t15 = load ptr, ptr %sc_l_c_0 + %t16 = getelementptr inbounds %ScrClosure, ptr %t14, i64 0, i32 1 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %ScrClosure, ptr %t14, i64 0, i32 7 + %t19 = load ptr, ptr %t18 + %t20 = icmp ne ptr %t19, null + br i1 %t20, label %callback.lend9, label %callback.own10 +callback.lend9: + call void @scr_dyn_this_push_dyn(ptr null) + %t21 = call ptr %t19(ptr %t14, ptr %t15) + call void @scr_dyn_this_pop() + br label %callback.done11 +callback.own10: + %t22 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t15) + call void @scr_dyn_this_push_dyn(ptr null) + %t23 = call ptr %t17(ptr %t14, ptr %t22) + call void @scr_dyn_this_pop() + br label %callback.done11 +callback.done11: + %t24 = phi ptr [ %t21, %callback.lend9 ], [ %t23, %callback.own10 ] + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t24) + br label %try.c2 +exc.k13: + %t28 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t28) + store ptr %t24, ptr %sc_l_r_0 + br label %try.e4 +try.c2: + %t29 = call ptr @scr_exc_take() ; catch binding + store ptr %t29, ptr %sc_l_e_0 + %t30 = load ptr, ptr %sc_l_oef_0 + %t33 = getelementptr inbounds %ScrUnion, ptr %t30, i64 0, i32 1 + %t32 = load i32, ptr %t33 + %t31 = icmp ne i32 %t32, 1 + br i1 %t31, label %if.t14, label %if.f16 +if.t14: + %t34 = load ptr, ptr %sc_l_oef_0 + %t35 = getelementptr inbounds %ScrUnion, ptr %t34, i64 0, i32 5 + %t36 = load ptr, ptr %t35 + %t37 = load ptr, ptr %sc_l_e_0 + %t38 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t38) + br label %exc.cleanup19 +exc.k18: + %t42 = load ptr, ptr %sc_l_sink_0 + %t43 = load ptr, ptr %sc_l_c_0 + call void @sc_bf__x25_m5_runOnError(ptr %t36, ptr %t38, ptr %t42, ptr %t43) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t38) + br label %exc.cleanup19 +exc.k21: + call void @sc_rc_release_dyn(ptr %t38) + br label %if.j15 +if.f16: + %t47 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25_m5_send500(ptr %t47) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u22, label %exc.k23 +exc.u22: + br label %exc.cleanup19 +exc.k23: + br label %if.j15 +if.j15: + %t51 = load ptr, ptr %sc_l_resolve_0 + %t52 = getelementptr inbounds %ScrClosure, ptr %t51, i64 0, i32 1 + %t53 = load ptr, ptr %t52 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t53(ptr %t51) + call void @scr_dyn_this_pop() + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u24, label %exc.k25 +exc.u24: + br label %exc.cleanup19 +exc.k25: + %t57 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t57) + %t58 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t58) + ret void +try.e4: + %t59 = load ptr, ptr %sc_l_r_0 + %t60 = load ptr, ptr %sc_l_c_0 + %t61 = call i1 @sc_bf__x25_m5_isSettled(ptr %t59, ptr %t60) + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u26, label %exc.k27 +exc.u26: + br label %exc.cleanup28 +exc.k27: + br i1 %t61, label %if.t29, label %if.j30 +if.t29: + %t65 = load ptr, ptr %sc_l_c_0 + %t66 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t65, i64 0, i32 5 + %t67 = load i8, ptr %t66, !tbaa !42 + %t68 = trunc i8 %t67 to i1 + %t69 = icmp eq i1 %t68, false + store i1 %t69, ptr %s70 + br i1 %t69, label %log.r31, label %log.j32 +log.r31: + %t71 = load ptr, ptr %sc_l_sink_0 + store ptr %t71, ptr %sc_l__x25_callbackReceiver_0 + %t72 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t74 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t73) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t74) + br label %exc.cleanup28 +exc.k34: + store ptr %t74, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t78 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t79 = getelementptr inbounds i8, ptr %t78, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t81 = icmp eq i32 %t80, 6 + br i1 %t81, label %tern.t35, label %tern.f36 +tern.t35: + %t84 = call ptr @scr_dyn_undefined() + %t83 = call ptr @scr_dyn_retain_v(ptr %t84) + store ptr %t83, ptr %s82 + br label %tern.j37 +tern.f36: + %t85 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t86 = call ptr @sc_rc_retain_dyn(ptr %t85) + %t87 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t86) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t87) + br label %exc.cleanup40 +exc.k39: + store ptr %t87, ptr %s82 + br label %tern.j37 +tern.j37: + %t91 = load ptr, ptr %s82 + store ptr %t91, ptr %sc_l__x25_callback_0 + %t92 = load ptr, ptr %sc_l__x25_callback_0 + %t93 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t94 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t93, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t94) + %t95 = call ptr @scr_dyn_call(ptr %t92, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u41, label %exc.k42 +exc.u41: + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + br label %exc.cleanup43 +exc.k42: + %t99 = call zeroext i1 @sc_dc_3(ptr %t95, ptr null) + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + br label %exc.cleanup43 +exc.k45: + %t103 = icmp eq i1 %t99, false + store i1 %t103, ptr %s70 + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + %t104 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t104) + %t105 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t105) + br label %log.j32 +log.j32: + %t106 = load i1, ptr %s70 + br i1 %t106, label %if.t46, label %if.j47 +if.t46: + %t107 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25_m5_send500(ptr %t107) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u48, label %exc.k49 +exc.u48: + br label %exc.cleanup28 +exc.k49: + br label %if.j47 +if.j47: + %t111 = load ptr, ptr %sc_l_resolve_0 + %t112 = getelementptr inbounds %ScrClosure, ptr %t111, i64 0, i32 1 + %t113 = load ptr, ptr %t112 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t113(ptr %t111) + call void @scr_dyn_this_pop() + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u50, label %exc.k51 +exc.u50: + br label %exc.cleanup28 +exc.k51: + %t117 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t117) + ret void +if.j30: + %t118 = load ptr, ptr %sc_l_r_0 + %t119 = call ptr @sc_rc_retain_dyn(ptr %t118) + %t120 = load ptr, ptr %sc_l_c_0 + %t121 = load ptr, ptr %sc_l_sink_0 + %t122 = load ptr, ptr %sc_l_oef_0 + %t123 = call ptr @sc_bf__x25_m5_settleAndResolveAdopting(ptr %t119, ptr %t120, ptr %t121, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_promise_release(ptr %t123) + br label %exc.cleanup28 +exc.k53: + store ptr %t123, ptr %sc_l_p_0 + %t127 = call ptr @scr_closure_new(ptr @sc_as__x25_fn50_then2, i64 0) + %t128 = getelementptr inbounds %ScrClosure, ptr %t127, i64 0, i32 4 + store i32 2, ptr %t128 + %t129 = load ptr, ptr %sc_l_p_0 + %t130 = call ptr @scr_promise_retain_v(ptr %t129) + %t131 = load ptr, ptr %sc_l_resolve_0 + %t132 = call ptr @scr_closure_retain_v(ptr %t131) + %t133 = load ptr, ptr %sc_l_resolve_0 + %t134 = call ptr @sc_dfb_1(ptr %t133, ptr null) + %t135 = getelementptr inbounds %ScrClosure, ptr %t127, i64 0, i32 1 + %t136 = load ptr, ptr %t135 + call void @scr_dyn_this_push_dyn(ptr null) + %t137 = call ptr %t136(ptr %t127, ptr %t130, ptr %t132, ptr %t134) + call void @scr_dyn_this_pop() + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_closure_release(ptr %t127) + call void @scr_promise_release(ptr %t137) + br label %exc.cleanup56 +exc.k55: + call void @scr_closure_release(ptr %t127) + call void @scr_promise_release(ptr %t137) + %t141 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t141) + %t142 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t142) + ret void +exc.cleanup19: + %t143 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t143) + %t144 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t144) + ret void +exc.cleanup28: + %t145 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t145) + ret void +exc.cleanup40: + %t146 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t146) + %t147 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t147) + ret void +exc.cleanup43: + %t148 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t148) + %t149 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t149) + %t150 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t150) + ret void +exc.cleanup56: + %t151 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t151) + %t152 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t152) + ret void +} +define internal void @sc_f__x25_m5_runChainPromise(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_m5_runChainPromise(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @scr_union_release(ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p2) + call void @scr_union_release(ptr %p3) + call void @scr_closure_release(ptr %p4) + ret void +} + +define internal ptr @sc_bf__x25_m5_settleAndResolveAdopting(ptr %p_sc_l_r_0, ptr %p_sc_l_c_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0) #0 { ; %m5.settleAndResolveAdopting +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_c_0 = alloca ptr ; c + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_oef_0 = alloca ptr ; oef + %s0 = alloca ptr ; lazy box c + %s1 = alloca ptr ; lazy box sink + %s2 = alloca ptr ; lazy box oef + store ptr null, ptr %s0 + store ptr null, ptr %s1 + store ptr null, ptr %s2 + %t3 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) ; r (boxed param) + call void @scr_box_set_ref(ptr %t3, ptr %p_sc_l_r_0) + store ptr %t3, ptr %sc_l_r_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0 + %t4 = call ptr @llvm.stacksave.p0() + %t5 = load ptr, ptr @scr_stack_guard + %t6 = icmp ult ptr %t4, %t5 + %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false) + br i1 %t7, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t8 = call ptr @scr_promise_new() + %t9 = call ptr @scr_make_resolve(ptr %t8, i32 3) + %t10 = call ptr @scr_closure_new(ptr @sc_f__x25_fn62, i64 4) + %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 4 + store i32 4, ptr %t11 + %t12 = load ptr, ptr %s0 + %t13 = icmp eq ptr %t12, null + br i1 %t13, label %lazy.box3, label %lazy.box.j4 +lazy.box3: + %t14 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore) + %t15 = load ptr, ptr %sc_l_c_0 + %t16 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t15) + call void @scr_box_set_ref(ptr %t14, ptr %t16) + store ptr %t14, ptr %s0 + br label %lazy.box.j4 +lazy.box.j4: + %t17 = load ptr, ptr %s0 + %t18 = call ptr @sc_retain_box(ptr %t17) + %t19 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps + %t20 = getelementptr inbounds ptr, ptr %t19, i64 0 ; caps[0] + store ptr %t18, ptr %t20 + %t21 = load ptr, ptr %s1 + %t22 = icmp eq ptr %t21, null + br i1 %t22, label %lazy.box5, label %lazy.box.j6 +lazy.box5: + %t23 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink) + %t24 = load ptr, ptr %sc_l_sink_0 + %t25 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t24) + call void @scr_box_set_ref(ptr %t23, ptr %t25) + store ptr %t23, ptr %s1 + br label %lazy.box.j6 +lazy.box.j6: + %t26 = load ptr, ptr %s1 + %t27 = call ptr @sc_retain_box(ptr %t26) + %t28 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps + %t29 = getelementptr inbounds ptr, ptr %t28, i64 1 ; caps[1] + store ptr %t27, ptr %t29 + %t30 = load ptr, ptr %sc_l_r_0 + %t31 = call ptr @sc_retain_box(ptr %t30) + %t32 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps + %t33 = getelementptr inbounds ptr, ptr %t32, i64 2 ; caps[2] + store ptr %t31, ptr %t33 + %t34 = load ptr, ptr %s2 + %t35 = icmp eq ptr %t34, null + br i1 %t35, label %lazy.box7, label %lazy.box.j8 +lazy.box7: + %t36 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) + %t37 = load ptr, ptr %sc_l_oef_0 + %t38 = call ptr @scr_union_retain_v(ptr %t37) + call void @scr_box_set_ref(ptr %t36, ptr %t38) + store ptr %t36, ptr %s2 + br label %lazy.box.j8 +lazy.box.j8: + %t39 = load ptr, ptr %s2 + %t40 = call ptr @sc_retain_box(ptr %t39) + %t41 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps + %t42 = getelementptr inbounds ptr, ptr %t41, i64 3 ; caps[3] + store ptr %t40, ptr %t42 + call void @scr_promise_run_executor(ptr %t8, ptr %t10, ptr %t9) + call void @scr_closure_release(ptr %t10) + %t43 = load ptr, ptr %s0 + %t44 = icmp ne ptr %t43, null + br i1 %t44, label %lazy.release9, label %lazy.release.j10 +lazy.release9: + call void @scr_box_release(ptr %t43) + br label %lazy.release.j10 +lazy.release.j10: + %t45 = load ptr, ptr %s1 + %t46 = icmp ne ptr %t45, null + br i1 %t46, label %lazy.release11, label %lazy.release.j12 +lazy.release11: + call void @scr_box_release(ptr %t45) + br label %lazy.release.j12 +lazy.release.j12: + %t47 = load ptr, ptr %s2 + %t48 = icmp ne ptr %t47, null + br i1 %t48, label %lazy.release13, label %lazy.release.j14 +lazy.release13: + call void @scr_box_release(ptr %t47) + br label %lazy.release.j14 +lazy.release.j14: + %t49 = load ptr, ptr %sc_l_r_0 + call void @scr_box_release(ptr %t49) + ret ptr %t8 +exc.cleanup2: + %t50 = load ptr, ptr %s0 + %t51 = icmp ne ptr %t50, null + br i1 %t51, label %lazy.release15, label %lazy.release.j16 +lazy.release15: + call void @scr_box_release(ptr %t50) + br label %lazy.release.j16 +lazy.release.j16: + %t52 = load ptr, ptr %s1 + %t53 = icmp ne ptr %t52, null + br i1 %t53, label %lazy.release17, label %lazy.release.j18 +lazy.release17: + call void @scr_box_release(ptr %t52) + br label %lazy.release.j18 +lazy.release.j18: + %t54 = load ptr, ptr %s2 + %t55 = icmp ne ptr %t54, null + br i1 %t55, label %lazy.release19, label %lazy.release.j20 +lazy.release19: + call void @scr_box_release(ptr %t54) + br label %lazy.release.j20 +lazy.release.j20: + %t56 = load ptr, ptr %sc_l_r_0 + call void @scr_box_release(ptr %t56) + ret ptr null +} +define internal ptr @sc_f__x25_m5_settleAndResolveAdopting(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_m5_settleAndResolveAdopting(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_CtxCore(ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p2) + call void @scr_union_release(ptr %p3) + ret ptr %result +} + +define internal void @sc_bf__x25_m5_allow405Promise(ptr %p_sc_l_node_0, ptr %p_sc_l_method_0, ptr %p_sc_l_url_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0, ptr %p_sc_l_resolve_0) #0 { ; %m5.allow405Promise +entry: + %sc_l_node_0 = alloca ptr ; node + %sc_l_method_0 = alloca ptr ; method + %sc_l_url_0 = alloca ptr ; url + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_hm_0 = alloca ptr ; hm + %sc_l_seen_0 = alloca ptr ; seen + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca i32 ; i + %sc_l_m_0 = alloca ptr ; m + %sc_l_path_0 = alloca ptr ; path + %sc_l_qs_0 = alloca ptr ; qs + %sc_l_qi_0 = alloca i32 ; qi + %sc_l_rv_0 = alloca ptr ; rv + %sc_l_c_0 = alloca ptr ; c + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_4 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_5 = alloca ptr ; %callback + %sc_l_e_0 = alloca ptr ; e + %sc_l__x25_callbackReceiver_6 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_6 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_6 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_6 = alloca ptr ; %callback + %s10 = alloca i64 ; integer induction i + %s17 = alloca ptr + %s47 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s62 = alloca i1 + %s65 = alloca ptr + %s68 = alloca double + %s79 = alloca ptr + %s82 = alloca double + %s121 = alloca ptr + %s124 = alloca double + %s132 = alloca i1 + %s241 = alloca ptr + %s292 = alloca ptr + %s306 = alloca [1 x ptr] + %s325 = alloca ptr + %s342 = alloca [2 x ptr] + %s362 = alloca ptr + %s377 = alloca [2 x ptr] + %s397 = alloca ptr + %s412 = alloca [2 x ptr] + %s432 = alloca ptr + %s446 = alloca [1 x ptr] + %s466 = alloca ptr + store ptr null, ptr %sc_l_hm_0 + store ptr null, ptr %sc_l_seen_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_m_0 + store ptr null, ptr %sc_l_path_0 + store ptr null, ptr %sc_l_qs_0 + store ptr null, ptr %sc_l_rv_0 + store ptr null, ptr %sc_l_c_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr null, ptr %sc_l__x25_callbackReceiver_4 + store ptr null, ptr %sc_l__x25_callbackBag_4 + store ptr null, ptr %sc_l__x25_callback_4 + store ptr null, ptr %sc_l__x25_callbackReceiver_5 + store ptr null, ptr %sc_l__x25_callbackBag_5 + store ptr null, ptr %sc_l__x25_callback_5 + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_6 + store ptr null, ptr %sc_l__x25_callbackBag_6 + store ptr null, ptr %sc_l__x25_callback_6 + store ptr %p_sc_l_node_0, ptr %sc_l_node_0 + store ptr %p_sc_l_method_0, ptr %sc_l_method_0 + store ptr %p_sc_l_url_0, ptr %sc_l_url_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0 + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_node_0 + %t5 = getelementptr inbounds %sc_rs_r5, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @scr_arr_retain_v(ptr %t6) + store ptr %t7, ptr %sc_l_hm_0 + %t8 = call ptr @sc_rnew_r12() + store ptr %t8, ptr %sc_l_seen_0 + %t9 = call ptr @scr_arr_new_small(i32 2) + store ptr %t9, ptr %sc_l_out_0 + %t11 = fptosi double 0x0000000000000000 to i64 + store i64 %t11, ptr %s10 + br label %loop.c3 +loop.c3: + %t12 = load ptr, ptr %sc_l_hm_0 + %t13 = getelementptr inbounds %ScrArr, ptr %t12, i64 0, i32 1 + %t14 = load i64, ptr %t13, !tbaa !2 + %t15 = load i64, ptr %s10 + %t16 = icmp ult i64 %t15, %t14 + br i1 %t16, label %loop.b4, label %loop.e2 +loop.b4: + %t18 = load ptr, ptr %sc_l_hm_0 + %t19 = load i64, ptr %s10 + %t20 = load i64, ptr %s10 + %t21 = sitofp i64 %t20 to double + %t22 = trunc i64 %t20 to i32 + %t23 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2 + %t24 = load i64, ptr %t23, !tbaa !2 + %t25 = icmp ult i64 %t19, %t24 + br i1 %t25, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t26 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6 + %t27 = load i32, ptr %t26, !tbaa !2 + %t29 = zext i32 %t27 to i64 + %t28 = icmp ult i64 %t19, %t29 + br i1 %t28, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t30 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1 + %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296} + %t32 = icmp ult i64 %t19, %t31 + br i1 %t32, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9 + %t34 = load ptr, ptr %t33, !tbaa !2 + %t35 = getelementptr inbounds i8, ptr %t34, i64 %t19 + %t36 = load i8, ptr %t35, !tbaa !4 + %t37 = icmp eq i8 %t36, 1 + br i1 %t37, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t38 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8 + %t39 = load ptr, ptr %t38, !tbaa !2 + %t40 = getelementptr inbounds i64, ptr %t39, i64 %t19 + %t41 = load ptr, ptr %t40, !tbaa !6 + %t42 = call ptr @sc_rc_retain_str(ptr %t41) + store ptr %t42, ptr %s17 + br label %local.array.join8 +local.array.slow6: + %t43 = call ptr @scr_arr_peek_ref(ptr %t18, double %t21) + %t44 = icmp ne ptr %t43, null + br i1 %t44, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t45 = call ptr @sc_rc_retain_str(ptr %t43) + store ptr %t45, ptr %s17 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %s17 + br label %local.array.join8 +local.array.join8: + %t46 = load ptr, ptr %s17 + %t49 = icmp eq ptr %t46, null + %t48 = select i1 %t49, i32 1, i32 0 + switch i32 %t48, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ] +u.a17: + %t50 = call ptr @sc_rc_retain_str(ptr %t46) + store ptr %t50, ptr %s47 + br label %us.j15 +u.a18: + store ptr @sc_lit_4134463689533233, ptr %s47 + br label %us.j15 +u.bad16: + call void @sc_bad_tag() + unreachable +us.j15: + %t51 = load ptr, ptr %s47 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u19, label %exc.k20 +exc.u19: + %t55 = load ptr, ptr %s17 + call void @scr_str_release(ptr %t55) + call void @scr_str_release(ptr %t51) + br label %exc.cleanup21 +exc.k20: + store ptr %t51, ptr %sc_l_m_0 + %t56 = load ptr, ptr %s17 + call void @scr_str_release(ptr %t56) + %t57 = load ptr, ptr %sc_l_m_0 + %t58 = call zeroext i1 @sc_streq_1834571860458263(ptr %t57) + br i1 %t58, label %if.t22, label %if.f24 +if.t22: + %t59 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t59) + store ptr @sc_lit_1613346130462307, ptr %sc_l_m_0 + br label %if.j23 +if.f24: + %t60 = load ptr, ptr %sc_l_m_0 + %t61 = call zeroext i1 @sc_streq_367446482893939(ptr %t60) + store i1 %t61, ptr %s62 + br i1 %t61, label %log.r25, label %log.j26 +log.r25: + %t63 = load ptr, ptr %sc_l_seen_0 + %t64 = call ptr @sc_rretain_r12(ptr %t63) + %t66 = getelementptr inbounds %sc_rs_r12, ptr %t64, i64 0, i32 1 + %t67 = load ptr, ptr %t66 + store double 0x0000000000000000, ptr %s68 + %t69 = call zeroext i1 @scr_map_get_str_f64(ptr %t67, ptr @sc_lit_3185835515143599, ptr %s68) + br i1 %t69, label %rkg.h28, label %rkg.n29 +rkg.h28: + %t70 = load double, ptr %s68 + %t71 = call ptr @scr_union_new_f64(i32 0, double %t70) + store ptr %t71, ptr %s65 + br label %rkg.j27 +rkg.n29: + store ptr @sc_unit_3, ptr %s65 + br label %rkg.j27 +rkg.j27: + %t72 = load ptr, ptr %s65 + %t75 = getelementptr inbounds %ScrUnion, ptr %t72, i64 0, i32 1 + %t74 = load i32, ptr %t75 + %t73 = icmp eq i32 %t74, 1 + store i1 %t73, ptr %s62 + call void @sc_rrelease_r12(ptr %t64) + call void @scr_union_release(ptr %t72) + br label %log.j26 +log.j26: + %t76 = load i1, ptr %s62 + br i1 %t76, label %if.t30, label %if.j31 +if.t30: + %t77 = load ptr, ptr %sc_l_seen_0 + %t78 = call ptr @sc_rretain_r12(ptr %t77) + %t80 = getelementptr inbounds %sc_rs_r12, ptr %t78, i64 0, i32 1 + %t81 = load ptr, ptr %t80 + store double 0x0000000000000000, ptr %s82 + %t83 = call zeroext i1 @scr_map_get_str_f64(ptr %t81, ptr @sc_lit_367446482893939, ptr %s82) + br i1 %t83, label %rkg.h33, label %rkg.n34 +rkg.h33: + %t84 = load double, ptr %s82 + %t85 = call ptr @scr_union_new_f64(i32 0, double %t84) + store ptr %t85, ptr %s79 + br label %rkg.j32 +rkg.n34: + store ptr @sc_unit_3, ptr %s79 + br label %rkg.j32 +rkg.j32: + %t86 = load ptr, ptr %s79 + %t89 = getelementptr inbounds %ScrUnion, ptr %t86, i64 0, i32 1 + %t88 = load i32, ptr %t89 + %t87 = icmp eq i32 %t88, 1 + call void @sc_rrelease_r12(ptr %t78) + call void @scr_union_release(ptr %t86) + br i1 %t87, label %if.t35, label %if.j36 +if.t35: + %t90 = load ptr, ptr %sc_l_seen_0 + %t91 = call ptr @sc_rretain_r12(ptr %t90) + %t92 = getelementptr inbounds %sc_rs_r12, ptr %t91, i64 0, i32 1 + %t93 = load ptr, ptr %t92 + call void @scr_map_set_str_f64(ptr %t93, ptr @sc_lit_367446482893939, double 0x3FF0000000000000) + call void @sc_rrelease_r12(ptr %t91) + %t94 = load ptr, ptr %sc_l_out_0 + %t95 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 1 + %t96 = load i64, ptr %t95, !tbaa !2 + %t99 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 2 + %t97 = load i64, ptr %t99, !tbaa !2 + %t98 = icmp ult i64 %t96, %t97 + br i1 %t98, label %arr.push.dense37, label %arr.push.slow38 +arr.push.dense37: + %t100 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 8 + %t102 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 9 + %t101 = load ptr, ptr %t100, !tbaa !2 + %t103 = load ptr, ptr %t102, !tbaa !2 + %t104 = getelementptr inbounds i8, ptr %t103, i64 %t96 + %t105 = getelementptr inbounds i64, ptr %t101, i64 %t96 + store ptr @sc_lit_367446482893939, ptr %t105, !tbaa !6 + store i8 1, ptr %t104, !tbaa !4 + %t106 = add nuw i64 %t96, 1 + store i64 %t106, ptr %t95, !tbaa !2 + %t108 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 6 + %t109 = load i32, ptr %t108, !tbaa !2 + %t113 = zext i32 %t109 to i64 + %t110 = icmp eq i64 %t113, %t96 + %t111 = add i32 %t109, 1 + %t112 = select i1 %t110, i32 %t111, i32 %t109 + store i32 %t112, ptr %t108, !tbaa !2 + %t107 = sitofp i64 %t106 to double + br label %arr.push.join39 +arr.push.slow38: + %t114 = call double @scr_arr_push_ref(ptr %t94, ptr @sc_lit_367446482893939) cold + br label %arr.push.join39 +arr.push.join39: + %t115 = phi double [ %t107, %arr.push.dense37 ], [ %t114, %arr.push.slow38 ] + br label %if.j36 +if.j36: + %t116 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t116) + store ptr @sc_lit_3185835515143599, ptr %sc_l_m_0 + br label %if.j31 +if.j31: + br label %if.j23 +if.j23: + %t117 = load ptr, ptr %sc_l_seen_0 + %t118 = call ptr @sc_rretain_r12(ptr %t117) + %t119 = load ptr, ptr %sc_l_m_0 + %t120 = call ptr @sc_rc_retain_str(ptr %t119) + %t122 = getelementptr inbounds %sc_rs_r12, ptr %t118, i64 0, i32 1 + %t123 = load ptr, ptr %t122 + store double 0x0000000000000000, ptr %s124 + %t125 = call zeroext i1 @scr_map_get_str_f64(ptr %t123, ptr %t120, ptr %s124) + br i1 %t125, label %rkg.h41, label %rkg.n42 +rkg.h41: + %t126 = load double, ptr %s124 + %t127 = call ptr @scr_union_new_f64(i32 0, double %t126) + store ptr %t127, ptr %s121 + br label %rkg.j40 +rkg.n42: + store ptr @sc_unit_3, ptr %s121 + br label %rkg.j40 +rkg.j40: + %t128 = load ptr, ptr %s121 + %t130 = getelementptr inbounds %ScrUnion, ptr %t128, i64 0, i32 1 + %t129 = load i32, ptr %t130 + %t131 = icmp eq i32 %t129, 0 + store i1 false, ptr %s132 + br i1 %t131, label %ueq.s43, label %ueq.j44 +ueq.s43: + %t134 = call double @scr_union_get_f64(ptr %t128) + %t133 = fcmp oeq double %t134, 0x3FF0000000000000 + store i1 %t133, ptr %s132 + br label %ueq.j44 +ueq.j44: + %t135 = load i1, ptr %s132 + %t136 = xor i1 %t135, true + call void @sc_rrelease_r12(ptr %t118) + call void @scr_str_release(ptr %t120) + call void @scr_union_release(ptr %t128) + br i1 %t136, label %if.t45, label %if.j46 +if.t45: + %t137 = load ptr, ptr %sc_l_seen_0 + %t138 = call ptr @sc_rretain_r12(ptr %t137) + %t139 = load ptr, ptr %sc_l_m_0 + %t140 = call ptr @sc_rc_retain_str(ptr %t139) + %t141 = getelementptr inbounds %sc_rs_r12, ptr %t138, i64 0, i32 1 + %t142 = load ptr, ptr %t141 + call void @scr_map_set_str_f64(ptr %t142, ptr %t140, double 0x3FF0000000000000) + br label %rks.j47 +rks.j47: + call void @sc_rrelease_r12(ptr %t138) + call void @scr_str_release(ptr %t140) + %t143 = load ptr, ptr %sc_l_out_0 + %t144 = load ptr, ptr %sc_l_m_0 + %t145 = call ptr @sc_rc_retain_str(ptr %t144) + %t146 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 1 + %t147 = load i64, ptr %t146, !tbaa !2 + %t150 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 2 + %t148 = load i64, ptr %t150, !tbaa !2 + %t149 = icmp ult i64 %t147, %t148 + br i1 %t149, label %arr.push.dense48, label %arr.push.slow49 +arr.push.dense48: + %t151 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 8 + %t153 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 9 + %t152 = load ptr, ptr %t151, !tbaa !2 + %t154 = load ptr, ptr %t153, !tbaa !2 + %t155 = getelementptr inbounds i8, ptr %t154, i64 %t147 + %t156 = getelementptr inbounds i64, ptr %t152, i64 %t147 + store ptr %t145, ptr %t156, !tbaa !6 + store i8 1, ptr %t155, !tbaa !4 + %t157 = add nuw i64 %t147, 1 + store i64 %t157, ptr %t146, !tbaa !2 + %t159 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 6 + %t160 = load i32, ptr %t159, !tbaa !2 + %t164 = zext i32 %t160 to i64 + %t161 = icmp eq i64 %t164, %t147 + %t162 = add i32 %t160, 1 + %t163 = select i1 %t161, i32 %t162, i32 %t160 + store i32 %t163, ptr %t159, !tbaa !2 + %t158 = sitofp i64 %t157 to double + br label %arr.push.join50 +arr.push.slow49: + %t165 = call double @scr_arr_push_ref(ptr %t143, ptr %t145) cold + br label %arr.push.join50 +arr.push.join50: + %t166 = phi double [ %t158, %arr.push.dense48 ], [ %t165, %arr.push.slow49 ] + br label %if.j46 +if.j46: + %t167 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t167) + br label %loop.u5 +loop.u5: + %t168 = load i64, ptr %s10 + %t169 = add nuw i64 %t168, 1 + store i64 %t169, ptr %s10 + br label %loop.c3 +loop.e2: + %t170 = load ptr, ptr %sc_l_oef_0 + %t173 = getelementptr inbounds %ScrUnion, ptr %t170, i64 0, i32 1 + %t172 = load i32, ptr %t173 + %t171 = icmp ne i32 %t172, 1 + br i1 %t171, label %if.t51, label %if.j52 +if.t51: + %t174 = load ptr, ptr %sc_l_url_0 + %t175 = call ptr @sc_rc_retain_str(ptr %t174) + store ptr %t175, ptr %sc_l_path_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_qs_0 + %t176 = load ptr, ptr %sc_l_url_0 + %t177 = call double @scr_str_index_of(ptr %t176, ptr @sc_lit_2437473434951379, double 0x0000000000000000) + %t178 = fptosi double %t177 to i32 + store i32 %t178, ptr %sc_l_qi_0 + %t179 = load i32, ptr %sc_l_qi_0 + %t180 = sitofp i32 %t179 to double + %t182 = sext i32 %t179 to i64 + %t181 = icmp sge i64 %t182, 0 + br i1 %t181, label %if.t53, label %if.j54 +if.t53: + %t183 = load ptr, ptr %sc_l_url_0 + %t184 = load i32, ptr %sc_l_qi_0 + %t185 = sitofp i32 %t184 to double + %t186 = call ptr @scr_str_slice(ptr %t183, double 0x0000000000000000, double %t185) + %t187 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t187) + store ptr %t186, ptr %sc_l_path_0 + %t188 = load ptr, ptr %sc_l_url_0 + %t189 = load i32, ptr %sc_l_qi_0 + %t190 = sitofp i32 %t189 to double + %t192 = sext i32 %t189 to i64 + %t193 = add nsw i64 %t192, 1 + %t195 = trunc i64 %t193 to i32 + %t194 = sitofp i64 %t193 to double + %t196 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t197 = call ptr @scr_str_slice(ptr %t188, double %t194, double %t196) + %t198 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t198) + store ptr %t197, ptr %sc_l_qs_0 + br label %if.j54 +if.j54: + %t199 = call ptr @sc_new__x25_m5_ReqViewCore() + %t200 = load ptr, ptr %sc_l_qs_0 + %t201 = load ptr, ptr %sc_l_path_0 + %t202 = load ptr, ptr %sc_l_url_0 + %t203 = load ptr, ptr %sc_l_method_0 + call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %t199, ptr @sc_unit_1, ptr %t200, ptr %t201, ptr %t202, ptr %t203, ptr null, ptr null) + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_release__x25_m5_ReqViewCore(ptr %t199) + br label %exc.cleanup57 +exc.k56: + store ptr %t199, ptr %sc_l_rv_0 + %t207 = call ptr @sc_new__x25_m5_CtxCore() + %t208 = load ptr, ptr %sc_l_rv_0 + %t209 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %t207, ptr %t208, ptr %t209) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_release__x25_m5_CtxCore(ptr %t207) + br label %exc.cleanup60 +exc.k59: + store ptr %t207, ptr %sc_l_c_0 + %t213 = load ptr, ptr %sc_l_oef_0 + %t214 = getelementptr inbounds %ScrUnion, ptr %t213, i64 0, i32 5 + %t215 = load ptr, ptr %t214 + %t216 = call ptr @sc_new__x25_m5_MethodNotAllowedError() + %t217 = load ptr, ptr %sc_l_out_0 + %t218 = call ptr @scr_arr_join(ptr %t217, ptr @sc_lit_3662817572149066) + call void @sc_bf__x25__x25_m5_MethodNotAllowedError_constructor(ptr %t216, ptr %t218) + %t219 = load i32, ptr %exc.cell + %t220 = icmp ne i32 %t219, 0 + %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false) + br i1 %t221, label %exc.u61, label %exc.k62 +exc.u61: + call void @scr_str_release(ptr %t218) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t216) + br label %exc.cleanup63 +exc.k62: + call void @scr_str_release(ptr %t218) + %t222 = call ptr @sc_td_15(ptr %t216) + %t223 = load ptr, ptr %sc_l_c_0 + %t224 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t223) + %t225 = getelementptr inbounds %ScrClosure, ptr %t215, i64 0, i32 1 + %t226 = load ptr, ptr %t225 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t226(ptr %t215, ptr %t222, ptr %t224) + call void @scr_dyn_this_pop() + %t227 = load i32, ptr %exc.cell + %t228 = icmp ne i32 %t227, 0 + %t229 = call i1 @llvm.expect.i1(i1 %t228, i1 false) + br i1 %t229, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t216) + br label %exc.cleanup63 +exc.k65: + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t216) + %t230 = load ptr, ptr %sc_l_sink_0 + store ptr %t230, ptr %sc_l__x25_callbackReceiver_0 + %t231 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t232 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t231, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t233 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t232) + %t234 = load i32, ptr %exc.cell + %t235 = icmp ne i32 %t234, 0 + %t236 = call i1 @llvm.expect.i1(i1 %t235, i1 false) + br i1 %t236, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t233) + br label %exc.cleanup63 +exc.k67: + store ptr %t233, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t237 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t238 = getelementptr inbounds i8, ptr %t237, i64 8 ; ->kind + %t239 = load i32, ptr %t238 + %t240 = icmp eq i32 %t239, 6 + br i1 %t240, label %tern.t68, label %tern.f69 +tern.t68: + %t243 = call ptr @scr_dyn_undefined() + %t242 = call ptr @scr_dyn_retain_v(ptr %t243) + store ptr %t242, ptr %s241 + br label %tern.j70 +tern.f69: + %t244 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t245 = call ptr @sc_rc_retain_dyn(ptr %t244) + %t246 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t245) + %t247 = load i32, ptr %exc.cell + %t248 = icmp ne i32 %t247, 0 + %t249 = call i1 @llvm.expect.i1(i1 %t248, i1 false) + br i1 %t249, label %exc.u71, label %exc.k72 +exc.u71: + call void @sc_rc_release_dyn(ptr %t246) + br label %exc.cleanup73 +exc.k72: + store ptr %t246, ptr %s241 + br label %tern.j70 +tern.j70: + %t250 = load ptr, ptr %s241 + store ptr %t250, ptr %sc_l__x25_callback_0 + %t251 = load ptr, ptr %sc_l__x25_callback_0 + %t252 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t253 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t252, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t253) + %t254 = call ptr @scr_dyn_call(ptr %t251, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t255 = load i32, ptr %exc.cell + %t256 = icmp ne i32 %t255, 0 + %t257 = call i1 @llvm.expect.i1(i1 %t256, i1 false) + br i1 %t257, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t253) + call void @sc_rc_release_dyn(ptr %t254) + br label %exc.cleanup76 +exc.k75: + %t258 = call zeroext i1 @sc_dc_3(ptr %t254, ptr null) + %t259 = load i32, ptr %exc.cell + %t260 = icmp ne i32 %t259, 0 + %t261 = call i1 @llvm.expect.i1(i1 %t260, i1 false) + br i1 %t261, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t253) + call void @sc_rc_release_dyn(ptr %t254) + br label %exc.cleanup76 +exc.k78: + call void @sc_rc_release_dyn(ptr %t253) + call void @sc_rc_release_dyn(ptr %t254) + %t262 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t262) + %t263 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t263) + br i1 %t258, label %if.t79, label %if.j80 +if.t79: + %t264 = load ptr, ptr %sc_l_resolve_0 + %t265 = getelementptr inbounds %ScrClosure, ptr %t264, i64 0, i32 1 + %t266 = load ptr, ptr %t265 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t266(ptr %t264) + call void @scr_dyn_this_pop() + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u81, label %exc.k82 +exc.u81: + br label %exc.cleanup63 +exc.k82: + %t270 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t270) + %t271 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t271) + %t272 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t272) + %t273 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t273) + %t274 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t274) + %t275 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t275) + %t276 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t276) + ret void +if.j80: + %t277 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t277) + %t278 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t278) + %t279 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t279) + %t280 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t280) + br label %if.j52 +if.j52: + %t281 = load ptr, ptr %sc_l_sink_0 + store ptr %t281, ptr %sc_l__x25_callbackReceiver_1 + %t282 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t283 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t282, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t284 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t283) + %t285 = load i32, ptr %exc.cell + %t286 = icmp ne i32 %t285, 0 + %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false) + br i1 %t287, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t284) + br label %try.c83 +exc.k87: + store ptr %t284, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t288 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t289 = getelementptr inbounds i8, ptr %t288, i64 8 ; ->kind + %t290 = load i32, ptr %t289 + %t291 = icmp eq i32 %t290, 6 + br i1 %t291, label %tern.t88, label %tern.f89 +tern.t88: + %t294 = call ptr @scr_dyn_undefined() + %t293 = call ptr @scr_dyn_retain_v(ptr %t294) + store ptr %t293, ptr %s292 + br label %tern.j90 +tern.f89: + %t295 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t296 = call ptr @sc_rc_retain_dyn(ptr %t295) + %t297 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t296) + %t298 = load i32, ptr %exc.cell + %t299 = icmp ne i32 %t298, 0 + %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false) + br i1 %t300, label %exc.u91, label %exc.k92 +exc.u91: + call void @sc_rc_release_dyn(ptr %t297) + br label %exc.cleanup93 +exc.k92: + store ptr %t297, ptr %s292 + br label %tern.j90 +tern.j90: + %t301 = load ptr, ptr %s292 + store ptr %t301, ptr %sc_l__x25_callback_1 + %t302 = load ptr, ptr %sc_l__x25_callback_1 + %t303 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t304 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t303, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t305 = call ptr @sc_td_2(double 0x4079500000000000) + %t307 = getelementptr inbounds [1 x ptr], ptr %s306, i64 0, i64 0 + store ptr %t305, ptr %t307 + call void @scr_dyn_this_push_dyn(ptr %t304) + %t308 = call ptr @scr_dyn_call(ptr %t302, ptr %s306, i64 1, ptr @sc_cs_137127765515474) + call void @scr_dyn_this_pop() + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t304) + call void @sc_rc_release_dyn(ptr %t305) + call void @sc_rc_release_dyn(ptr %t308) + br label %exc.cleanup96 +exc.k95: + call void @sc_rc_release_dyn(ptr %t304) + call void @sc_rc_release_dyn(ptr %t305) + call void @sc_rc_release_dyn(ptr %t308) + %t312 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t312) + %t313 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t313) + %t314 = load ptr, ptr %sc_l_sink_0 + store ptr %t314, ptr %sc_l__x25_callbackReceiver_2 + %t315 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t316 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t315, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t317 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t316) + %t318 = load i32, ptr %exc.cell + %t319 = icmp ne i32 %t318, 0 + %t320 = call i1 @llvm.expect.i1(i1 %t319, i1 false) + br i1 %t320, label %exc.u97, label %exc.k98 +exc.u97: + call void @sc_rc_release_dyn(ptr %t317) + br label %try.c83 +exc.k98: + store ptr %t317, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t321 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t322 = getelementptr inbounds i8, ptr %t321, i64 8 ; ->kind + %t323 = load i32, ptr %t322 + %t324 = icmp eq i32 %t323, 6 + br i1 %t324, label %tern.t99, label %tern.f100 +tern.t99: + %t327 = call ptr @scr_dyn_undefined() + %t326 = call ptr @scr_dyn_retain_v(ptr %t327) + store ptr %t326, ptr %s325 + br label %tern.j101 +tern.f100: + %t328 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t329 = call ptr @sc_rc_retain_dyn(ptr %t328) + %t330 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t329) + %t331 = load i32, ptr %exc.cell + %t332 = icmp ne i32 %t331, 0 + %t333 = call i1 @llvm.expect.i1(i1 %t332, i1 false) + br i1 %t333, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t330) + br label %exc.cleanup104 +exc.k103: + store ptr %t330, ptr %s325 + br label %tern.j101 +tern.j101: + %t334 = load ptr, ptr %s325 + store ptr %t334, ptr %sc_l__x25_callback_2 + %t335 = load ptr, ptr %sc_l__x25_callback_2 + %t336 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t337 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t336, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t338 = call ptr @sc_td_0(ptr @sc_lit_1143527378875226) + %t339 = load ptr, ptr %sc_l_out_0 + %t340 = call ptr @scr_arr_join(ptr %t339, ptr @sc_lit_176469025513879) + %t341 = call ptr @sc_td_0(ptr %t340) + %t343 = getelementptr inbounds [2 x ptr], ptr %s342, i64 0, i64 0 + store ptr %t338, ptr %t343 + %t344 = getelementptr inbounds [2 x ptr], ptr %s342, i64 0, i64 1 + store ptr %t341, ptr %t344 + call void @scr_dyn_this_push_dyn(ptr %t337) + %t345 = call ptr @scr_dyn_call(ptr %t335, ptr %s342, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t346 = load i32, ptr %exc.cell + %t347 = icmp ne i32 %t346, 0 + %t348 = call i1 @llvm.expect.i1(i1 %t347, i1 false) + br i1 %t348, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t337) + call void @sc_rc_release_dyn(ptr %t338) + call void @scr_str_release(ptr %t340) + call void @sc_rc_release_dyn(ptr %t341) + call void @sc_rc_release_dyn(ptr %t345) + br label %exc.cleanup107 +exc.k106: + call void @sc_rc_release_dyn(ptr %t337) + call void @sc_rc_release_dyn(ptr %t338) + call void @scr_str_release(ptr %t340) + call void @sc_rc_release_dyn(ptr %t341) + call void @sc_rc_release_dyn(ptr %t345) + %t349 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t349) + %t350 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t350) + %t351 = load ptr, ptr %sc_l_sink_0 + store ptr %t351, ptr %sc_l__x25_callbackReceiver_3 + %t352 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t354) + br label %try.c83 +exc.k109: + store ptr %t354, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t358 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t359 = getelementptr inbounds i8, ptr %t358, i64 8 ; ->kind + %t360 = load i32, ptr %t359 + %t361 = icmp eq i32 %t360, 6 + br i1 %t361, label %tern.t110, label %tern.f111 +tern.t110: + %t364 = call ptr @scr_dyn_undefined() + %t363 = call ptr @scr_dyn_retain_v(ptr %t364) + store ptr %t363, ptr %s362 + br label %tern.j112 +tern.f111: + %t365 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t366 = call ptr @sc_rc_retain_dyn(ptr %t365) + %t367 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t366) + %t368 = load i32, ptr %exc.cell + %t369 = icmp ne i32 %t368, 0 + %t370 = call i1 @llvm.expect.i1(i1 %t369, i1 false) + br i1 %t370, label %exc.u113, label %exc.k114 +exc.u113: + call void @sc_rc_release_dyn(ptr %t367) + br label %exc.cleanup115 +exc.k114: + store ptr %t367, ptr %s362 + br label %tern.j112 +tern.j112: + %t371 = load ptr, ptr %s362 + store ptr %t371, ptr %sc_l__x25_callback_3 + %t372 = load ptr, ptr %sc_l__x25_callback_3 + %t373 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t374 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t373, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t375 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t376 = call ptr @sc_td_0(ptr @sc_lit_266676967674785) + %t378 = getelementptr inbounds [2 x ptr], ptr %s377, i64 0, i64 0 + store ptr %t375, ptr %t378 + %t379 = getelementptr inbounds [2 x ptr], ptr %s377, i64 0, i64 1 + store ptr %t376, ptr %t379 + call void @scr_dyn_this_push_dyn(ptr %t374) + %t380 = call ptr @scr_dyn_call(ptr %t372, ptr %s377, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t381 = load i32, ptr %exc.cell + %t382 = icmp ne i32 %t381, 0 + %t383 = call i1 @llvm.expect.i1(i1 %t382, i1 false) + br i1 %t383, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t374) + call void @sc_rc_release_dyn(ptr %t375) + call void @sc_rc_release_dyn(ptr %t376) + call void @sc_rc_release_dyn(ptr %t380) + br label %exc.cleanup118 +exc.k117: + call void @sc_rc_release_dyn(ptr %t374) + call void @sc_rc_release_dyn(ptr %t375) + call void @sc_rc_release_dyn(ptr %t376) + call void @sc_rc_release_dyn(ptr %t380) + %t384 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t384) + %t385 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t385) + %t386 = load ptr, ptr %sc_l_sink_0 + store ptr %t386, ptr %sc_l__x25_callbackReceiver_4 + %t387 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t388 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t387, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t389 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t388) + %t390 = load i32, ptr %exc.cell + %t391 = icmp ne i32 %t390, 0 + %t392 = call i1 @llvm.expect.i1(i1 %t391, i1 false) + br i1 %t392, label %exc.u119, label %exc.k120 +exc.u119: + call void @sc_rc_release_dyn(ptr %t389) + br label %try.c83 +exc.k120: + store ptr %t389, ptr %sc_l__x25_callbackBag_4 + store i1 true, ptr %sc_l__x25_callbackPresent_4 + %t393 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t394 = getelementptr inbounds i8, ptr %t393, i64 8 ; ->kind + %t395 = load i32, ptr %t394 + %t396 = icmp eq i32 %t395, 6 + br i1 %t396, label %tern.t121, label %tern.f122 +tern.t121: + %t399 = call ptr @scr_dyn_undefined() + %t398 = call ptr @scr_dyn_retain_v(ptr %t399) + store ptr %t398, ptr %s397 + br label %tern.j123 +tern.f122: + %t400 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t401 = call ptr @sc_rc_retain_dyn(ptr %t400) + %t402 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t401) + %t403 = load i32, ptr %exc.cell + %t404 = icmp ne i32 %t403, 0 + %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false) + br i1 %t405, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t402) + br label %exc.cleanup126 +exc.k125: + store ptr %t402, ptr %s397 + br label %tern.j123 +tern.j123: + %t406 = load ptr, ptr %s397 + store ptr %t406, ptr %sc_l__x25_callback_4 + %t407 = load ptr, ptr %sc_l__x25_callback_4 + %t408 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t409 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t408, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t410 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802) + %t411 = call ptr @sc_td_0(ptr @sc_lit_1386027184562237) + %t413 = getelementptr inbounds [2 x ptr], ptr %s412, i64 0, i64 0 + store ptr %t410, ptr %t413 + %t414 = getelementptr inbounds [2 x ptr], ptr %s412, i64 0, i64 1 + store ptr %t411, ptr %t414 + call void @scr_dyn_this_push_dyn(ptr %t409) + %t415 = call ptr @scr_dyn_call(ptr %t407, ptr %s412, i64 2, ptr @sc_cs_4266970018381842) + call void @scr_dyn_this_pop() + %t416 = load i32, ptr %exc.cell + %t417 = icmp ne i32 %t416, 0 + %t418 = call i1 @llvm.expect.i1(i1 %t417, i1 false) + br i1 %t418, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t409) + call void @sc_rc_release_dyn(ptr %t410) + call void @sc_rc_release_dyn(ptr %t411) + call void @sc_rc_release_dyn(ptr %t415) + br label %exc.cleanup129 +exc.k128: + call void @sc_rc_release_dyn(ptr %t409) + call void @sc_rc_release_dyn(ptr %t410) + call void @sc_rc_release_dyn(ptr %t411) + call void @sc_rc_release_dyn(ptr %t415) + %t419 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t419) + %t420 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t420) + %t421 = load ptr, ptr %sc_l_sink_0 + store ptr %t421, ptr %sc_l__x25_callbackReceiver_5 + %t422 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t423 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t422, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t424 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t423) + %t425 = load i32, ptr %exc.cell + %t426 = icmp ne i32 %t425, 0 + %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false) + br i1 %t427, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t424) + br label %try.c83 +exc.k131: + store ptr %t424, ptr %sc_l__x25_callbackBag_5 + store i1 true, ptr %sc_l__x25_callbackPresent_5 + %t428 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t429 = getelementptr inbounds i8, ptr %t428, i64 8 ; ->kind + %t430 = load i32, ptr %t429 + %t431 = icmp eq i32 %t430, 6 + br i1 %t431, label %tern.t132, label %tern.f133 +tern.t132: + %t434 = call ptr @scr_dyn_undefined() + %t433 = call ptr @scr_dyn_retain_v(ptr %t434) + store ptr %t433, ptr %s432 + br label %tern.j134 +tern.f133: + %t435 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t436 = call ptr @sc_rc_retain_dyn(ptr %t435) + %t437 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t436) + %t438 = load i32, ptr %exc.cell + %t439 = icmp ne i32 %t438, 0 + %t440 = call i1 @llvm.expect.i1(i1 %t439, i1 false) + br i1 %t440, label %exc.u135, label %exc.k136 +exc.u135: + call void @sc_rc_release_dyn(ptr %t437) + br label %exc.cleanup137 +exc.k136: + store ptr %t437, ptr %s432 + br label %tern.j134 +tern.j134: + %t441 = load ptr, ptr %s432 + store ptr %t441, ptr %sc_l__x25_callback_5 + %t442 = load ptr, ptr %sc_l__x25_callback_5 + %t443 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t444 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t443, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t445 = call ptr @sc_td_0(ptr @sc_lit_4003541287264371) + %t447 = getelementptr inbounds [1 x ptr], ptr %s446, i64 0, i64 0 + store ptr %t445, ptr %t447 + call void @scr_dyn_this_push_dyn(ptr %t444) + %t448 = call ptr @scr_dyn_call(ptr %t442, ptr %s446, i64 1, ptr @sc_cs_891738944038355) + call void @scr_dyn_this_pop() + %t449 = load i32, ptr %exc.cell + %t450 = icmp ne i32 %t449, 0 + %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false) + br i1 %t451, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t444) + call void @sc_rc_release_dyn(ptr %t445) + call void @sc_rc_release_dyn(ptr %t448) + br label %exc.cleanup140 +exc.k139: + call void @sc_rc_release_dyn(ptr %t444) + call void @sc_rc_release_dyn(ptr %t445) + call void @sc_rc_release_dyn(ptr %t448) + %t452 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t452) + %t453 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t453) + br label %try.e85 +try.c83: + %t454 = call ptr @scr_exc_take() ; catch binding + store ptr %t454, ptr %sc_l_e_0 + %t455 = load ptr, ptr %sc_l_sink_0 + store ptr %t455, ptr %sc_l__x25_callbackReceiver_6 + %t456 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + %t457 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t456, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t458 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t457) + %t459 = load i32, ptr %exc.cell + %t460 = icmp ne i32 %t459, 0 + %t461 = call i1 @llvm.expect.i1(i1 %t460, i1 false) + br i1 %t461, label %exc.u141, label %exc.k142 +exc.u141: + call void @sc_rc_release_dyn(ptr %t458) + br label %exc.cleanup143 +exc.k142: + store ptr %t458, ptr %sc_l__x25_callbackBag_6 + store i1 true, ptr %sc_l__x25_callbackPresent_6 + %t462 = load ptr, ptr %sc_l__x25_callbackBag_6 + %t463 = getelementptr inbounds i8, ptr %t462, i64 8 ; ->kind + %t464 = load i32, ptr %t463 + %t465 = icmp eq i32 %t464, 6 + br i1 %t465, label %tern.t144, label %tern.f145 +tern.t144: + %t468 = call ptr @scr_dyn_undefined() + %t467 = call ptr @scr_dyn_retain_v(ptr %t468) + store ptr %t467, ptr %s466 + br label %tern.j146 +tern.f145: + %t469 = load ptr, ptr %sc_l__x25_callbackBag_6 + %t470 = call ptr @sc_rc_retain_dyn(ptr %t469) + %t471 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t470) + %t472 = load i32, ptr %exc.cell + %t473 = icmp ne i32 %t472, 0 + %t474 = call i1 @llvm.expect.i1(i1 %t473, i1 false) + br i1 %t474, label %exc.u147, label %exc.k148 +exc.u147: + call void @sc_rc_release_dyn(ptr %t471) + br label %exc.cleanup149 +exc.k148: + store ptr %t471, ptr %s466 + br label %tern.j146 +tern.j146: + %t475 = load ptr, ptr %s466 + store ptr %t475, ptr %sc_l__x25_callback_6 + %t476 = load ptr, ptr %sc_l__x25_callback_6 + %t477 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + %t478 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t477, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t478) + %t479 = call ptr @scr_dyn_call(ptr %t476, ptr null, i64 0, ptr @sc_cs_3499760650817953) + call void @scr_dyn_this_pop() + %t480 = load i32, ptr %exc.cell + %t481 = icmp ne i32 %t480, 0 + %t482 = call i1 @llvm.expect.i1(i1 %t481, i1 false) + br i1 %t482, label %exc.u150, label %exc.k151 +exc.u150: + call void @sc_rc_release_dyn(ptr %t478) + call void @sc_rc_release_dyn(ptr %t479) + br label %exc.cleanup152 +exc.k151: + call void @sc_rc_release_dyn(ptr %t478) + call void @sc_rc_release_dyn(ptr %t479) + %t483 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t483) + %t484 = load ptr, ptr %sc_l__x25_callback_6 + call void @sc_rc_release_dyn(ptr %t484) + %t485 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t485) + br label %try.e85 +try.e85: + %t486 = load ptr, ptr %sc_l_resolve_0 + %t487 = getelementptr inbounds %ScrClosure, ptr %t486, i64 0, i32 1 + %t488 = load ptr, ptr %t487 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t488(ptr %t486) + call void @scr_dyn_this_pop() + %t489 = load i32, ptr %exc.cell + %t490 = icmp ne i32 %t489, 0 + %t491 = call i1 @llvm.expect.i1(i1 %t490, i1 false) + br i1 %t491, label %exc.u153, label %exc.k154 +exc.u153: + br label %exc.cleanup21 +exc.k154: + %t492 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t492) + %t493 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t493) + %t494 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t494) + ret void +exc.cleanup21: + %t495 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t495) + %t496 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t496) + %t497 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t497) + ret void +exc.cleanup57: + %t498 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t498) + %t499 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t499) + %t500 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t500) + %t501 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t501) + %t502 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t502) + ret void +exc.cleanup60: + %t503 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t503) + %t504 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t504) + %t505 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t505) + %t506 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t506) + %t507 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t507) + %t508 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t508) + ret void +exc.cleanup63: + %t509 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t509) + %t510 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t510) + %t511 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t511) + %t512 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t512) + %t513 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t513) + %t514 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t514) + %t515 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t515) + ret void +exc.cleanup73: + %t516 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t516) + %t517 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t517) + %t518 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t518) + %t519 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t519) + %t520 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t520) + %t521 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t521) + %t522 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t522) + %t523 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t523) + ret void +exc.cleanup76: + %t524 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t524) + %t525 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t525) + %t526 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t526) + %t527 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t527) + %t528 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t528) + %t529 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t529) + %t530 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t530) + %t531 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t531) + %t532 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t532) + ret void +exc.cleanup93: + %t533 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t533) + br label %try.c83 +exc.cleanup96: + %t534 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t534) + %t535 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t535) + br label %try.c83 +exc.cleanup104: + %t536 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t536) + br label %try.c83 +exc.cleanup107: + %t537 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t537) + %t538 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t538) + br label %try.c83 +exc.cleanup115: + %t539 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t539) + br label %try.c83 +exc.cleanup118: + %t540 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t540) + %t541 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t541) + br label %try.c83 +exc.cleanup126: + %t542 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t542) + br label %try.c83 +exc.cleanup129: + %t543 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t543) + %t544 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t544) + br label %try.c83 +exc.cleanup137: + %t545 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t545) + br label %try.c83 +exc.cleanup140: + %t546 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t546) + %t547 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t547) + br label %try.c83 +exc.cleanup143: + %t548 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t548) + %t549 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t549) + %t550 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t550) + %t551 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t551) + ret void +exc.cleanup149: + %t552 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t552) + %t553 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t553) + %t554 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t554) + %t555 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t555) + %t556 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t556) + ret void +exc.cleanup152: + %t557 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t557) + %t558 = load ptr, ptr %sc_l__x25_callback_6 + call void @sc_rc_release_dyn(ptr %t558) + %t559 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t559) + %t560 = load ptr, ptr %sc_l_hm_0 + call void @scr_arr_release(ptr %t560) + %t561 = load ptr, ptr %sc_l_seen_0 + call void @sc_rrelease_r12(ptr %t561) + %t562 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t562) + ret void +} +define internal void @sc_f__x25_m5_allow405Promise(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) #0 { +entry: + call void @sc_bf__x25_m5_allow405Promise(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) + call void @sc_rrelease_r5(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @sc_release__x25_m2_ResponseSink(ptr %p3) + call void @scr_union_release(ptr %p4) + call void @scr_closure_release(ptr %p5) + ret void +} + +define internal ptr @sc_bf__x25_m7_extOf(ptr %p_sc_l_path_0) #0 { ; %m7.extOf +entry: + %sc_l_path_0 = alloca ptr ; path + %sc_l_slash_0 = alloca double ; slash + %sc_l_base_0 = alloca ptr ; base + %sc_l_dot_0 = alloca double ; dot + %s5 = alloca ptr + store ptr null, ptr %sc_l_base_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + %t0 = load ptr, ptr %sc_l_path_0 + %t1 = call ptr @sc_rc_retain_str(ptr %t0) + %t2 = call double @scr_str_last_index_of(ptr %t1, ptr @sc_lit_2434240011052594) + store double %t2, ptr %sc_l_slash_0 + call void @scr_str_release(ptr %t1) + %t3 = load double, ptr %sc_l_slash_0 + %t4 = fcmp oeq double %t3, 0xBFF0000000000000 + br i1 %t4, label %tern.t0, label %tern.f1 +tern.t0: + %t6 = load ptr, ptr %sc_l_path_0 + %t7 = call ptr @sc_rc_retain_str(ptr %t6) + store ptr %t7, ptr %s5 + br label %tern.j2 +tern.f1: + %t8 = load ptr, ptr %sc_l_path_0 + %t9 = load double, ptr %sc_l_slash_0 + %t10 = fadd double %t9, 0x3FF0000000000000 + %t11 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t12 = call ptr @scr_str_slice(ptr %t8, double %t10, double %t11) + store ptr %t12, ptr %s5 + br label %tern.j2 +tern.j2: + %t13 = load ptr, ptr %s5 + store ptr %t13, ptr %sc_l_base_0 + %t14 = load ptr, ptr %sc_l_base_0 + %t15 = call ptr @sc_rc_retain_str(ptr %t14) + %t16 = call double @scr_str_last_index_of(ptr %t15, ptr @sc_lit_3618831577556636) + store double %t16, ptr %sc_l_dot_0 + call void @scr_str_release(ptr %t15) + %t17 = load double, ptr %sc_l_dot_0 + %t18 = fcmp oeq double %t17, 0xBFF0000000000000 + br i1 %t18, label %if.t3, label %if.j4 +if.t3: + %t19 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t19) + ret ptr @sc_lit_4005573543169985 +if.j4: + %t20 = load ptr, ptr %sc_l_base_0 + %t21 = load double, ptr %sc_l_dot_0 + %t22 = fadd double %t21, 0x3FF0000000000000 + %t23 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t24 = call ptr @scr_str_slice(ptr %t20, double %t22, double %t23) + %t25 = call ptr @scr_str_to_lower(ptr %t24) + call void @scr_str_release(ptr %t24) + %t26 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t26) + ret ptr %t25 +} +define internal ptr @sc_f__x25_m7_extOf(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m7_extOf(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_m10_pad2(double %p_sc_l_n_0) #0 { ; %m10.pad2 +entry: + %sc_l_n_0 = alloca double ; n + %s2 = alloca ptr + store double %p_sc_l_n_0, ptr %sc_l_n_0 + %t0 = load double, ptr %sc_l_n_0 + %t1 = fcmp olt double %t0, 0x4024000000000000 + br i1 %t1, label %tern.t0, label %tern.f1 +tern.t0: + %t3 = load double, ptr %sc_l_n_0 + %t4 = call ptr @scr_str_concat_f64(ptr @sc_lit_1687538661063814, double %t3) + store ptr %t4, ptr %s2 + br label %tern.j2 +tern.f1: + %t5 = load double, ptr %sc_l_n_0 + %t6 = call ptr @scr_f64_to_scrstr(double %t5) + store ptr %t6, ptr %s2 + br label %tern.j2 +tern.j2: + %t7 = load ptr, ptr %s2 + ret ptr %t7 +} + +define internal ptr @sc_f__x25_m10_httpDate(double %p_sc_l_ms_0) #0 { ; %m10.httpDate +entry: + %sc_l_ms_0 = alloca double ; ms + %sc_l_d_0 = alloca double ; d + %sc_l_wd_0 = alloca double ; wd + %sc_l_mo_0 = alloca double ; mo + %s36 = alloca [14 x ptr] + %s37 = alloca [14 x double] + store double %p_sc_l_ms_0, ptr %sc_l_ms_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load double, ptr %sc_l_ms_0 + %t5 = call double @scr_date_new_ms(double %t4) + store double %t5, ptr %sc_l_d_0 + %t6 = load double, ptr %sc_l_d_0 + %t7 = call double @scr_date_get_day_utc(double %t6) + %t8 = fmul double %t7, 0x4008000000000000 + store double %t8, ptr %sc_l_wd_0 + %t9 = load double, ptr %sc_l_d_0 + %t10 = call double @scr_date_get_month_utc(double %t9) + %t11 = fmul double %t10, 0x4008000000000000 + store double %t11, ptr %sc_l_mo_0 + %t12 = load ptr, ptr @sc_g_m10_DAYS + %t13 = load double, ptr %sc_l_wd_0 + %t14 = load double, ptr %sc_l_wd_0 + %t15 = fadd double %t14, 0x4008000000000000 + %t16 = call ptr @scr_str_slice(ptr %t12, double %t13, double %t15) + %t17 = load double, ptr %sc_l_d_0 + %t18 = call double @scr_date_get_date_utc(double %t17) + %t19 = call ptr @sc_f__x25_m10_pad2(double %t18) + %t20 = load ptr, ptr @sc_g_m10_MONTHS + %t21 = load double, ptr %sc_l_mo_0 + %t22 = load double, ptr %sc_l_mo_0 + %t23 = fadd double %t22, 0x4008000000000000 + %t24 = call ptr @scr_str_slice(ptr %t20, double %t21, double %t23) + %t25 = load double, ptr %sc_l_d_0 + %t26 = call double @scr_date_get_full_year_utc(double %t25) + %t27 = load double, ptr %sc_l_d_0 + %t28 = call double @scr_date_get_hours_utc(double %t27) + %t29 = call ptr @sc_f__x25_m10_pad2(double %t28) + %t30 = load double, ptr %sc_l_d_0 + %t31 = call double @scr_date_get_minutes_utc(double %t30) + %t32 = call ptr @sc_f__x25_m10_pad2(double %t31) + %t33 = load double, ptr %sc_l_d_0 + %t34 = call double @scr_date_get_seconds_utc(double %t33) + %t35 = call ptr @sc_f__x25_m10_pad2(double %t34) + %t38 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 0 + store ptr %t16, ptr %t38 + %t39 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 1 + store ptr @sc_lit_176469025513879, ptr %t39 + %t40 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 2 + store ptr %t19, ptr %t40 + %t41 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 3 + store ptr @sc_lit_961653900088760, ptr %t41 + %t42 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 4 + store ptr %t24, ptr %t42 + %t43 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 5 + store ptr @sc_lit_961653900088760, ptr %t43 + %t44 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 6 + store ptr null, ptr %t44 + %t45 = getelementptr [14 x double], ptr %s37, i32 0, i32 6 + store double %t26, ptr %t45 + %t46 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 7 + store ptr @sc_lit_961653900088760, ptr %t46 + %t47 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 8 + store ptr %t29, ptr %t47 + %t48 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 9 + store ptr @sc_lit_4075616746236128, ptr %t48 + %t49 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 10 + store ptr %t32, ptr %t49 + %t50 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 11 + store ptr @sc_lit_4075616746236128, ptr %t50 + %t51 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 12 + store ptr %t35, ptr %t51 + %t52 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 13 + store ptr @sc_lit_2009709968767209, ptr %t52 + %t53 = call ptr @scr_str_concat_mixed(ptr null, ptr %s36, ptr %s37, i64 14) + call void @scr_str_release(ptr %t16) + call void @scr_str_release(ptr %t19) + call void @scr_str_release(ptr %t24) + call void @scr_str_release(ptr %t29) + call void @scr_str_release(ptr %t32) + call void @scr_str_release(ptr %t35) + ret ptr %t53 +} + +define internal i1 @sc_bf__x25_m11_traversal(ptr %p_sc_l_rel_0) #0 { ; %m11.traversal +entry: + %sc_l_rel_0 = alloca ptr ; rel + %sc_l_segs_0 = alloca ptr ; segs + %sc_l_i_0 = alloca i32 ; i + %s8 = alloca i1 + %s15 = alloca i1 + %s24 = alloca i64 ; integer induction i + %s31 = alloca ptr + %s61 = alloca i1 + store ptr null, ptr %sc_l_segs_0 + store ptr %p_sc_l_rel_0, ptr %sc_l_rel_0 + %t0 = load ptr, ptr %sc_l_rel_0 + %t1 = call ptr @scr_str_char_at(ptr %t0, double 0x0000000000000000) + %t2 = call zeroext i1 @sc_streq_2434240011052594(ptr %t1) + call void @scr_str_release(ptr %t1) + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + ret i1 true +if.j1: + %t3 = load ptr, ptr %sc_l_rel_0 + %t4 = call double @scr_str_index_of(ptr %t3, ptr @sc_lit_2975638646761949, double 0x0000000000000000) + %t6 = fptosi double %t4 to i32 + %t7 = sext i32 %t6 to i64 + %t5 = icmp ne i64 %t7, -1 + store i1 %t5, ptr %s8 + br i1 %t5, label %log.j3, label %log.r2 +log.r2: + %t9 = load ptr, ptr %sc_l_rel_0 + %t10 = call double @scr_str_index_of(ptr %t9, ptr @sc_lit_1938716995091255, double 0x0000000000000000) + %t12 = fptosi double %t10 to i32 + %t13 = sext i32 %t12 to i64 + %t11 = icmp ne i64 %t13, -1 + store i1 %t11, ptr %s8 + br label %log.j3 +log.j3: + %t14 = load i1, ptr %s8 + store i1 %t14, ptr %s15 + br i1 %t14, label %log.j5, label %log.r4 +log.r4: + %t16 = load ptr, ptr %sc_l_rel_0 + %t17 = call double @scr_str_index_of(ptr %t16, ptr @sc_lit_4075616746236128, double 0x0000000000000000) + %t19 = fptosi double %t17 to i32 + %t20 = sext i32 %t19 to i64 + %t18 = icmp ne i64 %t20, -1 + store i1 %t18, ptr %s15 + br label %log.j5 +log.j5: + %t21 = load i1, ptr %s15 + br i1 %t21, label %if.t6, label %if.j7 +if.t6: + ret i1 true +if.j7: + %t22 = load ptr, ptr %sc_l_rel_0 + %t23 = call ptr @scr_str_split_limit(ptr %t22, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000) + store ptr %t23, ptr %sc_l_segs_0 + %t25 = fptosi double 0x0000000000000000 to i64 + store i64 %t25, ptr %s24 + br label %loop.c9 +loop.c9: + %t26 = load ptr, ptr %sc_l_segs_0 + %t27 = getelementptr inbounds %ScrArr, ptr %t26, i64 0, i32 1 + %t28 = load i64, ptr %t27, !tbaa !2 + %t29 = load i64, ptr %s24 + %t30 = icmp ult i64 %t29, %t28 + br i1 %t30, label %loop.b10, label %loop.e8 +loop.b10: + %t32 = load ptr, ptr %sc_l_segs_0 + %t33 = load i64, ptr %s24 + %t34 = load i64, ptr %s24 + %t35 = sitofp i64 %t34 to double + %t36 = trunc i64 %t34 to i32 + %t37 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 2 + %t38 = load i64, ptr %t37, !tbaa !2 + %t39 = icmp ult i64 %t33, %t38 + br i1 %t39, label %local.array.range15, label %local.array.slow12 +local.array.range15: + br label %local.array.dense16 +local.array.dense16: + %t40 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 6 + %t41 = load i32, ptr %t40, !tbaa !2 + %t43 = zext i32 %t41 to i64 + %t42 = icmp ult i64 %t33, %t43 + br i1 %t42, label %local.array.value18, label %local.array.len17 +local.array.len17: + %t44 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 1 + %t45 = load i64, ptr %t44, !tbaa !2, !range !{i64 0, i64 4294967296} + %t46 = icmp ult i64 %t33, %t45 + br i1 %t46, label %local.array.state19, label %local.array.missing13 +local.array.state19: + %t47 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 9 + %t48 = load ptr, ptr %t47, !tbaa !2 + %t49 = getelementptr inbounds i8, ptr %t48, i64 %t33 + %t50 = load i8, ptr %t49, !tbaa !4 + %t51 = icmp eq i8 %t50, 1 + br i1 %t51, label %local.array.value18, label %local.array.missing13 +local.array.value18: + %t52 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 8 + %t53 = load ptr, ptr %t52, !tbaa !2 + %t54 = getelementptr inbounds i64, ptr %t53, i64 %t33 + %t55 = load ptr, ptr %t54, !tbaa !6 + %t56 = call ptr @sc_rc_retain_str(ptr %t55) + store ptr %t56, ptr %s31 + br label %local.array.join14 +local.array.slow12: + %t57 = call ptr @scr_arr_peek_ref(ptr %t32, double %t35) + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %local.array.slow.value20, label %local.array.missing13 +local.array.slow.value20: + %t59 = call ptr @sc_rc_retain_str(ptr %t57) + store ptr %t59, ptr %s31 + br label %local.array.join14 +local.array.missing13: + store ptr null, ptr %s31 + br label %local.array.join14 +local.array.join14: + %t60 = load ptr, ptr %s31 + %t62 = icmp eq ptr %t60, @sc_lit_1666994892967735 + %t64 = icmp ne ptr %t60, null + %t65 = icmp ne ptr @sc_lit_1666994892967735, null + %t63 = and i1 %t64, %t65 + store i1 %t62, ptr %s61 + %t66 = xor i1 %t62, true + %t67 = and i1 %t66, %t63 + br i1 %t67, label %ues.b21, label %ues.j22 +ues.b21: + %t68 = call zeroext i1 @sc_streq_1666994892967735(ptr %t60) + store i1 %t68, ptr %s61 + br label %ues.j22 +ues.j22: + %t69 = load i1, ptr %s61 + %t70 = load ptr, ptr %s31 + call void @scr_str_release(ptr %t70) + br i1 %t69, label %if.t23, label %if.j24 +if.t23: + %t71 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t71) + ret i1 true +if.j24: + br label %loop.u11 +loop.u11: + %t72 = load i64, ptr %s24 + %t73 = add nuw i64 %t72, 1 + store i64 %t73, ptr %s24 + br label %loop.c9 +loop.e8: + %t74 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t74) + ret i1 false +} +define internal i1 @sc_f__x25_m11_traversal(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25_m11_traversal(ptr %p0) + call void @scr_str_release(ptr %p0) + ret i1 %result +} + +define internal i1 @sc_bf__x25_m11_hidden(ptr %p_sc_l_rel_0) #0 { ; %m11.hidden +entry: + %sc_l_rel_0 = alloca ptr ; rel + %sc_l_segs_0 = alloca ptr ; segs + %sc_l_i_0 = alloca i32 ; i + %sc_l_s_0 = alloca ptr ; s + %s2 = alloca i64 ; integer induction i + %s38 = alloca ptr + %s45 = alloca i1 + %s49 = alloca ptr + %s55 = alloca i1 + %s57 = alloca i1 + store ptr null, ptr %sc_l_segs_0 + store ptr null, ptr %sc_l_s_0 + store ptr %p_sc_l_rel_0, ptr %sc_l_rel_0 + %t0 = load ptr, ptr %sc_l_rel_0 + %t1 = call ptr @scr_str_split_limit(ptr %t0, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000) + store ptr %t1, ptr %sc_l_segs_0 + %t3 = fptosi double 0x0000000000000000 to i64 + store i64 %t3, ptr %s2 + br label %loop.c1 +loop.c1: + %t4 = load ptr, ptr %sc_l_segs_0 + %t5 = getelementptr inbounds %ScrArr, ptr %t4, i64 0, i32 1 + %t6 = load i64, ptr %t5, !tbaa !2 + %t7 = load i64, ptr %s2 + %t8 = icmp ult i64 %t7, %t6 + br i1 %t8, label %loop.b2, label %loop.e0 +loop.b2: + %t9 = load ptr, ptr %sc_l_segs_0 + %t10 = load i64, ptr %s2 + %t11 = load i64, ptr %s2 + %t12 = sitofp i64 %t11 to double + %t13 = trunc i64 %t11 to i32 + %t14 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2 + %t15 = load i64, ptr %t14, !tbaa !2 + %t16 = icmp ult i64 %t10, %t15 + br i1 %t16, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6 + %t18 = load i32, ptr %t17, !tbaa !2 + %t20 = zext i32 %t18 to i64 + %t19 = icmp ult i64 %t10, %t20 + br i1 %t19, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t21 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t22 = load i64, ptr %t21, !tbaa !2, !range !{i64 0, i64 4294967296} + %t23 = icmp ult i64 %t10, %t22 + br i1 %t23, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t24 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9 + %t25 = load ptr, ptr %t24, !tbaa !2 + %t26 = getelementptr inbounds i8, ptr %t25, i64 %t10 + %t27 = load i8, ptr %t26, !tbaa !4 + %t28 = icmp eq i8 %t27, 1 + br i1 %t28, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t29 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8 + %t30 = load ptr, ptr %t29, !tbaa !2 + %t31 = getelementptr inbounds i64, ptr %t30, i64 %t10 + %t32 = load ptr, ptr %t31, !tbaa !6 + store ptr %t32, ptr %sc_l_s_0 + br label %local.array.join6 +local.array.slow4: + %t33 = call ptr @scr_arr_peek_ref(ptr %t9, double %t12) + %t34 = icmp ne ptr %t33, null + br i1 %t34, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + store ptr %t33, ptr %sc_l_s_0 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %sc_l_s_0 + br label %local.array.join6 +local.array.join6: + %t35 = load ptr, ptr %sc_l_s_0 + %t37 = icmp eq ptr %t35, null + br i1 %t37, label %read.then13, label %read.else14 +read.then13: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup16 +exc.dead17: + store ptr null, ptr %s38 + br label %read.join15 +read.else14: + %t39 = load ptr, ptr %sc_l_s_0 + store ptr %t39, ptr %s38 + br label %read.join15 +read.join15: + %t40 = load ptr, ptr %s38 + %t41 = call double @sc_str_utf16_len(ptr %t40) + %t43 = fptosi double %t41 to i32 + %t44 = sext i32 %t43 to i64 + %t42 = icmp sgt i64 %t44, 0 + store i1 %t42, ptr %s45 + br i1 %t42, label %log.r18, label %log.j19 +log.r18: + %t46 = load ptr, ptr %sc_l_s_0 + %t48 = icmp eq ptr %t46, null + br i1 %t48, label %read.then20, label %read.else21 +read.then20: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2770123098238102) + br label %exc.cleanup16 +exc.dead23: + store ptr null, ptr %s49 + br label %read.join22 +read.else21: + %t50 = load ptr, ptr %sc_l_s_0 + store ptr %t50, ptr %s49 + br label %read.join22 +read.join22: + %t51 = load ptr, ptr %s49 + %t52 = call ptr @scr_str_char_at(ptr %t51, double 0x0000000000000000) + %t53 = call zeroext i1 @sc_streq_3618831577556636(ptr %t52) + store i1 %t53, ptr %s45 + call void @scr_str_release(ptr %t52) + br label %log.j19 +log.j19: + %t54 = load i1, ptr %s45 + store i1 %t54, ptr %s55 + br i1 %t54, label %log.r24, label %log.j25 +log.r24: + %t56 = load ptr, ptr %sc_l_s_0 + %t58 = icmp eq ptr %t56, @sc_lit_438854160789283 + %t60 = icmp ne ptr %t56, null + %t61 = icmp ne ptr @sc_lit_438854160789283, null + %t59 = and i1 %t60, %t61 + store i1 %t58, ptr %s57 + %t62 = xor i1 %t58, true + %t63 = and i1 %t62, %t59 + br i1 %t63, label %ues.b26, label %ues.j27 +ues.b26: + %t64 = call zeroext i1 @sc_streq_438854160789283(ptr %t56) + store i1 %t64, ptr %s57 + br label %ues.j27 +ues.j27: + %t65 = load i1, ptr %s57 + %t66 = xor i1 %t65, true + store i1 %t66, ptr %s55 + br label %log.j25 +log.j25: + %t67 = load i1, ptr %s55 + br i1 %t67, label %if.t28, label %if.j29 +if.t28: + %t68 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t68) + ret i1 true +if.j29: + br label %loop.u3 +loop.u3: + %t69 = load i64, ptr %s2 + %t70 = add nuw i64 %t69, 1 + store i64 %t70, ptr %s2 + br label %loop.c1 +loop.e0: + %t71 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t71) + ret i1 false +exc.cleanup16: + %t72 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t72) + ret i1 false +} +define internal i1 @sc_f__x25_m11_hidden(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25_m11_hidden(ptr %p0) + call void @scr_str_release(ptr %p0) + ret i1 %result +} + +define internal i1 @sc_bf__x25_m11_etagMatches(ptr %p_sc_l_header_0, ptr %p_sc_l_tag_0) #0 { ; %m11.etagMatches +entry: + %sc_l_header_0 = alloca ptr ; header + %sc_l_tag_0 = alloca ptr ; tag + %sc_l_parts_0 = alloca ptr ; parts + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv + %sc_l_p_0 = alloca ptr ; p + %s2 = alloca i64 ; integer induction i + %s38 = alloca ptr + store ptr null, ptr %sc_l_parts_0 + store ptr null, ptr %sc_l__x25_propertyRecv_0 + store ptr null, ptr %sc_l_p_0 + store ptr %p_sc_l_header_0, ptr %sc_l_header_0 + store ptr %p_sc_l_tag_0, ptr %sc_l_tag_0 + %t0 = load ptr, ptr %sc_l_header_0 + %t1 = call ptr @scr_str_split_limit(ptr %t0, ptr @sc_lit_3662817572149066, double 0x41EFFFFFFFE00000) + store ptr %t1, ptr %sc_l_parts_0 + %t3 = fptosi double 0x0000000000000000 to i64 + store i64 %t3, ptr %s2 + br label %loop.c1 +loop.c1: + %t4 = load ptr, ptr %sc_l_parts_0 + %t5 = getelementptr inbounds %ScrArr, ptr %t4, i64 0, i32 1 + %t6 = load i64, ptr %t5, !tbaa !2 + %t7 = load i64, ptr %s2 + %t8 = icmp ult i64 %t7, %t6 + br i1 %t8, label %loop.b2, label %loop.e0 +loop.b2: + %t9 = load ptr, ptr %sc_l_parts_0 + %t10 = load i64, ptr %s2 + %t11 = load i64, ptr %s2 + %t12 = sitofp i64 %t11 to double + %t13 = trunc i64 %t11 to i32 + %t14 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2 + %t15 = load i64, ptr %t14, !tbaa !2 + %t16 = icmp ult i64 %t10, %t15 + br i1 %t16, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6 + %t18 = load i32, ptr %t17, !tbaa !2 + %t20 = zext i32 %t18 to i64 + %t19 = icmp ult i64 %t10, %t20 + br i1 %t19, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t21 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t22 = load i64, ptr %t21, !tbaa !2, !range !{i64 0, i64 4294967296} + %t23 = icmp ult i64 %t10, %t22 + br i1 %t23, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t24 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9 + %t25 = load ptr, ptr %t24, !tbaa !2 + %t26 = getelementptr inbounds i8, ptr %t25, i64 %t10 + %t27 = load i8, ptr %t26, !tbaa !4 + %t28 = icmp eq i8 %t27, 1 + br i1 %t28, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t29 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8 + %t30 = load ptr, ptr %t29, !tbaa !2 + %t31 = getelementptr inbounds i64, ptr %t30, i64 %t10 + %t32 = load ptr, ptr %t31, !tbaa !6 + store ptr %t32, ptr %sc_l__x25_propertyRecv_0 + br label %local.array.join6 +local.array.slow4: + %t33 = call ptr @scr_arr_peek_ref(ptr %t9, double %t12) + %t34 = icmp ne ptr %t33, null + br i1 %t34, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + store ptr %t33, ptr %sc_l__x25_propertyRecv_0 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %sc_l__x25_propertyRecv_0 + br label %local.array.join6 +local.array.join6: + %t35 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t37 = icmp eq ptr %t35, null + br i1 %t37, label %tern.t13, label %tern.f14 +tern.t13: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1511482959134555) + br label %exc.cleanup16 +exc.dead17: + store ptr null, ptr %s38 + br label %tern.j15 +tern.f14: + %t39 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t40 = call ptr @sc_rc_retain_str(ptr %t39) + store ptr %t40, ptr %s38 + br label %tern.j15 +tern.j15: + %t41 = load ptr, ptr %s38 + %t42 = call ptr @scr_str_trim(ptr %t41) + store ptr %t42, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_0 + %t44 = call zeroext i1 @sc_streq_1834571860458263(ptr %t43) + br i1 %t44, label %if.t18, label %if.j19 +if.t18: + %t45 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t45) + %t46 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t46) + ret i1 true +if.j19: + %t47 = load ptr, ptr %sc_l_p_0 + %t48 = call i1 @scr_str_starts_with(ptr %t47, ptr @sc_lit_3124163672232319) + br i1 %t48, label %if.t20, label %if.j21 +if.t20: + %t49 = load ptr, ptr %sc_l_p_0 + %t50 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t51 = call ptr @scr_str_slice(ptr %t49, double 0x4000000000000000, double %t50) + %t52 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t52) + store ptr %t51, ptr %sc_l_p_0 + br label %if.j21 +if.j21: + %t53 = load ptr, ptr %sc_l_p_0 + %t54 = load ptr, ptr %sc_l_tag_0 + %t55 = call zeroext i1 @sc_str_eq(ptr %t53, ptr %t54) + br i1 %t55, label %if.t22, label %if.j23 +if.t22: + %t56 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t56) + %t57 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t57) + ret i1 true +if.j23: + %t58 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t58) + br label %loop.u3 +loop.u3: + %t59 = load i64, ptr %s2 + %t60 = add nuw i64 %t59, 1 + store i64 %t60, ptr %s2 + br label %loop.c1 +loop.e0: + %t61 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t61) + ret i1 false +exc.cleanup16: + %t62 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t62) + ret i1 false +} +define internal i1 @sc_f__x25_m11_etagMatches(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_m11_etagMatches(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal i1 @sc_bf__x25_m11_acceptable(ptr %p_sc_l_ae_0, ptr %p_sc_l_encs_0) #0 { ; %m11.acceptable +entry: + %sc_l_ae_0 = alloca ptr ; ae + %sc_l_encs_0 = alloca ptr ; encs + %sc_l_parts_0 = alloca ptr ; parts + %sc_l_i_0 = alloca i32 ; i + %sc_l_member_0 = alloca ptr ; member + %sc_l_qi_0 = alloca i32 ; qi + %sc_l_head_0 = alloca ptr ; head + %sc_l_coding_0 = alloca ptr ; coding + %sc_l_excluded_0 = alloca i1 ; excluded + %sc_l_params_0 = alloca ptr ; params + %sc_l_pi_0 = alloca i32 ; pi + %sc_l_v_0 = alloca ptr ; v + %sc_l_si_0 = alloca i32 ; si + %sc_l_k_0 = alloca i32 ; k + %sc_l_ch_0 = alloca ptr ; ch + %sc_l_j_0 = alloca i32 ; j + %s2 = alloca i64 ; integer induction i + %s17 = alloca ptr + %s31 = alloca ptr + %s41 = alloca ptr + %s53 = alloca ptr + %s116 = alloca i1 + %s141 = alloca i64 ; integer induction j + %s149 = alloca ptr + %s179 = alloca i1 + store ptr null, ptr %sc_l_parts_0 + store ptr null, ptr %sc_l_member_0 + store ptr null, ptr %sc_l_head_0 + store ptr null, ptr %sc_l_coding_0 + store ptr null, ptr %sc_l_params_0 + store ptr null, ptr %sc_l_v_0 + store ptr null, ptr %sc_l_ch_0 + store ptr %p_sc_l_ae_0, ptr %sc_l_ae_0 + store ptr %p_sc_l_encs_0, ptr %sc_l_encs_0 + %t0 = load ptr, ptr %sc_l_ae_0 + %t1 = call ptr @scr_str_split_limit(ptr %t0, ptr @sc_lit_3662817572149066, double 0x41EFFFFFFFE00000) + store ptr %t1, ptr %sc_l_parts_0 + %t3 = fptosi double 0x0000000000000000 to i64 + store i64 %t3, ptr %s2 + br label %loop.c1 +loop.c1: + %t4 = load ptr, ptr %sc_l_parts_0 + %t5 = getelementptr inbounds %ScrArr, ptr %t4, i64 0, i32 1 + %t6 = load i64, ptr %t5, !tbaa !2 + %t7 = load i64, ptr %s2 + %t8 = icmp ult i64 %t7, %t6 + br i1 %t8, label %loop.b2, label %loop.e0 +loop.b2: + %t9 = load ptr, ptr %sc_l_parts_0 + %t10 = load i64, ptr %s2 + %t11 = sitofp i64 %t10 to double + %t12 = trunc i64 %t10 to i32 + %t13 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t9, double %t11) + store ptr %t13, ptr %sc_l_member_0 + %t14 = load ptr, ptr %sc_l_member_0 + %t16 = icmp eq ptr %t14, null + br i1 %t16, label %read.then4, label %read.else5 +read.then4: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1344306789531462) + br label %exc.cleanup7 +exc.dead8: + store ptr null, ptr %s17 + br label %read.join6 +read.else5: + %t18 = load ptr, ptr %sc_l_member_0 + store ptr %t18, ptr %s17 + br label %read.join6 +read.join6: + %t19 = load ptr, ptr %s17 + %t20 = call double @scr_str_index_of(ptr %t19, ptr @sc_lit_1156138064653313, double 0x0000000000000000) + %t21 = fptosi double %t20 to i32 + store i32 %t21, ptr %sc_l_qi_0 + %t22 = load ptr, ptr %sc_l_member_0 + %t23 = call ptr @sc_nretain_string(ptr %t22) + store ptr %t23, ptr %sc_l_head_0 + %t24 = load i32, ptr %sc_l_qi_0 + %t25 = sitofp i32 %t24 to double + %t27 = sext i32 %t24 to i64 + %t26 = icmp ne i64 %t27, -1 + br i1 %t26, label %if.t9, label %if.j10 +if.t9: + %t28 = load ptr, ptr %sc_l_member_0 + %t30 = icmp eq ptr %t28, null + br i1 %t30, label %read.then11, label %read.else12 +read.then11: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1153253657065408) + br label %exc.cleanup14 +exc.dead15: + store ptr null, ptr %s31 + br label %read.join13 +read.else12: + %t32 = load ptr, ptr %sc_l_member_0 + store ptr %t32, ptr %s31 + br label %read.join13 +read.join13: + %t33 = load ptr, ptr %s31 + %t34 = load i32, ptr %sc_l_qi_0 + %t35 = sitofp i32 %t34 to double + %t36 = call ptr @scr_str_slice(ptr %t33, double 0x0000000000000000, double %t35) + %t37 = load ptr, ptr %sc_l_head_0 + call void @scr_str_release(ptr %t37) + store ptr %t36, ptr %sc_l_head_0 + br label %if.j10 +if.j10: + %t38 = load ptr, ptr %sc_l_head_0 + %t40 = icmp eq ptr %t38, null + br i1 %t40, label %read.then16, label %read.else17 +read.then16: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1511482959134555) + br label %exc.cleanup14 +exc.dead19: + store ptr null, ptr %s41 + br label %read.join18 +read.else17: + %t42 = load ptr, ptr %sc_l_head_0 + store ptr %t42, ptr %s41 + br label %read.join18 +read.join18: + %t43 = load ptr, ptr %s41 + %t44 = call ptr @scr_str_trim(ptr %t43) + %t45 = call ptr @scr_str_to_lower(ptr %t44) + store ptr %t45, ptr %sc_l_coding_0 + call void @scr_str_release(ptr %t44) + store i1 false, ptr %sc_l_excluded_0 + %t46 = load i32, ptr %sc_l_qi_0 + %t47 = sitofp i32 %t46 to double + %t49 = sext i32 %t46 to i64 + %t48 = icmp ne i64 %t49, -1 + br i1 %t48, label %if.t20, label %if.j21 +if.t20: + %t50 = load ptr, ptr %sc_l_member_0 + %t52 = icmp eq ptr %t50, null + br i1 %t52, label %read.then22, label %read.else23 +read.then22: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1153253657065408) + br label %exc.cleanup25 +exc.dead26: + store ptr null, ptr %s53 + br label %read.join24 +read.else23: + %t54 = load ptr, ptr %sc_l_member_0 + store ptr %t54, ptr %s53 + br label %read.join24 +read.join24: + %t55 = load ptr, ptr %s53 + %t56 = load i32, ptr %sc_l_qi_0 + %t57 = sitofp i32 %t56 to double + %t59 = sext i32 %t56 to i64 + %t60 = add nsw i64 %t59, 1 + %t62 = trunc i64 %t60 to i32 + %t61 = sitofp i64 %t60 to double + %t63 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t64 = call ptr @scr_str_slice(ptr %t55, double %t61, double %t63) + %t65 = call ptr @scr_str_to_lower(ptr %t64) + store ptr %t65, ptr %sc_l_params_0 + call void @scr_str_release(ptr %t64) + %t66 = load ptr, ptr %sc_l_params_0 + %t67 = call double @scr_str_index_of(ptr %t66, ptr @sc_lit_2459074672043502, double 0x0000000000000000) + %t68 = fptosi double %t67 to i32 + store i32 %t68, ptr %sc_l_pi_0 + %t69 = load i32, ptr %sc_l_pi_0 + %t70 = sitofp i32 %t69 to double + %t72 = sext i32 %t69 to i64 + %t71 = icmp ne i64 %t72, -1 + br i1 %t71, label %if.t27, label %if.j28 +if.t27: + %t73 = load ptr, ptr %sc_l_params_0 + %t74 = load i32, ptr %sc_l_pi_0 + %t75 = sitofp i32 %t74 to double + %t77 = sext i32 %t74 to i64 + %t78 = add nsw i64 %t77, 2 + %t80 = trunc i64 %t78 to i32 + %t79 = sitofp i64 %t78 to double + %t81 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t82 = call ptr @scr_str_slice(ptr %t73, double %t79, double %t81) + store ptr %t82, ptr %sc_l_v_0 + %t83 = load ptr, ptr %sc_l_v_0 + %t84 = call double @scr_str_index_of(ptr %t83, ptr @sc_lit_1156138064653313, double 0x0000000000000000) + %t85 = fptosi double %t84 to i32 + store i32 %t85, ptr %sc_l_si_0 + %t86 = load i32, ptr %sc_l_si_0 + %t87 = sitofp i32 %t86 to double + %t89 = sext i32 %t86 to i64 + %t88 = icmp ne i64 %t89, -1 + br i1 %t88, label %if.t29, label %if.j30 +if.t29: + %t90 = load ptr, ptr %sc_l_v_0 + %t91 = load i32, ptr %sc_l_si_0 + %t92 = sitofp i32 %t91 to double + %t93 = call ptr @scr_str_slice(ptr %t90, double 0x0000000000000000, double %t92) + %t94 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t94) + store ptr %t93, ptr %sc_l_v_0 + br label %if.j30 +if.j30: + %t95 = load ptr, ptr %sc_l_v_0 + %t96 = call ptr @scr_str_trim(ptr %t95) + %t97 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t97) + store ptr %t96, ptr %sc_l_v_0 + %t98 = load ptr, ptr %sc_l_v_0 + %t99 = call ptr @scr_str_char_at(ptr %t98, double 0x0000000000000000) + %t100 = call zeroext i1 @sc_streq_1687538661063814(ptr %t99) + call void @scr_str_release(ptr %t99) + br i1 %t100, label %if.t31, label %if.j32 +if.t31: + store i1 true, ptr %sc_l_excluded_0 + store i32 1, ptr %sc_l_k_0 + br label %loop.c34 +loop.c34: + %t101 = load i32, ptr %sc_l_k_0 + %t102 = sitofp i32 %t101 to double + %t103 = load ptr, ptr %sc_l_v_0 + %t104 = call double @sc_str_utf16_len(ptr %t103) + %t106 = fptosi double %t104 to i32 + %t107 = sext i32 %t101 to i64 + %t108 = sext i32 %t106 to i64 + %t105 = icmp slt i64 %t107, %t108 + br i1 %t105, label %loop.b35, label %loop.e33 +loop.b35: + %t109 = load ptr, ptr %sc_l_v_0 + %t110 = load i32, ptr %sc_l_k_0 + %t111 = sitofp i32 %t110 to double + %t112 = call ptr @scr_str_char_at(ptr %t109, double %t111) + store ptr %t112, ptr %sc_l_ch_0 + %t113 = load ptr, ptr %sc_l_ch_0 + %t114 = call zeroext i1 @sc_streq_3618831577556636(ptr %t113) + %t115 = xor i1 %t114, true + store i1 %t115, ptr %s116 + br i1 %t115, label %log.r37, label %log.j38 +log.r37: + %t117 = load ptr, ptr %sc_l_ch_0 + %t118 = call zeroext i1 @sc_streq_1687538661063814(ptr %t117) + %t119 = xor i1 %t118, true + store i1 %t119, ptr %s116 + br label %log.j38 +log.j38: + %t120 = load i1, ptr %s116 + br i1 %t120, label %if.t39, label %if.j40 +if.t39: + store i1 false, ptr %sc_l_excluded_0 + %t121 = load ptr, ptr %sc_l_ch_0 + call void @scr_str_release(ptr %t121) + br label %loop.e33 +if.j40: + %t122 = load ptr, ptr %sc_l_ch_0 + call void @scr_str_release(ptr %t122) + br label %loop.u36 +loop.u36: + %t123 = load i32, ptr %sc_l_k_0 + %t124 = sitofp i32 %t123 to double + %t127 = trunc i64 1 to i32 + %t126 = add nsw i32 %t123, %t127 + %t128 = sitofp i32 %t126 to double + store i32 %t126, ptr %sc_l_k_0 + br label %loop.c34 +loop.e33: + br label %if.j32 +if.j32: + %t129 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t129) + br label %if.j28 +if.j28: + %t130 = load ptr, ptr %sc_l_params_0 + call void @scr_str_release(ptr %t130) + br label %if.j21 +if.j21: + %t131 = load i1, ptr %sc_l_excluded_0 + br i1 %t131, label %if.t41, label %if.j42 +if.t41: + %t132 = load ptr, ptr %sc_l_member_0 + call void @scr_str_release(ptr %t132) + %t133 = load ptr, ptr %sc_l_head_0 + call void @scr_str_release(ptr %t133) + %t134 = load ptr, ptr %sc_l_coding_0 + call void @scr_str_release(ptr %t134) + br label %loop.u3 +if.j42: + %t135 = load ptr, ptr %sc_l_coding_0 + %t136 = call zeroext i1 @sc_streq_1834571860458263(ptr %t135) + br i1 %t136, label %if.t43, label %if.j44 +if.t43: + %t137 = load ptr, ptr %sc_l_member_0 + call void @scr_str_release(ptr %t137) + %t138 = load ptr, ptr %sc_l_head_0 + call void @scr_str_release(ptr %t138) + %t139 = load ptr, ptr %sc_l_coding_0 + call void @scr_str_release(ptr %t139) + %t140 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t140) + ret i1 true +if.j44: + %t142 = fptosi double 0x0000000000000000 to i64 + store i64 %t142, ptr %s141 + br label %loop.c46 +loop.c46: + %t143 = load ptr, ptr %sc_l_encs_0 + %t144 = getelementptr inbounds %ScrArr, ptr %t143, i64 0, i32 1 + %t145 = load i64, ptr %t144, !tbaa !2 + %t146 = load i64, ptr %s141 + %t147 = icmp ult i64 %t146, %t145 + br i1 %t147, label %loop.b47, label %loop.e45 +loop.b47: + %t148 = load ptr, ptr %sc_l_coding_0 + %t150 = load ptr, ptr %sc_l_encs_0 + %t151 = load i64, ptr %s141 + %t152 = load i64, ptr %s141 + %t153 = sitofp i64 %t152 to double + %t154 = trunc i64 %t152 to i32 + %t155 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 2 + %t156 = load i64, ptr %t155, !tbaa !2 + %t157 = icmp ult i64 %t151, %t156 + br i1 %t157, label %local.array.range52, label %local.array.slow49 +local.array.range52: + br label %local.array.dense53 +local.array.dense53: + %t158 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 6 + %t159 = load i32, ptr %t158, !tbaa !2 + %t161 = zext i32 %t159 to i64 + %t160 = icmp ult i64 %t151, %t161 + br i1 %t160, label %local.array.value55, label %local.array.len54 +local.array.len54: + %t162 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 1 + %t163 = load i64, ptr %t162, !tbaa !2, !range !{i64 0, i64 4294967296} + %t164 = icmp ult i64 %t151, %t163 + br i1 %t164, label %local.array.state56, label %local.array.missing50 +local.array.state56: + %t165 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 9 + %t166 = load ptr, ptr %t165, !tbaa !2 + %t167 = getelementptr inbounds i8, ptr %t166, i64 %t151 + %t168 = load i8, ptr %t167, !tbaa !4 + %t169 = icmp eq i8 %t168, 1 + br i1 %t169, label %local.array.value55, label %local.array.missing50 +local.array.value55: + %t170 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 8 + %t171 = load ptr, ptr %t170, !tbaa !2 + %t172 = getelementptr inbounds i64, ptr %t171, i64 %t151 + %t173 = load ptr, ptr %t172, !tbaa !6 + %t174 = call ptr @sc_rc_retain_str(ptr %t173) + store ptr %t174, ptr %s149 + br label %local.array.join51 +local.array.slow49: + %t175 = call ptr @scr_arr_peek_ref(ptr %t150, double %t153) + %t176 = icmp ne ptr %t175, null + br i1 %t176, label %local.array.slow.value57, label %local.array.missing50 +local.array.slow.value57: + %t177 = call ptr @sc_rc_retain_str(ptr %t175) + store ptr %t177, ptr %s149 + br label %local.array.join51 +local.array.missing50: + store ptr null, ptr %s149 + br label %local.array.join51 +local.array.join51: + %t178 = load ptr, ptr %s149 + %t180 = icmp eq ptr %t148, %t178 + %t182 = icmp ne ptr %t148, null + %t183 = icmp ne ptr %t178, null + %t181 = and i1 %t182, %t183 + store i1 %t180, ptr %s179 + %t184 = xor i1 %t180, true + %t185 = and i1 %t184, %t181 + br i1 %t185, label %ues.b58, label %ues.j59 +ues.b58: + %t186 = call zeroext i1 @sc_str_eq(ptr %t148, ptr %t178) + store i1 %t186, ptr %s179 + br label %ues.j59 +ues.j59: + %t187 = load i1, ptr %s179 + %t188 = load ptr, ptr %s149 + call void @scr_str_release(ptr %t188) + br i1 %t187, label %if.t60, label %if.j61 +if.t60: + %t189 = load ptr, ptr %sc_l_member_0 + call void @scr_str_release(ptr %t189) + %t190 = load ptr, ptr %sc_l_head_0 + call void @scr_str_release(ptr %t190) + %t191 = load ptr, ptr %sc_l_coding_0 + call void @scr_str_release(ptr %t191) + %t192 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t192) + ret i1 true +if.j61: + br label %loop.u48 +loop.u48: + %t193 = load i64, ptr %s141 + %t194 = add nuw i64 %t193, 1 + store i64 %t194, ptr %s141 + br label %loop.c46 +loop.e45: + %t195 = load ptr, ptr %sc_l_member_0 + call void @scr_str_release(ptr %t195) + %t196 = load ptr, ptr %sc_l_head_0 + call void @scr_str_release(ptr %t196) + %t197 = load ptr, ptr %sc_l_coding_0 + call void @scr_str_release(ptr %t197) + br label %loop.u3 +loop.u3: + %t198 = load i64, ptr %s2 + %t199 = add nuw i64 %t198, 1 + store i64 %t199, ptr %s2 + br label %loop.c1 +loop.e0: + %t200 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t200) + ret i1 false +exc.cleanup7: + %t201 = load ptr, ptr %sc_l_member_0 + call void @scr_str_release(ptr %t201) + %t202 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t202) + ret i1 false +exc.cleanup14: + %t203 = load ptr, ptr %sc_l_member_0 + call void @scr_str_release(ptr %t203) + %t204 = load ptr, ptr %sc_l_head_0 + call void @scr_str_release(ptr %t204) + %t205 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t205) + ret i1 false +exc.cleanup25: + %t206 = load ptr, ptr %sc_l_member_0 + call void @scr_str_release(ptr %t206) + %t207 = load ptr, ptr %sc_l_head_0 + call void @scr_str_release(ptr %t207) + %t208 = load ptr, ptr %sc_l_coding_0 + call void @scr_str_release(ptr %t208) + %t209 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t209) + ret i1 false +} +define internal i1 @sc_f__x25_m11_acceptable(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_m11_acceptable(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_arr_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_bf__x25_m11_serveStatic(ptr %p_sc_l_app_0, ptr %p_sc_l_prefix_0, ptr %p_sc_l_src_0, ptr %p_sc_l_opts_0) #0 { ; %m11.serveStatic +entry: + %sc_l_app_0 = alloca ptr ; app + %sc_l_prefix_0 = alloca ptr ; prefix + %sc_l_src_0 = alloca ptr ; src + %sc_l_opts_0 = alloca ptr ; opts + %sc_l_srv_0 = alloca ptr ; srv + %sc_l_base_0 = alloca ptr ; base + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %s11 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s43 = alloca ptr + %s67 = alloca [2 x ptr] + %s90 = alloca ptr + %s105 = alloca ptr + %s118 = alloca [2 x ptr] + store ptr null, ptr %sc_l_srv_0 + store ptr null, ptr %sc_l_base_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr %p_sc_l_app_0, ptr %sc_l_app_0 + store ptr %p_sc_l_prefix_0, ptr %sc_l_prefix_0 + store ptr %p_sc_l_src_0, ptr %sc_l_src_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_trace__x25_m11_StaticServer) ; let srv (boxed) + store ptr %t0, ptr %sc_l_srv_0 + %t1 = call ptr @sc_new__x25_m11_StaticServer() + %t2 = load ptr, ptr %sc_l_src_0 + %t3 = load ptr, ptr %sc_l_opts_0 + call void @sc_bf__x25__x25_m11_StaticServer_constructor(ptr %t1, ptr %t2, ptr %t3) + call void @scr_box_set_ref(ptr %t0, ptr %t1) + %t4 = load ptr, ptr %sc_l_prefix_0 + %t5 = call ptr @sc_rc_retain_str(ptr %t4) + store ptr %t5, ptr %sc_l_base_0 + br label %loop.c1 +loop.c1: + %t6 = load ptr, ptr %sc_l_base_0 + %t7 = call double @sc_str_utf16_len(ptr %t6) + %t9 = fptosi double %t7 to i32 + %t10 = sext i32 %t9 to i64 + %t8 = icmp sgt i64 %t10, 0 + store i1 %t8, ptr %s11 + br i1 %t8, label %log.r3, label %log.j4 +log.r3: + %t12 = load ptr, ptr %sc_l_base_0 + %t13 = load ptr, ptr %sc_l_base_0 + %t14 = call double @sc_str_utf16_len(ptr %t13) + %t16 = fptosi double %t14 to i32 + %t18 = trunc i64 1 to i32 + %t17 = sub nsw i32 %t16, %t18 + %t19 = sitofp i32 %t17 to double + %t20 = call ptr @scr_str_char_at(ptr %t12, double %t19) + %t21 = call zeroext i1 @sc_streq_2434240011052594(ptr %t20) + store i1 %t21, ptr %s11 + call void @scr_str_release(ptr %t20) + br label %log.j4 +log.j4: + %t22 = load i1, ptr %s11 + br i1 %t22, label %loop.b2, label %loop.e0 +loop.b2: + %t23 = load ptr, ptr %sc_l_base_0 + %t24 = load ptr, ptr %sc_l_base_0 + %t25 = call double @sc_str_utf16_len(ptr %t24) + %t27 = fptosi double %t25 to i32 + %t29 = trunc i64 1 to i32 + %t28 = sub nsw i32 %t27, %t29 + %t30 = sitofp i32 %t28 to double + %t31 = call ptr @scr_str_slice(ptr %t23, double 0x0000000000000000, double %t30) + %t32 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t32) + store ptr %t31, ptr %sc_l_base_0 + br label %loop.c1 +loop.e0: + %t33 = load ptr, ptr %sc_l_app_0 + store ptr %t33, ptr %sc_l__x25_callbackReceiver_0 + %t34 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t35 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t34) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t35) + br label %exc.cleanup7 +exc.k6: + store ptr %t35, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t40 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 6 + br i1 %t42, label %tern.t8, label %tern.f9 +tern.t8: + %t45 = call ptr @scr_dyn_undefined() + %t44 = call ptr @scr_dyn_retain_v(ptr %t45) + store ptr %t44, ptr %s43 + br label %tern.j10 +tern.f9: + %t46 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t47 = call ptr @sc_rc_retain_dyn(ptr %t46) + %t48 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t47) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t48) + br label %exc.cleanup13 +exc.k12: + store ptr %t48, ptr %s43 + br label %tern.j10 +tern.j10: + %t52 = load ptr, ptr %s43 + store ptr %t52, ptr %sc_l__x25_callback_0 + %t53 = load ptr, ptr %sc_l__x25_callback_0 + %t54 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t55 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t54, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t56 = load ptr, ptr %sc_l_base_0 + %t57 = call ptr @sc_rc_retain_str(ptr %t56) + %t58 = call ptr @scr_str_concat(ptr %t57, ptr @sc_lit_2083437452017534) + %t59 = call ptr @sc_td_0(ptr %t58) + %t60 = call ptr @scr_closure_new(ptr @sc_f__x25_fn27, i64 1) + %t61 = getelementptr inbounds %ScrClosure, ptr %t60, i64 0, i32 7 + store ptr @sc_bf__x25_fn27, ptr %t61 + %t62 = load ptr, ptr %sc_l_srv_0 + %t63 = call ptr @sc_retain_box(ptr %t62) + %t64 = getelementptr inbounds %ScrClosure, ptr %t60, i64 1 ; caps + %t65 = getelementptr inbounds ptr, ptr %t64, i64 0 ; caps[0] + store ptr %t63, ptr %t65 + %t66 = call ptr @sc_dfb_10(ptr %t60, ptr null) + %t68 = getelementptr inbounds [2 x ptr], ptr %s67, i64 0, i64 0 + store ptr %t59, ptr %t68 + %t69 = getelementptr inbounds [2 x ptr], ptr %s67, i64 0, i64 1 + store ptr %t66, ptr %t69 + call void @scr_dyn_this_push_dyn(ptr %t55) + %t70 = call ptr @scr_dyn_call(ptr %t53, ptr %s67, i64 2, ptr @sc_cs_3227648507238367) + call void @scr_dyn_this_pop() + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t55) + call void @scr_str_release(ptr %t57) + call void @scr_str_release(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @scr_closure_release(ptr %t60) + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t70) + br label %exc.cleanup16 +exc.k15: + %t74 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t70) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t55) + call void @scr_str_release(ptr %t57) + call void @scr_str_release(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @scr_closure_release(ptr %t60) + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_release__x25_m5_App(ptr %t74) + br label %exc.cleanup16 +exc.k18: + call void @sc_rc_release_dyn(ptr %t55) + call void @scr_str_release(ptr %t57) + call void @scr_str_release(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @scr_closure_release(ptr %t60) + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_release__x25_m5_App(ptr %t74) + %t78 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t78) + %t79 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t79) + %t80 = load ptr, ptr %sc_l_app_0 + store ptr %t80, ptr %sc_l__x25_callbackReceiver_1 + %t81 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t82 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t81) + %t83 = load i32, ptr %exc.cell + %t84 = icmp ne i32 %t83, 0 + %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false) + br i1 %t85, label %exc.u19, label %exc.k20 +exc.u19: + call void @sc_rc_release_dyn(ptr %t82) + br label %exc.cleanup7 +exc.k20: + store ptr %t82, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t86 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t87 = getelementptr inbounds i8, ptr %t86, i64 8 ; ->kind + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 6 + br i1 %t89, label %tern.t21, label %tern.f22 +tern.t21: + %t92 = call ptr @scr_dyn_undefined() + %t91 = call ptr @scr_dyn_retain_v(ptr %t92) + store ptr %t91, ptr %s90 + br label %tern.j23 +tern.f22: + %t93 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t94 = call ptr @sc_rc_retain_dyn(ptr %t93) + %t95 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t94) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t95) + br label %exc.cleanup26 +exc.k25: + store ptr %t95, ptr %s90 + br label %tern.j23 +tern.j23: + %t99 = load ptr, ptr %s90 + store ptr %t99, ptr %sc_l__x25_callback_1 + %t100 = load ptr, ptr %sc_l__x25_callback_1 + %t101 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t102 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t101, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t103 = load ptr, ptr %sc_l_base_0 + %t104 = call zeroext i1 @sc_streq_4005573543169985(ptr %t103) + br i1 %t104, label %tern.t27, label %tern.f28 +tern.t27: + %t106 = call ptr @sc_td_0(ptr @sc_lit_2434240011052594) + store ptr %t106, ptr %s105 + br label %tern.j29 +tern.f28: + %t107 = load ptr, ptr %sc_l_base_0 + %t108 = call ptr @sc_rc_retain_str(ptr %t107) + %t109 = call ptr @sc_td_0(ptr %t108) + store ptr %t109, ptr %s105 + call void @scr_str_release(ptr %t108) + br label %tern.j29 +tern.j29: + %t110 = load ptr, ptr %s105 + %t111 = call ptr @scr_closure_new(ptr @sc_f__x25_fn29, i64 1) + %t112 = getelementptr inbounds %ScrClosure, ptr %t111, i64 0, i32 7 + store ptr @sc_bf__x25_fn29, ptr %t112 + %t113 = load ptr, ptr %sc_l_srv_0 + %t114 = call ptr @sc_retain_box(ptr %t113) + %t115 = getelementptr inbounds %ScrClosure, ptr %t111, i64 1 ; caps + %t116 = getelementptr inbounds ptr, ptr %t115, i64 0 ; caps[0] + store ptr %t114, ptr %t116 + %t117 = call ptr @sc_dfb_10(ptr %t111, ptr null) + %t119 = getelementptr inbounds [2 x ptr], ptr %s118, i64 0, i64 0 + store ptr %t110, ptr %t119 + %t120 = getelementptr inbounds [2 x ptr], ptr %s118, i64 0, i64 1 + store ptr %t117, ptr %t120 + call void @scr_dyn_this_push_dyn(ptr %t102) + %t121 = call ptr @scr_dyn_call(ptr %t100, ptr %s118, i64 2, ptr @sc_cs_3227648507238367) + call void @scr_dyn_this_pop() + %t122 = load i32, ptr %exc.cell + %t123 = icmp ne i32 %t122, 0 + %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false) + br i1 %t124, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t110) + call void @scr_closure_release(ptr %t111) + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t121) + br label %exc.cleanup32 +exc.k31: + %t125 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t121) + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t110) + call void @scr_closure_release(ptr %t111) + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t121) + call void @sc_release__x25_m5_App(ptr %t125) + br label %exc.cleanup32 +exc.k34: + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t110) + call void @scr_closure_release(ptr %t111) + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t121) + call void @sc_release__x25_m5_App(ptr %t125) + %t129 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t129) + %t130 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t130) + %t131 = load ptr, ptr %sc_l_app_0 + %t132 = load ptr, ptr %sc_l_srv_0 + call void @scr_box_release(ptr %t132) + %t133 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t133) + ret ptr %t131 +exc.cleanup7: + %t134 = load ptr, ptr %sc_l_srv_0 + call void @scr_box_release(ptr %t134) + %t135 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t135) + ret ptr null +exc.cleanup13: + %t136 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t136) + %t137 = load ptr, ptr %sc_l_srv_0 + call void @scr_box_release(ptr %t137) + %t138 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t138) + ret ptr null +exc.cleanup16: + %t139 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t139) + %t140 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t140) + %t141 = load ptr, ptr %sc_l_srv_0 + call void @scr_box_release(ptr %t141) + %t142 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t142) + ret ptr null +exc.cleanup26: + %t143 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t143) + %t144 = load ptr, ptr %sc_l_srv_0 + call void @scr_box_release(ptr %t144) + %t145 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t145) + ret ptr null +exc.cleanup32: + %t146 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t146) + %t147 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t147) + %t148 = load ptr, ptr %sc_l_srv_0 + call void @scr_box_release(ptr %t148) + %t149 = load ptr, ptr %sc_l_base_0 + call void @scr_str_release(ptr %t149) + ret ptr null +} +define internal ptr @sc_f__x25_m11_serveStatic(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_m11_serveStatic(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m6_AssetSource(ptr %p2) + call void @sc_rrelease_r15(ptr %p3) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_m13_buildApp(ptr %p_sc_l_src_0) #0 { ; %m13.buildApp +entry: + %sc_l_src_0 = alloca ptr ; src + %sc_l_app_0 = alloca ptr ; app + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca ptr + %s28 = alloca [2 x ptr] + %s44 = alloca %ScrUnion + %s45 = getelementptr inbounds %ScrUnion, ptr %s44, i32 0, i32 1 + %s46 = getelementptr inbounds %ScrUnion, ptr %s44, i32 0, i32 5 + store ptr null, ptr %sc_l_app_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_src_0, ptr %sc_l_src_0 + %t0 = call ptr @sc_f__x25_m5_createRouter() + store ptr %t0, ptr %sc_l_app_0 + %t1 = load ptr, ptr %sc_l_app_0 + store ptr %t1, ptr %sc_l__x25_callbackReceiver_0 + %t2 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t3 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t2) + %t4 = load i32, ptr %exc.cell + %t5 = icmp ne i32 %t4, 0 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t3) + br label %exc.cleanup2 +exc.k1: + store ptr %t3, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t7 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t8 = getelementptr inbounds i8, ptr %t7, i64 8 ; ->kind + %t9 = load i32, ptr %t8 + %t10 = icmp eq i32 %t9, 6 + br i1 %t10, label %tern.t3, label %tern.f4 +tern.t3: + %t13 = call ptr @scr_dyn_undefined() + %t12 = call ptr @scr_dyn_retain_v(ptr %t13) + store ptr %t12, ptr %s11 + br label %tern.j5 +tern.f4: + %t14 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t15 = call ptr @sc_rc_retain_dyn(ptr %t14) + %t16 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t15) + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t16) + br label %exc.cleanup8 +exc.k7: + store ptr %t16, ptr %s11 + br label %tern.j5 +tern.j5: + %t20 = load ptr, ptr %s11 + store ptr %t20, ptr %sc_l__x25_callback_0 + %t21 = load ptr, ptr %sc_l__x25_callback_0 + %t22 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t24 = call ptr @sc_td_0(ptr @sc_lit_2431203152239253) + %t25 = call ptr @scr_closure_new(ptr @sc_f__x25_fn1, i64 0) + %t26 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 7 + store ptr @sc_bf__x25_fn1, ptr %t26 + %t27 = call ptr @sc_dfb_11(ptr %t25, ptr null) + %t29 = getelementptr inbounds [2 x ptr], ptr %s28, i64 0, i64 0 + store ptr %t24, ptr %t29 + %t30 = getelementptr inbounds [2 x ptr], ptr %s28, i64 0, i64 1 + store ptr %t27, ptr %t30 + call void @scr_dyn_this_push_dyn(ptr %t23) + %t31 = call ptr @scr_dyn_call(ptr %t21, ptr %s28, i64 2, ptr @sc_cs_3227648507238367) + call void @scr_dyn_this_pop() + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + call void @scr_closure_release(ptr %t25) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup11 +exc.k10: + %t35 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t31) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + call void @scr_closure_release(ptr %t25) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_release__x25_m5_App(ptr %t35) + br label %exc.cleanup11 +exc.k13: + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + call void @scr_closure_release(ptr %t25) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_release__x25_m5_App(ptr %t35) + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l_app_0 + %t42 = load ptr, ptr %sc_l_src_0 + %t43 = call ptr @sc_rnew_r15() + %t47 = zext i1 true to i64 + store i64 %t47, ptr %s46 + store i32 0, ptr %s45 + %t48 = getelementptr inbounds %sc_rs_r15, ptr %t43, i64 0, i32 4 + %t49 = icmp eq ptr %s44, null + %t50 = select i1 %t49, ptr @sc_union_none, ptr %s44 + %t51 = getelementptr inbounds %ScrUnion, ptr %t50, i64 0, i32 1 + %t53 = load i32, ptr %t51 + %t52 = getelementptr inbounds %ScrUnion, ptr %t50, i64 0, i32 5 + %t54 = load i64, ptr %t52 + %t55 = getelementptr inbounds { i32, i64 }, ptr %t48, i32 0, i32 0 + store i32 %t53, ptr %t55 + %t56 = getelementptr inbounds { i32, i64 }, ptr %t48, i32 0, i32 1 + store i64 %t54, ptr %t56 + %t57 = getelementptr inbounds %sc_rs_r15, ptr %t43, i64 0, i32 1 + store ptr @sc_nullable_absent, ptr %t57 + %t58 = getelementptr inbounds %sc_rs_r15, ptr %t43, i64 0, i32 2 + store ptr @sc_nullable_absent, ptr %t58 + %t59 = getelementptr inbounds %sc_rs_r15, ptr %t43, i64 0, i32 3 + store ptr @sc_nullable_absent, ptr %t59 + %t60 = call ptr @sc_bf__x25_m11_serveStatic(ptr %t41, ptr @sc_lit_2434240011052594, ptr %t42, ptr %t43) + %t61 = load i32, ptr %exc.cell + %t62 = icmp ne i32 %t61, 0 + %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false) + br i1 %t63, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rrelease_r15(ptr %t43) + br label %exc.cleanup2 +exc.k15: + %t64 = call ptr @sc_retain__x25_m5_App(ptr %t60) + call void @sc_rrelease_r15(ptr %t43) + call void @sc_release__x25_m5_App(ptr %t64) + %t65 = load ptr, ptr %sc_l_app_0 + ret ptr %t65 +exc.cleanup2: + %t66 = load ptr, ptr %sc_l_app_0 + call void @sc_release__x25_m5_App(ptr %t66) + ret ptr null +exc.cleanup8: + %t67 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t67) + %t68 = load ptr, ptr %sc_l_app_0 + call void @sc_release__x25_m5_App(ptr %t68) + ret ptr null +exc.cleanup11: + %t69 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t69) + %t70 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t70) + %t71 = load ptr, ptr %sc_l_app_0 + call void @sc_release__x25_m5_App(ptr %t71) + ret ptr null +} +define internal ptr @sc_f__x25_m13_buildApp(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_m13_buildApp(ptr %p0) + call void @sc_release__x25_m6_AssetSource(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25__x25_m0_GenDispatch_dispatch(ptr %p_sc_l_this_0, ptr %p_sc_l__req_0, ptr %p_sc_l__res_0) #0 { ; %%m0.GenDispatch.dispatch +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__req_0 = alloca ptr ; _req + %sc_l__res_0 = alloca ptr ; _res + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__req_0, ptr %sc_l__req_0 + store ptr %p_sc_l__res_0, ptr %sc_l__res_0 + ret i1 false +} +define internal i1 @sc_f__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m0_GenDispatch(ptr %p0) + call void @scr_http_req_release(ptr %p1) + call void @scr_http_res_release(ptr %p2) + ret i1 %result +} + +define internal ptr @sc_bf__x25__x25_m0_GenFetch_dispatchFetch(ptr %p_sc_l_this_0, ptr %p_sc_l__method_0, ptr %p_sc_l__url_0, ptr %p_sc_l__headers_0, ptr %p_sc_l__webReq_0, ptr %p_sc_l__body_0, ptr %p_sc_l__bodyU8_0, ptr %p_sc_l__sink_0) #0 { ; %%m0.GenFetch.dispatchFetch +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__method_0 = alloca ptr ; _method + %sc_l__url_0 = alloca ptr ; _url + %sc_l__headers_0 = alloca ptr ; _headers + %sc_l__webReq_0 = alloca ptr ; _webReq + %sc_l__body_0 = alloca ptr ; _body + %sc_l__bodyU8_0 = alloca ptr ; _bodyU8 + %sc_l__sink_0 = alloca ptr ; _sink + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__method_0, ptr %sc_l__method_0 + store ptr %p_sc_l__url_0, ptr %sc_l__url_0 + store ptr %p_sc_l__headers_0, ptr %sc_l__headers_0 + store ptr %p_sc_l__webReq_0, ptr %sc_l__webReq_0 + store ptr %p_sc_l__body_0, ptr %sc_l__body_0 + store ptr %p_sc_l__bodyU8_0, ptr %sc_l__bodyU8_0 + store ptr %p_sc_l__sink_0, ptr %sc_l__sink_0 + %t0 = call ptr @scr_promise_new() + %t1 = call ptr @scr_make_resolve(ptr %t0, i32 1) + %t2 = call ptr @scr_closure_new(ptr @sc_f__x25_fn33, i64 0) + %t3 = getelementptr inbounds %ScrClosure, ptr %t2, i64 0, i32 4 + store i32 4, ptr %t3 + %t4 = getelementptr inbounds %ScrClosure, ptr %t2, i64 0, i32 7 + store ptr @sc_bf__x25_fn33, ptr %t4 + call void @scr_promise_run_executor(ptr %t0, ptr %t2, ptr %t1) + call void @scr_closure_release(ptr %t2) + ret ptr %t0 +} +define internal ptr @sc_f__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6, ptr %p7) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6, ptr %p7) + call void @sc_release__x25_m0_GenFetch(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @sc_rrelease_r0(ptr %p3) + call void @sc_rc_release_dyn(ptr %p4) + call void @scr_str_release(ptr %p5) + call void @scr_union_release(ptr %p6) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p7) + ret ptr %result +} + +define internal i1 @sc_bf__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p_sc_l_this_0, ptr %p_sc_l__req_0, ptr %p_sc_l__socket_0, ptr %p_sc_l__head_0) #0 { ; %%m1.UpgradeDispatch.upgrade +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__req_0 = alloca ptr ; _req + %sc_l__socket_0 = alloca ptr ; _socket + %sc_l__head_0 = alloca ptr ; _head + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__req_0, ptr %sc_l__req_0 + store ptr %p_sc_l__socket_0, ptr %sc_l__socket_0 + store ptr %p_sc_l__head_0, ptr %sc_l__head_0 + ret i1 false +} +define internal i1 @sc_f__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %p0) + call void @scr_http_req_release(ptr %p1) + call void @scr_net_sock_release(ptr %p2) + call void @scr_bytes_release(ptr %p3) + ret i1 %result +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_constructor(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_constructor(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_setStatus(ptr %p_sc_l_this_0, double %p_sc_l__n_0) #0 { ; %%m2.ResponseSink.setStatus +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__n_0 = alloca double ; _n + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l__n_0, ptr %sc_l__n_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_setStatus(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_setStatus(ptr %p0, double %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_setHeader(ptr %p_sc_l_this_0, ptr %p_sc_l__k_0, ptr %p_sc_l__v_0) #0 { ; %%m2.ResponseSink.setHeader +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__k_0 = alloca ptr ; _k + %sc_l__v_0 = alloca ptr ; _v + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__k_0, ptr %sc_l__k_0 + store ptr %p_sc_l__v_0, ptr %sc_l__v_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_appendHeader(ptr %p_sc_l_this_0, ptr %p_sc_l__k_0, ptr %p_sc_l__v_0) #0 { ; %%m2.ResponseSink.appendHeader +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__k_0 = alloca ptr ; _k + %sc_l__v_0 = alloca ptr ; _v + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__k_0, ptr %sc_l__k_0 + store ptr %p_sc_l__v_0, ptr %sc_l__v_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_writeBody(ptr %p_sc_l_this_0, ptr %p_sc_l__s_0) #0 { ; %%m2.ResponseSink.writeBody +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__s_0 = alloca ptr ; _s + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__s_0, ptr %sc_l__s_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_writeBody(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_writeBody(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_bodyBytes(ptr %p_sc_l_this_0, ptr %p_sc_l__b_0, ptr %p_sc_l__ct_0) #0 { ; %%m2.ResponseSink.bodyBytes +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__b_0 = alloca ptr ; _b + %sc_l__ct_0 = alloca ptr ; _ct + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__b_0, ptr %sc_l__b_0 + store ptr %p_sc_l__ct_0, ptr %sc_l__ct_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_bytes_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l__url_0, double %p_sc_l__code_0) #0 { ; %%m2.ResponseSink.redirect +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__url_0 = alloca ptr ; _url + %sc_l__code_0 = alloca double ; _code + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__url_0, ptr %sc_l__url_0 + store double %p_sc_l__code_0, ptr %sc_l__code_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_redirect(ptr %p0, ptr %p1, double %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_redirect(ptr %p0, ptr %p1, double %p2) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l__chunk_0) #0 { ; %%m2.ResponseSink.write +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__chunk_0 = alloca ptr ; _chunk + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__chunk_0, ptr %sc_l__chunk_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_write(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_write(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_writeHead(ptr %p_sc_l_this_0, double %p_sc_l__status_0, ptr %p_sc_l__flatPairs_0) #0 { ; %%m2.ResponseSink.writeHead +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__status_0 = alloca double ; _status + %sc_l__flatPairs_0 = alloca ptr ; _flatPairs + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l__status_0, ptr %sc_l__status_0 + store ptr %p_sc_l__flatPairs_0, ptr %sc_l__flatPairs_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_arr_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_endStream(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.endStream +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_endStream(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_endStream(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_adopt(ptr %p_sc_l_this_0, ptr %p_sc_l__view_0) #0 { ; %%m2.ResponseSink.adopt +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__view_0 = alloca ptr ; _view + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__view_0, ptr %sc_l__view_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_adopt(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_adopt(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @sc_rrelease_r1(ptr %p1) + ret void +} + +define internal i1 @sc_bf__x25__x25_m2_ResponseSink_isSent(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.isSent +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret i1 false +} +define internal i1 @sc_f__x25__x25_m2_ResponseSink_isSent(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m2_ResponseSink_isSent(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret i1 %result +} + +define internal i1 @sc_bf__x25__x25_m2_ResponseSink_isHeadersSent(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.isHeadersSent +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret i1 false +} +define internal i1 @sc_f__x25__x25_m2_ResponseSink_isHeadersSent(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m2_ResponseSink_isHeadersSent(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret i1 %result +} + +define internal void @sc_bf__x25__x25_m2_ResponseSink_destroy(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.destroy +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m2_ResponseSink_destroy(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m2_ResponseSink_destroy(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret void +} + +define internal double @sc_bf__x25__x25_m2_ResponseSink_statusOf(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.statusOf +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret double 0x4069000000000000 +} +define internal double @sc_f__x25__x25_m2_ResponseSink_statusOf(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25__x25_m2_ResponseSink_statusOf(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret double %result +} + +define internal ptr @sc_bf__x25__x25_m2_ResponseSink_headerOf(ptr %p_sc_l_this_0, ptr %p_sc_l__k_0) #0 { ; %%m2.ResponseSink.headerOf +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__k_0 = alloca ptr ; _k + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__k_0, ptr %sc_l__k_0 + ret ptr @sc_nullable_null +} +define internal ptr @sc_f__x25__x25_m2_ResponseSink_headerOf(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_ResponseSink_headerOf(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m2_ResponseSink_headersMap(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.headersMap +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @sc_rnew_r0() + ret ptr %t0 +} +define internal ptr @sc_f__x25__x25_m2_ResponseSink_headersMap(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_ResponseSink_headersMap(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.nodeRes +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret ptr @sc_unit_0 +} +define internal ptr @sc_f__x25__x25_m2_ResponseSink_nodeRes(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_res_0) #0 { ; %%m2.NodeResponseSink.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_res_0 = alloca ptr ; res + %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_res_0, ptr %sc_l_res_0 + store i1 false, ptr %sc_l__x25_superInitialized_0 + %t0 = load i1, ptr %sc_l__x25_superInitialized_0 + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207) + ret void +exc.dead2: + br label %if.j1 +if.j1: + %t1 = load ptr, ptr %sc_l_this_0 + call void @sc_bf__x25__x25_m2_ResponseSink_constructor(ptr %t1) + store i1 true, ptr %sc_l__x25_superInitialized_0 + %t2 = load i1, ptr %sc_l__x25_superInitialized_0 + %t3 = xor i1 %t2, true + br i1 %t3, label %if.t3, label %if.j4 +if.t3: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead5: + br label %if.j4 +if.j4: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load ptr, ptr %sc_l_res_0 + %t6 = call ptr @scr_http_res_retain_v(ptr %t5) + %t7 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + store ptr %t6, ptr %t7, !tbaa !46 + call void @scr_http_res_release(ptr %t8) + %t9 = load i1, ptr %sc_l__x25_superInitialized_0 + %t10 = xor i1 %t9, true + br i1 %t10, label %if.t6, label %if.j7 +if.t6: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead8: + br label %if.j7 +if.j7: + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t11, i64 0, i32 4 + store double 0x4069000000000000, ptr %t12, !tbaa !48 + %t13 = load i1, ptr %sc_l__x25_superInitialized_0 + %t14 = xor i1 %t13, true + br i1 %t14, label %if.t9, label %if.j10 +if.t9: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead11: + br label %if.j10 +if.j10: + %t15 = load ptr, ptr %sc_l_this_0 + %t16 = call ptr @sc_rnew_r0() + %t17 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t15, i64 0, i32 5 + %t18 = load ptr, ptr %t17 + store ptr %t16, ptr %t17, !tbaa !50 + call void @sc_rrelease_r0(ptr %t18) + %t19 = load i1, ptr %sc_l__x25_superInitialized_0 + %t20 = xor i1 %t19, true + br i1 %t20, label %if.t12, label %if.j13 +if.t12: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead14: + br label %if.j13 +if.j13: + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_constructor(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_constructor(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_http_res_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_setStatus(ptr %p_sc_l_this_0, double %p_sc_l_n_0) #0 { ; %%m2.NodeResponseSink.setStatus +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_n_0 = alloca double ; n + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l_n_0, ptr %sc_l_n_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load double, ptr %sc_l_n_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 4 + store double %t5, ptr %t6, !tbaa !48 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t7, i64 0, i32 3 + %t9 = load ptr, ptr %t8, !tbaa !46 + %t10 = call ptr @scr_http_res_retain_v(ptr %t9) + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t11, i64 0, i32 4 + %t13 = load double, ptr %t12, !tbaa !48 + call void @scr_http_res_status_set(ptr %t10, double %t13) + call void @scr_http_res_release(ptr %t10) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_setStatus(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_setStatus(ptr %p0, double %p1) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_setHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m2.NodeResponseSink.setHeader +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %sc_l_kk_0 = alloca ptr ; kk + store ptr null, ptr %sc_l_kk_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_k_0 + store ptr %t4, ptr %sc_l_kk_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t5, i64 0, i32 3 + %t7 = load ptr, ptr %t6, !tbaa !46 + %t8 = call ptr @scr_http_res_retain_v(ptr %t7) + %t9 = load ptr, ptr %sc_l_kk_0 + %t10 = call ptr @sc_rc_retain_str(ptr %t9) + %t11 = load ptr, ptr %sc_l_v_0 + %t12 = call ptr @sc_rc_retain_str(ptr %t11) + call void @scr_http_res_set_header(ptr %t8, ptr %t10, ptr %t12) + call void @scr_http_res_release(ptr %t8) + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t12) + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t13, i64 0, i32 5 + %t15 = load ptr, ptr %t14, !tbaa !50 + %t16 = call ptr @sc_rretain_r0(ptr %t15) + %t17 = load ptr, ptr %sc_l_kk_0 + %t18 = call ptr @scr_str_to_lower(ptr %t17) + %t19 = load ptr, ptr %sc_l_v_0 + %t20 = call ptr @sc_rc_retain_str(ptr %t19) + %t21 = getelementptr inbounds %sc_rs_r0, ptr %t16, i64 0, i32 1 + %t22 = load ptr, ptr %t21 + call void @scr_map_set_str_ref(ptr %t22, ptr %t18, ptr %t20) + br label %rks.j2 +rks.j2: + call void @sc_rrelease_r0(ptr %t16) + call void @scr_str_release(ptr %t18) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m2.NodeResponseSink.appendHeader +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %sc_l_kk_0 = alloca ptr ; kk + store ptr null, ptr %sc_l_kk_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_k_0 + store ptr %t4, ptr %sc_l_kk_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t5, i64 0, i32 3 + %t7 = load ptr, ptr %t6, !tbaa !46 + %t8 = call ptr @scr_http_res_retain_v(ptr %t7) + %t9 = load ptr, ptr %sc_l_kk_0 + %t10 = call ptr @sc_rc_retain_str(ptr %t9) + %t11 = load ptr, ptr %sc_l_v_0 + %t12 = call ptr @sc_rc_retain_str(ptr %t11) + call void @scr_http_res_set_header(ptr %t8, ptr %t10, ptr %t12) + call void @scr_http_res_release(ptr %t8) + call void @scr_str_release(ptr %t10) + call void @scr_str_release(ptr %t12) + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t13, i64 0, i32 5 + %t15 = load ptr, ptr %t14, !tbaa !50 + %t16 = call ptr @sc_rretain_r0(ptr %t15) + %t17 = load ptr, ptr %sc_l_kk_0 + %t18 = call ptr @scr_str_to_lower(ptr %t17) + %t19 = load ptr, ptr %sc_l_v_0 + %t20 = call ptr @sc_rc_retain_str(ptr %t19) + %t21 = getelementptr inbounds %sc_rs_r0, ptr %t16, i64 0, i32 1 + %t22 = load ptr, ptr %t21 + call void @scr_map_set_str_ref(ptr %t22, ptr %t18, ptr %t20) + br label %rks.j2 +rks.j2: + call void @sc_rrelease_r0(ptr %t16) + call void @scr_str_release(ptr %t18) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_writeBody(ptr %p_sc_l_this_0, ptr %p_sc_l_w_0) #0 { ; %%m2.NodeResponseSink.writeBody +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_w_0 = alloca ptr ; w + %sc_l_s_0 = alloca ptr ; s + %s16 = alloca ptr + %s24 = alloca i1 + %s45 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_s_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_w_0, ptr %sc_l_w_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_w_0 + store ptr %t4, ptr %sc_l_s_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t5, i64 0, i32 3 + %t7 = load ptr, ptr %t6, !tbaa !46 + %t8 = call ptr @scr_http_res_retain_v(ptr %t7) + %t9 = load ptr, ptr %sc_l_this_0 + %t10 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t9, i64 0, i32 4 + %t11 = load double, ptr %t10, !tbaa !48 + call void @scr_http_res_status_set(ptr %t8, double %t11) + call void @scr_http_res_release(ptr %t8) + %t12 = load ptr, ptr %sc_l_this_0 + %t13 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t12, i64 0, i32 5 + %t14 = load ptr, ptr %t13, !tbaa !50 + %t15 = call ptr @sc_rretain_r0(ptr %t14) + %t17 = getelementptr inbounds %sc_rs_r0, ptr %t15, i64 0, i32 1 + %t18 = load ptr, ptr %t17 + %t19 = call ptr @scr_map_get_str_ref(ptr %t18, ptr @sc_lit_2329537264393449) + %t20 = icmp eq ptr %t19, null + br i1 %t20, label %rkg.n4, label %rkg.h3 +rkg.h3: + store ptr %t19, ptr %s16 + br label %rkg.j2 +rkg.n4: + store ptr null, ptr %s16 + br label %rkg.j2 +rkg.j2: + %t21 = load ptr, ptr %s16 + %t23 = icmp eq ptr %t21, null + store i1 %t23, ptr %s24 + br i1 %t23, label %log.r5, label %log.j6 +log.r5: + %t25 = load ptr, ptr %sc_l_s_0 + %t26 = call double @sc_str_utf16_len(ptr %t25) + %t28 = fptosi double %t26 to i32 + %t29 = sext i32 %t28 to i64 + %t27 = icmp sgt i64 %t29, 0 + store i1 %t27, ptr %s24 + br label %log.j6 +log.j6: + %t30 = load i1, ptr %s24 + call void @sc_rrelease_r0(ptr %t15) + call void @scr_str_release(ptr %t21) + br i1 %t30, label %if.t7, label %if.j8 +if.t7: + %t31 = load ptr, ptr %sc_l_this_0 + %t32 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t31, i64 0, i32 3 + %t33 = load ptr, ptr %t32, !tbaa !46 + %t34 = call ptr @scr_http_res_retain_v(ptr %t33) + call void @scr_http_res_set_header(ptr %t34, ptr @sc_lit_2329537264393449, ptr @sc_lit_266676967674785) + call void @scr_http_res_release(ptr %t34) + %t35 = load ptr, ptr %sc_l_this_0 + %t36 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t35, i64 0, i32 5 + %t37 = load ptr, ptr %t36, !tbaa !50 + %t38 = call ptr @sc_rretain_r0(ptr %t37) + %t39 = getelementptr inbounds %sc_rs_r0, ptr %t38, i64 0, i32 1 + %t40 = load ptr, ptr %t39 + call void @scr_map_set_str_ref(ptr %t40, ptr @sc_lit_2329537264393449, ptr @sc_lit_266676967674785) + call void @sc_rrelease_r0(ptr %t38) + br label %if.j8 +if.j8: + %t41 = load ptr, ptr %sc_l_this_0 + %t42 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t41, i64 0, i32 5 + %t43 = load ptr, ptr %t42, !tbaa !50 + %t44 = call ptr @sc_rretain_r0(ptr %t43) + %t46 = getelementptr inbounds %sc_rs_r0, ptr %t44, i64 0, i32 1 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @scr_map_get_str_ref(ptr %t47, ptr @sc_lit_1821151629374802) + %t49 = icmp eq ptr %t48, null + br i1 %t49, label %rkg.n11, label %rkg.h10 +rkg.h10: + store ptr %t48, ptr %s45 + br label %rkg.j9 +rkg.n11: + store ptr null, ptr %s45 + br label %rkg.j9 +rkg.j9: + %t50 = load ptr, ptr %s45 + %t52 = icmp eq ptr %t50, null + call void @sc_rrelease_r0(ptr %t44) + call void @scr_str_release(ptr %t50) + br i1 %t52, label %if.t12, label %if.j13 +if.t12: + %t53 = load ptr, ptr %sc_l_this_0 + %t54 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t53, i64 0, i32 3 + %t55 = load ptr, ptr %t54, !tbaa !46 + %t56 = call ptr @scr_http_res_retain_v(ptr %t55) + %t57 = load ptr, ptr %sc_l_s_0 + %t58 = call double @sc_bf__x25_m2_utf8len(ptr %t57) + %t59 = call ptr @scr_f64_to_scrstr(double %t58) + call void @scr_http_res_set_header(ptr %t56, ptr @sc_lit_1821151629374802, ptr %t59) + call void @scr_http_res_release(ptr %t56) + call void @scr_str_release(ptr %t59) + %t60 = load ptr, ptr %sc_l_this_0 + %t61 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t60, i64 0, i32 5 + %t62 = load ptr, ptr %t61, !tbaa !50 + %t63 = call ptr @sc_rretain_r0(ptr %t62) + %t64 = load ptr, ptr %sc_l_s_0 + %t65 = call double @sc_bf__x25_m2_utf8len(ptr %t64) + %t66 = call ptr @scr_f64_to_scrstr(double %t65) + %t67 = getelementptr inbounds %sc_rs_r0, ptr %t63, i64 0, i32 1 + %t68 = load ptr, ptr %t67 + call void @scr_map_set_str_ref(ptr %t68, ptr @sc_lit_1821151629374802, ptr %t66) + call void @sc_rrelease_r0(ptr %t63) + br label %if.j13 +if.j13: + %t69 = load ptr, ptr %sc_l_this_0 + %t70 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t69, i64 0, i32 3 + %t71 = load ptr, ptr %t70, !tbaa !46 + %t72 = call ptr @scr_http_res_retain_v(ptr %t71) + %t73 = load ptr, ptr %sc_l_s_0 + %t74 = call ptr @sc_rc_retain_str(ptr %t73) + call void @scr_http_res_end_str(ptr %t72, ptr %t74) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_http_res_release(ptr %t72) + call void @scr_str_release(ptr %t74) + ret void +exc.k15: + call void @scr_http_res_release(ptr %t72) + call void @scr_str_release(ptr %t74) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_writeBody(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_writeBody(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0, ptr %p_sc_l_ct_0) #0 { ; %%m2.NodeResponseSink.bodyBytes +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_b_0 = alloca ptr ; b + %sc_l_ct_0 = alloca ptr ; ct + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !46 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t8, i64 0, i32 4 + %t10 = load double, ptr %t9, !tbaa !48 + call void @scr_http_res_status_set(ptr %t7, double %t10) + call void @scr_http_res_release(ptr %t7) + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t11, i64 0, i32 3 + %t13 = load ptr, ptr %t12, !tbaa !46 + %t14 = call ptr @scr_http_res_retain_v(ptr %t13) + %t15 = load ptr, ptr %sc_l_ct_0 + %t16 = call ptr @sc_rc_retain_str(ptr %t15) + call void @scr_http_res_set_header(ptr %t14, ptr @sc_lit_2329537264393449, ptr %t16) + call void @scr_http_res_release(ptr %t14) + call void @scr_str_release(ptr %t16) + %t17 = load ptr, ptr %sc_l_this_0 + %t18 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t17, i64 0, i32 3 + %t19 = load ptr, ptr %t18, !tbaa !46 + %t20 = call ptr @scr_http_res_retain_v(ptr %t19) + %t21 = load ptr, ptr %sc_l_b_0 + %t22 = getelementptr inbounds %ScrBytes, ptr %t21, i64 0, i32 1 + %t23 = load i64, ptr %t22 + %t24 = sitofp i64 %t23 to double + %t25 = call ptr @scr_f64_to_scrstr(double %t24) + call void @scr_http_res_set_header(ptr %t20, ptr @sc_lit_1821151629374802, ptr %t25) + call void @scr_http_res_release(ptr %t20) + call void @scr_str_release(ptr %t25) + %t26 = load ptr, ptr %sc_l_this_0 + %t27 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t26, i64 0, i32 3 + %t28 = load ptr, ptr %t27, !tbaa !46 + %t29 = call ptr @scr_http_res_retain_v(ptr %t28) + %t30 = load ptr, ptr %sc_l_b_0 + %t31 = call ptr @scr_bytes_retain_v(ptr %t30) + call void @scr_http_res_end_bytes(ptr %t29, ptr %t31) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t29) + call void @scr_bytes_release(ptr %t31) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t29) + call void @scr_bytes_release(ptr %t31) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_bytes_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l_url_0, double %p_sc_l_code_0) #0 { ; %%m2.NodeResponseSink.redirect +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_url_0 = alloca ptr ; url + %sc_l_code_0 = alloca double ; code + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_url_0, ptr %sc_l_url_0 + store double %p_sc_l_code_0, ptr %sc_l_code_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load double, ptr %sc_l_code_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 4 + store double %t5, ptr %t6, !tbaa !48 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t7, i64 0, i32 3 + %t9 = load ptr, ptr %t8, !tbaa !46 + %t10 = call ptr @scr_http_res_retain_v(ptr %t9) + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t11, i64 0, i32 4 + %t13 = load double, ptr %t12, !tbaa !48 + call void @scr_http_res_status_set(ptr %t10, double %t13) + call void @scr_http_res_release(ptr %t10) + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t14, i64 0, i32 3 + %t16 = load ptr, ptr %t15, !tbaa !46 + %t17 = call ptr @scr_http_res_retain_v(ptr %t16) + %t18 = load ptr, ptr %sc_l_url_0 + %t19 = call ptr @sc_rc_retain_str(ptr %t18) + call void @scr_http_res_set_header(ptr %t17, ptr @sc_lit_4062345987786846, ptr %t19) + call void @scr_http_res_release(ptr %t17) + call void @scr_str_release(ptr %t19) + %t20 = load ptr, ptr %sc_l_this_0 + %t21 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t20, i64 0, i32 3 + %t22 = load ptr, ptr %t21, !tbaa !46 + %t23 = call ptr @scr_http_res_retain_v(ptr %t22) + call void @scr_http_res_end(ptr %t23) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t23) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t23) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_redirect(ptr %p0, ptr %p1, double %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_redirect(ptr %p0, ptr %p1, double %p2) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l_chunk_0) #0 { ; %%m2.NodeResponseSink.write +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_chunk_0 = alloca ptr ; chunk + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !46 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + %t8 = load ptr, ptr %sc_l_chunk_0 + %t9 = call ptr @sc_rc_retain_str(ptr %t8) + call void @scr_http_res_write_str(ptr %t7, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t7) + call void @scr_str_release(ptr %t9) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t7) + call void @scr_str_release(ptr %t9) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_write(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_write(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_writeHead(ptr %p_sc_l_this_0, double %p_sc_l_status_0, ptr %p_sc_l_flatPairs_0) #0 { ; %%m2.NodeResponseSink.writeHead +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_status_0 = alloca double ; status + %sc_l_flatPairs_0 = alloca ptr ; flatPairs + %sc_l_res_0 = alloca ptr ; res + %sc_l_obj_0 = alloca ptr ; obj + %sc_l_i_0 = alloca double ; i + %sc_l_kk_0 = alloca ptr ; kk + %s20 = alloca ptr + %s52 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s66 = alloca ptr + %s99 = alloca ptr + %s117 = alloca ptr + %s150 = alloca ptr + store ptr null, ptr %sc_l_res_0 + store ptr null, ptr %sc_l_obj_0 + store ptr null, ptr %sc_l_kk_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l_status_0, ptr %sc_l_status_0 + store ptr %p_sc_l_flatPairs_0, ptr %sc_l_flatPairs_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !46 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + store ptr %t7, ptr %sc_l_res_0 + %t8 = call ptr @sc_rnew_r0() + store ptr %t8, ptr %sc_l_obj_0 + %t9 = load ptr, ptr %sc_l_this_0 + %t10 = load double, ptr %sc_l_status_0 + %t11 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t9, i64 0, i32 4 + store double %t10, ptr %t11, !tbaa !48 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t12 = load double, ptr %sc_l_i_0 + %t13 = fadd double %t12, 0x3FF0000000000000 + %t14 = load ptr, ptr %sc_l_flatPairs_0 + %t15 = getelementptr inbounds %ScrArr, ptr %t14, i32 0, i32 1 + %t16 = load i64, ptr %t15, !tbaa !2, !range !{i64 0, i64 4294967296} + %t17 = sitofp i64 %t16 to double + %t19 = fptosi double %t17 to i64 + %t18 = fcmp olt double %t13, %t17 + br i1 %t18, label %loop.b4, label %loop.e2 +loop.b4: + %t21 = load ptr, ptr %sc_l_flatPairs_0 + %t22 = load double, ptr %sc_l_i_0 + %t23 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 2 + %t24 = load i64, ptr %t23, !tbaa !2 + %t25 = fptosi double %t22 to i64 + %t26 = freeze i64 %t25 + %t27 = sitofp i64 %t26 to double + %t28 = fcmp oeq double %t27, %t22 + %t29 = icmp ult i64 %t26, %t24 + %t30 = and i1 %t28, %t29 + br i1 %t30, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t31 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 6 + %t32 = load i32, ptr %t31, !tbaa !2 + %t34 = zext i32 %t32 to i64 + %t33 = icmp ult i64 %t26, %t34 + br i1 %t33, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t35 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1 + %t36 = load i64, ptr %t35, !tbaa !2, !range !{i64 0, i64 4294967296} + %t37 = icmp ult i64 %t26, %t36 + br i1 %t37, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t38 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 9 + %t39 = load ptr, ptr %t38, !tbaa !2 + %t40 = getelementptr inbounds i8, ptr %t39, i64 %t26 + %t41 = load i8, ptr %t40, !tbaa !4 + %t42 = icmp eq i8 %t41, 1 + br i1 %t42, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t43 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 8 + %t44 = load ptr, ptr %t43, !tbaa !2 + %t45 = getelementptr inbounds i64, ptr %t44, i64 %t26 + %t46 = load ptr, ptr %t45, !tbaa !6 + %t47 = call ptr @sc_rc_retain_str(ptr %t46) + store ptr %t47, ptr %s20 + br label %local.array.join8 +local.array.slow6: + %t48 = call ptr @scr_arr_peek_ref(ptr %t21, double %t22) + %t49 = icmp ne ptr %t48, null + br i1 %t49, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t50 = call ptr @sc_rc_retain_str(ptr %t48) + store ptr %t50, ptr %s20 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %s20 + br label %local.array.join8 +local.array.join8: + %t51 = load ptr, ptr %s20 + %t54 = icmp eq ptr %t51, null + %t53 = select i1 %t54, i32 1, i32 0 + switch i32 %t53, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ] +u.a17: + %t55 = call ptr @sc_rc_retain_str(ptr %t51) + store ptr %t55, ptr %s52 + br label %us.j15 +u.a18: + store ptr @sc_lit_4134463689533233, ptr %s52 + br label %us.j15 +u.bad16: + call void @sc_bad_tag() + unreachable +us.j15: + %t56 = load ptr, ptr %s52 + %t57 = load i32, ptr %exc.cell + %t58 = icmp ne i32 %t57, 0 + %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false) + br i1 %t59, label %exc.u19, label %exc.k20 +exc.u19: + %t60 = load ptr, ptr %s20 + call void @scr_str_release(ptr %t60) + call void @scr_str_release(ptr %t56) + br label %exc.cleanup21 +exc.k20: + store ptr %t56, ptr %sc_l_kk_0 + %t61 = load ptr, ptr %s20 + call void @scr_str_release(ptr %t61) + %t62 = load ptr, ptr %sc_l_obj_0 + %t63 = call ptr @sc_rretain_r0(ptr %t62) + %t64 = load ptr, ptr %sc_l_kk_0 + %t65 = call ptr @sc_rc_retain_str(ptr %t64) + %t67 = load ptr, ptr %sc_l_flatPairs_0 + %t68 = load double, ptr %sc_l_i_0 + %t69 = fadd double %t68, 0x3FF0000000000000 + %t70 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 2 + %t71 = load i64, ptr %t70, !tbaa !2 + %t72 = fptosi double %t69 to i64 + %t73 = freeze i64 %t72 + %t74 = sitofp i64 %t73 to double + %t75 = fcmp oeq double %t74, %t69 + %t76 = icmp ult i64 %t73, %t71 + %t77 = and i1 %t75, %t76 + br i1 %t77, label %local.array.range25, label %local.array.slow22 +local.array.range25: + br label %local.array.dense26 +local.array.dense26: + %t78 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 6 + %t79 = load i32, ptr %t78, !tbaa !2 + %t81 = zext i32 %t79 to i64 + %t80 = icmp ult i64 %t73, %t81 + br i1 %t80, label %local.array.value28, label %local.array.len27 +local.array.len27: + %t82 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 1 + %t83 = load i64, ptr %t82, !tbaa !2, !range !{i64 0, i64 4294967296} + %t84 = icmp ult i64 %t73, %t83 + br i1 %t84, label %local.array.state29, label %local.array.missing23 +local.array.state29: + %t85 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 9 + %t86 = load ptr, ptr %t85, !tbaa !2 + %t87 = getelementptr inbounds i8, ptr %t86, i64 %t73 + %t88 = load i8, ptr %t87, !tbaa !4 + %t89 = icmp eq i8 %t88, 1 + br i1 %t89, label %local.array.value28, label %local.array.missing23 +local.array.value28: + %t90 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 8 + %t91 = load ptr, ptr %t90, !tbaa !2 + %t92 = getelementptr inbounds i64, ptr %t91, i64 %t73 + %t93 = load ptr, ptr %t92, !tbaa !6 + %t94 = call ptr @sc_rc_retain_str(ptr %t93) + store ptr %t94, ptr %s66 + br label %local.array.join24 +local.array.slow22: + %t95 = call ptr @scr_arr_peek_ref(ptr %t67, double %t69) + %t96 = icmp ne ptr %t95, null + br i1 %t96, label %local.array.slow.value30, label %local.array.missing23 +local.array.slow.value30: + %t97 = call ptr @sc_rc_retain_str(ptr %t95) + store ptr %t97, ptr %s66 + br label %local.array.join24 +local.array.missing23: + store ptr null, ptr %s66 + br label %local.array.join24 +local.array.join24: + %t98 = load ptr, ptr %s66 + %t101 = icmp eq ptr %t98, null + %t100 = select i1 %t101, i32 1, i32 0 + switch i32 %t100, label %u.bad32 [ i32 0, label %u.a33 i32 1, label %u.a34 ] +u.a33: + %t102 = call ptr @sc_rc_retain_str(ptr %t98) + store ptr %t102, ptr %s99 + br label %us.j31 +u.a34: + store ptr @sc_lit_4134463689533233, ptr %s99 + br label %us.j31 +u.bad32: + call void @sc_bad_tag() + unreachable +us.j31: + %t103 = load ptr, ptr %s99 + %t104 = load i32, ptr %exc.cell + %t105 = icmp ne i32 %t104, 0 + %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false) + br i1 %t106, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rrelease_r0(ptr %t63) + call void @scr_str_release(ptr %t65) + %t107 = load ptr, ptr %s66 + call void @scr_str_release(ptr %t107) + call void @scr_str_release(ptr %t103) + br label %exc.cleanup37 +exc.k36: + %t108 = getelementptr inbounds %sc_rs_r0, ptr %t63, i64 0, i32 1 + %t109 = load ptr, ptr %t108 + call void @scr_map_set_str_ref(ptr %t109, ptr %t65, ptr %t103) + br label %rks.j38 +rks.j38: + call void @sc_rrelease_r0(ptr %t63) + call void @scr_str_release(ptr %t65) + %t110 = load ptr, ptr %s66 + call void @scr_str_release(ptr %t110) + %t111 = load ptr, ptr %sc_l_this_0 + %t112 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t111, i64 0, i32 5 + %t113 = load ptr, ptr %t112, !tbaa !50 + %t114 = call ptr @sc_rretain_r0(ptr %t113) + %t115 = load ptr, ptr %sc_l_kk_0 + %t116 = call ptr @scr_str_to_lower(ptr %t115) + %t118 = load ptr, ptr %sc_l_flatPairs_0 + %t119 = load double, ptr %sc_l_i_0 + %t120 = fadd double %t119, 0x3FF0000000000000 + %t121 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 2 + %t122 = load i64, ptr %t121, !tbaa !2 + %t123 = fptosi double %t120 to i64 + %t124 = freeze i64 %t123 + %t125 = sitofp i64 %t124 to double + %t126 = fcmp oeq double %t125, %t120 + %t127 = icmp ult i64 %t124, %t122 + %t128 = and i1 %t126, %t127 + br i1 %t128, label %local.array.range42, label %local.array.slow39 +local.array.range42: + br label %local.array.dense43 +local.array.dense43: + %t129 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 6 + %t130 = load i32, ptr %t129, !tbaa !2 + %t132 = zext i32 %t130 to i64 + %t131 = icmp ult i64 %t124, %t132 + br i1 %t131, label %local.array.value45, label %local.array.len44 +local.array.len44: + %t133 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 1 + %t134 = load i64, ptr %t133, !tbaa !2, !range !{i64 0, i64 4294967296} + %t135 = icmp ult i64 %t124, %t134 + br i1 %t135, label %local.array.state46, label %local.array.missing40 +local.array.state46: + %t136 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 9 + %t137 = load ptr, ptr %t136, !tbaa !2 + %t138 = getelementptr inbounds i8, ptr %t137, i64 %t124 + %t139 = load i8, ptr %t138, !tbaa !4 + %t140 = icmp eq i8 %t139, 1 + br i1 %t140, label %local.array.value45, label %local.array.missing40 +local.array.value45: + %t141 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 8 + %t142 = load ptr, ptr %t141, !tbaa !2 + %t143 = getelementptr inbounds i64, ptr %t142, i64 %t124 + %t144 = load ptr, ptr %t143, !tbaa !6 + %t145 = call ptr @sc_rc_retain_str(ptr %t144) + store ptr %t145, ptr %s117 + br label %local.array.join41 +local.array.slow39: + %t146 = call ptr @scr_arr_peek_ref(ptr %t118, double %t120) + %t147 = icmp ne ptr %t146, null + br i1 %t147, label %local.array.slow.value47, label %local.array.missing40 +local.array.slow.value47: + %t148 = call ptr @sc_rc_retain_str(ptr %t146) + store ptr %t148, ptr %s117 + br label %local.array.join41 +local.array.missing40: + store ptr null, ptr %s117 + br label %local.array.join41 +local.array.join41: + %t149 = load ptr, ptr %s117 + %t152 = icmp eq ptr %t149, null + %t151 = select i1 %t152, i32 1, i32 0 + switch i32 %t151, label %u.bad49 [ i32 0, label %u.a50 i32 1, label %u.a51 ] +u.a50: + %t153 = call ptr @sc_rc_retain_str(ptr %t149) + store ptr %t153, ptr %s150 + br label %us.j48 +u.a51: + store ptr @sc_lit_4134463689533233, ptr %s150 + br label %us.j48 +u.bad49: + call void @sc_bad_tag() + unreachable +us.j48: + %t154 = load ptr, ptr %s150 + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rrelease_r0(ptr %t114) + call void @scr_str_release(ptr %t116) + %t158 = load ptr, ptr %s117 + call void @scr_str_release(ptr %t158) + call void @scr_str_release(ptr %t154) + br label %exc.cleanup37 +exc.k53: + %t159 = getelementptr inbounds %sc_rs_r0, ptr %t114, i64 0, i32 1 + %t160 = load ptr, ptr %t159 + call void @scr_map_set_str_ref(ptr %t160, ptr %t116, ptr %t154) + br label %rks.j54 +rks.j54: + call void @sc_rrelease_r0(ptr %t114) + call void @scr_str_release(ptr %t116) + %t161 = load ptr, ptr %s117 + call void @scr_str_release(ptr %t161) + %t162 = load ptr, ptr %sc_l_kk_0 + call void @scr_str_release(ptr %t162) + br label %loop.u5 +loop.u5: + %t163 = load double, ptr %sc_l_i_0 + %t164 = fadd double %t163, 0x4000000000000000 + store double %t164, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t165 = load ptr, ptr %sc_l_res_0 + %t166 = call ptr @scr_http_res_retain_v(ptr %t165) + %t167 = load ptr, ptr %sc_l_this_0 + %t168 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t167, i64 0, i32 4 + %t169 = load double, ptr %t168, !tbaa !48 + %t170 = load ptr, ptr %sc_l_obj_0 + %t171 = call ptr @sc_bf__x25_env_pairs_5(ptr %t170) + %t172 = load i32, ptr %exc.cell + %t173 = icmp ne i32 %t172, 0 + %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false) + br i1 %t174, label %exc.u55, label %exc.k56 +exc.u55: + call void @scr_arr_release(ptr %t171) + call void @scr_http_res_release(ptr %t166) + br label %exc.cleanup21 +exc.k56: + call void @scr_http_res_write_head_pairs(ptr %t166, double %t169, ptr %t171) + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u57, label %exc.k58 +exc.u57: + call void @scr_http_res_release(ptr %t166) + call void @scr_arr_release(ptr %t171) + br label %exc.cleanup21 +exc.k58: + call void @scr_http_res_release(ptr %t166) + call void @scr_arr_release(ptr %t171) + %t178 = load ptr, ptr %sc_l_res_0 + %t179 = call ptr @scr_http_res_retain_v(ptr %t178) + call void @scr_http_res_flush_headers(ptr %t179) + %t180 = load i32, ptr %exc.cell + %t181 = icmp ne i32 %t180, 0 + %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false) + br i1 %t182, label %exc.u59, label %exc.k60 +exc.u59: + call void @scr_http_res_release(ptr %t179) + br label %exc.cleanup21 +exc.k60: + call void @scr_http_res_release(ptr %t179) + %t183 = load ptr, ptr %sc_l_res_0 + call void @scr_http_res_release(ptr %t183) + %t184 = load ptr, ptr %sc_l_obj_0 + call void @sc_rrelease_r0(ptr %t184) + ret void +exc.cleanup21: + %t185 = load ptr, ptr %sc_l_res_0 + call void @scr_http_res_release(ptr %t185) + %t186 = load ptr, ptr %sc_l_obj_0 + call void @sc_rrelease_r0(ptr %t186) + ret void +exc.cleanup37: + %t187 = load ptr, ptr %sc_l_kk_0 + call void @scr_str_release(ptr %t187) + %t188 = load ptr, ptr %sc_l_res_0 + call void @scr_http_res_release(ptr %t188) + %t189 = load ptr, ptr %sc_l_obj_0 + call void @sc_rrelease_r0(ptr %t189) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_arr_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_endStream(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.endStream +entry: + %sc_l_this_0 = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !46 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + call void @scr_http_res_end(ptr %t7) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t7) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t7) + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_endStream(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_endStream(ptr %p0) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret void +} + +define internal i1 @sc_bf__x25__x25_m2_NodeResponseSink_isSent(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.isSent +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !46 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + %t8 = call zeroext i1 @scr_http_res_headers_sent(ptr %t7) + call void @scr_http_res_release(ptr %t7) + ret i1 %t8 +} +define internal i1 @sc_f__x25__x25_m2_NodeResponseSink_isSent(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m2_NodeResponseSink_isSent(ptr %p0) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret i1 %result +} + +define internal i1 @sc_bf__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.isHeadersSent +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !46 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + %t8 = call zeroext i1 @scr_http_res_headers_sent(ptr %t7) + call void @scr_http_res_release(ptr %t7) + ret i1 %t8 +} +define internal i1 @sc_f__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %p0) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret i1 %result +} + +define internal void @sc_bf__x25__x25_m2_NodeResponseSink_destroy(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.destroy +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_e_0 = alloca ptr ; e + store ptr null, ptr %sc_l_e_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !46 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + call void @scr_http_res_destroy(ptr %t7) + call void @scr_http_res_release(ptr %t7) + br label %try.e4 +try.e4: + ret void +} +define internal void @sc_f__x25__x25_m2_NodeResponseSink_destroy(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m2_NodeResponseSink_destroy(ptr %p0) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret void +} + +define internal double @sc_bf__x25__x25_m2_NodeResponseSink_statusOf(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.statusOf +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t0, i64 0, i32 4 + %t2 = load double, ptr %t1, !tbaa !48 + ret double %t2 +} +define internal double @sc_f__x25__x25_m2_NodeResponseSink_statusOf(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25__x25_m2_NodeResponseSink_statusOf(ptr %p0) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret double %result +} + +define internal ptr @sc_bf__x25__x25_m2_NodeResponseSink_headerOf(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0) #0 { ; %%m2.NodeResponseSink.headerOf +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %s10 = alloca ptr + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 5 + %t6 = load ptr, ptr %t5, !tbaa !50 + %t7 = call ptr @sc_rretain_r0(ptr %t6) + %t8 = load ptr, ptr %sc_l_k_0 + %t9 = call ptr @scr_str_to_lower(ptr %t8) + %t11 = getelementptr inbounds %sc_rs_r0, ptr %t7, i64 0, i32 1 + %t12 = load ptr, ptr %t11 + %t13 = call ptr @scr_map_get_str_ref(ptr %t12, ptr %t9) + %t14 = icmp eq ptr %t13, null + br i1 %t14, label %rkg.n4, label %rkg.h3 +rkg.h3: + store ptr %t13, ptr %s10 + br label %rkg.j2 +rkg.n4: + call void @sc_bad_key() + unreachable +rkg.j2: + %t15 = load ptr, ptr %s10 + store ptr %t15, ptr %sc_l_v_0 + call void @sc_rrelease_r0(ptr %t7) + call void @scr_str_release(ptr %t9) + br i1 false, label %if.t5, label %if.j6 +if.t5: + %t16 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t16) + ret ptr @sc_nullable_null +if.j6: + %t17 = load ptr, ptr %sc_l_v_0 + %t18 = call ptr @sc_rc_retain_str(ptr %t17) + %t19 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t19) + ret ptr %t18 +} +define internal ptr @sc_f__x25__x25_m2_NodeResponseSink_headerOf(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_headerOf(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m2_NodeResponseSink_headersMap(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.headersMap +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_out_0 = alloca ptr ; out + %sc_l_keys_0 = alloca ptr ; keys + %sc_l_i_0 = alloca i32 ; i + %exc.cell = load ptr, ptr @scr_exc_active + %s12 = alloca i64 ; integer induction i + %s45 = alloca ptr + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_keys_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @sc_rnew_r0() + store ptr %t4, ptr %sc_l_out_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t5, i64 0, i32 5 + %t7 = load ptr, ptr %t6, !tbaa !50 + %t8 = call ptr @sc_bf__x25_obj_keys_19(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_arr_release(ptr %t8) + br label %exc.cleanup4 +exc.k3: + store ptr %t8, ptr %sc_l_keys_0 + %t13 = fptosi double 0x0000000000000000 to i64 + store i64 %t13, ptr %s12 + br label %loop.c6 +loop.c6: + %t14 = load ptr, ptr %sc_l_keys_0 + %t15 = getelementptr inbounds %ScrArr, ptr %t14, i64 0, i32 1 + %t16 = load i64, ptr %t15, !tbaa !2 + %t17 = load i64, ptr %s12 + %t18 = icmp ult i64 %t17, %t16 + br i1 %t18, label %loop.b7, label %loop.e5 +loop.b7: + %t19 = load ptr, ptr %sc_l_out_0 + %t20 = call ptr @sc_rretain_r0(ptr %t19) + %t21 = load ptr, ptr %sc_l_keys_0 + %t22 = load i64, ptr %s12 + %t23 = sitofp i64 %t22 to double + %t24 = trunc i64 %t22 to i32 + %t25 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t21, double %t23) + %t26 = call ptr @sc_td_30(ptr %t25) + %t27 = call ptr @scr_dyn_string_coerce_js(ptr %t26) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rrelease_r0(ptr %t20) + call void @scr_str_release(ptr %t25) + call void @sc_rc_release_dyn(ptr %t26) + call void @scr_str_release(ptr %t27) + br label %exc.cleanup11 +exc.k10: + %t31 = load ptr, ptr %sc_l_this_0 + %t32 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t31, i64 0, i32 5 + %t33 = load ptr, ptr %t32, !tbaa !50 + %t34 = call ptr @sc_rretain_r0(ptr %t33) + %t35 = load ptr, ptr %sc_l_keys_0 + %t36 = load i64, ptr %s12 + %t37 = sitofp i64 %t36 to double + %t38 = trunc i64 %t36 to i32 + %t39 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t35, double %t37) + %t40 = call ptr @sc_td_30(ptr %t39) + %t41 = call ptr @scr_dyn_string_coerce_js(ptr %t40) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rrelease_r0(ptr %t20) + call void @scr_str_release(ptr %t25) + call void @sc_rc_release_dyn(ptr %t26) + call void @scr_str_release(ptr %t27) + call void @sc_rrelease_r0(ptr %t34) + call void @scr_str_release(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + call void @scr_str_release(ptr %t41) + br label %exc.cleanup11 +exc.k13: + %t46 = getelementptr inbounds %sc_rs_r0, ptr %t34, i64 0, i32 1 + %t47 = load ptr, ptr %t46 + %t48 = call ptr @scr_map_get_str_ref(ptr %t47, ptr %t41) + %t49 = icmp eq ptr %t48, null + br i1 %t49, label %rkg.n16, label %rkg.h15 +rkg.h15: + store ptr %t48, ptr %s45 + br label %rkg.j14 +rkg.n16: + call void @sc_bad_key() + unreachable +rkg.j14: + %t50 = load ptr, ptr %s45 + %t51 = getelementptr inbounds %sc_rs_r0, ptr %t20, i64 0, i32 1 + %t52 = load ptr, ptr %t51 + call void @scr_map_set_str_ref(ptr %t52, ptr %t27, ptr %t50) + br label %rks.j17 +rks.j17: + call void @sc_rrelease_r0(ptr %t20) + call void @scr_str_release(ptr %t25) + call void @sc_rc_release_dyn(ptr %t26) + call void @scr_str_release(ptr %t27) + call void @sc_rrelease_r0(ptr %t34) + call void @scr_str_release(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + call void @scr_str_release(ptr %t41) + br label %loop.u8 +loop.u8: + %t53 = load i64, ptr %s12 + %t54 = add nuw i64 %t53, 1 + store i64 %t54, ptr %s12 + br label %loop.c6 +loop.e5: + %t55 = load ptr, ptr %sc_l_out_0 + %t56 = load ptr, ptr %sc_l_keys_0 + call void @scr_arr_release(ptr %t56) + ret ptr %t55 +exc.cleanup4: + %t57 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r0(ptr %t57) + ret ptr null +exc.cleanup11: + %t58 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r0(ptr %t58) + %t59 = load ptr, ptr %sc_l_keys_0 + call void @scr_arr_release(ptr %t59) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m2_NodeResponseSink_headersMap(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_headersMap(ptr %p0) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m2_NodeResponseSink_nodeRes(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.nodeRes +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t0, i64 0, i32 3 + %t2 = load ptr, ptr %t1, !tbaa !46 + %t3 = call ptr @scr_http_res_retain_v(ptr %t2) + %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null) + ret ptr %t4 +} +define internal ptr @sc_f__x25__x25_m2_NodeResponseSink_nodeRes(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_nodeRes(ptr %p0) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store i1 false, ptr %sc_l__x25_superInitialized_0 + %t0 = load i1, ptr %sc_l__x25_superInitialized_0 + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207) + ret void +exc.dead2: + br label %if.j1 +if.j1: + %t1 = load ptr, ptr %sc_l_this_0 + call void @sc_bf__x25__x25_m2_ResponseSink_constructor(ptr %t1) + store i1 true, ptr %sc_l__x25_superInitialized_0 + %t2 = load i1, ptr %sc_l__x25_superInitialized_0 + %t3 = xor i1 %t2, true + br i1 %t3, label %if.t3, label %if.j4 +if.t3: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead5: + br label %if.j4 +if.j4: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 3 + store double 0x4069000000000000, ptr %t5, !tbaa !52 + %t6 = load i1, ptr %sc_l__x25_superInitialized_0 + %t7 = xor i1 %t6, true + br i1 %t7, label %if.t6, label %if.j7 +if.t6: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead8: + br label %if.j7 +if.j7: + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = call ptr @scr_arr_new_small(i32 2) + %t10 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t8, i64 0, i32 4 + %t11 = load ptr, ptr %t10 + store ptr %t9, ptr %t10, !tbaa !54 + call void @scr_arr_release(ptr %t11) + %t12 = load i1, ptr %sc_l__x25_superInitialized_0 + %t13 = xor i1 %t12, true + br i1 %t13, label %if.t9, label %if.j10 +if.t9: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead11: + br label %if.j10 +if.j10: + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = call ptr @scr_arr_new_small(i32 2) + %t16 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t14, i64 0, i32 5 + %t17 = load ptr, ptr %t16 + store ptr %t15, ptr %t16, !tbaa !56 + call void @scr_arr_release(ptr %t17) + %t18 = load i1, ptr %sc_l__x25_superInitialized_0 + %t19 = xor i1 %t18, true + br i1 %t19, label %if.t12, label %if.j13 +if.t12: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead14: + br label %if.j13 +if.j13: + %t20 = load ptr, ptr %sc_l_this_0 + %t21 = call ptr @scr_arr_new_small(i32 2) + %t22 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t20, i64 0, i32 6 + %t23 = load ptr, ptr %t22 + store ptr %t21, ptr %t22, !tbaa !58 + call void @scr_arr_release(ptr %t23) + %t24 = load i1, ptr %sc_l__x25_superInitialized_0 + %t25 = xor i1 %t24, true + br i1 %t25, label %if.t15, label %if.j16 +if.t15: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead17: + br label %if.j16 +if.j16: + %t26 = load ptr, ptr %sc_l_this_0 + %t27 = call ptr @scr_arr_new_small(i32 2) + %t28 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t26, i64 0, i32 7 + %t29 = load ptr, ptr %t28 + store ptr %t27, ptr %t28, !tbaa !60 + call void @scr_arr_release(ptr %t29) + %t30 = load i1, ptr %sc_l__x25_superInitialized_0 + %t31 = xor i1 %t30, true + br i1 %t31, label %if.t18, label %if.j19 +if.t18: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead20: + br label %if.j19 +if.j19: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t32, i64 0, i32 8 + %t34 = zext i1 false to i8 + store i8 %t34, ptr %t33, !tbaa !42 + %t35 = load i1, ptr %sc_l__x25_superInitialized_0 + %t36 = xor i1 %t35, true + br i1 %t36, label %if.t21, label %if.j22 +if.t21: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead23: + br label %if.j22 +if.j22: + %t37 = load ptr, ptr %sc_l_this_0 + %t38 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t37, i64 0, i32 9 + %t39 = zext i1 false to i8 + store i8 %t39, ptr %t38, !tbaa !62 + %t40 = load i1, ptr %sc_l__x25_superInitialized_0 + %t41 = xor i1 %t40, true + br i1 %t41, label %if.t24, label %if.j25 +if.t24: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead26: + br label %if.j25 +if.j25: + %t42 = load ptr, ptr %sc_l_this_0 + %t43 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t42, i64 0, i32 10 + %t44 = load ptr, ptr %t43 + store ptr null, ptr %t43, !tbaa !64 + call void @sc_rrelease_r1(ptr %t44) + %t45 = load i1, ptr %sc_l__x25_superInitialized_0 + %t46 = xor i1 %t45, true + br i1 %t46, label %if.t27, label %if.j28 +if.t27: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead29: + br label %if.j28 +if.j28: + %t47 = load ptr, ptr %sc_l_this_0 + %t48 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t47, i64 0, i32 11 + %t49 = zext i1 false to i8 + store i8 %t49, ptr %t48, !tbaa !66 + %t50 = load i1, ptr %sc_l__x25_superInitialized_0 + %t51 = xor i1 %t50, true + br i1 %t51, label %if.t30, label %if.j31 +if.t30: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead32: + br label %if.j31 +if.j31: + %t52 = load ptr, ptr %sc_l_this_0 + %t53 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t52, i64 0, i32 12 + %t54 = load ptr, ptr %t53 + store ptr null, ptr %t53, !tbaa !68 + call void @sc_rrelease_r2(ptr %t54) + %t55 = load i1, ptr %sc_l__x25_superInitialized_0 + %t56 = xor i1 %t55, true + br i1 %t56, label %if.t33, label %if.j34 +if.t33: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead35: + br label %if.j34 +if.j34: + %t57 = load ptr, ptr %sc_l_this_0 + %t58 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t57, i64 0, i32 13 + %t59 = zext i1 false to i8 + store i8 %t59, ptr %t58, !tbaa !70 + %t60 = load i1, ptr %sc_l__x25_superInitialized_0 + %t61 = xor i1 %t60, true + br i1 %t61, label %if.t36, label %if.j37 +if.t36: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead38: + br label %if.j37 +if.j37: + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_setStatus(ptr %p_sc_l_this_0, double %p_sc_l_n_0) #0 { ; %%m2.FetchResponseSink.setStatus +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_n_0 = alloca double ; n + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l_n_0, ptr %sc_l_n_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load double, ptr %sc_l_n_0 + %t2 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 3 + store double %t1, ptr %t2, !tbaa !52 + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_setStatus(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_setStatus(ptr %p0, double %p1) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_setHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m2.FetchResponseSink.setHeader +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %sc_l_kk_0 = alloca ptr ; kk + %sc_l_vv_0 = alloca ptr ; vv + %sc_l_found_0 = alloca double ; found + %sc_l_i_0 = alloca i32 ; i + %sc_l_i_1 = alloca double ; i + %sc_l_j_0 = alloca double ; j + %sc_l__x25_arrayValue_0 = alloca ptr ; %arrayValue + %sc_l__x25_popArray_0 = alloca ptr ; %popArray + %sc_l__x25_popLength_0 = alloca i32 ; %popLength + %sc_l__x25_popArray_1 = alloca ptr ; %popArray + %sc_l__x25_popLength_1 = alloca i32 ; %popLength + %s13 = alloca ptr + %s49 = alloca i1 + %s175 = alloca ptr + %s210 = alloca i1 + %s279 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_kk_0 + store ptr null, ptr %sc_l_vv_0 + store ptr null, ptr %sc_l__x25_arrayValue_0 + store ptr null, ptr %sc_l__x25_popArray_0 + store ptr null, ptr %sc_l__x25_popArray_1 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = load ptr, ptr %sc_l_k_0 + store ptr %t0, ptr %sc_l_kk_0 + %t1 = load ptr, ptr %sc_l_v_0 + store ptr %t1, ptr %sc_l_vv_0 + store double 0xBFF0000000000000, ptr %sc_l_found_0 + store i32 0, ptr %sc_l_i_0 + br label %loop.c1 +loop.c1: + %t2 = load i32, ptr %sc_l_i_0 + %t3 = uitofp i32 %t2 to double + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 4 + %t6 = load ptr, ptr %t5, !tbaa !54 + %t7 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 1 + %t8 = load i64, ptr %t7, !tbaa !2, !range !{i64 0, i64 4294967296} + %t9 = sitofp i64 %t8 to double + %t11 = fptosi double %t9 to i64 + %t12 = zext i32 %t2 to i64 + %t10 = icmp slt i64 %t12, %t11 + br i1 %t10, label %loop.b2, label %loop.e0 +loop.b2: + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t14, i64 0, i32 4 + %t16 = load ptr, ptr %t15, !tbaa !54 + %t17 = load i32, ptr %sc_l_i_0 + %t18 = uitofp i32 %t17 to double + %t19 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 2 + %t20 = load i64, ptr %t19, !tbaa !2 + %t21 = fptosi double %t18 to i64 + %t22 = freeze i64 %t21 + %t23 = sitofp i64 %t22 to double + %t24 = fcmp oeq double %t23, %t18 + %t25 = icmp ult i64 %t22, %t20 + %t26 = and i1 %t24, %t25 + br i1 %t26, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t27 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 6 + %t28 = load i32, ptr %t27, !tbaa !2 + %t30 = zext i32 %t28 to i64 + %t29 = icmp ult i64 %t22, %t30 + br i1 %t29, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t31 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1 + %t32 = load i64, ptr %t31, !tbaa !2, !range !{i64 0, i64 4294967296} + %t33 = icmp ult i64 %t22, %t32 + br i1 %t33, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t34 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 9 + %t35 = load ptr, ptr %t34, !tbaa !2 + %t36 = getelementptr inbounds i8, ptr %t35, i64 %t22 + %t37 = load i8, ptr %t36, !tbaa !4 + %t38 = icmp eq i8 %t37, 1 + br i1 %t38, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t39 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 8 + %t40 = load ptr, ptr %t39, !tbaa !2 + %t41 = getelementptr inbounds i64, ptr %t40, i64 %t22 + %t42 = load ptr, ptr %t41, !tbaa !6 + %t43 = call ptr @sc_rc_retain_str(ptr %t42) + store ptr %t43, ptr %s13 + br label %local.array.join6 +local.array.slow4: + %t44 = call ptr @scr_arr_peek_ref(ptr %t16, double %t18) + %t45 = icmp ne ptr %t44, null + br i1 %t45, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + %t46 = call ptr @sc_rc_retain_str(ptr %t44) + store ptr %t46, ptr %s13 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %s13 + br label %local.array.join6 +local.array.join6: + %t47 = load ptr, ptr %s13 + %t48 = load ptr, ptr %sc_l_kk_0 + %t50 = icmp eq ptr %t47, %t48 + %t52 = icmp ne ptr %t47, null + %t53 = icmp ne ptr %t48, null + %t51 = and i1 %t52, %t53 + store i1 %t50, ptr %s49 + %t54 = xor i1 %t50, true + %t55 = and i1 %t54, %t51 + br i1 %t55, label %ues.b13, label %ues.j14 +ues.b13: + %t56 = call zeroext i1 @sc_str_eq(ptr %t47, ptr %t48) + store i1 %t56, ptr %s49 + br label %ues.j14 +ues.j14: + %t57 = load i1, ptr %s49 + %t58 = load ptr, ptr %s13 + call void @scr_str_release(ptr %t58) + br i1 %t57, label %if.t15, label %if.j16 +if.t15: + %t59 = load i32, ptr %sc_l_i_0 + %t60 = uitofp i32 %t59 to double + store double %t60, ptr %sc_l_found_0 + br label %if.j16 +if.j16: + br label %loop.u3 +loop.u3: + %t61 = load i32, ptr %sc_l_i_0 + %t62 = uitofp i32 %t61 to double + %t64 = zext i32 %t61 to i64 + %t65 = add nsw i64 %t64, 1 + %t67 = trunc i64 %t65 to i32 + %t66 = sitofp i64 %t65 to double + %t68 = trunc i64 %t65 to i32 + store i32 %t68, ptr %sc_l_i_0 + br label %loop.c1 +loop.e0: + %t69 = load double, ptr %sc_l_found_0 + %t70 = fcmp olt double %t69, 0x0000000000000000 + br i1 %t70, label %if.t17, label %if.f19 +if.t17: + %t71 = load ptr, ptr %sc_l_this_0 + %t72 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t71, i64 0, i32 4 + %t73 = load ptr, ptr %t72, !tbaa !54 + %t74 = call ptr @scr_arr_retain_v(ptr %t73) + %t75 = load ptr, ptr %sc_l_kk_0 + %t76 = call ptr @sc_rc_retain_str(ptr %t75) + %t77 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 1 + %t78 = load i64, ptr %t77, !tbaa !2 + %t81 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 2 + %t79 = load i64, ptr %t81, !tbaa !2 + %t80 = icmp ult i64 %t78, %t79 + br i1 %t80, label %arr.push.dense20, label %arr.push.slow21 +arr.push.dense20: + %t82 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 8 + %t84 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 9 + %t83 = load ptr, ptr %t82, !tbaa !2 + %t85 = load ptr, ptr %t84, !tbaa !2 + %t86 = getelementptr inbounds i8, ptr %t85, i64 %t78 + %t87 = getelementptr inbounds i64, ptr %t83, i64 %t78 + store ptr %t76, ptr %t87, !tbaa !6 + store i8 1, ptr %t86, !tbaa !4 + %t88 = add nuw i64 %t78, 1 + store i64 %t88, ptr %t77, !tbaa !2 + %t90 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 6 + %t91 = load i32, ptr %t90, !tbaa !2 + %t95 = zext i32 %t91 to i64 + %t92 = icmp eq i64 %t95, %t78 + %t93 = add i32 %t91, 1 + %t94 = select i1 %t92, i32 %t93, i32 %t91 + store i32 %t94, ptr %t90, !tbaa !2 + %t89 = sitofp i64 %t88 to double + br label %arr.push.join22 +arr.push.slow21: + %t96 = call double @scr_arr_push_ref(ptr %t74, ptr %t76) cold + br label %arr.push.join22 +arr.push.join22: + %t97 = phi double [ %t89, %arr.push.dense20 ], [ %t96, %arr.push.slow21 ] + call void @scr_arr_release(ptr %t74) + %t98 = load ptr, ptr %sc_l_this_0 + %t99 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t98, i64 0, i32 5 + %t100 = load ptr, ptr %t99, !tbaa !56 + %t101 = call ptr @scr_arr_retain_v(ptr %t100) + %t102 = load ptr, ptr %sc_l_vv_0 + %t103 = call ptr @sc_rc_retain_str(ptr %t102) + %t104 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 1 + %t105 = load i64, ptr %t104, !tbaa !2 + %t108 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 2 + %t106 = load i64, ptr %t108, !tbaa !2 + %t107 = icmp ult i64 %t105, %t106 + br i1 %t107, label %arr.push.dense23, label %arr.push.slow24 +arr.push.dense23: + %t109 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 8 + %t111 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 9 + %t110 = load ptr, ptr %t109, !tbaa !2 + %t112 = load ptr, ptr %t111, !tbaa !2 + %t113 = getelementptr inbounds i8, ptr %t112, i64 %t105 + %t114 = getelementptr inbounds i64, ptr %t110, i64 %t105 + store ptr %t103, ptr %t114, !tbaa !6 + store i8 1, ptr %t113, !tbaa !4 + %t115 = add nuw i64 %t105, 1 + store i64 %t115, ptr %t104, !tbaa !2 + %t117 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 6 + %t118 = load i32, ptr %t117, !tbaa !2 + %t122 = zext i32 %t118 to i64 + %t119 = icmp eq i64 %t122, %t105 + %t120 = add i32 %t118, 1 + %t121 = select i1 %t119, i32 %t120, i32 %t118 + store i32 %t121, ptr %t117, !tbaa !2 + %t116 = sitofp i64 %t115 to double + br label %arr.push.join25 +arr.push.slow24: + %t123 = call double @scr_arr_push_ref(ptr %t101, ptr %t103) cold + br label %arr.push.join25 +arr.push.join25: + %t124 = phi double [ %t116, %arr.push.dense23 ], [ %t123, %arr.push.slow24 ] + call void @scr_arr_release(ptr %t101) + br label %if.j18 +if.f19: + %t125 = load ptr, ptr %sc_l_this_0 + %t126 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t125, i64 0, i32 5 + %t127 = load ptr, ptr %t126, !tbaa !56 + %t128 = load double, ptr %sc_l_found_0 + %t129 = load ptr, ptr %sc_l_vv_0 + %t130 = call ptr @sc_rc_retain_str(ptr %t129) + %t131 = fptosi double %t128 to i64 + %t133 = freeze i64 %t131 + %t132 = sitofp i64 %t133 to double + %t134 = fcmp oeq double %t132, %t128 + %t139 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 8 + %t140 = load ptr, ptr %t139, !tbaa !2 + %t143 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 6 + %t144 = load i32, ptr %t143, !tbaa !2 + %t145 = zext i32 %t144 to i64 + %t146 = icmp ult i64 %t133, %t145 + %t147 = and i1 %t134, %t146 + br i1 %t147, label %arr.set.filled28, label %arr.check29 +arr.check29: + %t135 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 1 + %t136 = load i64, ptr %t135, !tbaa !2, !range !{i64 0, i64 4294967296} + %t137 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 2 + %t138 = load i64, ptr %t137, !tbaa !2 + %t141 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 9 + %t142 = load ptr, ptr %t141, !tbaa !2 + %t148 = icmp ult i64 %t133, %t138 + %t149 = and i1 %t134, %t148 + br i1 %t149, label %arr.dense30, label %arr.set.slow26 +arr.dense30: + %t150 = getelementptr inbounds i8, ptr %t142, i64 %t133 + %t151 = getelementptr inbounds i64, ptr %t140, i64 %t133 + %t152 = load i8, ptr %t150, !tbaa !4 + %t153 = load ptr, ptr %t151, !tbaa !6 + store ptr %t130, ptr %t151, !tbaa !6 + store i8 1, ptr %t150, !tbaa !4 + %t154 = zext i32 %t144 to i64 + %t155 = icmp eq i64 %t133, %t154 + br i1 %t155, label %arr.set.bump31, label %arr.set.state32 +arr.set.bump31: + %t156 = trunc i64 %t133 to i32 + %t157 = add i32 %t156, 1 + %t158 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 6 + store i32 %t157, ptr %t158, !tbaa !2 + br label %arr.set.state32 +arr.set.state32: + %t159 = icmp uge i64 %t133, %t136 + br i1 %t159, label %arr.set.grow33, label %arr.set.stored34 +arr.set.grow33: + %t160 = add i64 %t133, 1 + %t161 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 1 + store i64 %t160, ptr %t161, !tbaa !2 + br label %arr.set.stored34 +arr.set.stored34: + %t162 = icmp eq i8 %t152, 1 + br i1 %t162, label %arr.set.release35, label %arr.set.join27 +arr.set.release35: + call void @scr_str_release(ptr %t153) + br label %arr.set.join27 +arr.set.filled28: + %t163 = getelementptr inbounds i64, ptr %t140, i64 %t133 + %t164 = load ptr, ptr %t163, !tbaa !6 + store ptr %t130, ptr %t163, !tbaa !6 + call void @scr_str_release(ptr %t164) + br label %arr.set.join27 +arr.set.slow26: + call void @scr_arr_set_ref(ptr %t127, double %t128, ptr %t130) cold + br label %arr.set.join27 +arr.set.join27: + br label %if.j18 +if.j18: + store double 0x0000000000000000, ptr %sc_l_i_1 + br label %loop.c37 +loop.c37: + %t165 = load double, ptr %sc_l_i_1 + %t166 = fadd double %t165, 0x3FF0000000000000 + %t167 = load ptr, ptr %sc_l_this_0 + %t168 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t167, i64 0, i32 6 + %t169 = load ptr, ptr %t168, !tbaa !58 + %t170 = getelementptr inbounds %ScrArr, ptr %t169, i32 0, i32 1 + %t171 = load i64, ptr %t170, !tbaa !2, !range !{i64 0, i64 4294967296} + %t172 = sitofp i64 %t171 to double + %t174 = fptosi double %t172 to i64 + %t173 = fcmp olt double %t166, %t172 + br i1 %t173, label %loop.b38, label %loop.e36 +loop.b38: + %t176 = load ptr, ptr %sc_l_this_0 + %t177 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t176, i64 0, i32 6 + %t178 = load ptr, ptr %t177, !tbaa !58 + %t179 = load double, ptr %sc_l_i_1 + %t180 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 2 + %t181 = load i64, ptr %t180, !tbaa !2 + %t182 = fptosi double %t179 to i64 + %t183 = freeze i64 %t182 + %t184 = sitofp i64 %t183 to double + %t185 = fcmp oeq double %t184, %t179 + %t186 = icmp ult i64 %t183, %t181 + %t187 = and i1 %t185, %t186 + br i1 %t187, label %local.array.range42, label %local.array.slow39 +local.array.range42: + br label %local.array.dense43 +local.array.dense43: + %t188 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 6 + %t189 = load i32, ptr %t188, !tbaa !2 + %t191 = zext i32 %t189 to i64 + %t190 = icmp ult i64 %t183, %t191 + br i1 %t190, label %local.array.value45, label %local.array.len44 +local.array.len44: + %t192 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 1 + %t193 = load i64, ptr %t192, !tbaa !2, !range !{i64 0, i64 4294967296} + %t194 = icmp ult i64 %t183, %t193 + br i1 %t194, label %local.array.state46, label %local.array.missing40 +local.array.state46: + %t195 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 9 + %t196 = load ptr, ptr %t195, !tbaa !2 + %t197 = getelementptr inbounds i8, ptr %t196, i64 %t183 + %t198 = load i8, ptr %t197, !tbaa !4 + %t199 = icmp eq i8 %t198, 1 + br i1 %t199, label %local.array.value45, label %local.array.missing40 +local.array.value45: + %t200 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 8 + %t201 = load ptr, ptr %t200, !tbaa !2 + %t202 = getelementptr inbounds i64, ptr %t201, i64 %t183 + %t203 = load ptr, ptr %t202, !tbaa !6 + %t204 = call ptr @sc_rc_retain_str(ptr %t203) + store ptr %t204, ptr %s175 + br label %local.array.join41 +local.array.slow39: + %t205 = call ptr @scr_arr_peek_ref(ptr %t178, double %t179) + %t206 = icmp ne ptr %t205, null + br i1 %t206, label %local.array.slow.value47, label %local.array.missing40 +local.array.slow.value47: + %t207 = call ptr @sc_rc_retain_str(ptr %t205) + store ptr %t207, ptr %s175 + br label %local.array.join41 +local.array.missing40: + store ptr null, ptr %s175 + br label %local.array.join41 +local.array.join41: + %t208 = load ptr, ptr %s175 + %t209 = load ptr, ptr %sc_l_kk_0 + %t211 = icmp eq ptr %t208, %t209 + %t213 = icmp ne ptr %t208, null + %t214 = icmp ne ptr %t209, null + %t212 = and i1 %t213, %t214 + store i1 %t211, ptr %s210 + %t215 = xor i1 %t211, true + %t216 = and i1 %t215, %t212 + br i1 %t216, label %ues.b48, label %ues.j49 +ues.b48: + %t217 = call zeroext i1 @sc_str_eq(ptr %t208, ptr %t209) + store i1 %t217, ptr %s210 + br label %ues.j49 +ues.j49: + %t218 = load i1, ptr %s210 + %t219 = load ptr, ptr %s175 + call void @scr_str_release(ptr %t219) + br i1 %t218, label %if.t50, label %if.f52 +if.t50: + %t220 = load double, ptr %sc_l_i_1 + store double %t220, ptr %sc_l_j_0 + br label %loop.c54 +loop.c54: + %t221 = load double, ptr %sc_l_j_0 + %t222 = fadd double %t221, 0x4000000000000000 + %t223 = load ptr, ptr %sc_l_this_0 + %t224 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t223, i64 0, i32 6 + %t225 = load ptr, ptr %t224, !tbaa !58 + %t226 = getelementptr inbounds %ScrArr, ptr %t225, i32 0, i32 1 + %t227 = load i64, ptr %t226, !tbaa !2, !range !{i64 0, i64 4294967296} + %t228 = sitofp i64 %t227 to double + %t230 = fptosi double %t228 to i64 + %t229 = fcmp olt double %t222, %t228 + br i1 %t229, label %loop.b55, label %loop.e53 +loop.b55: + %t231 = load ptr, ptr %sc_l_this_0 + %t232 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t231, i64 0, i32 6 + %t233 = load ptr, ptr %t232, !tbaa !58 + %t234 = load double, ptr %sc_l_j_0 + %t235 = fadd double %t234, 0x4000000000000000 + %t236 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 2 + %t237 = load i64, ptr %t236, !tbaa !2 + %t238 = fptosi double %t235 to i64 + %t239 = freeze i64 %t238 + %t240 = sitofp i64 %t239 to double + %t241 = fcmp oeq double %t240, %t235 + %t242 = icmp ult i64 %t239, %t237 + %t243 = and i1 %t241, %t242 + br i1 %t243, label %local.array.range60, label %local.array.slow57 +local.array.range60: + br label %local.array.dense61 +local.array.dense61: + %t244 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 6 + %t245 = load i32, ptr %t244, !tbaa !2 + %t247 = zext i32 %t245 to i64 + %t246 = icmp ult i64 %t239, %t247 + br i1 %t246, label %local.array.value63, label %local.array.len62 +local.array.len62: + %t248 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 1 + %t249 = load i64, ptr %t248, !tbaa !2, !range !{i64 0, i64 4294967296} + %t250 = icmp ult i64 %t239, %t249 + br i1 %t250, label %local.array.state64, label %local.array.missing58 +local.array.state64: + %t251 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 9 + %t252 = load ptr, ptr %t251, !tbaa !2 + %t253 = getelementptr inbounds i8, ptr %t252, i64 %t239 + %t254 = load i8, ptr %t253, !tbaa !4 + %t255 = icmp eq i8 %t254, 1 + br i1 %t255, label %local.array.value63, label %local.array.missing58 +local.array.value63: + %t256 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 8 + %t257 = load ptr, ptr %t256, !tbaa !2 + %t258 = getelementptr inbounds i64, ptr %t257, i64 %t239 + %t259 = load ptr, ptr %t258, !tbaa !6 + %t260 = call ptr @sc_rc_retain_str(ptr %t259) + store ptr %t260, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join59 +local.array.slow57: + %t261 = call ptr @scr_arr_peek_ref(ptr %t233, double %t235) + %t262 = icmp ne ptr %t261, null + br i1 %t262, label %local.array.slow.value65, label %local.array.missing58 +local.array.slow.value65: + %t263 = call ptr @sc_rc_retain_str(ptr %t261) + store ptr %t263, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join59 +local.array.missing58: + store ptr null, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join59 +local.array.join59: + %t264 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t266 = icmp eq ptr %t264, null + br i1 %t266, label %if.t66, label %if.f68 +if.t66: + %t267 = load ptr, ptr %sc_l_this_0 + %t268 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t267, i64 0, i32 6 + %t269 = load ptr, ptr %t268, !tbaa !58 + %t270 = call ptr @scr_arr_retain_v(ptr %t269) + %t271 = load double, ptr %sc_l_j_0 + call void @scr_arr_set_undefined(ptr %t270, double %t271) + call void @scr_arr_release(ptr %t270) + br label %if.j67 +if.f68: + %t272 = load ptr, ptr %sc_l_this_0 + %t273 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t272, i64 0, i32 6 + %t274 = load ptr, ptr %t273, !tbaa !58 + %t275 = load double, ptr %sc_l_j_0 + %t276 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t278 = icmp ne ptr %t276, null + br i1 %t278, label %tern.t69, label %tern.f70 +tern.t69: + %t280 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t281 = call ptr @sc_rc_retain_str(ptr %t280) + store ptr %t281, ptr %s279 + br label %tern.j71 +tern.f70: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup72 +exc.dead73: + store ptr null, ptr %s279 + br label %tern.j71 +tern.j71: + %t282 = load ptr, ptr %s279 + %t283 = fptosi double %t275 to i64 + %t285 = freeze i64 %t283 + %t284 = sitofp i64 %t285 to double + %t286 = fcmp oeq double %t284, %t275 + %t291 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 8 + %t292 = load ptr, ptr %t291, !tbaa !2 + %t295 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 6 + %t296 = load i32, ptr %t295, !tbaa !2 + %t297 = zext i32 %t296 to i64 + %t298 = icmp ult i64 %t285, %t297 + %t299 = and i1 %t286, %t298 + br i1 %t299, label %arr.set.filled76, label %arr.check77 +arr.check77: + %t287 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 1 + %t288 = load i64, ptr %t287, !tbaa !2, !range !{i64 0, i64 4294967296} + %t289 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 2 + %t290 = load i64, ptr %t289, !tbaa !2 + %t293 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 9 + %t294 = load ptr, ptr %t293, !tbaa !2 + %t300 = icmp ult i64 %t285, %t290 + %t301 = and i1 %t286, %t300 + br i1 %t301, label %arr.dense78, label %arr.set.slow74 +arr.dense78: + %t302 = getelementptr inbounds i8, ptr %t294, i64 %t285 + %t303 = getelementptr inbounds i64, ptr %t292, i64 %t285 + %t304 = load i8, ptr %t302, !tbaa !4 + %t305 = load ptr, ptr %t303, !tbaa !6 + store ptr %t282, ptr %t303, !tbaa !6 + store i8 1, ptr %t302, !tbaa !4 + %t306 = zext i32 %t296 to i64 + %t307 = icmp eq i64 %t285, %t306 + br i1 %t307, label %arr.set.bump79, label %arr.set.state80 +arr.set.bump79: + %t308 = trunc i64 %t285 to i32 + %t309 = add i32 %t308, 1 + %t310 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 6 + store i32 %t309, ptr %t310, !tbaa !2 + br label %arr.set.state80 +arr.set.state80: + %t311 = icmp uge i64 %t285, %t288 + br i1 %t311, label %arr.set.grow81, label %arr.set.stored82 +arr.set.grow81: + %t312 = add i64 %t285, 1 + %t313 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 1 + store i64 %t312, ptr %t313, !tbaa !2 + br label %arr.set.stored82 +arr.set.stored82: + %t314 = icmp eq i8 %t304, 1 + br i1 %t314, label %arr.set.release83, label %arr.set.join75 +arr.set.release83: + call void @scr_str_release(ptr %t305) + br label %arr.set.join75 +arr.set.filled76: + %t315 = getelementptr inbounds i64, ptr %t292, i64 %t285 + %t316 = load ptr, ptr %t315, !tbaa !6 + store ptr %t282, ptr %t315, !tbaa !6 + call void @scr_str_release(ptr %t316) + br label %arr.set.join75 +arr.set.slow74: + call void @scr_arr_set_ref(ptr %t274, double %t275, ptr %t282) cold + br label %arr.set.join75 +arr.set.join75: + br label %if.j67 +if.j67: + %t317 = load ptr, ptr %sc_l__x25_arrayValue_0 + call void @scr_str_release(ptr %t317) + br label %loop.u56 +loop.u56: + %t318 = load double, ptr %sc_l_j_0 + %t319 = fadd double %t318, 0x3FF0000000000000 + store double %t319, ptr %sc_l_j_0 + br label %loop.c54 +loop.e53: + %t320 = load ptr, ptr %sc_l_this_0 + %t321 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t320, i64 0, i32 6 + %t322 = load ptr, ptr %t321, !tbaa !58 + store ptr %t322, ptr %sc_l__x25_popArray_0 + %t323 = load ptr, ptr %sc_l__x25_popArray_0 + %t324 = getelementptr inbounds %ScrArr, ptr %t323, i32 0, i32 1 + %t325 = load i64, ptr %t324, !tbaa !2, !range !{i64 0, i64 4294967296} + %t326 = sitofp i64 %t325 to double + %t327 = fptosi double %t326 to i64 + %t328 = trunc i64 %t327 to i32 + store i32 %t328, ptr %sc_l__x25_popLength_0 + %t329 = load i32, ptr %sc_l__x25_popLength_0 + %t330 = uitofp i32 %t329 to double + %t332 = zext i32 %t329 to i64 + %t331 = icmp sgt i64 %t332, 0 + br i1 %t331, label %if.t84, label %if.f86 +if.t84: + %t333 = load ptr, ptr %sc_l__x25_popArray_0 + %t334 = load i32, ptr %sc_l__x25_popLength_0 + %t335 = uitofp i32 %t334 to double + %t337 = zext i32 %t334 to i64 + %t338 = sub nsw i64 %t337, 1 + %t340 = trunc i64 %t338 to i32 + %t339 = sitofp i64 %t338 to double + %t341 = getelementptr inbounds %ScrArr, ptr %t333, i32 0, i32 1 + %t342 = load i64, ptr %t341, !tbaa !2, !range !{i64 0, i64 4294967296} + %t343 = sitofp i64 %t342 to double + %t344 = fcmp oeq double %t339, %t343 + br i1 %t344, label %arr.len.done88, label %arr.len.set87 +arr.len.set87: + call void @scr_arr_set_len(ptr %t333, double %t339) + %t345 = load i32, ptr %exc.cell + %t346 = icmp ne i32 %t345, 0 + %t347 = call i1 @llvm.expect.i1(i1 %t346, i1 false) + br i1 %t347, label %exc.u89, label %exc.k90 +exc.u89: + ret void +exc.k90: + br label %arr.len.done88 +arr.len.done88: + br label %if.j85 +if.f86: + br label %if.j85 +if.j85: + %t348 = load ptr, ptr %sc_l_this_0 + %t349 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t348, i64 0, i32 6 + %t350 = load ptr, ptr %t349, !tbaa !58 + store ptr %t350, ptr %sc_l__x25_popArray_1 + %t351 = load ptr, ptr %sc_l__x25_popArray_1 + %t352 = getelementptr inbounds %ScrArr, ptr %t351, i32 0, i32 1 + %t353 = load i64, ptr %t352, !tbaa !2, !range !{i64 0, i64 4294967296} + %t354 = sitofp i64 %t353 to double + %t355 = fptosi double %t354 to i64 + %t356 = trunc i64 %t355 to i32 + store i32 %t356, ptr %sc_l__x25_popLength_1 + %t357 = load i32, ptr %sc_l__x25_popLength_1 + %t358 = uitofp i32 %t357 to double + %t360 = zext i32 %t357 to i64 + %t359 = icmp sgt i64 %t360, 0 + br i1 %t359, label %if.t91, label %if.f93 +if.t91: + %t361 = load ptr, ptr %sc_l__x25_popArray_1 + %t362 = load i32, ptr %sc_l__x25_popLength_1 + %t363 = uitofp i32 %t362 to double + %t365 = zext i32 %t362 to i64 + %t366 = sub nsw i64 %t365, 1 + %t368 = trunc i64 %t366 to i32 + %t367 = sitofp i64 %t366 to double + %t369 = getelementptr inbounds %ScrArr, ptr %t361, i32 0, i32 1 + %t370 = load i64, ptr %t369, !tbaa !2, !range !{i64 0, i64 4294967296} + %t371 = sitofp i64 %t370 to double + %t372 = fcmp oeq double %t367, %t371 + br i1 %t372, label %arr.len.done95, label %arr.len.set94 +arr.len.set94: + call void @scr_arr_set_len(ptr %t361, double %t367) + %t373 = load i32, ptr %exc.cell + %t374 = icmp ne i32 %t373, 0 + %t375 = call i1 @llvm.expect.i1(i1 %t374, i1 false) + br i1 %t375, label %exc.u96, label %exc.k97 +exc.u96: + ret void +exc.k97: + br label %arr.len.done95 +arr.len.done95: + br label %if.j92 +if.f93: + br label %if.j92 +if.j92: + br label %if.j51 +if.f52: + %t376 = load double, ptr %sc_l_i_1 + %t377 = fadd double %t376, 0x4000000000000000 + store double %t377, ptr %sc_l_i_1 + br label %if.j51 +if.j51: + br label %loop.c37 +loop.e36: + %t378 = load ptr, ptr %sc_l_this_0 + %t379 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t378, i64 0, i32 6 + %t380 = load ptr, ptr %t379, !tbaa !58 + %t381 = call ptr @scr_arr_retain_v(ptr %t380) + %t382 = load ptr, ptr %sc_l_kk_0 + %t383 = call ptr @sc_rc_retain_str(ptr %t382) + %t384 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 1 + %t385 = load i64, ptr %t384, !tbaa !2 + %t388 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 2 + %t386 = load i64, ptr %t388, !tbaa !2 + %t387 = icmp ult i64 %t385, %t386 + br i1 %t387, label %arr.push.dense98, label %arr.push.slow99 +arr.push.dense98: + %t389 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 8 + %t391 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 9 + %t390 = load ptr, ptr %t389, !tbaa !2 + %t392 = load ptr, ptr %t391, !tbaa !2 + %t393 = getelementptr inbounds i8, ptr %t392, i64 %t385 + %t394 = getelementptr inbounds i64, ptr %t390, i64 %t385 + store ptr %t383, ptr %t394, !tbaa !6 + store i8 1, ptr %t393, !tbaa !4 + %t395 = add nuw i64 %t385, 1 + store i64 %t395, ptr %t384, !tbaa !2 + %t397 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 6 + %t398 = load i32, ptr %t397, !tbaa !2 + %t402 = zext i32 %t398 to i64 + %t399 = icmp eq i64 %t402, %t385 + %t400 = add i32 %t398, 1 + %t401 = select i1 %t399, i32 %t400, i32 %t398 + store i32 %t401, ptr %t397, !tbaa !2 + %t396 = sitofp i64 %t395 to double + br label %arr.push.join100 +arr.push.slow99: + %t403 = call double @scr_arr_push_ref(ptr %t381, ptr %t383) cold + br label %arr.push.join100 +arr.push.join100: + %t404 = phi double [ %t396, %arr.push.dense98 ], [ %t403, %arr.push.slow99 ] + call void @scr_arr_release(ptr %t381) + %t405 = load ptr, ptr %sc_l_this_0 + %t406 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t405, i64 0, i32 6 + %t407 = load ptr, ptr %t406, !tbaa !58 + %t408 = call ptr @scr_arr_retain_v(ptr %t407) + %t409 = load ptr, ptr %sc_l_vv_0 + %t410 = call ptr @sc_rc_retain_str(ptr %t409) + %t411 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 1 + %t412 = load i64, ptr %t411, !tbaa !2 + %t415 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 2 + %t413 = load i64, ptr %t415, !tbaa !2 + %t414 = icmp ult i64 %t412, %t413 + br i1 %t414, label %arr.push.dense101, label %arr.push.slow102 +arr.push.dense101: + %t416 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 8 + %t418 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 9 + %t417 = load ptr, ptr %t416, !tbaa !2 + %t419 = load ptr, ptr %t418, !tbaa !2 + %t420 = getelementptr inbounds i8, ptr %t419, i64 %t412 + %t421 = getelementptr inbounds i64, ptr %t417, i64 %t412 + store ptr %t410, ptr %t421, !tbaa !6 + store i8 1, ptr %t420, !tbaa !4 + %t422 = add nuw i64 %t412, 1 + store i64 %t422, ptr %t411, !tbaa !2 + %t424 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 6 + %t425 = load i32, ptr %t424, !tbaa !2 + %t429 = zext i32 %t425 to i64 + %t426 = icmp eq i64 %t429, %t412 + %t427 = add i32 %t425, 1 + %t428 = select i1 %t426, i32 %t427, i32 %t425 + store i32 %t428, ptr %t424, !tbaa !2 + %t423 = sitofp i64 %t422 to double + br label %arr.push.join103 +arr.push.slow102: + %t430 = call double @scr_arr_push_ref(ptr %t408, ptr %t410) cold + br label %arr.push.join103 +arr.push.join103: + %t431 = phi double [ %t423, %arr.push.dense101 ], [ %t430, %arr.push.slow102 ] + call void @scr_arr_release(ptr %t408) + ret void +exc.cleanup72: + %t432 = load ptr, ptr %sc_l__x25_arrayValue_0 + call void @scr_str_release(ptr %t432) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m2.FetchResponseSink.appendHeader +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %sc_l_kk_0 = alloca ptr ; kk + %sc_l_vv_0 = alloca ptr ; vv + %sc_l_found_0 = alloca double ; found + %sc_l_i_0 = alloca i32 ; i + %s13 = alloca ptr + %s49 = alloca i1 + store ptr null, ptr %sc_l_kk_0 + store ptr null, ptr %sc_l_vv_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = load ptr, ptr %sc_l_k_0 + store ptr %t0, ptr %sc_l_kk_0 + %t1 = load ptr, ptr %sc_l_v_0 + store ptr %t1, ptr %sc_l_vv_0 + store double 0xBFF0000000000000, ptr %sc_l_found_0 + store i32 0, ptr %sc_l_i_0 + br label %loop.c1 +loop.c1: + %t2 = load i32, ptr %sc_l_i_0 + %t3 = uitofp i32 %t2 to double + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 4 + %t6 = load ptr, ptr %t5, !tbaa !54 + %t7 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 1 + %t8 = load i64, ptr %t7, !tbaa !2, !range !{i64 0, i64 4294967296} + %t9 = sitofp i64 %t8 to double + %t11 = fptosi double %t9 to i64 + %t12 = zext i32 %t2 to i64 + %t10 = icmp slt i64 %t12, %t11 + br i1 %t10, label %loop.b2, label %loop.e0 +loop.b2: + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t14, i64 0, i32 4 + %t16 = load ptr, ptr %t15, !tbaa !54 + %t17 = load i32, ptr %sc_l_i_0 + %t18 = uitofp i32 %t17 to double + %t19 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 2 + %t20 = load i64, ptr %t19, !tbaa !2 + %t21 = fptosi double %t18 to i64 + %t22 = freeze i64 %t21 + %t23 = sitofp i64 %t22 to double + %t24 = fcmp oeq double %t23, %t18 + %t25 = icmp ult i64 %t22, %t20 + %t26 = and i1 %t24, %t25 + br i1 %t26, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t27 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 6 + %t28 = load i32, ptr %t27, !tbaa !2 + %t30 = zext i32 %t28 to i64 + %t29 = icmp ult i64 %t22, %t30 + br i1 %t29, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t31 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1 + %t32 = load i64, ptr %t31, !tbaa !2, !range !{i64 0, i64 4294967296} + %t33 = icmp ult i64 %t22, %t32 + br i1 %t33, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t34 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 9 + %t35 = load ptr, ptr %t34, !tbaa !2 + %t36 = getelementptr inbounds i8, ptr %t35, i64 %t22 + %t37 = load i8, ptr %t36, !tbaa !4 + %t38 = icmp eq i8 %t37, 1 + br i1 %t38, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t39 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 8 + %t40 = load ptr, ptr %t39, !tbaa !2 + %t41 = getelementptr inbounds i64, ptr %t40, i64 %t22 + %t42 = load ptr, ptr %t41, !tbaa !6 + %t43 = call ptr @sc_rc_retain_str(ptr %t42) + store ptr %t43, ptr %s13 + br label %local.array.join6 +local.array.slow4: + %t44 = call ptr @scr_arr_peek_ref(ptr %t16, double %t18) + %t45 = icmp ne ptr %t44, null + br i1 %t45, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + %t46 = call ptr @sc_rc_retain_str(ptr %t44) + store ptr %t46, ptr %s13 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %s13 + br label %local.array.join6 +local.array.join6: + %t47 = load ptr, ptr %s13 + %t48 = load ptr, ptr %sc_l_kk_0 + %t50 = icmp eq ptr %t47, %t48 + %t52 = icmp ne ptr %t47, null + %t53 = icmp ne ptr %t48, null + %t51 = and i1 %t52, %t53 + store i1 %t50, ptr %s49 + %t54 = xor i1 %t50, true + %t55 = and i1 %t54, %t51 + br i1 %t55, label %ues.b13, label %ues.j14 +ues.b13: + %t56 = call zeroext i1 @sc_str_eq(ptr %t47, ptr %t48) + store i1 %t56, ptr %s49 + br label %ues.j14 +ues.j14: + %t57 = load i1, ptr %s49 + %t58 = load ptr, ptr %s13 + call void @scr_str_release(ptr %t58) + br i1 %t57, label %if.t15, label %if.j16 +if.t15: + %t59 = load i32, ptr %sc_l_i_0 + %t60 = uitofp i32 %t59 to double + store double %t60, ptr %sc_l_found_0 + br label %if.j16 +if.j16: + br label %loop.u3 +loop.u3: + %t61 = load i32, ptr %sc_l_i_0 + %t62 = uitofp i32 %t61 to double + %t64 = zext i32 %t61 to i64 + %t65 = add nsw i64 %t64, 1 + %t67 = trunc i64 %t65 to i32 + %t66 = sitofp i64 %t65 to double + %t68 = trunc i64 %t65 to i32 + store i32 %t68, ptr %sc_l_i_0 + br label %loop.c1 +loop.e0: + %t69 = load double, ptr %sc_l_found_0 + %t70 = fcmp olt double %t69, 0x0000000000000000 + br i1 %t70, label %if.t17, label %if.j18 +if.t17: + %t71 = load ptr, ptr %sc_l_this_0 + %t72 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t71, i64 0, i32 4 + %t73 = load ptr, ptr %t72, !tbaa !54 + %t74 = call ptr @scr_arr_retain_v(ptr %t73) + %t75 = load ptr, ptr %sc_l_kk_0 + %t76 = call ptr @sc_rc_retain_str(ptr %t75) + %t77 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 1 + %t78 = load i64, ptr %t77, !tbaa !2 + %t81 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 2 + %t79 = load i64, ptr %t81, !tbaa !2 + %t80 = icmp ult i64 %t78, %t79 + br i1 %t80, label %arr.push.dense19, label %arr.push.slow20 +arr.push.dense19: + %t82 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 8 + %t84 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 9 + %t83 = load ptr, ptr %t82, !tbaa !2 + %t85 = load ptr, ptr %t84, !tbaa !2 + %t86 = getelementptr inbounds i8, ptr %t85, i64 %t78 + %t87 = getelementptr inbounds i64, ptr %t83, i64 %t78 + store ptr %t76, ptr %t87, !tbaa !6 + store i8 1, ptr %t86, !tbaa !4 + %t88 = add nuw i64 %t78, 1 + store i64 %t88, ptr %t77, !tbaa !2 + %t90 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 6 + %t91 = load i32, ptr %t90, !tbaa !2 + %t95 = zext i32 %t91 to i64 + %t92 = icmp eq i64 %t95, %t78 + %t93 = add i32 %t91, 1 + %t94 = select i1 %t92, i32 %t93, i32 %t91 + store i32 %t94, ptr %t90, !tbaa !2 + %t89 = sitofp i64 %t88 to double + br label %arr.push.join21 +arr.push.slow20: + %t96 = call double @scr_arr_push_ref(ptr %t74, ptr %t76) cold + br label %arr.push.join21 +arr.push.join21: + %t97 = phi double [ %t89, %arr.push.dense19 ], [ %t96, %arr.push.slow20 ] + call void @scr_arr_release(ptr %t74) + %t98 = load ptr, ptr %sc_l_this_0 + %t99 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t98, i64 0, i32 5 + %t100 = load ptr, ptr %t99, !tbaa !56 + %t101 = call ptr @scr_arr_retain_v(ptr %t100) + %t102 = load ptr, ptr %sc_l_vv_0 + %t103 = call ptr @sc_rc_retain_str(ptr %t102) + %t104 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 1 + %t105 = load i64, ptr %t104, !tbaa !2 + %t108 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 2 + %t106 = load i64, ptr %t108, !tbaa !2 + %t107 = icmp ult i64 %t105, %t106 + br i1 %t107, label %arr.push.dense22, label %arr.push.slow23 +arr.push.dense22: + %t109 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 8 + %t111 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 9 + %t110 = load ptr, ptr %t109, !tbaa !2 + %t112 = load ptr, ptr %t111, !tbaa !2 + %t113 = getelementptr inbounds i8, ptr %t112, i64 %t105 + %t114 = getelementptr inbounds i64, ptr %t110, i64 %t105 + store ptr %t103, ptr %t114, !tbaa !6 + store i8 1, ptr %t113, !tbaa !4 + %t115 = add nuw i64 %t105, 1 + store i64 %t115, ptr %t104, !tbaa !2 + %t117 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 6 + %t118 = load i32, ptr %t117, !tbaa !2 + %t122 = zext i32 %t118 to i64 + %t119 = icmp eq i64 %t122, %t105 + %t120 = add i32 %t118, 1 + %t121 = select i1 %t119, i32 %t120, i32 %t118 + store i32 %t121, ptr %t117, !tbaa !2 + %t116 = sitofp i64 %t115 to double + br label %arr.push.join24 +arr.push.slow23: + %t123 = call double @scr_arr_push_ref(ptr %t101, ptr %t103) cold + br label %arr.push.join24 +arr.push.join24: + %t124 = phi double [ %t116, %arr.push.dense22 ], [ %t123, %arr.push.slow23 ] + call void @scr_arr_release(ptr %t101) + br label %if.j18 +if.j18: + %t125 = load ptr, ptr %sc_l_this_0 + %t126 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t125, i64 0, i32 6 + %t127 = load ptr, ptr %t126, !tbaa !58 + %t128 = call ptr @scr_arr_retain_v(ptr %t127) + %t129 = load ptr, ptr %sc_l_kk_0 + %t130 = call ptr @sc_rc_retain_str(ptr %t129) + %t131 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 1 + %t132 = load i64, ptr %t131, !tbaa !2 + %t135 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 2 + %t133 = load i64, ptr %t135, !tbaa !2 + %t134 = icmp ult i64 %t132, %t133 + br i1 %t134, label %arr.push.dense25, label %arr.push.slow26 +arr.push.dense25: + %t136 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 8 + %t138 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 9 + %t137 = load ptr, ptr %t136, !tbaa !2 + %t139 = load ptr, ptr %t138, !tbaa !2 + %t140 = getelementptr inbounds i8, ptr %t139, i64 %t132 + %t141 = getelementptr inbounds i64, ptr %t137, i64 %t132 + store ptr %t130, ptr %t141, !tbaa !6 + store i8 1, ptr %t140, !tbaa !4 + %t142 = add nuw i64 %t132, 1 + store i64 %t142, ptr %t131, !tbaa !2 + %t144 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 6 + %t145 = load i32, ptr %t144, !tbaa !2 + %t149 = zext i32 %t145 to i64 + %t146 = icmp eq i64 %t149, %t132 + %t147 = add i32 %t145, 1 + %t148 = select i1 %t146, i32 %t147, i32 %t145 + store i32 %t148, ptr %t144, !tbaa !2 + %t143 = sitofp i64 %t142 to double + br label %arr.push.join27 +arr.push.slow26: + %t150 = call double @scr_arr_push_ref(ptr %t128, ptr %t130) cold + br label %arr.push.join27 +arr.push.join27: + %t151 = phi double [ %t143, %arr.push.dense25 ], [ %t150, %arr.push.slow26 ] + call void @scr_arr_release(ptr %t128) + %t152 = load ptr, ptr %sc_l_this_0 + %t153 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t152, i64 0, i32 6 + %t154 = load ptr, ptr %t153, !tbaa !58 + %t155 = call ptr @scr_arr_retain_v(ptr %t154) + %t156 = load ptr, ptr %sc_l_vv_0 + %t157 = call ptr @sc_rc_retain_str(ptr %t156) + %t158 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 1 + %t159 = load i64, ptr %t158, !tbaa !2 + %t162 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 2 + %t160 = load i64, ptr %t162, !tbaa !2 + %t161 = icmp ult i64 %t159, %t160 + br i1 %t161, label %arr.push.dense28, label %arr.push.slow29 +arr.push.dense28: + %t163 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 8 + %t165 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 9 + %t164 = load ptr, ptr %t163, !tbaa !2 + %t166 = load ptr, ptr %t165, !tbaa !2 + %t167 = getelementptr inbounds i8, ptr %t166, i64 %t159 + %t168 = getelementptr inbounds i64, ptr %t164, i64 %t159 + store ptr %t157, ptr %t168, !tbaa !6 + store i8 1, ptr %t167, !tbaa !4 + %t169 = add nuw i64 %t159, 1 + store i64 %t169, ptr %t158, !tbaa !2 + %t171 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 6 + %t172 = load i32, ptr %t171, !tbaa !2 + %t176 = zext i32 %t172 to i64 + %t173 = icmp eq i64 %t176, %t159 + %t174 = add i32 %t172, 1 + %t175 = select i1 %t173, i32 %t174, i32 %t172 + store i32 %t175, ptr %t171, !tbaa !2 + %t170 = sitofp i64 %t169 to double + br label %arr.push.join30 +arr.push.slow29: + %t177 = call double @scr_arr_push_ref(ptr %t155, ptr %t157) cold + br label %arr.push.join30 +arr.push.join30: + %t178 = phi double [ %t170, %arr.push.dense28 ], [ %t177, %arr.push.slow29 ] + call void @scr_arr_release(ptr %t155) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_writeBody(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m2.FetchResponseSink.writeBody +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_s_0 = alloca ptr ; s + %sc_l_str_0 = alloca ptr ; str + %sc_l_haveCT_0 = alloca i1 ; haveCT + %sc_l_i_0 = alloca double ; i + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %s23 = alloca ptr + %s57 = alloca i1 + %s71 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s89 = alloca ptr + %s104 = alloca [2 x ptr] + store ptr null, ptr %sc_l_str_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_s_0 + store ptr %t4, ptr %sc_l_str_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t5, i64 0, i32 9 + %t7 = load i8, ptr %t6, !tbaa !62 + %t8 = trunc i8 %t7 to i1 + %t9 = xor i1 %t8, true + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = load ptr, ptr %sc_l_this_0 + %t11 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t10, i64 0, i32 9 + %t12 = zext i1 true to i8 + store i8 %t12, ptr %t11, !tbaa !62 + store i1 false, ptr %sc_l_haveCT_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c5 +loop.c5: + %t13 = load double, ptr %sc_l_i_0 + %t14 = fadd double %t13, 0x3FF0000000000000 + %t15 = load ptr, ptr %sc_l_this_0 + %t16 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t15, i64 0, i32 6 + %t17 = load ptr, ptr %t16, !tbaa !58 + %t18 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + %t19 = load i64, ptr %t18, !tbaa !2, !range !{i64 0, i64 4294967296} + %t20 = sitofp i64 %t19 to double + %t22 = fptosi double %t20 to i64 + %t21 = fcmp olt double %t14, %t20 + br i1 %t21, label %loop.b6, label %loop.e4 +loop.b6: + %t24 = load ptr, ptr %sc_l_this_0 + %t25 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t24, i64 0, i32 6 + %t26 = load ptr, ptr %t25, !tbaa !58 + %t27 = load double, ptr %sc_l_i_0 + %t28 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 2 + %t29 = load i64, ptr %t28, !tbaa !2 + %t30 = fptosi double %t27 to i64 + %t31 = freeze i64 %t30 + %t32 = sitofp i64 %t31 to double + %t33 = fcmp oeq double %t32, %t27 + %t34 = icmp ult i64 %t31, %t29 + %t35 = and i1 %t33, %t34 + br i1 %t35, label %local.array.range11, label %local.array.slow8 +local.array.range11: + br label %local.array.dense12 +local.array.dense12: + %t36 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 6 + %t37 = load i32, ptr %t36, !tbaa !2 + %t39 = zext i32 %t37 to i64 + %t38 = icmp ult i64 %t31, %t39 + br i1 %t38, label %local.array.value14, label %local.array.len13 +local.array.len13: + %t40 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 1 + %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296} + %t42 = icmp ult i64 %t31, %t41 + br i1 %t42, label %local.array.state15, label %local.array.missing9 +local.array.state15: + %t43 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 9 + %t44 = load ptr, ptr %t43, !tbaa !2 + %t45 = getelementptr inbounds i8, ptr %t44, i64 %t31 + %t46 = load i8, ptr %t45, !tbaa !4 + %t47 = icmp eq i8 %t46, 1 + br i1 %t47, label %local.array.value14, label %local.array.missing9 +local.array.value14: + %t48 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 8 + %t49 = load ptr, ptr %t48, !tbaa !2 + %t50 = getelementptr inbounds i64, ptr %t49, i64 %t31 + %t51 = load ptr, ptr %t50, !tbaa !6 + %t52 = call ptr @sc_rc_retain_str(ptr %t51) + store ptr %t52, ptr %s23 + br label %local.array.join10 +local.array.slow8: + %t53 = call ptr @scr_arr_peek_ref(ptr %t26, double %t27) + %t54 = icmp ne ptr %t53, null + br i1 %t54, label %local.array.slow.value16, label %local.array.missing9 +local.array.slow.value16: + %t55 = call ptr @sc_rc_retain_str(ptr %t53) + store ptr %t55, ptr %s23 + br label %local.array.join10 +local.array.missing9: + store ptr null, ptr %s23 + br label %local.array.join10 +local.array.join10: + %t56 = load ptr, ptr %s23 + %t58 = icmp eq ptr %t56, @sc_lit_2329537264393449 + %t60 = icmp ne ptr %t56, null + %t61 = icmp ne ptr @sc_lit_2329537264393449, null + %t59 = and i1 %t60, %t61 + store i1 %t58, ptr %s57 + %t62 = xor i1 %t58, true + %t63 = and i1 %t62, %t59 + br i1 %t63, label %ues.b17, label %ues.j18 +ues.b17: + %t64 = call zeroext i1 @sc_streq_2329537264393449(ptr %t56) + store i1 %t64, ptr %s57 + br label %ues.j18 +ues.j18: + %t65 = load i1, ptr %s57 + %t66 = load ptr, ptr %s23 + call void @scr_str_release(ptr %t66) + br i1 %t65, label %if.t19, label %if.j20 +if.t19: + store i1 true, ptr %sc_l_haveCT_0 + br label %if.j20 +if.j20: + br label %loop.u7 +loop.u7: + %t67 = load double, ptr %sc_l_i_0 + %t68 = fadd double %t67, 0x4000000000000000 + store double %t68, ptr %sc_l_i_0 + br label %loop.c5 +loop.e4: + %t69 = load i1, ptr %sc_l_haveCT_0 + %t70 = xor i1 %t69, true + store i1 %t70, ptr %s71 + br i1 %t70, label %log.r21, label %log.j22 +log.r21: + %t72 = load ptr, ptr %sc_l_str_0 + %t73 = call double @sc_str_utf16_len(ptr %t72) + %t75 = fptosi double %t73 to i32 + %t76 = sext i32 %t75 to i64 + %t74 = icmp sgt i64 %t76, 0 + store i1 %t74, ptr %s71 + br label %log.j22 +log.j22: + %t77 = load i1, ptr %s71 + br i1 %t77, label %if.t23, label %if.j24 +if.t23: + %t78 = load ptr, ptr %sc_l_this_0 + store ptr %t78, ptr %sc_l__x25_callbackReceiver_0 + %t79 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t80 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t79, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t81 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t80) + %t82 = load i32, ptr %exc.cell + %t83 = icmp ne i32 %t82, 0 + %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false) + br i1 %t84, label %exc.u25, label %exc.k26 +exc.u25: + call void @sc_rc_release_dyn(ptr %t81) + ret void +exc.k26: + store ptr %t81, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t85 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t86 = getelementptr inbounds i8, ptr %t85, i64 8 ; ->kind + %t87 = load i32, ptr %t86 + %t88 = icmp eq i32 %t87, 6 + br i1 %t88, label %tern.t27, label %tern.f28 +tern.t27: + %t91 = call ptr @scr_dyn_undefined() + %t90 = call ptr @scr_dyn_retain_v(ptr %t91) + store ptr %t90, ptr %s89 + br label %tern.j29 +tern.f28: + %t92 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + %t94 = call ptr @sc_f__x25_dyn_class_property_15(ptr %t93) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t94) + br label %exc.cleanup32 +exc.k31: + store ptr %t94, ptr %s89 + br label %tern.j29 +tern.j29: + %t98 = load ptr, ptr %s89 + store ptr %t98, ptr %sc_l__x25_callback_0 + %t99 = load ptr, ptr %sc_l__x25_callback_0 + %t100 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t102 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t103 = call ptr @sc_td_0(ptr @sc_lit_266676967674785) + %t105 = getelementptr inbounds [2 x ptr], ptr %s104, i64 0, i64 0 + store ptr %t102, ptr %t105 + %t106 = getelementptr inbounds [2 x ptr], ptr %s104, i64 0, i64 1 + store ptr %t103, ptr %t106 + call void @scr_dyn_this_push_dyn(ptr %t101) + %t107 = call ptr @scr_dyn_call(ptr %t99, ptr %s104, i64 2, ptr @sc_cs_974332463763722) + call void @scr_dyn_this_pop() + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_rc_release_dyn(ptr %t107) + br label %exc.cleanup35 +exc.k34: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_rc_release_dyn(ptr %t107) + %t111 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t111) + %t112 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t112) + br label %if.j24 +if.j24: + br label %if.j3 +if.j3: + %t113 = load ptr, ptr %sc_l_this_0 + %t114 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t113, i64 0, i32 7 + %t115 = load ptr, ptr %t114, !tbaa !60 + %t116 = call ptr @scr_arr_retain_v(ptr %t115) + %t117 = load ptr, ptr %sc_l_str_0 + %t118 = call ptr @sc_rc_retain_str(ptr %t117) + %t119 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 1 + %t120 = load i64, ptr %t119, !tbaa !2 + %t123 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 2 + %t121 = load i64, ptr %t123, !tbaa !2 + %t122 = icmp ult i64 %t120, %t121 + br i1 %t122, label %arr.push.dense36, label %arr.push.slow37 +arr.push.dense36: + %t124 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 8 + %t126 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 9 + %t125 = load ptr, ptr %t124, !tbaa !2 + %t127 = load ptr, ptr %t126, !tbaa !2 + %t128 = getelementptr inbounds i8, ptr %t127, i64 %t120 + %t129 = getelementptr inbounds i64, ptr %t125, i64 %t120 + store ptr %t118, ptr %t129, !tbaa !6 + store i8 1, ptr %t128, !tbaa !4 + %t130 = add nuw i64 %t120, 1 + store i64 %t130, ptr %t119, !tbaa !2 + %t132 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 6 + %t133 = load i32, ptr %t132, !tbaa !2 + %t137 = zext i32 %t133 to i64 + %t134 = icmp eq i64 %t137, %t120 + %t135 = add i32 %t133, 1 + %t136 = select i1 %t134, i32 %t135, i32 %t133 + store i32 %t136, ptr %t132, !tbaa !2 + %t131 = sitofp i64 %t130 to double + br label %arr.push.join38 +arr.push.slow37: + %t138 = call double @scr_arr_push_ref(ptr %t116, ptr %t118) cold + br label %arr.push.join38 +arr.push.join38: + %t139 = phi double [ %t131, %arr.push.dense36 ], [ %t138, %arr.push.slow37 ] + call void @scr_arr_release(ptr %t116) + %t140 = load ptr, ptr %sc_l_this_0 + %t141 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t140, i64 0, i32 8 + %t142 = zext i1 true to i8 + store i8 %t142, ptr %t141, !tbaa !42 + ret void +exc.cleanup32: + %t143 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t143) + ret void +exc.cleanup35: + %t144 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t144) + %t145 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t145) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_writeBody(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_writeBody(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p_sc_l_this_0, ptr %p_sc_l__b_0, ptr %p_sc_l_ct_0) #0 { ; %%m2.FetchResponseSink.bodyBytes +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__b_0 = alloca ptr ; _b + %sc_l_ct_0 = alloca ptr ; ct + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca ptr + %s31 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__b_0, ptr %sc_l__b_0 + store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t7 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t6) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t7) + ret void +exc.k3: + store ptr %t7, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t11 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 6 + br i1 %t14, label %tern.t4, label %tern.f5 +tern.t4: + %t17 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t17) + store ptr %t16, ptr %s15 + br label %tern.j6 +tern.f5: + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = call ptr @sc_rc_retain_dyn(ptr %t18) + %t20 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup9 +exc.k8: + store ptr %t20, ptr %s15 + br label %tern.j6 +tern.j6: + %t24 = load ptr, ptr %s15 + store ptr %t24, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t28 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t29 = load ptr, ptr %sc_l_ct_0 + %t30 = call ptr @sc_td_0(ptr %t29) + %t32 = getelementptr inbounds [2 x ptr], ptr %s31, i64 0, i64 0 + store ptr %t28, ptr %t32 + %t33 = getelementptr inbounds [2 x ptr], ptr %s31, i64 0, i64 1 + store ptr %t30, ptr %t33 + call void @scr_dyn_this_push_dyn(ptr %t27) + %t34 = call ptr @scr_dyn_call(ptr %t25, ptr %s31, i64 2, ptr @sc_cs_2568656638816103) + call void @scr_dyn_this_pop() + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t34) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t34) + %t38 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t38) + %t39 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l_this_0 + %t41 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t40, i64 0, i32 9 + %t42 = load i8, ptr %t41, !tbaa !62 + %t43 = trunc i8 %t42 to i1 + %t44 = xor i1 %t43, true + br i1 %t44, label %if.t13, label %if.j14 +if.t13: + %t45 = load ptr, ptr %sc_l_this_0 + %t46 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t45, i64 0, i32 9 + %t47 = zext i1 true to i8 + store i8 %t47, ptr %t46, !tbaa !62 + br label %if.j14 +if.j14: + %t48 = load ptr, ptr %sc_l_this_0 + %t49 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t48, i64 0, i32 8 + %t50 = zext i1 true to i8 + store i8 %t50, ptr %t49, !tbaa !42 + ret void +exc.cleanup9: + %t51 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t51) + ret void +exc.cleanup12: + %t52 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t52) + %t53 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t53) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @scr_bytes_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l_url_0, double %p_sc_l_code_0) #0 { ; %%m2.FetchResponseSink.redirect +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_url_0 = alloca ptr ; url + %sc_l_code_0 = alloca double ; code + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca ptr + %s34 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_url_0, ptr %sc_l_url_0 + store double %p_sc_l_code_0, ptr %sc_l_code_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load double, ptr %sc_l_code_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 3 + store double %t5, ptr %t6, !tbaa !52 + %t7 = load ptr, ptr %sc_l_this_0 + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + ret void +exc.k3: + store ptr %t10, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t14 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 6 + br i1 %t17, label %tern.t4, label %tern.f5 +tern.t4: + %t20 = call ptr @scr_dyn_undefined() + %t19 = call ptr @scr_dyn_retain_v(ptr %t20) + store ptr %t19, ptr %s18 + br label %tern.j6 +tern.f5: + %t21 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup9 +exc.k8: + store ptr %t23, ptr %s18 + br label %tern.j6 +tern.j6: + %t27 = load ptr, ptr %s18 + store ptr %t27, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callback_0 + %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t31 = call ptr @sc_td_0(ptr @sc_lit_4062345987786846) + %t32 = load ptr, ptr %sc_l_url_0 + %t33 = call ptr @sc_td_0(ptr %t32) + %t35 = getelementptr inbounds [2 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t31, ptr %t35 + %t36 = getelementptr inbounds [2 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t33, ptr %t36 + call void @scr_dyn_this_push_dyn(ptr %t30) + %t37 = call ptr @scr_dyn_call(ptr %t28, ptr %s34, i64 2, ptr @sc_cs_2568656638816103) + call void @scr_dyn_this_pop() + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t37) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t37) + %t41 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t41) + %t42 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t42) + %t43 = load ptr, ptr %sc_l_this_0 + %t44 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t43, i64 0, i32 8 + %t45 = zext i1 true to i8 + store i8 %t45, ptr %t44, !tbaa !42 + ret void +exc.cleanup9: + %t46 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t46) + ret void +exc.cleanup12: + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_redirect(ptr %p0, ptr %p1, double %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_redirect(ptr %p0, ptr %p1, double %p2) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l_chunk_0) #0 { ; %%m2.FetchResponseSink.write +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_chunk_0 = alloca ptr ; chunk + %sc_l_ctl_0 = alloca ptr ; ctl + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_ctl_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 12 + %t6 = load ptr, ptr %t5, !tbaa !68 + %t7 = call ptr @sc_rretain_r2(ptr %t6) + store ptr %t7, ptr %sc_l_ctl_0 + %t8 = load ptr, ptr %sc_l_ctl_0 + %t10 = icmp ne ptr %t8, null + br i1 %t10, label %if.t2, label %if.j3 +if.t2: + %t11 = load ptr, ptr %sc_l_ctl_0 + %t12 = getelementptr inbounds %sc_rs_r2, ptr %t11, i64 0, i32 2 + %t13 = load ptr, ptr %t12 + %t14 = call ptr @scr_closure_retain_v(ptr %t13) + %t15 = load ptr, ptr %sc_l_chunk_0 + %t16 = call ptr @sc_rc_retain_str(ptr %t15) + %t17 = call ptr @scr_bytes_from_str(ptr %t16, ptr @sc_lit_2605532998565466) + %t18 = getelementptr inbounds %ScrClosure, ptr %t14, i64 0, i32 1 + %t19 = load ptr, ptr %t18 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t19(ptr %t14, ptr %t17) + call void @scr_dyn_this_pop() + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_closure_release(ptr %t14) + call void @scr_str_release(ptr %t16) + br label %exc.cleanup6 +exc.k5: + call void @scr_closure_release(ptr %t14) + call void @scr_str_release(ptr %t16) + %t23 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rrelease_r2(ptr %t23) + ret void +if.j3: + %t24 = load ptr, ptr %sc_l_this_0 + %t25 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t24, i64 0, i32 7 + %t26 = load ptr, ptr %t25, !tbaa !60 + %t27 = call ptr @scr_arr_retain_v(ptr %t26) + %t28 = load ptr, ptr %sc_l_chunk_0 + %t29 = call ptr @sc_rc_retain_str(ptr %t28) + %t30 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 1 + %t31 = load i64, ptr %t30, !tbaa !2 + %t34 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 2 + %t32 = load i64, ptr %t34, !tbaa !2 + %t33 = icmp ult i64 %t31, %t32 + br i1 %t33, label %arr.push.dense7, label %arr.push.slow8 +arr.push.dense7: + %t35 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 8 + %t37 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 9 + %t36 = load ptr, ptr %t35, !tbaa !2 + %t38 = load ptr, ptr %t37, !tbaa !2 + %t39 = getelementptr inbounds i8, ptr %t38, i64 %t31 + %t40 = getelementptr inbounds i64, ptr %t36, i64 %t31 + store ptr %t29, ptr %t40, !tbaa !6 + store i8 1, ptr %t39, !tbaa !4 + %t41 = add nuw i64 %t31, 1 + store i64 %t41, ptr %t30, !tbaa !2 + %t43 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 6 + %t44 = load i32, ptr %t43, !tbaa !2 + %t48 = zext i32 %t44 to i64 + %t45 = icmp eq i64 %t48, %t31 + %t46 = add i32 %t44, 1 + %t47 = select i1 %t45, i32 %t46, i32 %t44 + store i32 %t47, ptr %t43, !tbaa !2 + %t42 = sitofp i64 %t41 to double + br label %arr.push.join9 +arr.push.slow8: + %t49 = call double @scr_arr_push_ref(ptr %t27, ptr %t29) cold + br label %arr.push.join9 +arr.push.join9: + %t50 = phi double [ %t42, %arr.push.dense7 ], [ %t49, %arr.push.slow8 ] + call void @scr_arr_release(ptr %t27) + %t51 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rrelease_r2(ptr %t51) + ret void +exc.cleanup6: + %t52 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rrelease_r2(ptr %t52) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_write(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_write(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_writeHead(ptr %p_sc_l_this_0, double %p_sc_l_status_0, ptr %p_sc_l_flatPairs_0) #0 { ; %%m2.FetchResponseSink.writeHead +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_status_0 = alloca double ; status + %sc_l_flatPairs_0 = alloca ptr ; flatPairs + %sc_l_i_0 = alloca double ; i + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s26 = alloca ptr + %s39 = alloca ptr + %s71 = alloca ptr + %s81 = alloca ptr + %s114 = alloca ptr + %s125 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l_status_0, ptr %sc_l_status_0 + store ptr %p_sc_l_flatPairs_0, ptr %sc_l_flatPairs_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load double, ptr %sc_l_status_0 + %t6 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 3 + store double %t5, ptr %t6, !tbaa !52 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t7 = load double, ptr %sc_l_i_0 + %t8 = fadd double %t7, 0x3FF0000000000000 + %t9 = load ptr, ptr %sc_l_flatPairs_0 + %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t11 = load i64, ptr %t10, !tbaa !2, !range !{i64 0, i64 4294967296} + %t12 = sitofp i64 %t11 to double + %t14 = fptosi double %t12 to i64 + %t13 = fcmp olt double %t8, %t12 + br i1 %t13, label %loop.b4, label %loop.e2 +loop.b4: + %t15 = load ptr, ptr %sc_l_this_0 + store ptr %t15, ptr %sc_l__x25_callbackReceiver_0 + %t16 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t18) + ret void +exc.k7: + store ptr %t18, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t22 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t23 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t24 = load i32, ptr %t23 + %t25 = icmp eq i32 %t24, 6 + br i1 %t25, label %tern.t8, label %tern.f9 +tern.t8: + %t28 = call ptr @scr_dyn_undefined() + %t27 = call ptr @scr_dyn_retain_v(ptr %t28) + store ptr %t27, ptr %s26 + br label %tern.j10 +tern.f9: + %t29 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t30) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup13 +exc.k12: + store ptr %t31, ptr %s26 + br label %tern.j10 +tern.j10: + %t35 = load ptr, ptr %s26 + store ptr %t35, ptr %sc_l__x25_callback_0 + %t36 = load ptr, ptr %sc_l__x25_callback_0 + %t37 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t38 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t37, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t40 = load ptr, ptr %sc_l_flatPairs_0 + %t41 = load double, ptr %sc_l_i_0 + %t42 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 2 + %t43 = load i64, ptr %t42, !tbaa !2 + %t44 = fptosi double %t41 to i64 + %t45 = freeze i64 %t44 + %t46 = sitofp i64 %t45 to double + %t47 = fcmp oeq double %t46, %t41 + %t48 = icmp ult i64 %t45, %t43 + %t49 = and i1 %t47, %t48 + br i1 %t49, label %local.array.range17, label %local.array.slow14 +local.array.range17: + br label %local.array.dense18 +local.array.dense18: + %t50 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 6 + %t51 = load i32, ptr %t50, !tbaa !2 + %t53 = zext i32 %t51 to i64 + %t52 = icmp ult i64 %t45, %t53 + br i1 %t52, label %local.array.value20, label %local.array.len19 +local.array.len19: + %t54 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 1 + %t55 = load i64, ptr %t54, !tbaa !2, !range !{i64 0, i64 4294967296} + %t56 = icmp ult i64 %t45, %t55 + br i1 %t56, label %local.array.state21, label %local.array.missing15 +local.array.state21: + %t57 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 9 + %t58 = load ptr, ptr %t57, !tbaa !2 + %t59 = getelementptr inbounds i8, ptr %t58, i64 %t45 + %t60 = load i8, ptr %t59, !tbaa !4 + %t61 = icmp eq i8 %t60, 1 + br i1 %t61, label %local.array.value20, label %local.array.missing15 +local.array.value20: + %t62 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 8 + %t63 = load ptr, ptr %t62, !tbaa !2 + %t64 = getelementptr inbounds i64, ptr %t63, i64 %t45 + %t65 = load ptr, ptr %t64, !tbaa !6 + %t66 = call ptr @sc_rc_retain_str(ptr %t65) + store ptr %t66, ptr %s39 + br label %local.array.join16 +local.array.slow14: + %t67 = call ptr @scr_arr_peek_ref(ptr %t40, double %t41) + %t68 = icmp ne ptr %t67, null + br i1 %t68, label %local.array.slow.value22, label %local.array.missing15 +local.array.slow.value22: + %t69 = call ptr @sc_rc_retain_str(ptr %t67) + store ptr %t69, ptr %s39 + br label %local.array.join16 +local.array.missing15: + store ptr null, ptr %s39 + br label %local.array.join16 +local.array.join16: + %t70 = load ptr, ptr %s39 + %t73 = icmp eq ptr %t70, null + %t72 = select i1 %t73, i32 1, i32 0 + switch i32 %t72, label %u.bad24 [ i32 0, label %u.a25 i32 1, label %u.a26 ] +u.a25: + %t74 = call ptr @sc_rc_retain_str(ptr %t70) + store ptr %t74, ptr %s71 + br label %us.j23 +u.a26: + store ptr @sc_lit_4134463689533233, ptr %s71 + br label %us.j23 +u.bad24: + call void @sc_bad_tag() + unreachable +us.j23: + %t75 = load ptr, ptr %s71 + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t38) + %t79 = load ptr, ptr %s39 + call void @scr_str_release(ptr %t79) + call void @scr_str_release(ptr %t75) + br label %exc.cleanup29 +exc.k28: + %t80 = call ptr @sc_td_0(ptr %t75) + %t82 = load ptr, ptr %sc_l_flatPairs_0 + %t83 = load double, ptr %sc_l_i_0 + %t84 = fadd double %t83, 0x3FF0000000000000 + %t85 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 2 + %t86 = load i64, ptr %t85, !tbaa !2 + %t87 = fptosi double %t84 to i64 + %t88 = freeze i64 %t87 + %t89 = sitofp i64 %t88 to double + %t90 = fcmp oeq double %t89, %t84 + %t91 = icmp ult i64 %t88, %t86 + %t92 = and i1 %t90, %t91 + br i1 %t92, label %local.array.range33, label %local.array.slow30 +local.array.range33: + br label %local.array.dense34 +local.array.dense34: + %t93 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 6 + %t94 = load i32, ptr %t93, !tbaa !2 + %t96 = zext i32 %t94 to i64 + %t95 = icmp ult i64 %t88, %t96 + br i1 %t95, label %local.array.value36, label %local.array.len35 +local.array.len35: + %t97 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 1 + %t98 = load i64, ptr %t97, !tbaa !2, !range !{i64 0, i64 4294967296} + %t99 = icmp ult i64 %t88, %t98 + br i1 %t99, label %local.array.state37, label %local.array.missing31 +local.array.state37: + %t100 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 9 + %t101 = load ptr, ptr %t100, !tbaa !2 + %t102 = getelementptr inbounds i8, ptr %t101, i64 %t88 + %t103 = load i8, ptr %t102, !tbaa !4 + %t104 = icmp eq i8 %t103, 1 + br i1 %t104, label %local.array.value36, label %local.array.missing31 +local.array.value36: + %t105 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 8 + %t106 = load ptr, ptr %t105, !tbaa !2 + %t107 = getelementptr inbounds i64, ptr %t106, i64 %t88 + %t108 = load ptr, ptr %t107, !tbaa !6 + %t109 = call ptr @sc_rc_retain_str(ptr %t108) + store ptr %t109, ptr %s81 + br label %local.array.join32 +local.array.slow30: + %t110 = call ptr @scr_arr_peek_ref(ptr %t82, double %t84) + %t111 = icmp ne ptr %t110, null + br i1 %t111, label %local.array.slow.value38, label %local.array.missing31 +local.array.slow.value38: + %t112 = call ptr @sc_rc_retain_str(ptr %t110) + store ptr %t112, ptr %s81 + br label %local.array.join32 +local.array.missing31: + store ptr null, ptr %s81 + br label %local.array.join32 +local.array.join32: + %t113 = load ptr, ptr %s81 + %t116 = icmp eq ptr %t113, null + %t115 = select i1 %t116, i32 1, i32 0 + switch i32 %t115, label %u.bad40 [ i32 0, label %u.a41 i32 1, label %u.a42 ] +u.a41: + %t117 = call ptr @sc_rc_retain_str(ptr %t113) + store ptr %t117, ptr %s114 + br label %us.j39 +u.a42: + store ptr @sc_lit_4134463689533233, ptr %s114 + br label %us.j39 +u.bad40: + call void @sc_bad_tag() + unreachable +us.j39: + %t118 = load ptr, ptr %s114 + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u43, label %exc.k44 +exc.u43: + call void @sc_rc_release_dyn(ptr %t38) + %t122 = load ptr, ptr %s39 + call void @scr_str_release(ptr %t122) + call void @scr_str_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t80) + %t123 = load ptr, ptr %s81 + call void @scr_str_release(ptr %t123) + call void @scr_str_release(ptr %t118) + br label %exc.cleanup29 +exc.k44: + %t124 = call ptr @sc_td_0(ptr %t118) + %t126 = getelementptr inbounds [2 x ptr], ptr %s125, i64 0, i64 0 + store ptr %t80, ptr %t126 + %t127 = getelementptr inbounds [2 x ptr], ptr %s125, i64 0, i64 1 + store ptr %t124, ptr %t127 + call void @scr_dyn_this_push_dyn(ptr %t38) + %t128 = call ptr @scr_dyn_call(ptr %t36, ptr %s125, i64 2, ptr @sc_cs_2568656638816103) + call void @scr_dyn_this_pop() + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u45, label %exc.k46 +exc.u45: + call void @sc_rc_release_dyn(ptr %t38) + %t132 = load ptr, ptr %s39 + call void @scr_str_release(ptr %t132) + call void @scr_str_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t80) + %t133 = load ptr, ptr %s81 + call void @scr_str_release(ptr %t133) + call void @scr_str_release(ptr %t118) + call void @sc_rc_release_dyn(ptr %t124) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup29 +exc.k46: + call void @sc_rc_release_dyn(ptr %t38) + %t134 = load ptr, ptr %s39 + call void @scr_str_release(ptr %t134) + call void @scr_str_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t80) + %t135 = load ptr, ptr %s81 + call void @scr_str_release(ptr %t135) + call void @scr_str_release(ptr %t118) + call void @sc_rc_release_dyn(ptr %t124) + call void @sc_rc_release_dyn(ptr %t128) + %t136 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t136) + %t137 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t137) + br label %loop.u5 +loop.u5: + %t138 = load double, ptr %sc_l_i_0 + %t139 = fadd double %t138, 0x4000000000000000 + store double %t139, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t140 = load ptr, ptr %sc_l_this_0 + %t141 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t140, i64 0, i32 9 + %t142 = zext i1 true to i8 + store i8 %t142, ptr %t141, !tbaa !62 + %t143 = load ptr, ptr %sc_l_this_0 + %t144 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t143, i64 0, i32 8 + %t145 = zext i1 true to i8 + store i8 %t145, ptr %t144, !tbaa !42 + %t146 = load ptr, ptr %sc_l_this_0 + %t147 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t146, i64 0, i32 11 + %t148 = zext i1 true to i8 + store i8 %t148, ptr %t147, !tbaa !66 + ret void +exc.cleanup13: + %t149 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t149) + ret void +exc.cleanup29: + %t150 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t150) + %t151 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t151) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @scr_arr_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_endStream(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.endStream +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_ctl_0 = alloca ptr ; ctl + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_ctl_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 13 + %t6 = zext i1 true to i8 + store i8 %t6, ptr %t5, !tbaa !70 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t7, i64 0, i32 8 + %t9 = zext i1 true to i8 + store i8 %t9, ptr %t8, !tbaa !42 + %t10 = load ptr, ptr %sc_l_this_0 + %t11 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t10, i64 0, i32 12 + %t12 = load ptr, ptr %t11, !tbaa !68 + %t13 = call ptr @sc_rretain_r2(ptr %t12) + store ptr %t13, ptr %sc_l_ctl_0 + %t14 = load ptr, ptr %sc_l_ctl_0 + %t16 = icmp ne ptr %t14, null + br i1 %t16, label %if.t2, label %if.j3 +if.t2: + %t17 = load ptr, ptr %sc_l_ctl_0 + %t18 = getelementptr inbounds %sc_rs_r2, ptr %t17, i64 0, i32 1 + %t19 = load ptr, ptr %t18 + %t20 = call ptr @scr_closure_retain_v(ptr %t19) + %t21 = getelementptr inbounds %ScrClosure, ptr %t20, i64 0, i32 1 + %t22 = load ptr, ptr %t21 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t22(ptr %t20) + call void @scr_dyn_this_pop() + %t23 = load i32, ptr %exc.cell + %t24 = icmp ne i32 %t23, 0 + %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false) + br i1 %t25, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_closure_release(ptr %t20) + br label %exc.cleanup6 +exc.k5: + call void @scr_closure_release(ptr %t20) + br label %if.j3 +if.j3: + %t26 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rrelease_r2(ptr %t26) + ret void +exc.cleanup6: + %t27 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rrelease_r2(ptr %t27) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_endStream(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_endStream(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_adopt(ptr %p_sc_l_this_0, ptr %p_sc_l_view_0) #0 { ; %%m2.FetchResponseSink.adopt +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_view_0 = alloca ptr ; view + %sc_l_hs_0 = alloca ptr ; hs + %sc_l_self_0 = alloca ptr ; self + %sc_l__x25_dispatch_receiver_4 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_hs_0 + store ptr null, ptr %sc_l_self_0 + store ptr null, ptr %sc_l__x25_dispatch_receiver_4 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_view_0, ptr %sc_l_view_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load ptr, ptr %sc_l_view_0 + %t6 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 3 + %t7 = load double, ptr %t6 + %t8 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 3 + store double %t7, ptr %t8, !tbaa !52 + %t9 = load ptr, ptr %sc_l_view_0 + %t10 = getelementptr inbounds %sc_rs_r1, ptr %t9, i64 0, i32 2 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @sc_rc_retain_dyn(ptr %t11) + store ptr %t12, ptr %sc_l_hs_0 + %t13 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) ; let self (boxed) + store ptr %t13, ptr %sc_l_self_0 + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t14) + call void @scr_box_set_ref(ptr %t13, ptr %t15) + %t16 = load ptr, ptr %sc_l_hs_0 + store ptr %t16, ptr %sc_l__x25_dispatch_receiver_4 + %t17 = load ptr, ptr %sc_l__x25_dispatch_receiver_4 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = load ptr, ptr %sc_l__x25_dispatch_receiver_4 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_callback_0(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t21) + br label %exc.cleanup4 +exc.k3: + %t25 = call ptr @scr_closure_new(ptr @sc_f__x25_fn49, i64 1) + %t26 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 4 + store i32 4, ptr %t26 + %t27 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 7 + store ptr @sc_bf__x25_fn49, ptr %t27 + %t28 = load ptr, ptr %sc_l_self_0 + %t29 = call ptr @sc_retain_box(ptr %t28) + %t30 = getelementptr inbounds %ScrClosure, ptr %t25, i64 1 ; caps + %t31 = getelementptr inbounds ptr, ptr %t30, i64 0 ; caps[0] + store ptr %t29, ptr %t31 + %t32 = call ptr @sc_dfb_9(ptr %t25, ptr null) + %t33 = call ptr @sc_bf__x25_dyn_class_call_0(ptr %t18, ptr %t21, ptr %t32, ptr @sc_lit_3120000046228632) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_closure_release(ptr %t25) + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup4 +exc.k6: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_closure_release(ptr %t25) + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t33) + %t37 = load ptr, ptr %sc_l_this_0 + %t38 = load ptr, ptr %sc_l_view_0 + %t39 = call ptr @sc_rretain_r1(ptr %t38) + %t40 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t37, i64 0, i32 10 + %t41 = load ptr, ptr %t40 + store ptr %t39, ptr %t40, !tbaa !64 + call void @sc_rrelease_r1(ptr %t41) + %t42 = load ptr, ptr %sc_l_hs_0 + call void @sc_rc_release_dyn(ptr %t42) + %t43 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t43) + ret void +exc.cleanup4: + %t44 = load ptr, ptr %sc_l_hs_0 + call void @sc_rc_release_dyn(ptr %t44) + %t45 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t45) + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_adopt(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_adopt(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @sc_rrelease_r1(ptr %p1) + ret void +} + +define internal i1 @sc_bf__x25__x25_m2_FetchResponseSink_isSent(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.isSent +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 8 + %t2 = load i8, ptr %t1, !tbaa !42 + %t3 = trunc i8 %t2 to i1 + ret i1 %t3 +} +define internal i1 @sc_f__x25__x25_m2_FetchResponseSink_isSent(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m2_FetchResponseSink_isSent(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret i1 %result +} + +define internal i1 @sc_bf__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.isHeadersSent +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 9 + %t2 = load i8, ptr %t1, !tbaa !62 + %t3 = trunc i8 %t2 to i1 + ret i1 %t3 +} +define internal i1 @sc_f__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret i1 %result +} + +define internal double @sc_bf__x25__x25_m2_FetchResponseSink_statusOf(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.statusOf +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 3 + %t2 = load double, ptr %t1, !tbaa !52 + ret double %t2 +} +define internal double @sc_f__x25__x25_m2_FetchResponseSink_statusOf(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25__x25_m2_FetchResponseSink_statusOf(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret double %result +} + +define internal ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0) #0 { ; %%m2.FetchResponseSink.headerOf +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_kk_0 = alloca ptr ; kk + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv + %s47 = alloca ptr + %s54 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_kk_0 + store ptr null, ptr %sc_l__x25_propertyRecv_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + %t0 = load ptr, ptr %sc_l_k_0 + %t1 = call ptr @scr_str_to_lower(ptr %t0) + store ptr %t1, ptr %sc_l_kk_0 + store i32 0, ptr %sc_l_i_0 + br label %loop.c1 +loop.c1: + %t2 = load i32, ptr %sc_l_i_0 + %t3 = uitofp i32 %t2 to double + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 4 + %t6 = load ptr, ptr %t5, !tbaa !54 + %t7 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 1 + %t8 = load i64, ptr %t7, !tbaa !2, !range !{i64 0, i64 4294967296} + %t9 = sitofp i64 %t8 to double + %t11 = fptosi double %t9 to i64 + %t12 = zext i32 %t2 to i64 + %t10 = icmp slt i64 %t12, %t11 + br i1 %t10, label %loop.b2, label %loop.e0 +loop.b2: + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t13, i64 0, i32 4 + %t15 = load ptr, ptr %t14, !tbaa !54 + %t16 = load i32, ptr %sc_l_i_0 + %t17 = uitofp i32 %t16 to double + %t18 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 2 + %t19 = load i64, ptr %t18, !tbaa !2 + %t20 = fptosi double %t17 to i64 + %t21 = freeze i64 %t20 + %t22 = sitofp i64 %t21 to double + %t23 = fcmp oeq double %t22, %t17 + %t24 = icmp ult i64 %t21, %t19 + %t25 = and i1 %t23, %t24 + br i1 %t25, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t26 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 6 + %t27 = load i32, ptr %t26, !tbaa !2 + %t29 = zext i32 %t27 to i64 + %t28 = icmp ult i64 %t21, %t29 + br i1 %t28, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t30 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 1 + %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296} + %t32 = icmp ult i64 %t21, %t31 + br i1 %t32, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t33 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 9 + %t34 = load ptr, ptr %t33, !tbaa !2 + %t35 = getelementptr inbounds i8, ptr %t34, i64 %t21 + %t36 = load i8, ptr %t35, !tbaa !4 + %t37 = icmp eq i8 %t36, 1 + br i1 %t37, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t38 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 8 + %t39 = load ptr, ptr %t38, !tbaa !2 + %t40 = getelementptr inbounds i64, ptr %t39, i64 %t21 + %t41 = load ptr, ptr %t40, !tbaa !6 + store ptr %t41, ptr %sc_l__x25_propertyRecv_0 + br label %local.array.join6 +local.array.slow4: + %t42 = call ptr @scr_arr_peek_ref(ptr %t15, double %t17) + %t43 = icmp ne ptr %t42, null + br i1 %t43, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + store ptr %t42, ptr %sc_l__x25_propertyRecv_0 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %sc_l__x25_propertyRecv_0 + br label %local.array.join6 +local.array.join6: + %t44 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t46 = icmp eq ptr %t44, null + br i1 %t46, label %tern.t13, label %tern.f14 +tern.t13: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3343942521330690) + br label %exc.cleanup16 +exc.dead17: + store ptr null, ptr %s47 + br label %tern.j15 +tern.f14: + %t48 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t49 = call ptr @sc_rc_retain_str(ptr %t48) + store ptr %t49, ptr %s47 + br label %tern.j15 +tern.j15: + %t50 = load ptr, ptr %s47 + %t51 = call ptr @scr_str_to_lower(ptr %t50) + %t52 = load ptr, ptr %sc_l_kk_0 + %t53 = call zeroext i1 @sc_str_eq(ptr %t51, ptr %t52) + call void @scr_str_release(ptr %t50) + call void @scr_str_release(ptr %t51) + br i1 %t53, label %if.t18, label %if.j19 +if.t18: + %t55 = load ptr, ptr %sc_l_this_0 + %t56 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t55, i64 0, i32 5 + %t57 = load ptr, ptr %t56, !tbaa !56 + %t58 = load i32, ptr %sc_l_i_0 + %t59 = uitofp i32 %t58 to double + %t60 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 2 + %t61 = load i64, ptr %t60, !tbaa !2 + %t62 = fptosi double %t59 to i64 + %t63 = freeze i64 %t62 + %t64 = sitofp i64 %t63 to double + %t65 = fcmp oeq double %t64, %t59 + %t66 = icmp ult i64 %t63, %t61 + %t67 = and i1 %t65, %t66 + br i1 %t67, label %local.array.range23, label %local.array.slow20 +local.array.range23: + br label %local.array.dense24 +local.array.dense24: + %t68 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 6 + %t69 = load i32, ptr %t68, !tbaa !2 + %t71 = zext i32 %t69 to i64 + %t70 = icmp ult i64 %t63, %t71 + br i1 %t70, label %local.array.value26, label %local.array.len25 +local.array.len25: + %t72 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 1 + %t73 = load i64, ptr %t72, !tbaa !2, !range !{i64 0, i64 4294967296} + %t74 = icmp ult i64 %t63, %t73 + br i1 %t74, label %local.array.state27, label %local.array.missing21 +local.array.state27: + %t75 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 9 + %t76 = load ptr, ptr %t75, !tbaa !2 + %t77 = getelementptr inbounds i8, ptr %t76, i64 %t63 + %t78 = load i8, ptr %t77, !tbaa !4 + %t79 = icmp eq i8 %t78, 1 + br i1 %t79, label %local.array.value26, label %local.array.missing21 +local.array.value26: + %t80 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 8 + %t81 = load ptr, ptr %t80, !tbaa !2 + %t82 = getelementptr inbounds i64, ptr %t81, i64 %t63 + %t83 = load ptr, ptr %t82, !tbaa !6 + store ptr %t83, ptr %s54 + br label %local.array.join22 +local.array.slow20: + %t84 = call ptr @scr_arr_peek_ref(ptr %t57, double %t59) + %t85 = icmp ne ptr %t84, null + br i1 %t85, label %local.array.slow.value28, label %local.array.missing21 +local.array.slow.value28: + store ptr %t84, ptr %s54 + br label %local.array.join22 +local.array.missing21: + store ptr null, ptr %s54 + br label %local.array.join22 +local.array.join22: + %t86 = load ptr, ptr %s54 + %t87 = call ptr @sc_bf__x25_union_retag_6(ptr %t86) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u29, label %exc.k30 +exc.u29: + br label %exc.cleanup16 +exc.k30: + %t91 = call ptr @sc_nretain_string(ptr %t87) + %t92 = load ptr, ptr %sc_l_kk_0 + call void @scr_str_release(ptr %t92) + ret ptr %t91 +if.j19: + br label %loop.u3 +loop.u3: + %t93 = load i32, ptr %sc_l_i_0 + %t94 = uitofp i32 %t93 to double + %t96 = zext i32 %t93 to i64 + %t97 = add nsw i64 %t96, 1 + %t99 = trunc i64 %t97 to i32 + %t98 = sitofp i64 %t97 to double + %t100 = trunc i64 %t97 to i32 + store i32 %t100, ptr %sc_l_i_0 + br label %loop.c1 +loop.e0: + %t101 = load ptr, ptr %sc_l_kk_0 + call void @scr_str_release(ptr %t101) + ret ptr @sc_nullable_null +exc.cleanup16: + %t102 = load ptr, ptr %sc_l_kk_0 + call void @scr_str_release(ptr %t102) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m2_FetchResponseSink_headerOf(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf(ptr %p0, ptr %p1) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.headersMap +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca i32 ; i + %exc.cell = load ptr, ptr @scr_exc_active + %s29 = alloca ptr + store ptr null, ptr %sc_l_out_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @sc_rnew_r0() + store ptr %t4, ptr %sc_l_out_0 + store i32 0, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t5 = load i32, ptr %sc_l_i_0 + %t6 = uitofp i32 %t5 to double + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t7, i64 0, i32 4 + %t9 = load ptr, ptr %t8, !tbaa !54 + %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t11 = load i64, ptr %t10, !tbaa !2, !range !{i64 0, i64 4294967296} + %t12 = sitofp i64 %t11 to double + %t14 = fptosi double %t12 to i64 + %t15 = zext i32 %t5 to i64 + %t13 = icmp slt i64 %t15, %t14 + br i1 %t13, label %loop.b4, label %loop.e2 +loop.b4: + %t16 = load ptr, ptr %sc_l_out_0 + %t17 = call ptr @sc_rretain_r0(ptr %t16) + %t18 = load ptr, ptr %sc_l_this_0 + %t19 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t18, i64 0, i32 4 + %t20 = load ptr, ptr %t19, !tbaa !54 + %t21 = load i32, ptr %sc_l_i_0 + %t22 = uitofp i32 %t21 to double + %t23 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t20, double %t22) + %t24 = call ptr @sc_td_30(ptr %t23) + %t25 = call ptr @scr_dyn_string_coerce_js(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rrelease_r0(ptr %t17) + call void @scr_str_release(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + call void @scr_str_release(ptr %t25) + br label %exc.cleanup8 +exc.k7: + %t30 = load ptr, ptr %sc_l_this_0 + %t31 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t30, i64 0, i32 5 + %t32 = load ptr, ptr %t31, !tbaa !56 + %t33 = load i32, ptr %sc_l_i_0 + %t34 = uitofp i32 %t33 to double + %t35 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 2 + %t36 = load i64, ptr %t35, !tbaa !2 + %t37 = fptosi double %t34 to i64 + %t38 = freeze i64 %t37 + %t39 = sitofp i64 %t38 to double + %t40 = fcmp oeq double %t39, %t34 + %t41 = icmp ult i64 %t38, %t36 + %t42 = and i1 %t40, %t41 + br i1 %t42, label %local.array.range12, label %local.array.slow9 +local.array.range12: + br label %local.array.dense13 +local.array.dense13: + %t43 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 6 + %t44 = load i32, ptr %t43, !tbaa !2 + %t46 = zext i32 %t44 to i64 + %t45 = icmp ult i64 %t38, %t46 + br i1 %t45, label %local.array.value15, label %local.array.len14 +local.array.len14: + %t47 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 1 + %t48 = load i64, ptr %t47, !tbaa !2, !range !{i64 0, i64 4294967296} + %t49 = icmp ult i64 %t38, %t48 + br i1 %t49, label %local.array.state16, label %local.array.missing10 +local.array.state16: + %t50 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 9 + %t51 = load ptr, ptr %t50, !tbaa !2 + %t52 = getelementptr inbounds i8, ptr %t51, i64 %t38 + %t53 = load i8, ptr %t52, !tbaa !4 + %t54 = icmp eq i8 %t53, 1 + br i1 %t54, label %local.array.value15, label %local.array.missing10 +local.array.value15: + %t55 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 8 + %t56 = load ptr, ptr %t55, !tbaa !2 + %t57 = getelementptr inbounds i64, ptr %t56, i64 %t38 + %t58 = load ptr, ptr %t57, !tbaa !6 + store ptr %t58, ptr %s29 + br label %local.array.join11 +local.array.slow9: + %t59 = call ptr @scr_arr_peek_ref(ptr %t32, double %t34) + %t60 = icmp ne ptr %t59, null + br i1 %t60, label %local.array.slow.value17, label %local.array.missing10 +local.array.slow.value17: + store ptr %t59, ptr %s29 + br label %local.array.join11 +local.array.missing10: + store ptr null, ptr %s29 + br label %local.array.join11 +local.array.join11: + %t61 = load ptr, ptr %s29 + %t62 = call ptr @sc_bf__x25_union_narrow_8(ptr %t61) + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rrelease_r0(ptr %t17) + call void @scr_str_release(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + call void @scr_str_release(ptr %t25) + br label %exc.cleanup8 +exc.k19: + %t66 = call ptr @sc_rc_retain_str(ptr %t62) + %t67 = getelementptr inbounds %sc_rs_r0, ptr %t17, i64 0, i32 1 + %t68 = load ptr, ptr %t67 + call void @scr_map_set_str_ref(ptr %t68, ptr %t25, ptr %t66) + br label %rks.j20 +rks.j20: + call void @sc_rrelease_r0(ptr %t17) + call void @scr_str_release(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + call void @scr_str_release(ptr %t25) + br label %loop.u5 +loop.u5: + %t69 = load i32, ptr %sc_l_i_0 + %t70 = uitofp i32 %t69 to double + %t72 = zext i32 %t69 to i64 + %t73 = add nsw i64 %t72, 1 + %t75 = trunc i64 %t73 to i32 + %t74 = sitofp i64 %t73 to double + %t76 = trunc i64 %t73 to i32 + store i32 %t76, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t77 = load ptr, ptr %sc_l_out_0 + ret ptr %t77 +exc.cleanup8: + %t78 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r0(ptr %t78) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m2_FetchResponseSink_headersMap(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m2_FetchResponseSink_destroy(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.destroy +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m2_FetchResponseSink_destroy(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m2_FetchResponseSink_destroy(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25__x25_m2_FetchResponseSink_toResponse(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.toResponse +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_init_0 = alloca ptr ; init + %sc_l_i_0 = alloca double ; i + %sc_l_self_0 = alloca ptr ; self + %sc_l_rs_0 = alloca ptr ; rs + %sc_l__x25_responseBody_0 = alloca ptr ; %responseBody + %sc_l__x25_responseInit_0 = alloca ptr ; %responseInit + %sc_l_a_0 = alloca ptr ; a + %sc_l_b_0 = alloca ptr ; b + %sc_l__x25_responseBody_1 = alloca ptr ; %responseBody + %sc_l__x25_responseInit_1 = alloca ptr ; %responseInit + %sc_l__x25_responseInit_2 = alloca ptr ; %responseInit + %sc_l_body_0 = alloca ptr ; body + %sc_l__x25_responseBody_2 = alloca ptr ; %responseBody + %sc_l__x25_responseInit_3 = alloca ptr ; %responseInit + %sc_l__x25_responseInit_4 = alloca ptr ; %responseInit + %sc_l_self_1 = alloca ptr ; self + %s0 = alloca ptr ; lazy box this + %s27 = alloca ptr + %s61 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s71 = alloca ptr + %s106 = alloca ptr + store ptr null, ptr %sc_l_init_0 + store ptr null, ptr %sc_l_self_0 + store ptr null, ptr %sc_l_rs_0 + store ptr null, ptr %sc_l__x25_responseBody_0 + store ptr null, ptr %sc_l__x25_responseInit_0 + store ptr null, ptr %sc_l_a_0 + store ptr null, ptr %sc_l_b_0 + store ptr null, ptr %sc_l__x25_responseBody_1 + store ptr null, ptr %sc_l__x25_responseInit_1 + store ptr null, ptr %sc_l__x25_responseInit_2 + store ptr null, ptr %sc_l_body_0 + store ptr null, ptr %sc_l__x25_responseBody_2 + store ptr null, ptr %sc_l__x25_responseInit_3 + store ptr null, ptr %sc_l__x25_responseInit_4 + store ptr null, ptr %sc_l_self_1 + store ptr null, ptr %s0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t1 = call ptr @llvm.stacksave.p0() + %t2 = load ptr, ptr @scr_stack_guard + %t3 = icmp ult ptr %t1, %t2 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t5 = call ptr @sc_rnew_r28() + %t6 = load ptr, ptr %sc_l_this_0 + %t7 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t6, i64 0, i32 3 + %t8 = load double, ptr %t7, !tbaa !52 + %t9 = getelementptr inbounds %sc_rs_r28, ptr %t5, i64 0, i32 2 + store double %t8, ptr %t9 + %t10 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r18.sc_rrelease_r18.null, i64 0) + %t11 = getelementptr inbounds %sc_rs_r28, ptr %t5, i64 0, i32 1 + store ptr %t10, ptr %t11 + store ptr %t5, ptr %sc_l_init_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c4 +loop.c4: + %t12 = load double, ptr %sc_l_i_0 + %t13 = fadd double %t12, 0x3FF0000000000000 + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t14, i64 0, i32 6 + %t16 = load ptr, ptr %t15, !tbaa !58 + %t17 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1 + %t18 = load i64, ptr %t17, !tbaa !2, !range !{i64 0, i64 4294967296} + %t19 = sitofp i64 %t18 to double + %t21 = fptosi double %t19 to i64 + %t20 = fcmp olt double %t13, %t19 + br i1 %t20, label %loop.b5, label %loop.e3 +loop.b5: + %t22 = load ptr, ptr %sc_l_init_0 + %t23 = getelementptr inbounds %sc_rs_r28, ptr %t22, i64 0, i32 1 + %t24 = load ptr, ptr %t23 + %t25 = call ptr @scr_arr_retain_v(ptr %t24) + %t26 = call ptr @sc_rnew_r18() + %t28 = load ptr, ptr %sc_l_this_0 + %t29 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t28, i64 0, i32 6 + %t30 = load ptr, ptr %t29, !tbaa !58 + %t31 = load double, ptr %sc_l_i_0 + %t32 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t33 = load i64, ptr %t32, !tbaa !2 + %t34 = fptosi double %t31 to i64 + %t35 = freeze i64 %t34 + %t36 = sitofp i64 %t35 to double + %t37 = fcmp oeq double %t36, %t31 + %t38 = icmp ult i64 %t35, %t33 + %t39 = and i1 %t37, %t38 + br i1 %t39, label %local.array.range10, label %local.array.slow7 +local.array.range10: + br label %local.array.dense11 +local.array.dense11: + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t41 = load i32, ptr %t40, !tbaa !2 + %t43 = zext i32 %t41 to i64 + %t42 = icmp ult i64 %t35, %t43 + br i1 %t42, label %local.array.value13, label %local.array.len12 +local.array.len12: + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t45 = load i64, ptr %t44, !tbaa !2, !range !{i64 0, i64 4294967296} + %t46 = icmp ult i64 %t35, %t45 + br i1 %t46, label %local.array.state14, label %local.array.missing8 +local.array.state14: + %t47 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t48 = load ptr, ptr %t47, !tbaa !2 + %t49 = getelementptr inbounds i8, ptr %t48, i64 %t35 + %t50 = load i8, ptr %t49, !tbaa !4 + %t51 = icmp eq i8 %t50, 1 + br i1 %t51, label %local.array.value13, label %local.array.missing8 +local.array.value13: + %t52 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t53 = load ptr, ptr %t52, !tbaa !2 + %t54 = getelementptr inbounds i64, ptr %t53, i64 %t35 + %t55 = load ptr, ptr %t54, !tbaa !6 + %t56 = call ptr @sc_rc_retain_str(ptr %t55) + store ptr %t56, ptr %s27 + br label %local.array.join9 +local.array.slow7: + %t57 = call ptr @scr_arr_peek_ref(ptr %t30, double %t31) + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %local.array.slow.value15, label %local.array.missing8 +local.array.slow.value15: + %t59 = call ptr @sc_rc_retain_str(ptr %t57) + store ptr %t59, ptr %s27 + br label %local.array.join9 +local.array.missing8: + store ptr null, ptr %s27 + br label %local.array.join9 +local.array.join9: + %t60 = load ptr, ptr %s27 + %t63 = icmp eq ptr %t60, null + %t62 = select i1 %t63, i32 1, i32 0 + switch i32 %t62, label %u.bad17 [ i32 0, label %u.a18 i32 1, label %u.a19 ] +u.a18: + %t64 = call ptr @sc_rc_retain_str(ptr %t60) + store ptr %t64, ptr %s61 + br label %us.j16 +u.a19: + store ptr @sc_lit_4134463689533233, ptr %s61 + br label %us.j16 +u.bad17: + call void @sc_bad_tag() + unreachable +us.j16: + %t65 = load ptr, ptr %s61 + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_arr_release(ptr %t25) + call void @sc_rrelease_r18(ptr %t26) + %t69 = load ptr, ptr %s27 + call void @scr_str_release(ptr %t69) + call void @scr_str_release(ptr %t65) + br label %exc.cleanup22 +exc.k21: + %t70 = getelementptr inbounds %sc_rs_r18, ptr %t26, i64 0, i32 1 + store ptr %t65, ptr %t70 + %t72 = load ptr, ptr %sc_l_this_0 + %t73 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t72, i64 0, i32 6 + %t74 = load ptr, ptr %t73, !tbaa !58 + %t75 = load double, ptr %sc_l_i_0 + %t76 = fadd double %t75, 0x3FF0000000000000 + %t77 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 2 + %t78 = load i64, ptr %t77, !tbaa !2 + %t79 = fptosi double %t76 to i64 + %t80 = freeze i64 %t79 + %t81 = sitofp i64 %t80 to double + %t82 = fcmp oeq double %t81, %t76 + %t83 = icmp ult i64 %t80, %t78 + %t84 = and i1 %t82, %t83 + br i1 %t84, label %local.array.range26, label %local.array.slow23 +local.array.range26: + br label %local.array.dense27 +local.array.dense27: + %t85 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 6 + %t86 = load i32, ptr %t85, !tbaa !2 + %t88 = zext i32 %t86 to i64 + %t87 = icmp ult i64 %t80, %t88 + br i1 %t87, label %local.array.value29, label %local.array.len28 +local.array.len28: + %t89 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 1 + %t90 = load i64, ptr %t89, !tbaa !2, !range !{i64 0, i64 4294967296} + %t91 = icmp ult i64 %t80, %t90 + br i1 %t91, label %local.array.state30, label %local.array.missing24 +local.array.state30: + %t92 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 9 + %t93 = load ptr, ptr %t92, !tbaa !2 + %t94 = getelementptr inbounds i8, ptr %t93, i64 %t80 + %t95 = load i8, ptr %t94, !tbaa !4 + %t96 = icmp eq i8 %t95, 1 + br i1 %t96, label %local.array.value29, label %local.array.missing24 +local.array.value29: + %t97 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 8 + %t98 = load ptr, ptr %t97, !tbaa !2 + %t99 = getelementptr inbounds i64, ptr %t98, i64 %t80 + %t100 = load ptr, ptr %t99, !tbaa !6 + %t101 = call ptr @sc_rc_retain_str(ptr %t100) + store ptr %t101, ptr %s71 + br label %local.array.join25 +local.array.slow23: + %t102 = call ptr @scr_arr_peek_ref(ptr %t74, double %t76) + %t103 = icmp ne ptr %t102, null + br i1 %t103, label %local.array.slow.value31, label %local.array.missing24 +local.array.slow.value31: + %t104 = call ptr @sc_rc_retain_str(ptr %t102) + store ptr %t104, ptr %s71 + br label %local.array.join25 +local.array.missing24: + store ptr null, ptr %s71 + br label %local.array.join25 +local.array.join25: + %t105 = load ptr, ptr %s71 + %t108 = icmp eq ptr %t105, null + %t107 = select i1 %t108, i32 1, i32 0 + switch i32 %t107, label %u.bad33 [ i32 0, label %u.a34 i32 1, label %u.a35 ] +u.a34: + %t109 = call ptr @sc_rc_retain_str(ptr %t105) + store ptr %t109, ptr %s106 + br label %us.j32 +u.a35: + store ptr @sc_lit_4134463689533233, ptr %s106 + br label %us.j32 +u.bad33: + call void @sc_bad_tag() + unreachable +us.j32: + %t110 = load ptr, ptr %s106 + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_arr_release(ptr %t25) + call void @sc_rrelease_r18(ptr %t26) + %t114 = load ptr, ptr %s27 + call void @scr_str_release(ptr %t114) + %t115 = load ptr, ptr %s71 + call void @scr_str_release(ptr %t115) + call void @scr_str_release(ptr %t110) + br label %exc.cleanup22 +exc.k37: + %t116 = getelementptr inbounds %sc_rs_r18, ptr %t26, i64 0, i32 2 + store ptr %t110, ptr %t116 + %t117 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 1 + %t118 = load i64, ptr %t117, !tbaa !2 + %t121 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 2 + %t119 = load i64, ptr %t121, !tbaa !2 + %t120 = icmp ult i64 %t118, %t119 + br i1 %t120, label %arr.push.dense38, label %arr.push.slow39 +arr.push.dense38: + %t122 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 8 + %t124 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 9 + %t123 = load ptr, ptr %t122, !tbaa !2 + %t125 = load ptr, ptr %t124, !tbaa !2 + %t126 = getelementptr inbounds i8, ptr %t125, i64 %t118 + %t127 = getelementptr inbounds i64, ptr %t123, i64 %t118 + store ptr %t26, ptr %t127, !tbaa !6 + store i8 1, ptr %t126, !tbaa !4 + %t128 = add nuw i64 %t118, 1 + store i64 %t128, ptr %t117, !tbaa !2 + %t130 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 6 + %t131 = load i32, ptr %t130, !tbaa !2 + %t135 = zext i32 %t131 to i64 + %t132 = icmp eq i64 %t135, %t118 + %t133 = add i32 %t131, 1 + %t134 = select i1 %t132, i32 %t133, i32 %t131 + store i32 %t134, ptr %t130, !tbaa !2 + %t129 = sitofp i64 %t128 to double + br label %arr.push.join40 +arr.push.slow39: + %t136 = call double @scr_arr_push_ref(ptr %t25, ptr %t26) cold + br label %arr.push.join40 +arr.push.join40: + %t137 = phi double [ %t129, %arr.push.dense38 ], [ %t136, %arr.push.slow39 ] + call void @scr_arr_release(ptr %t25) + %t138 = load ptr, ptr %s27 + call void @scr_str_release(ptr %t138) + %t139 = load ptr, ptr %s71 + call void @scr_str_release(ptr %t139) + br label %loop.u6 +loop.u6: + %t140 = load double, ptr %sc_l_i_0 + %t141 = fadd double %t140, 0x4000000000000000 + store double %t141, ptr %sc_l_i_0 + br label %loop.c4 +loop.e3: + %t142 = load ptr, ptr %sc_l_this_0 + store ptr %t142, ptr %sc_l_self_1 + %t143 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) ; let self (boxed) + store ptr %t143, ptr %sc_l_self_0 + %t144 = load ptr, ptr %sc_l_self_1 + %t145 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t144) + call void @scr_box_set_ref(ptr %t143, ptr %t145) + %t146 = load ptr, ptr %sc_l_self_1 + %t147 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t146, i64 0, i32 11 + %t148 = load i8, ptr %t147, !tbaa !66 + %t149 = trunc i8 %t148 to i1 + br i1 %t149, label %if.t41, label %if.j42 +if.t41: + %t150 = call ptr @scr_dyn_new_obj() + %t151 = call ptr @scr_closure_new(ptr @sc_f__x25_fn48, i64 2) + %t152 = getelementptr inbounds %ScrClosure, ptr %t151, i64 0, i32 4 + store i32 4, ptr %t152 + %t153 = getelementptr inbounds %ScrClosure, ptr %t151, i64 0, i32 7 + store ptr @sc_bf__x25_fn48, ptr %t153 + %t154 = load ptr, ptr %sc_l_self_0 + %t155 = call ptr @sc_retain_box(ptr %t154) + %t156 = getelementptr inbounds %ScrClosure, ptr %t151, i64 1 ; caps + %t157 = getelementptr inbounds ptr, ptr %t156, i64 0 ; caps[0] + store ptr %t155, ptr %t157 + %t158 = load ptr, ptr %s0 + %t159 = icmp eq ptr %t158, null + br i1 %t159, label %lazy.box43, label %lazy.box.j44 +lazy.box43: + %t160 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) + %t161 = load ptr, ptr %sc_l_this_0 + %t162 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t161) + call void @scr_box_set_ref(ptr %t160, ptr %t162) + store ptr %t160, ptr %s0 + br label %lazy.box.j44 +lazy.box.j44: + %t163 = load ptr, ptr %s0 + %t164 = call ptr @sc_retain_box(ptr %t163) + %t165 = getelementptr inbounds %ScrClosure, ptr %t151, i64 1 ; caps + %t166 = getelementptr inbounds ptr, ptr %t165, i64 1 ; caps[1] + store ptr %t164, ptr %t166 + %t167 = call ptr @sc_dfb_12(ptr %t151, ptr null) + call void @scr_dyn_key_set(ptr %t150, ptr @sc_lit_3605103414985721, ptr %t167) + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u45, label %exc.k46 +exc.u45: + call void @sc_rc_release_dyn(ptr %t150) + call void @scr_closure_release(ptr %t151) + call void @sc_rc_release_dyn(ptr %t167) + br label %exc.cleanup47 +exc.k46: + %t171 = call ptr @scr_fetch_stream_new(ptr %t150) + %t172 = load i32, ptr %exc.cell + %t173 = icmp ne i32 %t172, 0 + %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false) + br i1 %t174, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t150) + call void @scr_closure_release(ptr %t151) + call void @sc_rc_release_dyn(ptr %t167) + call void @sc_rc_release_dyn(ptr %t171) + br label %exc.cleanup47 +exc.k49: + store ptr %t171, ptr %sc_l_rs_0 + call void @sc_rc_release_dyn(ptr %t150) + call void @scr_closure_release(ptr %t151) + call void @sc_rc_release_dyn(ptr %t167) + %t175 = load ptr, ptr %sc_l_rs_0 + store ptr %t175, ptr %sc_l__x25_responseBody_0 + %t176 = load ptr, ptr %sc_l_init_0 + store ptr %t176, ptr %sc_l__x25_responseInit_0 + %t177 = load ptr, ptr %sc_l__x25_responseBody_0 + %t178 = call ptr @sc_rc_retain_dyn(ptr %t177) + %t179 = load ptr, ptr %sc_l__x25_responseInit_0 + %t180 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t179, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t180, ptr @sc_ldr_34_materialize_rops) + %t181 = call ptr @scr_fetch_response_new(ptr %t178, ptr %t180) + %t182 = load i32, ptr %exc.cell + %t183 = icmp ne i32 %t182, 0 + %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false) + br i1 %t184, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t180) + call void @sc_rc_release_dyn(ptr %t181) + br label %exc.cleanup52 +exc.k51: + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t180) + %t185 = load ptr, ptr %sc_l_rs_0 + call void @sc_rc_release_dyn(ptr %t185) + %t186 = load ptr, ptr %s0 + %t187 = icmp ne ptr %t186, null + br i1 %t187, label %lazy.release53, label %lazy.release.j54 +lazy.release53: + call void @scr_box_release(ptr %t186) + br label %lazy.release.j54 +lazy.release.j54: + %t188 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t188) + %t189 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t189) + ret ptr %t181 +if.j42: + %t190 = load ptr, ptr %sc_l_this_0 + %t191 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t190, i64 0, i32 10 + %t192 = load ptr, ptr %t191, !tbaa !64 + %t193 = call ptr @sc_rretain_r1(ptr %t192) + store ptr %t193, ptr %sc_l_a_0 + %t194 = load ptr, ptr %sc_l_a_0 + %t196 = icmp ne ptr %t194, null + br i1 %t196, label %if.t55, label %if.j56 +if.t55: + %t197 = load ptr, ptr %sc_l_a_0 + %t198 = getelementptr inbounds %sc_rs_r1, ptr %t197, i64 0, i32 1 + %t199 = load ptr, ptr %t198 + %t200 = call ptr @sc_rc_retain_dyn(ptr %t199) + store ptr %t200, ptr %sc_l_b_0 + %t201 = load ptr, ptr %sc_l_b_0 + %t202 = getelementptr inbounds i8, ptr %t201, i64 8 ; ->kind + %t203 = load i32, ptr %t202 + %t204 = icmp eq i32 %t203, 0 + %t205 = xor i1 %t204, true + br i1 %t205, label %if.t57, label %if.j58 +if.t57: + %t206 = load ptr, ptr %sc_l_b_0 + store ptr %t206, ptr %sc_l__x25_responseBody_1 + %t207 = load ptr, ptr %sc_l_init_0 + store ptr %t207, ptr %sc_l__x25_responseInit_1 + %t208 = load ptr, ptr %sc_l__x25_responseBody_1 + %t209 = call ptr @sc_rc_retain_dyn(ptr %t208) + %t210 = load ptr, ptr %sc_l__x25_responseInit_1 + %t211 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t210, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t211, ptr @sc_ldr_34_materialize_rops) + %t212 = call ptr @scr_fetch_response_new(ptr %t209, ptr %t211) + %t213 = load i32, ptr %exc.cell + %t214 = icmp ne i32 %t213, 0 + %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false) + br i1 %t215, label %exc.u59, label %exc.k60 +exc.u59: + call void @sc_rc_release_dyn(ptr %t209) + call void @sc_rc_release_dyn(ptr %t211) + call void @sc_rc_release_dyn(ptr %t212) + br label %exc.cleanup61 +exc.k60: + call void @sc_rc_release_dyn(ptr %t209) + call void @sc_rc_release_dyn(ptr %t211) + %t216 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t216) + %t217 = load ptr, ptr %s0 + %t218 = icmp ne ptr %t217, null + br i1 %t218, label %lazy.release62, label %lazy.release.j63 +lazy.release62: + call void @scr_box_release(ptr %t217) + br label %lazy.release.j63 +lazy.release.j63: + %t219 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t219) + %t220 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t220) + %t221 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t221) + ret ptr %t212 +if.j58: + %t222 = load ptr, ptr %sc_l_init_0 + store ptr %t222, ptr %sc_l__x25_responseInit_2 + %t223 = call ptr @scr_dyn_new_null() + %t224 = load ptr, ptr %sc_l__x25_responseInit_2 + %t225 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t224, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t225, ptr @sc_ldr_34_materialize_rops) + %t226 = call ptr @scr_fetch_response_new(ptr %t223, ptr %t225) + %t227 = load i32, ptr %exc.cell + %t228 = icmp ne i32 %t227, 0 + %t229 = call i1 @llvm.expect.i1(i1 %t228, i1 false) + br i1 %t229, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_rc_release_dyn(ptr %t226) + br label %exc.cleanup61 +exc.k65: + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t225) + %t230 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t230) + %t231 = load ptr, ptr %s0 + %t232 = icmp ne ptr %t231, null + br i1 %t232, label %lazy.release66, label %lazy.release.j67 +lazy.release66: + call void @scr_box_release(ptr %t231) + br label %lazy.release.j67 +lazy.release.j67: + %t233 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t233) + %t234 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t234) + %t235 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t235) + ret ptr %t226 +if.j56: + %t236 = load ptr, ptr %sc_l_this_0 + %t237 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t236, i64 0, i32 7 + %t238 = load ptr, ptr %t237, !tbaa !60 + %t239 = call ptr @scr_arr_retain_v(ptr %t238) + %t240 = call ptr @scr_arr_join(ptr %t239, ptr @sc_lit_4005573543169985) + store ptr %t240, ptr %sc_l_body_0 + call void @scr_arr_release(ptr %t239) + %t241 = load ptr, ptr %sc_l_body_0 + %t242 = call double @sc_str_utf16_len(ptr %t241) + %t244 = fptosi double %t242 to i32 + %t245 = sext i32 %t244 to i64 + %t243 = icmp sgt i64 %t245, 0 + br i1 %t243, label %if.t68, label %if.j69 +if.t68: + %t246 = load ptr, ptr %sc_l_body_0 + store ptr %t246, ptr %sc_l__x25_responseBody_2 + %t247 = load ptr, ptr %sc_l_init_0 + store ptr %t247, ptr %sc_l__x25_responseInit_3 + %t248 = load ptr, ptr %sc_l__x25_responseBody_2 + %t249 = call ptr @sc_td_0(ptr %t248) + %t250 = load ptr, ptr %sc_l__x25_responseInit_3 + %t251 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t250, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t251, ptr @sc_ldr_34_materialize_rops) + %t252 = call ptr @scr_fetch_response_new(ptr %t249, ptr %t251) + %t253 = load i32, ptr %exc.cell + %t254 = icmp ne i32 %t253, 0 + %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false) + br i1 %t255, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t249) + call void @sc_rc_release_dyn(ptr %t251) + call void @sc_rc_release_dyn(ptr %t252) + br label %exc.cleanup72 +exc.k71: + call void @sc_rc_release_dyn(ptr %t249) + call void @sc_rc_release_dyn(ptr %t251) + %t256 = load ptr, ptr %s0 + %t257 = icmp ne ptr %t256, null + br i1 %t257, label %lazy.release73, label %lazy.release.j74 +lazy.release73: + call void @scr_box_release(ptr %t256) + br label %lazy.release.j74 +lazy.release.j74: + %t258 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t258) + %t259 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t259) + %t260 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t260) + %t261 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t261) + ret ptr %t252 +if.j69: + %t262 = load ptr, ptr %sc_l_init_0 + store ptr %t262, ptr %sc_l__x25_responseInit_4 + %t263 = call ptr @scr_dyn_new_null() + %t264 = load ptr, ptr %sc_l__x25_responseInit_4 + %t265 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t264, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t265, ptr @sc_ldr_34_materialize_rops) + %t266 = call ptr @scr_fetch_response_new(ptr %t263, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t263) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup72 +exc.k76: + call void @sc_rc_release_dyn(ptr %t263) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %s0 + %t271 = icmp ne ptr %t270, null + br i1 %t271, label %lazy.release77, label %lazy.release.j78 +lazy.release77: + call void @scr_box_release(ptr %t270) + br label %lazy.release.j78 +lazy.release.j78: + %t272 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t272) + %t273 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t273) + %t274 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t274) + %t275 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t275) + ret ptr %t266 +exc.cleanup2: + %t276 = load ptr, ptr %s0 + %t277 = icmp ne ptr %t276, null + br i1 %t277, label %lazy.release79, label %lazy.release.j80 +lazy.release79: + call void @scr_box_release(ptr %t276) + br label %lazy.release.j80 +lazy.release.j80: + ret ptr null +exc.cleanup22: + %t278 = load ptr, ptr %s0 + %t279 = icmp ne ptr %t278, null + br i1 %t279, label %lazy.release81, label %lazy.release.j82 +lazy.release81: + call void @scr_box_release(ptr %t278) + br label %lazy.release.j82 +lazy.release.j82: + %t280 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t280) + ret ptr null +exc.cleanup47: + %t281 = load ptr, ptr %s0 + %t282 = icmp ne ptr %t281, null + br i1 %t282, label %lazy.release83, label %lazy.release.j84 +lazy.release83: + call void @scr_box_release(ptr %t281) + br label %lazy.release.j84 +lazy.release.j84: + %t283 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t283) + %t284 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t284) + ret ptr null +exc.cleanup52: + %t285 = load ptr, ptr %sc_l_rs_0 + call void @sc_rc_release_dyn(ptr %t285) + %t286 = load ptr, ptr %s0 + %t287 = icmp ne ptr %t286, null + br i1 %t287, label %lazy.release85, label %lazy.release.j86 +lazy.release85: + call void @scr_box_release(ptr %t286) + br label %lazy.release.j86 +lazy.release.j86: + %t288 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t288) + %t289 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t289) + ret ptr null +exc.cleanup61: + %t290 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t290) + %t291 = load ptr, ptr %s0 + %t292 = icmp ne ptr %t291, null + br i1 %t292, label %lazy.release87, label %lazy.release.j88 +lazy.release87: + call void @scr_box_release(ptr %t291) + br label %lazy.release.j88 +lazy.release.j88: + %t293 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t293) + %t294 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t294) + %t295 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t295) + ret ptr null +exc.cleanup72: + %t296 = load ptr, ptr %s0 + %t297 = icmp ne ptr %t296, null + br i1 %t297, label %lazy.release89, label %lazy.release.j90 +lazy.release89: + call void @scr_box_release(ptr %t296) + br label %lazy.release.j90 +lazy.release.j90: + %t298 = load ptr, ptr %sc_l_init_0 + call void @sc_rrelease_r28(ptr %t298) + %t299 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t299) + %t300 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t300) + %t301 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t301) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m2_FetchResponseSink_toResponse(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_toResponse(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m3_LiteHeaders_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_im_0) #0 { ; %%m3.LiteHeaders.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_im_0 = alloca ptr ; im + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_im_0, ptr %sc_l_im_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_im_0 + %t2 = call ptr @scr_http_req_retain_v(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t0, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !72 + call void @scr_http_req_release(ptr %t4) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteHeaders_constructor(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteHeaders_constructor(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteHeaders(ptr %p0) + call void @scr_http_req_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25__x25_m3_LiteHeaders_get(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m3.LiteHeaders.get +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_h_0 = alloca ptr ; h + %sc_l_v_0 = alloca ptr ; v + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_h_0 + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !72 + %t7 = call ptr @scr_http_req_retain_v(ptr %t6) + %t8 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_req_release(ptr %t7) + call void @sc_rrelease_r26(ptr %t8) + ret ptr null +exc.k3: + call void @scr_http_req_release(ptr %t7) + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit) + store ptr %t12, ptr %sc_l_h_0 + call void @sc_rrelease_r26(ptr %t8) + %t13 = load ptr, ptr %sc_l_h_0 + %t14 = call ptr @sc_rc_retain_dyn(ptr %t13) + %t15 = load ptr, ptr %sc_l_name_0 + %t16 = call ptr @scr_str_to_lower(ptr %t15) + %t17 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t14, ptr %t16) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_str_release(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + br label %exc.cleanup6 +exc.k5: + call void @scr_str_release(ptr %t16) + store ptr %t17, ptr %sc_l_v_0 + %t21 = load ptr, ptr %sc_l_v_0 + %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 3 + br i1 %t24, label %if.t7, label %if.j8 +if.t7: + %t25 = load ptr, ptr %sc_l_v_0 + %t26 = call ptr @sc_dc_0(ptr %t25, ptr null) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u9, label %exc.k10 +exc.u9: + call void @scr_str_release(ptr %t26) + br label %exc.cleanup11 +exc.k10: + %t30 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t30) + %t31 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t31) + ret ptr %t26 +if.j8: + %t32 = load ptr, ptr %sc_l_v_0 + %t33 = getelementptr inbounds i8, ptr %t32, i64 8 ; ->kind + %t34 = load i32, ptr %t33 + %t35 = icmp eq i32 %t34, 4 + %t36 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t32) + %t37 = or i1 %t35, %t36 + br i1 %t37, label %if.t12, label %if.j13 +if.t12: + %t38 = load ptr, ptr %sc_l_v_0 + %t39 = call ptr @sc_dc_1(ptr %t38, ptr null) + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_arr_release(ptr %t39) + br label %exc.cleanup11 +exc.k15: + %t43 = call ptr @scr_arr_join(ptr %t39, ptr @sc_lit_176469025513879) + call void @scr_arr_release(ptr %t39) + %t44 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t44) + %t45 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t45) + ret ptr %t43 +if.j13: + %t46 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t46) + %t47 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t47) + ret ptr null +exc.cleanup6: + %t48 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr null +exc.cleanup11: + %t49 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t49) + %t50 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t50) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m3_LiteHeaders_get(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m3_LiteHeaders_get(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteHeaders(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal i1 @sc_bf__x25__x25_m3_LiteHeaders_has(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m3.LiteHeaders.has +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_h_0 = alloca ptr ; h + %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver + %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_h_0 + store ptr null, ptr %sc_l__x25_ownReceiver_0 + store ptr null, ptr %sc_l__x25_ownKey_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !72 + %t7 = call ptr @scr_http_req_retain_v(ptr %t6) + %t8 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_req_release(ptr %t7) + call void @sc_rrelease_r26(ptr %t8) + ret i1 false +exc.k3: + call void @scr_http_req_release(ptr %t7) + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit) + store ptr %t12, ptr %sc_l_h_0 + call void @sc_rrelease_r26(ptr %t8) + %t13 = load ptr, ptr %sc_l_h_0 + store ptr %t13, ptr %sc_l__x25_ownReceiver_0 + %t14 = load ptr, ptr %sc_l_name_0 + %t15 = call ptr @scr_str_to_lower(ptr %t14) + store ptr %t15, ptr %sc_l__x25_ownKey_0 + %t16 = load ptr, ptr %sc_l__x25_ownReceiver_0 + %t17 = call ptr @sc_rc_retain_dyn(ptr %t16) + %t18 = load ptr, ptr %sc_l__x25_ownKey_0 + %t19 = call ptr @sc_rc_retain_str(ptr %t18) + %t20 = call zeroext i1 @scr_dyn_has_own(ptr %t17, ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t17) + call void @scr_str_release(ptr %t19) + br label %exc.cleanup6 +exc.k5: + call void @sc_rc_release_dyn(ptr %t17) + call void @scr_str_release(ptr %t19) + %t24 = load ptr, ptr %sc_l__x25_ownKey_0 + call void @scr_str_release(ptr %t24) + %t25 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t25) + ret i1 %t20 +exc.cleanup6: + %t26 = load ptr, ptr %sc_l__x25_ownKey_0 + call void @scr_str_release(ptr %t26) + %t27 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t27) + ret i1 false +} +define internal i1 @sc_f__x25__x25_m3_LiteHeaders_has(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m3_LiteHeaders_has(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteHeaders(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_bf__x25__x25_m3_LiteHeaders_getSetCookie(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteHeaders.getSetCookie +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_h_0 = alloca ptr ; h + %sc_l_v_0 = alloca ptr ; v + %sc_l_out_0 = alloca ptr ; out + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget + %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue + %exc.cell = load ptr, ptr @scr_exc_active + %s62 = alloca i64 ; integer induction i + %s110 = alloca ptr + store ptr null, ptr %sc_l_h_0 + store ptr null, ptr %sc_l_v_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_a_0 + store ptr null, ptr %sc_l__x25_pushTarget_0 + store ptr null, ptr %sc_l__x25_pushValue_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !72 + %t7 = call ptr @scr_http_req_retain_v(ptr %t6) + %t8 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_req_release(ptr %t7) + call void @sc_rrelease_r26(ptr %t8) + ret ptr null +exc.k3: + call void @scr_http_req_release(ptr %t7) + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit) + store ptr %t12, ptr %sc_l_h_0 + call void @sc_rrelease_r26(ptr %t8) + %t13 = load ptr, ptr %sc_l_h_0 + %t14 = call ptr @sc_rc_retain_dyn(ptr %t13) + %t15 = call ptr @sc_f__x25_dyn_class_property_65(ptr %t14) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t15) + br label %exc.cleanup6 +exc.k5: + store ptr %t15, ptr %sc_l_v_0 + %t19 = call ptr @scr_arr_new_small(i32 2) + store ptr %t19, ptr %sc_l_out_0 + %t20 = load ptr, ptr %sc_l_v_0 + %t21 = getelementptr inbounds i8, ptr %t20, i64 8 ; ->kind + %t22 = load i32, ptr %t21 + %t23 = icmp eq i32 %t22, 3 + br i1 %t23, label %if.t7, label %if.f9 +if.t7: + %t24 = load ptr, ptr %sc_l_out_0 + %t25 = load ptr, ptr %sc_l_v_0 + %t26 = call ptr @sc_dc_0(ptr %t25, ptr null) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_str_release(ptr %t26) + br label %exc.cleanup12 +exc.k11: + %t30 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 1 + %t31 = load i64, ptr %t30, !tbaa !2 + %t34 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 2 + %t32 = load i64, ptr %t34, !tbaa !2 + %t33 = icmp ult i64 %t31, %t32 + br i1 %t33, label %arr.push.dense13, label %arr.push.slow14 +arr.push.dense13: + %t35 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 8 + %t37 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 9 + %t36 = load ptr, ptr %t35, !tbaa !2 + %t38 = load ptr, ptr %t37, !tbaa !2 + %t39 = getelementptr inbounds i8, ptr %t38, i64 %t31 + %t40 = getelementptr inbounds i64, ptr %t36, i64 %t31 + store ptr %t26, ptr %t40, !tbaa !6 + store i8 1, ptr %t39, !tbaa !4 + %t41 = add nuw i64 %t31, 1 + store i64 %t41, ptr %t30, !tbaa !2 + %t43 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 6 + %t44 = load i32, ptr %t43, !tbaa !2 + %t48 = zext i32 %t44 to i64 + %t45 = icmp eq i64 %t48, %t31 + %t46 = add i32 %t44, 1 + %t47 = select i1 %t45, i32 %t46, i32 %t44 + store i32 %t47, ptr %t43, !tbaa !2 + %t42 = sitofp i64 %t41 to double + br label %arr.push.join15 +arr.push.slow14: + %t49 = call double @scr_arr_push_ref(ptr %t24, ptr %t26) cold + br label %arr.push.join15 +arr.push.join15: + %t50 = phi double [ %t42, %arr.push.dense13 ], [ %t49, %arr.push.slow14 ] + br label %if.j8 +if.f9: + %t51 = load ptr, ptr %sc_l_v_0 + %t52 = getelementptr inbounds i8, ptr %t51, i64 8 ; ->kind + %t53 = load i32, ptr %t52 + %t54 = icmp eq i32 %t53, 4 + %t55 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t51) + %t56 = or i1 %t54, %t55 + br i1 %t56, label %if.t16, label %if.j17 +if.t16: + %t57 = load ptr, ptr %sc_l_v_0 + %t58 = call ptr @sc_dc_1(ptr %t57, ptr null) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_arr_release(ptr %t58) + br label %exc.cleanup12 +exc.k19: + store ptr %t58, ptr %sc_l_a_0 + %t63 = fptosi double 0x0000000000000000 to i64 + store i64 %t63, ptr %s62 + br label %loop.c21 +loop.c21: + %t64 = load ptr, ptr %sc_l_a_0 + %t65 = getelementptr inbounds %ScrArr, ptr %t64, i64 0, i32 1 + %t66 = load i64, ptr %t65, !tbaa !2 + %t67 = load i64, ptr %s62 + %t68 = icmp ult i64 %t67, %t66 + br i1 %t68, label %loop.b22, label %loop.e20 +loop.b22: + %t69 = load ptr, ptr %sc_l_out_0 + store ptr %t69, ptr %sc_l__x25_pushTarget_0 + %t70 = load ptr, ptr %sc_l_a_0 + %t71 = load i64, ptr %s62 + %t72 = load i64, ptr %s62 + %t73 = sitofp i64 %t72 to double + %t74 = trunc i64 %t72 to i32 + %t75 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 2 + %t76 = load i64, ptr %t75, !tbaa !2 + %t77 = icmp ult i64 %t71, %t76 + br i1 %t77, label %local.array.range27, label %local.array.slow24 +local.array.range27: + br label %local.array.dense28 +local.array.dense28: + %t78 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 6 + %t79 = load i32, ptr %t78, !tbaa !2 + %t81 = zext i32 %t79 to i64 + %t80 = icmp ult i64 %t71, %t81 + br i1 %t80, label %local.array.value30, label %local.array.len29 +local.array.len29: + %t82 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 1 + %t83 = load i64, ptr %t82, !tbaa !2, !range !{i64 0, i64 4294967296} + %t84 = icmp ult i64 %t71, %t83 + br i1 %t84, label %local.array.state31, label %local.array.missing25 +local.array.state31: + %t85 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 9 + %t86 = load ptr, ptr %t85, !tbaa !2 + %t87 = getelementptr inbounds i8, ptr %t86, i64 %t71 + %t88 = load i8, ptr %t87, !tbaa !4 + %t89 = icmp eq i8 %t88, 1 + br i1 %t89, label %local.array.value30, label %local.array.missing25 +local.array.value30: + %t90 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 8 + %t91 = load ptr, ptr %t90, !tbaa !2 + %t92 = getelementptr inbounds i64, ptr %t91, i64 %t71 + %t93 = load ptr, ptr %t92, !tbaa !6 + %t94 = call ptr @sc_rc_retain_str(ptr %t93) + store ptr %t94, ptr %sc_l__x25_pushValue_0 + br label %local.array.join26 +local.array.slow24: + %t95 = call ptr @scr_arr_peek_ref(ptr %t70, double %t73) + %t96 = icmp ne ptr %t95, null + br i1 %t96, label %local.array.slow.value32, label %local.array.missing25 +local.array.slow.value32: + %t97 = call ptr @sc_rc_retain_str(ptr %t95) + store ptr %t97, ptr %sc_l__x25_pushValue_0 + br label %local.array.join26 +local.array.missing25: + store ptr null, ptr %sc_l__x25_pushValue_0 + br label %local.array.join26 +local.array.join26: + %t98 = load ptr, ptr %sc_l__x25_pushValue_0 + %t100 = icmp eq ptr %t98, null + br i1 %t100, label %if.t33, label %if.f35 +if.t33: + %t101 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t102 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t103 = getelementptr inbounds %ScrArr, ptr %t102, i32 0, i32 1 + %t104 = load i64, ptr %t103, !tbaa !2, !range !{i64 0, i64 4294967296} + %t105 = sitofp i64 %t104 to double + call void @scr_arr_set_undefined(ptr %t101, double %t105) + br label %if.j34 +if.f35: + %t106 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t107 = load ptr, ptr %sc_l__x25_pushValue_0 + %t109 = icmp ne ptr %t107, null + br i1 %t109, label %tern.t36, label %tern.f37 +tern.t36: + %t111 = load ptr, ptr %sc_l__x25_pushValue_0 + %t112 = call ptr @sc_rc_retain_str(ptr %t111) + store ptr %t112, ptr %s110 + br label %tern.j38 +tern.f37: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup39 +exc.dead40: + store ptr null, ptr %s110 + br label %tern.j38 +tern.j38: + %t113 = load ptr, ptr %s110 + %t114 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 1 + %t115 = load i64, ptr %t114, !tbaa !2 + %t118 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 2 + %t116 = load i64, ptr %t118, !tbaa !2 + %t117 = icmp ult i64 %t115, %t116 + br i1 %t117, label %arr.push.dense41, label %arr.push.slow42 +arr.push.dense41: + %t119 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 8 + %t121 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 9 + %t120 = load ptr, ptr %t119, !tbaa !2 + %t122 = load ptr, ptr %t121, !tbaa !2 + %t123 = getelementptr inbounds i8, ptr %t122, i64 %t115 + %t124 = getelementptr inbounds i64, ptr %t120, i64 %t115 + store ptr %t113, ptr %t124, !tbaa !6 + store i8 1, ptr %t123, !tbaa !4 + %t125 = add nuw i64 %t115, 1 + store i64 %t125, ptr %t114, !tbaa !2 + %t127 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 6 + %t128 = load i32, ptr %t127, !tbaa !2 + %t132 = zext i32 %t128 to i64 + %t129 = icmp eq i64 %t132, %t115 + %t130 = add i32 %t128, 1 + %t131 = select i1 %t129, i32 %t130, i32 %t128 + store i32 %t131, ptr %t127, !tbaa !2 + %t126 = sitofp i64 %t125 to double + br label %arr.push.join43 +arr.push.slow42: + %t133 = call double @scr_arr_push_ref(ptr %t106, ptr %t113) cold + br label %arr.push.join43 +arr.push.join43: + %t134 = phi double [ %t126, %arr.push.dense41 ], [ %t133, %arr.push.slow42 ] + br label %if.j34 +if.j34: + %t135 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t136 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 1 + %t137 = load i64, ptr %t136, !tbaa !2, !range !{i64 0, i64 4294967296} + %t138 = sitofp i64 %t137 to double + %t139 = load ptr, ptr %sc_l__x25_pushValue_0 + call void @scr_str_release(ptr %t139) + br label %loop.u23 +loop.u23: + %t140 = load i64, ptr %s62 + %t141 = add nuw i64 %t140, 1 + store i64 %t141, ptr %s62 + br label %loop.c21 +loop.e20: + %t142 = load ptr, ptr %sc_l_a_0 + call void @scr_arr_release(ptr %t142) + br label %if.j17 +if.j17: + br label %if.j8 +if.j8: + %t143 = load ptr, ptr %sc_l_out_0 + %t144 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t144) + %t145 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t145) + ret ptr %t143 +exc.cleanup6: + %t146 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t146) + ret ptr null +exc.cleanup12: + %t147 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t147) + %t148 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t148) + %t149 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t149) + ret ptr null +exc.cleanup39: + %t150 = load ptr, ptr %sc_l__x25_pushValue_0 + call void @scr_str_release(ptr %t150) + %t151 = load ptr, ptr %sc_l_a_0 + call void @scr_arr_release(ptr %t151) + %t152 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t152) + %t153 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t153) + %t154 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t154) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m3_LiteHeaders_getSetCookie(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m3_LiteHeaders_getSetCookie(ptr %p0) + call void @sc_release__x25_m3_LiteHeaders(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m3_LiteHeaders_forEach(ptr %p_sc_l_this_0, ptr %p_sc_l_cb_0) #0 { ; %%m3.LiteHeaders.forEach +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_cb_0 = alloca ptr ; cb + %sc_l_h_0 = alloca ptr ; h + %sc_l_keys_0 = alloca ptr ; keys + %sc_l_i_0 = alloca i32 ; i + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %exc.cell = load ptr, ptr @scr_exc_active + %s19 = alloca i64 ; integer induction i + %s57 = alloca ptr + %s82 = alloca ptr + %s107 = alloca ptr + store ptr null, ptr %sc_l_h_0 + store ptr null, ptr %sc_l_keys_0 + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_cb_0, ptr %sc_l_cb_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !72 + %t7 = call ptr @scr_http_req_retain_v(ptr %t6) + %t8 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_req_release(ptr %t7) + call void @sc_rrelease_r26(ptr %t8) + ret void +exc.k3: + call void @scr_http_req_release(ptr %t7) + %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit) + store ptr %t12, ptr %sc_l_h_0 + call void @sc_rrelease_r26(ptr %t8) + %t13 = load ptr, ptr %sc_l_h_0 + %t14 = call ptr @sc_rc_retain_dyn(ptr %t13) + %t15 = call ptr @scr_dyn_obj_key_strs(ptr %t14) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t14) + call void @scr_arr_release(ptr %t15) + br label %exc.cleanup6 +exc.k5: + store ptr %t15, ptr %sc_l_keys_0 + call void @sc_rc_release_dyn(ptr %t14) + %t20 = fptosi double 0x0000000000000000 to i64 + store i64 %t20, ptr %s19 + br label %loop.c8 +loop.c8: + %t21 = load ptr, ptr %sc_l_keys_0 + %t22 = getelementptr inbounds %ScrArr, ptr %t21, i64 0, i32 1 + %t23 = load i64, ptr %t22, !tbaa !2 + %t24 = load i64, ptr %s19 + %t25 = icmp ult i64 %t24, %t23 + br i1 %t25, label %loop.b9, label %loop.e7 +loop.b9: + %t26 = load ptr, ptr %sc_l_keys_0 + %t27 = load i64, ptr %s19 + %t28 = load i64, ptr %s19 + %t29 = sitofp i64 %t28 to double + %t30 = trunc i64 %t28 to i32 + %t31 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 2 + %t32 = load i64, ptr %t31, !tbaa !2 + %t33 = icmp ult i64 %t27, %t32 + br i1 %t33, label %local.array.range14, label %local.array.slow11 +local.array.range14: + br label %local.array.dense15 +local.array.dense15: + %t34 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 6 + %t35 = load i32, ptr %t34, !tbaa !2 + %t37 = zext i32 %t35 to i64 + %t36 = icmp ult i64 %t27, %t37 + br i1 %t36, label %local.array.value17, label %local.array.len16 +local.array.len16: + %t38 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 1 + %t39 = load i64, ptr %t38, !tbaa !2, !range !{i64 0, i64 4294967296} + %t40 = icmp ult i64 %t27, %t39 + br i1 %t40, label %local.array.state18, label %local.array.missing12 +local.array.state18: + %t41 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 9 + %t42 = load ptr, ptr %t41, !tbaa !2 + %t43 = getelementptr inbounds i8, ptr %t42, i64 %t27 + %t44 = load i8, ptr %t43, !tbaa !4 + %t45 = icmp eq i8 %t44, 1 + br i1 %t45, label %local.array.value17, label %local.array.missing12 +local.array.value17: + %t46 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 8 + %t47 = load ptr, ptr %t46, !tbaa !2 + %t48 = getelementptr inbounds i64, ptr %t47, i64 %t27 + %t49 = load ptr, ptr %t48, !tbaa !6 + %t50 = call ptr @sc_rc_retain_str(ptr %t49) + store ptr %t50, ptr %sc_l_k_0 + br label %local.array.join13 +local.array.slow11: + %t51 = call ptr @scr_arr_peek_ref(ptr %t26, double %t29) + %t52 = icmp ne ptr %t51, null + br i1 %t52, label %local.array.slow.value19, label %local.array.missing12 +local.array.slow.value19: + %t53 = call ptr @sc_rc_retain_str(ptr %t51) + store ptr %t53, ptr %sc_l_k_0 + br label %local.array.join13 +local.array.missing12: + store ptr null, ptr %sc_l_k_0 + br label %local.array.join13 +local.array.join13: + %t54 = load ptr, ptr %sc_l_h_0 + %t55 = call ptr @sc_rc_retain_dyn(ptr %t54) + %t56 = load ptr, ptr %sc_l_k_0 + %t59 = icmp eq ptr %t56, null + %t58 = select i1 %t59, i32 1, i32 0 + switch i32 %t58, label %u.bad21 [ i32 0, label %u.a22 i32 1, label %u.a23 ] +u.a22: + %t60 = call ptr @sc_rc_retain_str(ptr %t56) + store ptr %t60, ptr %s57 + br label %us.j20 +u.a23: + store ptr @sc_lit_4134463689533233, ptr %s57 + br label %us.j20 +u.bad21: + call void @sc_bad_tag() + unreachable +us.j20: + %t61 = load ptr, ptr %s57 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t55) + call void @scr_str_release(ptr %t61) + br label %exc.cleanup26 +exc.k25: + %t65 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t55, ptr %t61) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u27, label %exc.k28 +exc.u27: + call void @scr_str_release(ptr %t61) + call void @sc_rc_release_dyn(ptr %t65) + br label %exc.cleanup26 +exc.k28: + call void @scr_str_release(ptr %t61) + store ptr %t65, ptr %sc_l_v_0 + %t69 = load ptr, ptr %sc_l_v_0 + %t70 = getelementptr inbounds i8, ptr %t69, i64 8 ; ->kind + %t71 = load i32, ptr %t70 + %t72 = icmp eq i32 %t71, 3 + br i1 %t72, label %if.t29, label %if.f31 +if.t29: + %t73 = load ptr, ptr %sc_l_cb_0 + %t74 = load ptr, ptr %sc_l_v_0 + %t75 = call ptr @sc_dc_0(ptr %t74, ptr null) + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_str_release(ptr %t75) + br label %exc.cleanup34 +exc.k33: + %t79 = load ptr, ptr %sc_l_k_0 + %t81 = icmp ne ptr %t79, null + br i1 %t81, label %tern.t35, label %tern.f36 +tern.t35: + %t83 = load ptr, ptr %sc_l_k_0 + %t84 = call ptr @sc_rc_retain_str(ptr %t83) + store ptr %t84, ptr %s82 + br label %tern.j37 +tern.f36: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + call void @scr_str_release(ptr %t75) + br label %exc.cleanup34 +exc.dead38: + store ptr null, ptr %s82 + br label %tern.j37 +tern.j37: + %t85 = load ptr, ptr %s82 + %t86 = getelementptr inbounds %ScrClosure, ptr %t73, i64 0, i32 1 + %t87 = load ptr, ptr %t86 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t87(ptr %t73, ptr %t75, ptr %t85) + call void @scr_dyn_this_pop() + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u39, label %exc.k40 +exc.u39: + br label %exc.cleanup34 +exc.k40: + br label %if.j30 +if.f31: + %t91 = load ptr, ptr %sc_l_v_0 + %t92 = getelementptr inbounds i8, ptr %t91, i64 8 ; ->kind + %t93 = load i32, ptr %t92 + %t94 = icmp eq i32 %t93, 4 + %t95 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t91) + %t96 = or i1 %t94, %t95 + br i1 %t96, label %if.t41, label %if.j42 +if.t41: + %t97 = load ptr, ptr %sc_l_cb_0 + %t98 = load ptr, ptr %sc_l_v_0 + %t99 = call ptr @sc_dc_1(ptr %t98, ptr null) + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u43, label %exc.k44 +exc.u43: + call void @scr_arr_release(ptr %t99) + br label %exc.cleanup34 +exc.k44: + %t103 = call ptr @scr_arr_join(ptr %t99, ptr @sc_lit_176469025513879) + %t104 = load ptr, ptr %sc_l_k_0 + %t106 = icmp ne ptr %t104, null + br i1 %t106, label %tern.t45, label %tern.f46 +tern.t45: + %t108 = load ptr, ptr %sc_l_k_0 + %t109 = call ptr @sc_rc_retain_str(ptr %t108) + store ptr %t109, ptr %s107 + br label %tern.j47 +tern.f46: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + call void @scr_arr_release(ptr %t99) + call void @scr_str_release(ptr %t103) + br label %exc.cleanup34 +exc.dead48: + store ptr null, ptr %s107 + br label %tern.j47 +tern.j47: + %t110 = load ptr, ptr %s107 + %t111 = getelementptr inbounds %ScrClosure, ptr %t97, i64 0, i32 1 + %t112 = load ptr, ptr %t111 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t112(ptr %t97, ptr %t103, ptr %t110) + call void @scr_dyn_this_pop() + %t113 = load i32, ptr %exc.cell + %t114 = icmp ne i32 %t113, 0 + %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false) + br i1 %t115, label %exc.u49, label %exc.k50 +exc.u49: + call void @scr_arr_release(ptr %t99) + br label %exc.cleanup34 +exc.k50: + call void @scr_arr_release(ptr %t99) + br label %if.j42 +if.j42: + br label %if.j30 +if.j30: + %t116 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t116) + %t117 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t117) + br label %loop.u10 +loop.u10: + %t118 = load i64, ptr %s19 + %t119 = add nuw i64 %t118, 1 + store i64 %t119, ptr %s19 + br label %loop.c8 +loop.e7: + %t120 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t120) + %t121 = load ptr, ptr %sc_l_keys_0 + call void @scr_arr_release(ptr %t121) + ret void +exc.cleanup6: + %t122 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t122) + ret void +exc.cleanup26: + %t123 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t123) + %t124 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t124) + %t125 = load ptr, ptr %sc_l_keys_0 + call void @scr_arr_release(ptr %t125) + ret void +exc.cleanup34: + %t126 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t126) + %t127 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t127) + %t128 = load ptr, ptr %sc_l_h_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_keys_0 + call void @scr_arr_release(ptr %t129) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteHeaders_forEach(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteHeaders_forEach(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteHeaders(ptr %p0) + call void @scr_closure_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteRequest_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_im_0) #0 { ; %%m3.LiteRequest.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_im_0 = alloca ptr ; im + %sc_l_raw_0 = alloca ptr ; raw + %sc_l_hv_0 = alloca ptr ; hv + %sc_l_host_0 = alloca ptr ; host + %sc_l_m_0 = alloca ptr ; m + %sc_l_chunks_0 = alloca ptr ; chunks + %sc_l_self_0 = alloca ptr ; self + %sc_l_rec_0 = alloca ptr ; rec + %sc_l_keys_0 = alloca ptr ; keys + %sc_l_i_0 = alloca i32 ; i + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %s18 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s41 = alloca i1 + %s52 = alloca ptr + %s64 = alloca ptr + %s69 = alloca [3 x ptr] + %s97 = alloca i1 + %s101 = alloca i1 + %s105 = alloca i1 + %s151 = alloca i64 ; integer induction i + %s166 = alloca ptr + store ptr null, ptr %sc_l_raw_0 + store ptr null, ptr %sc_l_hv_0 + store ptr null, ptr %sc_l_host_0 + store ptr null, ptr %sc_l_m_0 + store ptr null, ptr %sc_l_chunks_0 + store ptr null, ptr %sc_l_self_0 + store ptr null, ptr %sc_l_rec_0 + store ptr null, ptr %sc_l_keys_0 + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_im_0, ptr %sc_l_im_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t6 = call ptr @scr_dyn_undefined() + %t5 = call ptr @scr_dyn_retain_v(ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t4, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + store ptr %t5, ptr %t7, !tbaa !74 + call void @sc_rc_release_dyn(ptr %t8) + %t9 = load ptr, ptr %sc_l_this_0 + %t10 = load ptr, ptr %sc_l_im_0 + %t11 = call ptr @scr_http_req_retain_v(ptr %t10) + %t12 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t9, i64 0, i32 4 + %t13 = load ptr, ptr %t12 + store ptr %t11, ptr %t12, !tbaa !72 + call void @scr_http_req_release(ptr %t13) + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = load ptr, ptr %sc_l_im_0 + %t16 = call ptr @scr_http_req_retain_v(ptr %t15) + %t17 = call ptr @scr_http_req_method(ptr %t16) + store ptr %t17, ptr %s18 + %t19 = getelementptr inbounds %ScrStr, ptr %t17, i64 0, i32 1 + %t20 = load i64, ptr %t19 + %t21 = icmp ne i64 %t20, 0 + br i1 %t21, label %log.j3, label %log.r2 +log.r2: + call void @scr_str_release(ptr %t17) + store ptr @sc_lit_4005573543169985, ptr %s18 + br label %log.j3 +log.j3: + %t22 = load ptr, ptr %s18 + %t23 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t14, i64 0, i32 1 + %t24 = load ptr, ptr %t23 + store ptr %t22, ptr %t23, !tbaa !76 + call void @scr_str_release(ptr %t24) + call void @scr_http_req_release(ptr %t16) + %t25 = load ptr, ptr %sc_l_im_0 + %t26 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t25) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rrelease_r26(ptr %t26) + ret void +exc.k5: + %t30 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t26, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit) + store ptr %t30, ptr %sc_l_raw_0 + call void @sc_rrelease_r26(ptr %t26) + %t31 = load ptr, ptr %sc_l_raw_0 + %t32 = call ptr @sc_rc_retain_dyn(ptr %t31) + %t33 = call ptr @sc_f__x25_dyn_class_property_19(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup8 +exc.k7: + store ptr %t33, ptr %sc_l_hv_0 + %t37 = load ptr, ptr %sc_l_hv_0 + %t38 = getelementptr inbounds i8, ptr %t37, i64 8 ; ->kind + %t39 = load i32, ptr %t38 + %t40 = icmp eq i32 %t39, 3 + store i1 %t40, ptr %s41 + br i1 %t40, label %log.r9, label %log.j10 +log.r9: + %t42 = load ptr, ptr %sc_l_hv_0 + %t43 = call ptr @sc_dc_0(ptr %t42, ptr null) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u11, label %exc.k12 +exc.u11: + call void @scr_str_release(ptr %t43) + br label %exc.cleanup13 +exc.k12: + %t47 = call double @sc_str_utf16_len(ptr %t43) + %t49 = fptosi double %t47 to i32 + %t50 = sext i32 %t49 to i64 + %t48 = icmp sgt i64 %t50, 0 + store i1 %t48, ptr %s41 + call void @scr_str_release(ptr %t43) + br label %log.j10 +log.j10: + %t51 = load i1, ptr %s41 + br i1 %t51, label %tern.t14, label %tern.f15 +tern.t14: + %t53 = load ptr, ptr %sc_l_hv_0 + %t54 = call ptr @sc_dc_0(ptr %t53, ptr null) + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u17, label %exc.k18 +exc.u17: + call void @scr_str_release(ptr %t54) + br label %exc.cleanup13 +exc.k18: + store ptr %t54, ptr %s52 + br label %tern.j16 +tern.f15: + store ptr @sc_lit_799419648406123, ptr %s52 + br label %tern.j16 +tern.j16: + %t58 = load ptr, ptr %s52 + store ptr %t58, ptr %sc_l_host_0 + %t59 = load ptr, ptr %sc_l_this_0 + %t60 = load ptr, ptr %sc_l_host_0 + %t61 = load ptr, ptr %sc_l_im_0 + %t62 = call ptr @scr_http_req_retain_v(ptr %t61) + %t63 = call ptr @scr_http_req_url(ptr %t62) + store ptr %t63, ptr %s64 + %t65 = getelementptr inbounds %ScrStr, ptr %t63, i64 0, i32 1 + %t66 = load i64, ptr %t65 + %t67 = icmp ne i64 %t66, 0 + br i1 %t67, label %log.j20, label %log.r19 +log.r19: + call void @scr_str_release(ptr %t63) + store ptr @sc_lit_2434240011052594, ptr %s64 + br label %log.j20 +log.j20: + %t68 = load ptr, ptr %s64 + %t70 = getelementptr [3 x ptr], ptr %s69, i32 0, i32 0 + store ptr @sc_lit_2472641820270753, ptr %t70 + %t71 = getelementptr [3 x ptr], ptr %s69, i32 0, i32 1 + store ptr %t60, ptr %t71 + %t72 = getelementptr [3 x ptr], ptr %s69, i32 0, i32 2 + store ptr %t68, ptr %t72 + %t73 = call ptr @scr_str_concat_parts(ptr %s69, i64 3) + %t74 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t59, i64 0, i32 2 + %t75 = load ptr, ptr %t74 + store ptr %t73, ptr %t74, !tbaa !78 + call void @scr_str_release(ptr %t75) + call void @scr_http_req_release(ptr %t62) + call void @scr_str_release(ptr %t68) + %t76 = load ptr, ptr %sc_l_this_0 + %t77 = call ptr @sc_new__x25_m3_LiteHeaders() + %t78 = load ptr, ptr %sc_l_im_0 + call void @sc_bf__x25__x25_m3_LiteHeaders_constructor(ptr %t77, ptr %t78) + %t79 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t77, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t80 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t76, i64 0, i32 3 + %t81 = load ptr, ptr %t80 + store ptr %t79, ptr %t80, !tbaa !74 + call void @sc_rc_release_dyn(ptr %t81) + call void @sc_release__x25_m3_LiteHeaders(ptr %t77) + %t82 = load ptr, ptr %sc_l_this_0 + %t83 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t82, i64 0, i32 6 + %t84 = load ptr, ptr %t83 + store ptr null, ptr %t83, !tbaa !80 + call void @scr_str_release(ptr %t84) + %t85 = load ptr, ptr %sc_l_this_0 + %t86 = call ptr @scr_arr_new(i32 4, i64 0) + %t87 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t85, i64 0, i32 7 + %t88 = load ptr, ptr %t87 + store ptr %t86, ptr %t87, !tbaa !82 + call void @scr_arr_release(ptr %t88) + %t89 = load ptr, ptr %sc_l_this_0 + %t90 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t89, i64 0, i32 8 + store double 0x0000000000000000, ptr %t90, !tbaa !84 + %t91 = load ptr, ptr %sc_l_this_0 + %t92 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t91, i64 0, i32 1 + %t93 = load ptr, ptr %t92, !tbaa !76 + %t94 = call ptr @sc_rc_retain_str(ptr %t93) + store ptr %t94, ptr %sc_l_m_0 + %t95 = load ptr, ptr %sc_l_m_0 + %t96 = call zeroext i1 @sc_streq_2725580638052193(ptr %t95) + store i1 %t96, ptr %s97 + br i1 %t96, label %log.j22, label %log.r21 +log.r21: + %t98 = load ptr, ptr %sc_l_m_0 + %t99 = call zeroext i1 @sc_streq_2541794298493390(ptr %t98) + store i1 %t99, ptr %s97 + br label %log.j22 +log.j22: + %t100 = load i1, ptr %s97 + store i1 %t100, ptr %s101 + br i1 %t100, label %log.j24, label %log.r23 +log.r23: + %t102 = load ptr, ptr %sc_l_m_0 + %t103 = call zeroext i1 @sc_streq_2494668324074259(ptr %t102) + store i1 %t103, ptr %s101 + br label %log.j24 +log.j24: + %t104 = load i1, ptr %s101 + store i1 %t104, ptr %s105 + br i1 %t104, label %log.j26, label %log.r25 +log.r25: + %t106 = load ptr, ptr %sc_l_m_0 + %t107 = call zeroext i1 @sc_streq_1791854776991212(ptr %t106) + store i1 %t107, ptr %s105 + br label %log.j26 +log.j26: + %t108 = load i1, ptr %s105 + br i1 %t108, label %if.t27, label %if.j28 +if.t27: + %t109 = call ptr @scr_box_new(i32 3) ; let chunks (boxed) + store ptr %t109, ptr %sc_l_chunks_0 + %t110 = load ptr, ptr %sc_l_this_0 + %t111 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t110, i64 0, i32 7 + %t112 = load ptr, ptr %t111, !tbaa !82 + %t113 = call ptr @scr_arr_retain_v(ptr %t112) + call void @scr_box_set_ref(ptr %t109, ptr %t113) + %t114 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let self (boxed) + store ptr %t114, ptr %sc_l_self_0 + %t115 = load ptr, ptr %sc_l_this_0 + %t116 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t115) + call void @scr_box_set_ref(ptr %t114, ptr %t116) + %t117 = load ptr, ptr %sc_l_im_0 + %t118 = call ptr @scr_http_req_retain_v(ptr %t117) + %t119 = call ptr @scr_closure_new(ptr @sc_f__x25_fn34, i64 1) + %t120 = getelementptr inbounds %ScrClosure, ptr %t119, i64 0, i32 4 + store i32 4, ptr %t120 + %t121 = getelementptr inbounds %ScrClosure, ptr %t119, i64 0, i32 7 + store ptr @sc_bf__x25_fn34, ptr %t121 + %t122 = load ptr, ptr %sc_l_chunks_0 + %t123 = call ptr @sc_retain_box(ptr %t122) + %t124 = getelementptr inbounds %ScrClosure, ptr %t119, i64 1 ; caps + %t125 = getelementptr inbounds ptr, ptr %t124, i64 0 ; caps[0] + store ptr %t123, ptr %t125 + call void @scr_http_req_on_data(ptr %t118, ptr %t119, ptr @scr_net_data_thunk_bytes, i1 false) + call void @scr_http_req_release(ptr %t118) + %t126 = load ptr, ptr %sc_l_im_0 + %t127 = call ptr @scr_http_req_retain_v(ptr %t126) + %t128 = call ptr @scr_closure_new(ptr @sc_f__x25_fn35, i64 1) + %t129 = getelementptr inbounds %ScrClosure, ptr %t128, i64 0, i32 4 + store i32 4, ptr %t129 + %t130 = load ptr, ptr %sc_l_self_0 + %t131 = call ptr @sc_retain_box(ptr %t130) + %t132 = getelementptr inbounds %ScrClosure, ptr %t128, i64 1 ; caps + %t133 = getelementptr inbounds ptr, ptr %t132, i64 0 ; caps[0] + store ptr %t131, ptr %t133 + call void @scr_http_req_on_end(ptr %t127, ptr %t128, i1 false) + call void @scr_http_req_release(ptr %t127) + %t134 = load ptr, ptr %sc_l_im_0 + %t135 = call ptr @scr_http_req_retain_v(ptr %t134) + %t136 = call ptr @scr_closure_new(ptr @sc_f__x25_fn36, i64 1) + %t137 = getelementptr inbounds %ScrClosure, ptr %t136, i64 0, i32 4 + store i32 4, ptr %t137 + %t138 = load ptr, ptr %sc_l_self_0 + %t139 = call ptr @sc_retain_box(ptr %t138) + %t140 = getelementptr inbounds %ScrClosure, ptr %t136, i64 1 ; caps + %t141 = getelementptr inbounds ptr, ptr %t140, i64 0 ; caps[0] + store ptr %t139, ptr %t141 + call void @scr_http_req_on_error(ptr %t135, ptr %t136, ptr @scr_child_err_thunk0, i1 false) + call void @scr_http_req_release(ptr %t135) + %t142 = load ptr, ptr %sc_l_chunks_0 + call void @scr_box_release(ptr %t142) + %t143 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t143) + br label %if.j28 +if.j28: + %t144 = call ptr @sc_rnew_r0() + store ptr %t144, ptr %sc_l_rec_0 + %t145 = load ptr, ptr %sc_l_raw_0 + %t146 = call ptr @sc_rc_retain_dyn(ptr %t145) + %t147 = call ptr @scr_dyn_obj_key_strs(ptr %t146) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t146) + call void @scr_arr_release(ptr %t147) + br label %exc.cleanup31 +exc.k30: + store ptr %t147, ptr %sc_l_keys_0 + call void @sc_rc_release_dyn(ptr %t146) + %t152 = fptosi double 0x0000000000000000 to i64 + store i64 %t152, ptr %s151 + br label %loop.c33 +loop.c33: + %t153 = load ptr, ptr %sc_l_keys_0 + %t154 = getelementptr inbounds %ScrArr, ptr %t153, i64 0, i32 1 + %t155 = load i64, ptr %t154, !tbaa !2 + %t156 = load i64, ptr %s151 + %t157 = icmp ult i64 %t156, %t155 + br i1 %t157, label %loop.b34, label %loop.e32 +loop.b34: + %t158 = load ptr, ptr %sc_l_keys_0 + %t159 = load i64, ptr %s151 + %t160 = sitofp i64 %t159 to double + %t161 = trunc i64 %t159 to i32 + %t162 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t158, double %t160) + store ptr %t162, ptr %sc_l_k_0 + %t163 = load ptr, ptr %sc_l_raw_0 + %t164 = call ptr @sc_rc_retain_dyn(ptr %t163) + %t165 = load ptr, ptr %sc_l_k_0 + %t168 = icmp eq ptr %t165, null + %t167 = select i1 %t168, i32 1, i32 0 + switch i32 %t167, label %u.bad37 [ i32 0, label %u.a38 i32 1, label %u.a39 ] +u.a38: + %t169 = call ptr @sc_rc_retain_str(ptr %t165) + store ptr %t169, ptr %s166 + br label %us.j36 +u.a39: + store ptr @sc_lit_4134463689533233, ptr %s166 + br label %us.j36 +u.bad37: + call void @sc_bad_tag() + unreachable +us.j36: + %t170 = load ptr, ptr %s166 + %t171 = load i32, ptr %exc.cell + %t172 = icmp ne i32 %t171, 0 + %t173 = call i1 @llvm.expect.i1(i1 %t172, i1 false) + br i1 %t173, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t164) + call void @scr_str_release(ptr %t170) + br label %exc.cleanup42 +exc.k41: + %t174 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t164, ptr %t170) + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u43, label %exc.k44 +exc.u43: + call void @scr_str_release(ptr %t170) + call void @sc_rc_release_dyn(ptr %t174) + br label %exc.cleanup42 +exc.k44: + call void @scr_str_release(ptr %t170) + store ptr %t174, ptr %sc_l_v_0 + %t178 = load ptr, ptr %sc_l_v_0 + %t179 = getelementptr inbounds i8, ptr %t178, i64 8 ; ->kind + %t180 = load i32, ptr %t179 + %t181 = icmp eq i32 %t180, 3 + br i1 %t181, label %if.t45, label %if.f47 +if.t45: + %t182 = load ptr, ptr %sc_l_rec_0 + %t183 = call ptr @sc_rretain_r0(ptr %t182) + %t184 = load ptr, ptr %sc_l_k_0 + %t185 = call ptr @sc_td_30(ptr %t184) + %t186 = call ptr @scr_dyn_string_coerce_js(ptr %t185) + %t187 = load i32, ptr %exc.cell + %t188 = icmp ne i32 %t187, 0 + %t189 = call i1 @llvm.expect.i1(i1 %t188, i1 false) + br i1 %t189, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rrelease_r0(ptr %t183) + call void @sc_rc_release_dyn(ptr %t185) + call void @scr_str_release(ptr %t186) + br label %exc.cleanup50 +exc.k49: + %t190 = load ptr, ptr %sc_l_v_0 + %t191 = call ptr @sc_dc_0(ptr %t190, ptr null) + %t192 = load i32, ptr %exc.cell + %t193 = icmp ne i32 %t192, 0 + %t194 = call i1 @llvm.expect.i1(i1 %t193, i1 false) + br i1 %t194, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rrelease_r0(ptr %t183) + call void @sc_rc_release_dyn(ptr %t185) + call void @scr_str_release(ptr %t186) + call void @scr_str_release(ptr %t191) + br label %exc.cleanup50 +exc.k52: + %t195 = getelementptr inbounds %sc_rs_r0, ptr %t183, i64 0, i32 1 + %t196 = load ptr, ptr %t195 + call void @scr_map_set_str_ref(ptr %t196, ptr %t186, ptr %t191) + br label %rks.j53 +rks.j53: + call void @sc_rrelease_r0(ptr %t183) + call void @sc_rc_release_dyn(ptr %t185) + call void @scr_str_release(ptr %t186) + br label %if.j46 +if.f47: + %t197 = load ptr, ptr %sc_l_v_0 + %t198 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind + %t199 = load i32, ptr %t198 + %t200 = icmp eq i32 %t199, 4 + %t201 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t197) + %t202 = or i1 %t200, %t201 + br i1 %t202, label %if.t54, label %if.j55 +if.t54: + %t203 = load ptr, ptr %sc_l_rec_0 + %t204 = call ptr @sc_rretain_r0(ptr %t203) + %t205 = load ptr, ptr %sc_l_k_0 + %t206 = call ptr @sc_td_30(ptr %t205) + %t207 = call ptr @scr_dyn_string_coerce_js(ptr %t206) + %t208 = load i32, ptr %exc.cell + %t209 = icmp ne i32 %t208, 0 + %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false) + br i1 %t210, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rrelease_r0(ptr %t204) + call void @sc_rc_release_dyn(ptr %t206) + call void @scr_str_release(ptr %t207) + br label %exc.cleanup50 +exc.k57: + %t211 = load ptr, ptr %sc_l_v_0 + %t212 = call ptr @sc_dc_1(ptr %t211, ptr null) + %t213 = load i32, ptr %exc.cell + %t214 = icmp ne i32 %t213, 0 + %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false) + br i1 %t215, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rrelease_r0(ptr %t204) + call void @sc_rc_release_dyn(ptr %t206) + call void @scr_str_release(ptr %t207) + call void @scr_arr_release(ptr %t212) + br label %exc.cleanup50 +exc.k59: + %t216 = call ptr @scr_arr_join(ptr %t212, ptr @sc_lit_176469025513879) + %t217 = getelementptr inbounds %sc_rs_r0, ptr %t204, i64 0, i32 1 + %t218 = load ptr, ptr %t217 + call void @scr_map_set_str_ref(ptr %t218, ptr %t207, ptr %t216) + br label %rks.j60 +rks.j60: + call void @sc_rrelease_r0(ptr %t204) + call void @sc_rc_release_dyn(ptr %t206) + call void @scr_str_release(ptr %t207) + call void @scr_arr_release(ptr %t212) + br label %if.j55 +if.j55: + br label %if.j46 +if.j46: + %t219 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t219) + %t220 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t220) + br label %loop.u35 +loop.u35: + %t221 = load i64, ptr %s151 + %t222 = add nuw i64 %t221, 1 + store i64 %t222, ptr %s151 + br label %loop.c33 +loop.e32: + %t223 = load ptr, ptr %sc_l_this_0 + %t224 = load ptr, ptr %sc_l_rec_0 + %t225 = call ptr @sc_rretain_r0(ptr %t224) + %t226 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t223, i64 0, i32 5 + %t227 = load ptr, ptr %t226 + store ptr %t225, ptr %t226, !tbaa !86 + call void @sc_rrelease_r0(ptr %t227) + %t228 = load ptr, ptr %sc_l_raw_0 + call void @sc_rc_release_dyn(ptr %t228) + %t229 = load ptr, ptr %sc_l_hv_0 + call void @sc_rc_release_dyn(ptr %t229) + %t230 = load ptr, ptr %sc_l_host_0 + call void @scr_str_release(ptr %t230) + %t231 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t231) + %t232 = load ptr, ptr %sc_l_rec_0 + call void @sc_rrelease_r0(ptr %t232) + %t233 = load ptr, ptr %sc_l_keys_0 + call void @scr_arr_release(ptr %t233) + ret void +exc.cleanup8: + %t234 = load ptr, ptr %sc_l_raw_0 + call void @sc_rc_release_dyn(ptr %t234) + ret void +exc.cleanup13: + %t235 = load ptr, ptr %sc_l_raw_0 + call void @sc_rc_release_dyn(ptr %t235) + %t236 = load ptr, ptr %sc_l_hv_0 + call void @sc_rc_release_dyn(ptr %t236) + ret void +exc.cleanup31: + %t237 = load ptr, ptr %sc_l_raw_0 + call void @sc_rc_release_dyn(ptr %t237) + %t238 = load ptr, ptr %sc_l_hv_0 + call void @sc_rc_release_dyn(ptr %t238) + %t239 = load ptr, ptr %sc_l_host_0 + call void @scr_str_release(ptr %t239) + %t240 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t240) + %t241 = load ptr, ptr %sc_l_rec_0 + call void @sc_rrelease_r0(ptr %t241) + ret void +exc.cleanup42: + %t242 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t242) + %t243 = load ptr, ptr %sc_l_raw_0 + call void @sc_rc_release_dyn(ptr %t243) + %t244 = load ptr, ptr %sc_l_hv_0 + call void @sc_rc_release_dyn(ptr %t244) + %t245 = load ptr, ptr %sc_l_host_0 + call void @scr_str_release(ptr %t245) + %t246 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t246) + %t247 = load ptr, ptr %sc_l_rec_0 + call void @sc_rrelease_r0(ptr %t247) + %t248 = load ptr, ptr %sc_l_keys_0 + call void @scr_arr_release(ptr %t248) + ret void +exc.cleanup50: + %t249 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t249) + %t250 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t250) + %t251 = load ptr, ptr %sc_l_raw_0 + call void @sc_rc_release_dyn(ptr %t251) + %t252 = load ptr, ptr %sc_l_hv_0 + call void @sc_rc_release_dyn(ptr %t252) + %t253 = load ptr, ptr %sc_l_host_0 + call void @scr_str_release(ptr %t253) + %t254 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t254) + %t255 = load ptr, ptr %sc_l_rec_0 + call void @sc_rrelease_r0(ptr %t255) + %t256 = load ptr, ptr %sc_l_keys_0 + call void @scr_arr_release(ptr %t256) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteRequest_constructor(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteRequest_constructor(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteRequest(ptr %p0) + call void @scr_http_req_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteRequest.get:body +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_m_0 = alloca ptr ; m + %sc_l_im_0 = alloca ptr ; im + %sc_l_self_0 = alloca ptr ; self + %s0 = alloca ptr ; lazy box this + %s12 = alloca i1 + %s17 = alloca i1 + %s22 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_m_0 + store ptr null, ptr %sc_l_im_0 + store ptr null, ptr %sc_l_self_0 + store ptr null, ptr %s0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t1 = call ptr @llvm.stacksave.p0() + %t2 = load ptr, ptr @scr_stack_guard + %t3 = icmp ult ptr %t1, %t2 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t5, i64 0, i32 1 + %t7 = load ptr, ptr %t6, !tbaa !76 + %t8 = call ptr @sc_rc_retain_str(ptr %t7) + store ptr %t8, ptr %sc_l_m_0 + %t9 = load ptr, ptr %sc_l_m_0 + %t10 = call zeroext i1 @sc_streq_2725580638052193(ptr %t9) + %t11 = xor i1 %t10, true + store i1 %t11, ptr %s12 + br i1 %t11, label %log.r3, label %log.j4 +log.r3: + %t13 = load ptr, ptr %sc_l_m_0 + %t14 = call zeroext i1 @sc_streq_2541794298493390(ptr %t13) + %t15 = xor i1 %t14, true + store i1 %t15, ptr %s12 + br label %log.j4 +log.j4: + %t16 = load i1, ptr %s12 + store i1 %t16, ptr %s17 + br i1 %t16, label %log.r5, label %log.j6 +log.r5: + %t18 = load ptr, ptr %sc_l_m_0 + %t19 = call zeroext i1 @sc_streq_2494668324074259(ptr %t18) + %t20 = xor i1 %t19, true + store i1 %t20, ptr %s17 + br label %log.j6 +log.j6: + %t21 = load i1, ptr %s17 + store i1 %t21, ptr %s22 + br i1 %t21, label %log.r7, label %log.j8 +log.r7: + %t23 = load ptr, ptr %sc_l_m_0 + %t24 = call zeroext i1 @sc_streq_1791854776991212(ptr %t23) + %t25 = xor i1 %t24, true + store i1 %t25, ptr %s22 + br label %log.j8 +log.j8: + %t26 = load i1, ptr %s22 + br i1 %t26, label %if.t9, label %if.j10 +if.t9: + %t27 = call ptr @scr_dyn_new_null() + %t28 = load ptr, ptr %s0 + %t29 = icmp ne ptr %t28, null + br i1 %t29, label %lazy.release11, label %lazy.release.j12 +lazy.release11: + call void @scr_box_release(ptr %t28) + br label %lazy.release.j12 +lazy.release.j12: + %t30 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t30) + ret ptr %t27 +if.j10: + %t31 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) ; let im (boxed) + store ptr %t31, ptr %sc_l_im_0 + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t32, i64 0, i32 4 + %t34 = load ptr, ptr %t33, !tbaa !72 + %t35 = call ptr @scr_http_req_retain_v(ptr %t34) + call void @scr_box_set_ref(ptr %t31, ptr %t35) + %t36 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let self (boxed) + store ptr %t36, ptr %sc_l_self_0 + %t37 = load ptr, ptr %sc_l_this_0 + %t38 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t37) + call void @scr_box_set_ref(ptr %t36, ptr %t38) + %t39 = call ptr @scr_dyn_new_obj() + %t40 = call ptr @scr_closure_new(ptr @sc_f__x25_fn57, i64 3) + %t41 = getelementptr inbounds %ScrClosure, ptr %t40, i64 0, i32 4 + store i32 4, ptr %t41 + %t42 = load ptr, ptr %s0 + %t43 = icmp eq ptr %t42, null + br i1 %t43, label %lazy.box13, label %lazy.box.j14 +lazy.box13: + %t44 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) + %t45 = load ptr, ptr %sc_l_this_0 + %t46 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t45) + call void @scr_box_set_ref(ptr %t44, ptr %t46) + store ptr %t44, ptr %s0 + br label %lazy.box.j14 +lazy.box.j14: + %t47 = load ptr, ptr %s0 + %t48 = call ptr @sc_retain_box(ptr %t47) + %t49 = getelementptr inbounds %ScrClosure, ptr %t40, i64 1 ; caps + %t50 = getelementptr inbounds ptr, ptr %t49, i64 0 ; caps[0] + store ptr %t48, ptr %t50 + %t51 = load ptr, ptr %sc_l_self_0 + %t52 = call ptr @sc_retain_box(ptr %t51) + %t53 = getelementptr inbounds %ScrClosure, ptr %t40, i64 1 ; caps + %t54 = getelementptr inbounds ptr, ptr %t53, i64 1 ; caps[1] + store ptr %t52, ptr %t54 + %t55 = load ptr, ptr %sc_l_im_0 + %t56 = call ptr @sc_retain_box(ptr %t55) + %t57 = getelementptr inbounds %ScrClosure, ptr %t40, i64 1 ; caps + %t58 = getelementptr inbounds ptr, ptr %t57, i64 2 ; caps[2] + store ptr %t56, ptr %t58 + %t59 = call ptr @sc_dfb_12(ptr %t40, ptr null) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3605103414985721, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t59) + br label %exc.cleanup17 +exc.k16: + %t63 = call ptr @scr_fetch_stream_new(ptr %t39) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + br label %exc.cleanup17 +exc.k19: + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t59) + %t67 = load ptr, ptr %s0 + %t68 = icmp ne ptr %t67, null + br i1 %t68, label %lazy.release20, label %lazy.release.j21 +lazy.release20: + call void @scr_box_release(ptr %t67) + br label %lazy.release.j21 +lazy.release.j21: + %t69 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t69) + %t70 = load ptr, ptr %sc_l_im_0 + call void @scr_box_release(ptr %t70) + %t71 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t71) + ret ptr %t63 +exc.cleanup2: + %t72 = load ptr, ptr %s0 + %t73 = icmp ne ptr %t72, null + br i1 %t73, label %lazy.release22, label %lazy.release.j23 +lazy.release22: + call void @scr_box_release(ptr %t72) + br label %lazy.release.j23 +lazy.release.j23: + ret ptr null +exc.cleanup17: + %t74 = load ptr, ptr %s0 + %t75 = icmp ne ptr %t74, null + br i1 %t75, label %lazy.release24, label %lazy.release.j25 +lazy.release24: + call void @scr_box_release(ptr %t74) + br label %lazy.release.j25 +lazy.release.j25: + %t76 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t76) + %t77 = load ptr, ptr %sc_l_im_0 + call void @scr_box_release(ptr %t77) + %t78 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t78) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m3_LiteRequest_get_x3a_body(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %p0) + call void @sc_release__x25_m3_LiteRequest(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m3_LiteRequest_text(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteRequest.text +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_im_0 = alloca ptr ; im + %sc_l_self_0 = alloca ptr ; self + %sc_l_done_0 = alloca ptr ; done + %sc_l_done_1 = alloca ptr ; done + %s0 = alloca ptr ; lazy box this + store ptr null, ptr %sc_l_im_0 + store ptr null, ptr %sc_l_self_0 + store ptr null, ptr %sc_l_done_0 + store ptr null, ptr %sc_l_done_1 + store ptr null, ptr %s0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t1 = call ptr @llvm.stacksave.p0() + %t2 = load ptr, ptr @scr_stack_guard + %t3 = icmp ult ptr %t1, %t2 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t5 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) ; let im (boxed) + store ptr %t5, ptr %sc_l_im_0 + %t6 = load ptr, ptr %sc_l_this_0 + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 4 + %t8 = load ptr, ptr %t7, !tbaa !72 + %t9 = call ptr @scr_http_req_retain_v(ptr %t8) + call void @scr_box_set_ref(ptr %t5, ptr %t9) + %t10 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let self (boxed) + store ptr %t10, ptr %sc_l_self_0 + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t11) + call void @scr_box_set_ref(ptr %t10, ptr %t12) + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t13, i64 0, i32 6 + %t15 = load ptr, ptr %t14, !tbaa !80 + %t16 = call ptr @sc_nretain_string(ptr %t15) + store ptr %t16, ptr %sc_l_done_1 + %t17 = call ptr @scr_box_new_obj(ptr @sc_nretain_string, ptr @scr_str_release_v, ptr null) ; let done (boxed) + store ptr %t17, ptr %sc_l_done_0 + %t18 = load ptr, ptr %sc_l_done_1 + %t19 = call ptr @sc_nretain_string(ptr %t18) + call void @scr_box_set_ref(ptr %t17, ptr %t19) + %t20 = load ptr, ptr %sc_l_done_1 + %t22 = icmp ne ptr %t20, null + br i1 %t22, label %if.t3, label %if.j4 +if.t3: + %t23 = call ptr @scr_promise_new() + %t24 = call ptr @scr_make_resolve(ptr %t23, i32 2) + %t25 = call ptr @scr_closure_new(ptr @sc_f__x25_fn41, i64 1) + %t26 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 4 + store i32 4, ptr %t26 + %t27 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 7 + store ptr @sc_bf__x25_fn41, ptr %t27 + %t28 = load ptr, ptr %sc_l_done_0 + %t29 = call ptr @sc_retain_box(ptr %t28) + %t30 = getelementptr inbounds %ScrClosure, ptr %t25, i64 1 ; caps + %t31 = getelementptr inbounds ptr, ptr %t30, i64 0 ; caps[0] + store ptr %t29, ptr %t31 + call void @scr_promise_run_executor(ptr %t23, ptr %t25, ptr %t24) + call void @scr_closure_release(ptr %t25) + %t32 = load ptr, ptr %s0 + %t33 = icmp ne ptr %t32, null + br i1 %t33, label %lazy.release5, label %lazy.release.j6 +lazy.release5: + call void @scr_box_release(ptr %t32) + br label %lazy.release.j6 +lazy.release.j6: + %t34 = load ptr, ptr %sc_l_im_0 + call void @scr_box_release(ptr %t34) + %t35 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t35) + %t36 = load ptr, ptr %sc_l_done_1 + call void @scr_str_release(ptr %t36) + %t37 = load ptr, ptr %sc_l_done_0 + call void @scr_box_release(ptr %t37) + ret ptr %t23 +if.j4: + %t38 = call ptr @scr_promise_new() + %t39 = call ptr @scr_make_resolve(ptr %t38, i32 2) + %t40 = call ptr @scr_make_reject(ptr %t38) + %t41 = call ptr @scr_closure_new(ptr @sc_f__x25_fn42, i64 3) + %t42 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 4 + store i32 4, ptr %t42 + %t43 = load ptr, ptr %s0 + %t44 = icmp eq ptr %t43, null + br i1 %t44, label %lazy.box7, label %lazy.box.j8 +lazy.box7: + %t45 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) + %t46 = load ptr, ptr %sc_l_this_0 + %t47 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t46) + call void @scr_box_set_ref(ptr %t45, ptr %t47) + store ptr %t45, ptr %s0 + br label %lazy.box.j8 +lazy.box.j8: + %t48 = load ptr, ptr %s0 + %t49 = call ptr @sc_retain_box(ptr %t48) + %t50 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t51 = getelementptr inbounds ptr, ptr %t50, i64 0 ; caps[0] + store ptr %t49, ptr %t51 + %t52 = load ptr, ptr %sc_l_self_0 + %t53 = call ptr @sc_retain_box(ptr %t52) + %t54 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t55 = getelementptr inbounds ptr, ptr %t54, i64 1 ; caps[1] + store ptr %t53, ptr %t55 + %t56 = load ptr, ptr %sc_l_im_0 + %t57 = call ptr @sc_retain_box(ptr %t56) + %t58 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t59 = getelementptr inbounds ptr, ptr %t58, i64 2 ; caps[2] + store ptr %t57, ptr %t59 + call void @scr_promise_run_executor2(ptr %t38, ptr %t41, ptr %t39, ptr %t40) + call void @scr_closure_release(ptr %t41) + %t60 = load ptr, ptr %s0 + %t61 = icmp ne ptr %t60, null + br i1 %t61, label %lazy.release9, label %lazy.release.j10 +lazy.release9: + call void @scr_box_release(ptr %t60) + br label %lazy.release.j10 +lazy.release.j10: + %t62 = load ptr, ptr %sc_l_im_0 + call void @scr_box_release(ptr %t62) + %t63 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t63) + %t64 = load ptr, ptr %sc_l_done_1 + call void @scr_str_release(ptr %t64) + %t65 = load ptr, ptr %sc_l_done_0 + call void @scr_box_release(ptr %t65) + ret ptr %t38 +exc.cleanup2: + %t66 = load ptr, ptr %s0 + %t67 = icmp ne ptr %t66, null + br i1 %t67, label %lazy.release11, label %lazy.release.j12 +lazy.release11: + call void @scr_box_release(ptr %t66) + br label %lazy.release.j12 +lazy.release.j12: + ret ptr null +} +define internal ptr @sc_f__x25__x25_m3_LiteRequest_text(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m3_LiteRequest_text(ptr %p0) + call void @sc_release__x25_m3_LiteRequest(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m3_LiteRequest_arrayBuffer(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteRequest.arrayBuffer +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_im_0 = alloca ptr ; im + %sc_l_self_0 = alloca ptr ; self + %s0 = alloca ptr ; lazy box this + store ptr null, ptr %sc_l_im_0 + store ptr null, ptr %sc_l_self_0 + store ptr null, ptr %s0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t1 = call ptr @llvm.stacksave.p0() + %t2 = load ptr, ptr @scr_stack_guard + %t3 = icmp ult ptr %t1, %t2 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t5 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) ; let im (boxed) + store ptr %t5, ptr %sc_l_im_0 + %t6 = load ptr, ptr %sc_l_this_0 + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 4 + %t8 = load ptr, ptr %t7, !tbaa !72 + %t9 = call ptr @scr_http_req_retain_v(ptr %t8) + call void @scr_box_set_ref(ptr %t5, ptr %t9) + %t10 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let self (boxed) + store ptr %t10, ptr %sc_l_self_0 + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t11) + call void @scr_box_set_ref(ptr %t10, ptr %t12) + %t13 = call ptr @scr_promise_new() + %t14 = call ptr @scr_make_resolve_fn(ptr %t13, ptr @sc_rslv_0) + %t15 = call ptr @scr_make_reject(ptr %t13) + %t16 = call ptr @scr_closure_new(ptr @sc_f__x25_fn37, i64 3) + %t17 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 4 + store i32 4, ptr %t17 + %t18 = load ptr, ptr %s0 + %t19 = icmp eq ptr %t18, null + br i1 %t19, label %lazy.box3, label %lazy.box.j4 +lazy.box3: + %t20 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) + %t21 = load ptr, ptr %sc_l_this_0 + %t22 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t21) + call void @scr_box_set_ref(ptr %t20, ptr %t22) + store ptr %t20, ptr %s0 + br label %lazy.box.j4 +lazy.box.j4: + %t23 = load ptr, ptr %s0 + %t24 = call ptr @sc_retain_box(ptr %t23) + %t25 = getelementptr inbounds %ScrClosure, ptr %t16, i64 1 ; caps + %t26 = getelementptr inbounds ptr, ptr %t25, i64 0 ; caps[0] + store ptr %t24, ptr %t26 + %t27 = load ptr, ptr %sc_l_self_0 + %t28 = call ptr @sc_retain_box(ptr %t27) + %t29 = getelementptr inbounds %ScrClosure, ptr %t16, i64 1 ; caps + %t30 = getelementptr inbounds ptr, ptr %t29, i64 1 ; caps[1] + store ptr %t28, ptr %t30 + %t31 = load ptr, ptr %sc_l_im_0 + %t32 = call ptr @sc_retain_box(ptr %t31) + %t33 = getelementptr inbounds %ScrClosure, ptr %t16, i64 1 ; caps + %t34 = getelementptr inbounds ptr, ptr %t33, i64 2 ; caps[2] + store ptr %t32, ptr %t34 + call void @scr_promise_run_executor2(ptr %t13, ptr %t16, ptr %t14, ptr %t15) + call void @scr_closure_release(ptr %t16) + %t35 = load ptr, ptr %s0 + %t36 = icmp ne ptr %t35, null + br i1 %t36, label %lazy.release5, label %lazy.release.j6 +lazy.release5: + call void @scr_box_release(ptr %t35) + br label %lazy.release.j6 +lazy.release.j6: + %t37 = load ptr, ptr %sc_l_im_0 + call void @scr_box_release(ptr %t37) + %t38 = load ptr, ptr %sc_l_self_0 + call void @scr_box_release(ptr %t38) + ret ptr %t13 +exc.cleanup2: + %t39 = load ptr, ptr %s0 + %t40 = icmp ne ptr %t39, null + br i1 %t40, label %lazy.release7, label %lazy.release.j8 +lazy.release7: + call void @scr_box_release(ptr %t39) + br label %lazy.release.j8 +lazy.release.j8: + ret ptr null +} +define internal ptr @sc_f__x25__x25_m3_LiteRequest_arrayBuffer(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m3_LiteRequest_arrayBuffer(ptr %p0) + call void @sc_release__x25_m3_LiteRequest(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m3_LiteRequest_request(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteRequest.request +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_hs_0 = alloca ptr ; hs + %sc_l_lit_0 = alloca ptr ; lit + %sc_l__x25_protocolCallee_0 = alloca ptr ; %protocolCallee + %sc_l_init_0 = alloca ptr ; init + %sc_l__x25_setReceiver_0 = alloca ptr ; %setReceiver + %sc_l__x25_setKey_0 = alloca ptr ; %setKey + %sc_l__x25_setValue_0 = alloca ptr ; %setValue + %sc_l__x25_setReceiver_1 = alloca ptr ; %setReceiver + %sc_l__x25_setKey_1 = alloca ptr ; %setKey + %sc_l__x25_setValue_1 = alloca ptr ; %setValue + %sc_l_b_0 = alloca ptr ; b + %sc_l__x25_setReceiver_2 = alloca ptr ; %setReceiver + %sc_l__x25_setKey_2 = alloca ptr ; %setKey + %sc_l__x25_setValue_2 = alloca ptr ; %setValue + %sc_l__x25_setReceiver_3 = alloca ptr ; %setReceiver + %sc_l__x25_setKey_3 = alloca ptr ; %setKey + %sc_l__x25_setValue_3 = alloca ptr ; %setValue + %sc_l_hs_1 = alloca ptr ; hs + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_hs_0 + store ptr null, ptr %sc_l_lit_0 + store ptr null, ptr %sc_l__x25_protocolCallee_0 + store ptr null, ptr %sc_l_init_0 + store ptr null, ptr %sc_l__x25_setReceiver_0 + store ptr null, ptr %sc_l__x25_setKey_0 + store ptr null, ptr %sc_l__x25_setValue_0 + store ptr null, ptr %sc_l__x25_setReceiver_1 + store ptr null, ptr %sc_l__x25_setKey_1 + store ptr null, ptr %sc_l__x25_setValue_1 + store ptr null, ptr %sc_l_b_0 + store ptr null, ptr %sc_l__x25_setReceiver_2 + store ptr null, ptr %sc_l__x25_setKey_2 + store ptr null, ptr %sc_l__x25_setValue_2 + store ptr null, ptr %sc_l__x25_setReceiver_3 + store ptr null, ptr %sc_l__x25_setKey_3 + store ptr null, ptr %sc_l__x25_setValue_3 + store ptr null, ptr %sc_l_hs_1 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t5 = call ptr @scr_dyn_undefined() + %t4 = call ptr @scr_dyn_retain_v(ptr %t5) + %t6 = call ptr @scr_fetch_headers_new(ptr %t4) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t4) + %t10 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) ; let hs (boxed) + store ptr %t10, ptr %sc_l_hs_0 + %t11 = load ptr, ptr %sc_l_hs_1 + %t12 = call ptr @sc_rc_retain_dyn(ptr %t11) + call void @scr_box_set_ref(ptr %t10, ptr %t12) + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t13, i64 0, i32 3 + %t15 = load ptr, ptr %t14, !tbaa !74 + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + store ptr %t16, ptr %sc_l_lit_0 + %t17 = load ptr, ptr %sc_l_lit_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_protocol_callee_2(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup6 +exc.k5: + store ptr %t19, ptr %sc_l__x25_protocolCallee_0 + %t23 = load ptr, ptr %sc_l_lit_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = load ptr, ptr %sc_l__x25_protocolCallee_0 + %t26 = call ptr @scr_closure_new(ptr @sc_f__x25_fn46, i64 1) + %t27 = getelementptr inbounds %ScrClosure, ptr %t26, i64 0, i32 4 + store i32 4, ptr %t27 + %t28 = getelementptr inbounds %ScrClosure, ptr %t26, i64 0, i32 7 + store ptr @sc_bf__x25_fn46, ptr %t28 + %t29 = load ptr, ptr %sc_l_hs_0 + %t30 = call ptr @sc_retain_box(ptr %t29) + %t31 = getelementptr inbounds %ScrClosure, ptr %t26, i64 1 ; caps + %t32 = getelementptr inbounds ptr, ptr %t31, i64 0 ; caps[0] + store ptr %t30, ptr %t32 + %t33 = call ptr @sc_bf__x25_dyn_class_protocol_2(ptr %t24, ptr %t25, ptr %t26, ptr @sc_lit_516698931398762) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u7, label %exc.k8 +exc.u7: + call void @scr_closure_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup9 +exc.k8: + call void @scr_closure_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t33) + %t37 = load ptr, ptr %sc_l__x25_protocolCallee_0 + call void @sc_rc_release_dyn(ptr %t37) + %t38 = call ptr @scr_dyn_new_obj() + store ptr %t38, ptr %sc_l_init_0 + %t39 = load ptr, ptr %sc_l_init_0 + store ptr %t39, ptr %sc_l__x25_setReceiver_0 + %t40 = call ptr @sc_td_0(ptr @sc_lit_1609576561362083) + store ptr %t40, ptr %sc_l__x25_setKey_0 + %t41 = load ptr, ptr %sc_l_this_0 + %t42 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t41, i64 0, i32 1 + %t43 = load ptr, ptr %t42, !tbaa !76 + %t44 = call ptr @sc_rc_retain_str(ptr %t43) + store ptr %t44, ptr %sc_l__x25_setValue_0 + %t45 = load ptr, ptr %sc_l__x25_setReceiver_0 + %t46 = call ptr @sc_rc_retain_dyn(ptr %t45) + %t47 = load ptr, ptr %sc_l__x25_setKey_0 + %t48 = load ptr, ptr %sc_l__x25_setValue_0 + %t49 = call ptr @sc_td_0(ptr %t48) + call void @sc_bf__x25_dyn_class_computed_0(ptr %t46, ptr %t47, ptr %t49) + %t50 = load i32, ptr %exc.cell + %t51 = icmp ne i32 %t50, 0 + %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false) + br i1 %t52, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t49) + %t53 = load ptr, ptr %sc_l__x25_setKey_0 + call void @sc_rc_release_dyn(ptr %t53) + %t54 = load ptr, ptr %sc_l__x25_setValue_0 + call void @scr_str_release(ptr %t54) + %t55 = load ptr, ptr %sc_l_init_0 + store ptr %t55, ptr %sc_l__x25_setReceiver_1 + %t56 = call ptr @sc_td_0(ptr @sc_lit_977412068193087) + store ptr %t56, ptr %sc_l__x25_setKey_1 + %t57 = load ptr, ptr %sc_l_hs_1 + store ptr %t57, ptr %sc_l__x25_setValue_1 + %t58 = load ptr, ptr %sc_l__x25_setReceiver_1 + %t59 = call ptr @sc_rc_retain_dyn(ptr %t58) + %t60 = load ptr, ptr %sc_l__x25_setKey_1 + %t61 = load ptr, ptr %sc_l__x25_setValue_1 + call void @sc_bf__x25_dyn_class_computed_0(ptr %t59, ptr %t60, ptr %t61) + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u13, label %exc.k14 +exc.u13: + br label %exc.cleanup15 +exc.k14: + %t65 = load ptr, ptr %sc_l__x25_setKey_1 + call void @sc_rc_release_dyn(ptr %t65) + %t66 = load ptr, ptr %sc_l_this_0 + %t67 = call ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup18 +exc.k17: + store ptr %t67, ptr %sc_l_b_0 + %t71 = load ptr, ptr %sc_l_b_0 + %t72 = getelementptr inbounds i8, ptr %t71, i64 8 ; ->kind + %t73 = load i32, ptr %t72 + %t74 = icmp eq i32 %t73, 0 + %t75 = xor i1 %t74, true + br i1 %t75, label %if.t19, label %if.j20 +if.t19: + %t76 = load ptr, ptr %sc_l_init_0 + store ptr %t76, ptr %sc_l__x25_setReceiver_2 + %t77 = call ptr @sc_td_0(ptr @sc_lit_616655122974952) + store ptr %t77, ptr %sc_l__x25_setKey_2 + %t78 = load ptr, ptr %sc_l_b_0 + store ptr %t78, ptr %sc_l__x25_setValue_2 + %t79 = load ptr, ptr %sc_l__x25_setReceiver_2 + %t80 = call ptr @sc_rc_retain_dyn(ptr %t79) + %t81 = load ptr, ptr %sc_l__x25_setKey_2 + %t82 = load ptr, ptr %sc_l__x25_setValue_2 + call void @sc_bf__x25_dyn_class_computed_0(ptr %t80, ptr %t81, ptr %t82) + %t83 = load i32, ptr %exc.cell + %t84 = icmp ne i32 %t83, 0 + %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false) + br i1 %t85, label %exc.u21, label %exc.k22 +exc.u21: + br label %exc.cleanup23 +exc.k22: + %t86 = load ptr, ptr %sc_l__x25_setKey_2 + call void @sc_rc_release_dyn(ptr %t86) + %t87 = load ptr, ptr %sc_l_init_0 + store ptr %t87, ptr %sc_l__x25_setReceiver_3 + %t88 = call ptr @sc_td_0(ptr @sc_lit_1063589473929964) + store ptr %t88, ptr %sc_l__x25_setKey_3 + store ptr @sc_lit_2834188894379107, ptr %sc_l__x25_setValue_3 + %t89 = load ptr, ptr %sc_l__x25_setReceiver_3 + %t90 = call ptr @sc_rc_retain_dyn(ptr %t89) + %t91 = load ptr, ptr %sc_l__x25_setKey_3 + %t92 = load ptr, ptr %sc_l__x25_setValue_3 + %t93 = call ptr @sc_td_0(ptr %t92) + call void @sc_bf__x25_dyn_class_computed_0(ptr %t90, ptr %t91, ptr %t93) + %t94 = load i32, ptr %exc.cell + %t95 = icmp ne i32 %t94, 0 + %t96 = call i1 @llvm.expect.i1(i1 %t95, i1 false) + br i1 %t96, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t93) + br label %exc.cleanup26 +exc.k25: + call void @sc_rc_release_dyn(ptr %t93) + %t97 = load ptr, ptr %sc_l__x25_setKey_3 + call void @sc_rc_release_dyn(ptr %t97) + br label %if.j20 +if.j20: + %t98 = load ptr, ptr %sc_l_this_0 + %t99 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t98, i64 0, i32 2 + %t100 = load ptr, ptr %t99, !tbaa !78 + %t101 = call ptr @sc_rc_retain_str(ptr %t100) + %t102 = call ptr @sc_td_0(ptr %t101) + %t103 = load ptr, ptr %sc_l_init_0 + %t104 = call ptr @sc_rc_retain_dyn(ptr %t103) + %t105 = call ptr @scr_fetch_request_new(ptr %t102, ptr %t104) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u27, label %exc.k28 +exc.u27: + call void @scr_str_release(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t104) + call void @sc_rc_release_dyn(ptr %t105) + br label %exc.cleanup29 +exc.k28: + call void @scr_str_release(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t104) + %t109 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t109) + %t110 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t110) + %t111 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t111) + %t112 = load ptr, ptr %sc_l_init_0 + call void @sc_rc_release_dyn(ptr %t112) + %t113 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t113) + ret ptr %t105 +exc.cleanup6: + %t114 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t114) + %t115 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t115) + %t116 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t116) + ret ptr null +exc.cleanup9: + %t117 = load ptr, ptr %sc_l__x25_protocolCallee_0 + call void @sc_rc_release_dyn(ptr %t117) + %t118 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t118) + %t119 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t119) + %t120 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t120) + ret ptr null +exc.cleanup12: + %t121 = load ptr, ptr %sc_l__x25_setKey_0 + call void @sc_rc_release_dyn(ptr %t121) + %t122 = load ptr, ptr %sc_l__x25_setValue_0 + call void @scr_str_release(ptr %t122) + %t123 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t123) + %t124 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t124) + %t125 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t125) + %t126 = load ptr, ptr %sc_l_init_0 + call void @sc_rc_release_dyn(ptr %t126) + ret ptr null +exc.cleanup15: + %t127 = load ptr, ptr %sc_l__x25_setKey_1 + call void @sc_rc_release_dyn(ptr %t127) + %t128 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t129) + %t130 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t130) + %t131 = load ptr, ptr %sc_l_init_0 + call void @sc_rc_release_dyn(ptr %t131) + ret ptr null +exc.cleanup18: + %t132 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t132) + %t133 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t133) + %t134 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t134) + %t135 = load ptr, ptr %sc_l_init_0 + call void @sc_rc_release_dyn(ptr %t135) + ret ptr null +exc.cleanup23: + %t136 = load ptr, ptr %sc_l__x25_setKey_2 + call void @sc_rc_release_dyn(ptr %t136) + %t137 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t137) + %t138 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t138) + %t139 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t139) + %t140 = load ptr, ptr %sc_l_init_0 + call void @sc_rc_release_dyn(ptr %t140) + %t141 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t141) + ret ptr null +exc.cleanup26: + %t142 = load ptr, ptr %sc_l__x25_setKey_3 + call void @sc_rc_release_dyn(ptr %t142) + %t143 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t143) + %t144 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t144) + %t145 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t145) + %t146 = load ptr, ptr %sc_l_init_0 + call void @sc_rc_release_dyn(ptr %t146) + %t147 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t147) + ret ptr null +exc.cleanup29: + %t148 = load ptr, ptr %sc_l_hs_1 + call void @sc_rc_release_dyn(ptr %t148) + %t149 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t149) + %t150 = load ptr, ptr %sc_l_lit_0 + call void @sc_rc_release_dyn(ptr %t150) + %t151 = load ptr, ptr %sc_l_init_0 + call void @sc_rc_release_dyn(ptr %t151) + %t152 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t152) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m3_LiteRequest_request(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m3_LiteRequest_request(ptr %p0) + call void @sc_release__x25_m3_LiteRequest(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_res_0) #0 { ; %%m3.LiteResponse.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_res_0 = alloca ptr ; res + %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_res_0, ptr %sc_l_res_0 + store i1 false, ptr %sc_l__x25_superInitialized_0 + %t0 = load i1, ptr %sc_l__x25_superInitialized_0 + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207) + ret void +exc.dead2: + br label %if.j1 +if.j1: + %t1 = load ptr, ptr %sc_l_this_0 + call void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %t1) + %t2 = load i32, ptr %exc.cell + %t3 = icmp ne i32 %t2, 0 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %exc.u3, label %exc.k4 +exc.u3: + ret void +exc.k4: + store i1 true, ptr %sc_l__x25_superInitialized_0 + %t5 = load i1, ptr %sc_l__x25_superInitialized_0 + %t6 = xor i1 %t5, true + br i1 %t6, label %if.t5, label %if.j6 +if.t5: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead7: + br label %if.j6 +if.j6: + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = load ptr, ptr %sc_l_res_0 + %t9 = call ptr @scr_http_res_retain_v(ptr %t8) + %t10 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t7, i64 0, i32 14 + %t11 = load ptr, ptr %t10 + store ptr %t9, ptr %t10, !tbaa !88 + call void @scr_http_res_release(ptr %t11) + %t12 = load i1, ptr %sc_l__x25_superInitialized_0 + %t13 = xor i1 %t12, true + br i1 %t13, label %if.t8, label %if.j9 +if.t8: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead10: + br label %if.j9 +if.j9: + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_constructor(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_constructor(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @scr_http_res_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_setStatus(ptr %p_sc_l_this_0, double %p_sc_l_n_0) #0 { ; %%m3.LiteResponse.setStatus +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_n_0 = alloca double ; n + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l_n_0, ptr %sc_l_n_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load double, ptr %sc_l_n_0 + %t6 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 3 + store double %t5, ptr %t6, !tbaa !52 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t7, i64 0, i32 14 + %t9 = load ptr, ptr %t8, !tbaa !88 + %t10 = call ptr @scr_http_res_retain_v(ptr %t9) + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t11, i64 0, i32 3 + %t13 = load double, ptr %t12, !tbaa !52 + call void @scr_http_res_status_set(ptr %t10, double %t13) + call void @scr_http_res_release(ptr %t10) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_setStatus(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_setStatus(ptr %p0, double %p1) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_setHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m3.LiteResponse.setHeader +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca [2 x ptr] + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t5 = load i32, ptr %exc.cell + %t6 = icmp ne i32 %t5, 0 + %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false) + br i1 %t7, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + ret void +exc.k3: + %t8 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t4) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k5: + %t12 = load ptr, ptr %sc_l_this_0 + %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t14 = load ptr, ptr %sc_l_k_0 + %t15 = call ptr @sc_td_0(ptr %t14) + %t16 = load ptr, ptr %sc_l_v_0 + %t17 = call ptr @sc_td_0(ptr %t16) + %t19 = getelementptr inbounds [2 x ptr], ptr %s18, i64 0, i64 0 + store ptr %t15, ptr %t19 + %t20 = getelementptr inbounds [2 x ptr], ptr %s18, i64 0, i64 1 + store ptr %t17, ptr %t20 + call void @scr_dyn_this_push_dyn(ptr %t13) + %t21 = call ptr @scr_dyn_call(ptr %t8, ptr %s18, i64 2, ptr @sc_cs_3252210277870050) + call void @scr_dyn_this_pop() + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret void +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + %t25 = load ptr, ptr %sc_l_this_0 + %t26 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t25, i64 0, i32 14 + %t27 = load ptr, ptr %t26, !tbaa !88 + %t28 = call ptr @scr_http_res_retain_v(ptr %t27) + %t29 = load ptr, ptr %sc_l_k_0 + %t30 = call ptr @sc_rc_retain_str(ptr %t29) + %t31 = load ptr, ptr %sc_l_v_0 + %t32 = call ptr @sc_rc_retain_str(ptr %t31) + call void @scr_http_res_set_header(ptr %t28, ptr %t30, ptr %t32) + call void @scr_http_res_release(ptr %t28) + call void @scr_str_release(ptr %t30) + call void @scr_str_release(ptr %t32) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_setHeader(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_setHeader(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_appendHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m3.LiteResponse.appendHeader +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca [2 x ptr] + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t5 = load i32, ptr %exc.cell + %t6 = icmp ne i32 %t5, 0 + %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false) + br i1 %t7, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + ret void +exc.k3: + %t8 = call ptr @sc_f__x25_dyn_class_property_15(ptr %t4) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k5: + %t12 = load ptr, ptr %sc_l_this_0 + %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t14 = load ptr, ptr %sc_l_k_0 + %t15 = call ptr @sc_td_0(ptr %t14) + %t16 = load ptr, ptr %sc_l_v_0 + %t17 = call ptr @sc_td_0(ptr %t16) + %t19 = getelementptr inbounds [2 x ptr], ptr %s18, i64 0, i64 0 + store ptr %t15, ptr %t19 + %t20 = getelementptr inbounds [2 x ptr], ptr %s18, i64 0, i64 1 + store ptr %t17, ptr %t20 + call void @scr_dyn_this_push_dyn(ptr %t13) + %t21 = call ptr @scr_dyn_call(ptr %t8, ptr %s18, i64 2, ptr @sc_cs_603367798359837) + call void @scr_dyn_this_pop() + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret void +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + %t25 = load ptr, ptr %sc_l_this_0 + %t26 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t25, i64 0, i32 14 + %t27 = load ptr, ptr %t26, !tbaa !88 + %t28 = call ptr @scr_http_res_retain_v(ptr %t27) + %t29 = load ptr, ptr %sc_l_k_0 + %t30 = call ptr @sc_rc_retain_str(ptr %t29) + %t31 = load ptr, ptr %sc_l_v_0 + %t32 = call ptr @sc_rc_retain_str(ptr %t31) + call void @scr_http_res_set_header(ptr %t28, ptr %t30, ptr %t32) + call void @scr_http_res_release(ptr %t28) + call void @scr_str_release(ptr %t30) + call void @scr_str_release(ptr %t32) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_appendHeader(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_appendHeader(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_writeBody(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m3.LiteResponse.writeBody +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_s_0 = alloca ptr ; s + %sc_l_str_0 = alloca ptr ; str + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca ptr + %s29 = alloca [1 x ptr] + %s41 = alloca i1 + %s60 = alloca ptr + %s75 = alloca [2 x ptr] + %s94 = alloca ptr + %s108 = alloca [1 x ptr] + %s132 = alloca ptr + %s150 = alloca [2 x ptr] + store ptr null, ptr %sc_l_str_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_s_0 + store ptr %t4, ptr %sc_l_str_0 + %t5 = load ptr, ptr %sc_l_this_0 + store ptr %t5, ptr %sc_l__x25_callbackReceiver_0 + %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t7 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %t6) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t7) + ret void +exc.k3: + store ptr %t7, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t11 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 6 + br i1 %t14, label %tern.t4, label %tern.f5 +tern.t4: + %t17 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t17) + store ptr %t16, ptr %s15 + br label %tern.j6 +tern.f5: + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = call ptr @sc_rc_retain_dyn(ptr %t18) + %t20 = call ptr @sc_f__x25_dyn_class_property_28(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup9 +exc.k8: + store ptr %t20, ptr %s15 + br label %tern.j6 +tern.j6: + %t24 = load ptr, ptr %s15 + store ptr %t24, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t28 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t30 = getelementptr inbounds [1 x ptr], ptr %s29, i64 0, i64 0 + store ptr %t28, ptr %t30 + call void @scr_dyn_this_push_dyn(ptr %t27) + %t31 = call ptr @scr_dyn_call(ptr %t25, ptr %s29, i64 1, ptr @sc_cs_171661974819393) + call void @scr_dyn_this_pop() + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup12 +exc.k11: + %t35 = call ptr @sc_dc_63(ptr %t31, ptr null) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t31) + call void @scr_str_release(ptr %t35) + br label %exc.cleanup12 +exc.k14: + %t40 = icmp eq ptr %t35, @sc_nullable_null + store i1 %t40, ptr %s41 + br i1 %t40, label %log.r15, label %log.j16 +log.r15: + %t42 = load ptr, ptr %sc_l_str_0 + %t43 = call double @sc_str_utf16_len(ptr %t42) + %t45 = fptosi double %t43 to i32 + %t46 = sext i32 %t45 to i64 + %t44 = icmp sgt i64 %t46, 0 + store i1 %t44, ptr %s41 + br label %log.j16 +log.j16: + %t47 = load i1, ptr %s41 + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t31) + call void @scr_str_release(ptr %t35) + %t48 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t48) + %t49 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t49) + br i1 %t47, label %if.t17, label %if.j18 +if.t17: + %t50 = load ptr, ptr %sc_l_this_0 + store ptr %t50, ptr %sc_l__x25_callbackReceiver_1 + %t51 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t52 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %t51) + %t53 = load i32, ptr %exc.cell + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u19, label %exc.k20 +exc.u19: + call void @sc_rc_release_dyn(ptr %t52) + ret void +exc.k20: + store ptr %t52, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t56 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t57 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t58 = load i32, ptr %t57 + %t59 = icmp eq i32 %t58, 6 + br i1 %t59, label %tern.t21, label %tern.f22 +tern.t21: + %t62 = call ptr @scr_dyn_undefined() + %t61 = call ptr @scr_dyn_retain_v(ptr %t62) + store ptr %t61, ptr %s60 + br label %tern.j23 +tern.f22: + %t63 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t64 = call ptr @sc_rc_retain_dyn(ptr %t63) + %t65 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t64) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t65) + br label %exc.cleanup26 +exc.k25: + store ptr %t65, ptr %s60 + br label %tern.j23 +tern.j23: + %t69 = load ptr, ptr %s60 + store ptr %t69, ptr %sc_l__x25_callback_1 + %t70 = load ptr, ptr %sc_l__x25_callback_1 + %t71 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t72 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t71, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t73 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t74 = call ptr @sc_td_0(ptr @sc_lit_266676967674785) + %t76 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 0 + store ptr %t73, ptr %t76 + %t77 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 1 + store ptr %t74, ptr %t77 + call void @scr_dyn_this_push_dyn(ptr %t72) + %t78 = call ptr @scr_dyn_call(ptr %t70, ptr %s75, i64 2, ptr @sc_cs_2568656638816103) + call void @scr_dyn_this_pop() + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t78) + br label %exc.cleanup29 +exc.k28: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t78) + %t82 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t82) + %t83 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t83) + br label %if.j18 +if.j18: + %t84 = load ptr, ptr %sc_l_this_0 + store ptr %t84, ptr %sc_l__x25_callbackReceiver_2 + %t85 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t86 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %t85) + %t87 = load i32, ptr %exc.cell + %t88 = icmp ne i32 %t87, 0 + %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false) + br i1 %t89, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t86) + ret void +exc.k31: + store ptr %t86, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t90 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t91 = getelementptr inbounds i8, ptr %t90, i64 8 ; ->kind + %t92 = load i32, ptr %t91 + %t93 = icmp eq i32 %t92, 6 + br i1 %t93, label %tern.t32, label %tern.f33 +tern.t32: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + store ptr %t95, ptr %s94 + br label %tern.j34 +tern.f33: + %t97 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t98 = call ptr @sc_rc_retain_dyn(ptr %t97) + %t99 = call ptr @sc_f__x25_dyn_class_property_28(ptr %t98) + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t99) + br label %exc.cleanup37 +exc.k36: + store ptr %t99, ptr %s94 + br label %tern.j34 +tern.j34: + %t103 = load ptr, ptr %s94 + store ptr %t103, ptr %sc_l__x25_callback_2 + %t104 = load ptr, ptr %sc_l__x25_callback_2 + %t105 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t106 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t105, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t107 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802) + %t109 = getelementptr inbounds [1 x ptr], ptr %s108, i64 0, i64 0 + store ptr %t107, ptr %t109 + call void @scr_dyn_this_push_dyn(ptr %t106) + %t110 = call ptr @scr_dyn_call(ptr %t104, ptr %s108, i64 1, ptr @sc_cs_171661974819393) + call void @scr_dyn_this_pop() + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_rc_release_dyn(ptr %t107) + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup40 +exc.k39: + %t114 = call ptr @sc_dc_63(ptr %t110, ptr null) + %t115 = load i32, ptr %exc.cell + %t116 = icmp ne i32 %t115, 0 + %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false) + br i1 %t117, label %exc.u41, label %exc.k42 +exc.u41: + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_rc_release_dyn(ptr %t107) + call void @sc_rc_release_dyn(ptr %t110) + call void @scr_str_release(ptr %t114) + br label %exc.cleanup40 +exc.k42: + %t119 = icmp eq ptr %t114, @sc_nullable_null + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_rc_release_dyn(ptr %t107) + call void @sc_rc_release_dyn(ptr %t110) + call void @scr_str_release(ptr %t114) + %t120 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t120) + %t121 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t121) + br i1 %t119, label %if.t43, label %if.j44 +if.t43: + %t122 = load ptr, ptr %sc_l_this_0 + store ptr %t122, ptr %sc_l__x25_callbackReceiver_3 + %t123 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t124 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %t123) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u45, label %exc.k46 +exc.u45: + call void @sc_rc_release_dyn(ptr %t124) + ret void +exc.k46: + store ptr %t124, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t128 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t129 = getelementptr inbounds i8, ptr %t128, i64 8 ; ->kind + %t130 = load i32, ptr %t129 + %t131 = icmp eq i32 %t130, 6 + br i1 %t131, label %tern.t47, label %tern.f48 +tern.t47: + %t134 = call ptr @scr_dyn_undefined() + %t133 = call ptr @scr_dyn_retain_v(ptr %t134) + store ptr %t133, ptr %s132 + br label %tern.j49 +tern.f48: + %t135 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t136 = call ptr @sc_rc_retain_dyn(ptr %t135) + %t137 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t136) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup52 +exc.k51: + store ptr %t137, ptr %s132 + br label %tern.j49 +tern.j49: + %t141 = load ptr, ptr %s132 + store ptr %t141, ptr %sc_l__x25_callback_3 + %t142 = load ptr, ptr %sc_l__x25_callback_3 + %t143 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t144 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t143, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t145 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802) + %t146 = load ptr, ptr %sc_l_str_0 + %t147 = call double @sc_bf__x25_m2_utf8len(ptr %t146) + %t148 = call ptr @scr_f64_to_scrstr(double %t147) + %t149 = call ptr @sc_td_0(ptr %t148) + %t151 = getelementptr inbounds [2 x ptr], ptr %s150, i64 0, i64 0 + store ptr %t145, ptr %t151 + %t152 = getelementptr inbounds [2 x ptr], ptr %s150, i64 0, i64 1 + store ptr %t149, ptr %t152 + call void @scr_dyn_this_push_dyn(ptr %t144) + %t153 = call ptr @scr_dyn_call(ptr %t142, ptr %s150, i64 2, ptr @sc_cs_2568656638816103) + call void @scr_dyn_this_pop() + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t144) + call void @sc_rc_release_dyn(ptr %t145) + call void @scr_str_release(ptr %t148) + call void @sc_rc_release_dyn(ptr %t149) + call void @sc_rc_release_dyn(ptr %t153) + br label %exc.cleanup55 +exc.k54: + call void @sc_rc_release_dyn(ptr %t144) + call void @sc_rc_release_dyn(ptr %t145) + call void @scr_str_release(ptr %t148) + call void @sc_rc_release_dyn(ptr %t149) + call void @sc_rc_release_dyn(ptr %t153) + %t157 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t157) + %t158 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t158) + br label %if.j44 +if.j44: + %t159 = load ptr, ptr %sc_l_this_0 + %t160 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t159, i64 0, i32 14 + %t161 = load ptr, ptr %t160, !tbaa !88 + %t162 = call ptr @scr_http_res_retain_v(ptr %t161) + %t163 = load ptr, ptr %sc_l_this_0 + %t164 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t163, i64 0, i32 3 + %t165 = load double, ptr %t164, !tbaa !52 + call void @scr_http_res_status_set(ptr %t162, double %t165) + call void @scr_http_res_release(ptr %t162) + %t166 = load ptr, ptr %sc_l_this_0 + %t167 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t166, i64 0, i32 14 + %t168 = load ptr, ptr %t167, !tbaa !88 + %t169 = call ptr @scr_http_res_retain_v(ptr %t168) + %t170 = load ptr, ptr %sc_l_str_0 + %t171 = call ptr @sc_rc_retain_str(ptr %t170) + call void @scr_http_res_end_str(ptr %t169, ptr %t171) + %t172 = load i32, ptr %exc.cell + %t173 = icmp ne i32 %t172, 0 + %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false) + br i1 %t174, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_http_res_release(ptr %t169) + call void @scr_str_release(ptr %t171) + ret void +exc.k57: + call void @scr_http_res_release(ptr %t169) + call void @scr_str_release(ptr %t171) + %t175 = load ptr, ptr %sc_l_this_0 + %t176 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t175, i64 0, i32 8 + %t177 = zext i1 true to i8 + store i8 %t177, ptr %t176, !tbaa !42 + %t178 = load ptr, ptr %sc_l_this_0 + %t179 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t178, i64 0, i32 9 + %t180 = zext i1 true to i8 + store i8 %t180, ptr %t179, !tbaa !62 + ret void +exc.cleanup9: + %t181 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t181) + ret void +exc.cleanup12: + %t182 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t182) + %t183 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t183) + ret void +exc.cleanup26: + %t184 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t184) + ret void +exc.cleanup29: + %t185 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t185) + %t186 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t186) + ret void +exc.cleanup37: + %t187 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t187) + ret void +exc.cleanup40: + %t188 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t188) + %t189 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t189) + ret void +exc.cleanup52: + %t190 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t190) + ret void +exc.cleanup55: + %t191 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t191) + %t192 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t192) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_writeBody(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_writeBody(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_bodyBytes(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0, ptr %p_sc_l_ct_0) #0 { ; %%m3.LiteResponse.bodyBytes +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_b_0 = alloca ptr ; b + %sc_l_ct_0 = alloca ptr ; ct + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 14 + %t6 = load ptr, ptr %t5, !tbaa !88 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t8, i64 0, i32 3 + %t10 = load double, ptr %t9, !tbaa !52 + call void @scr_http_res_status_set(ptr %t7, double %t10) + call void @scr_http_res_release(ptr %t7) + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t11, i64 0, i32 14 + %t13 = load ptr, ptr %t12, !tbaa !88 + %t14 = call ptr @scr_http_res_retain_v(ptr %t13) + %t15 = load ptr, ptr %sc_l_ct_0 + %t16 = call ptr @sc_rc_retain_str(ptr %t15) + call void @scr_http_res_set_header(ptr %t14, ptr @sc_lit_2329537264393449, ptr %t16) + call void @scr_http_res_release(ptr %t14) + call void @scr_str_release(ptr %t16) + %t17 = load ptr, ptr %sc_l_this_0 + %t18 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t17, i64 0, i32 14 + %t19 = load ptr, ptr %t18, !tbaa !88 + %t20 = call ptr @scr_http_res_retain_v(ptr %t19) + %t21 = load ptr, ptr %sc_l_b_0 + %t22 = getelementptr inbounds %ScrBytes, ptr %t21, i64 0, i32 1 + %t23 = load i64, ptr %t22 + %t24 = sitofp i64 %t23 to double + %t25 = call ptr @scr_f64_to_scrstr(double %t24) + call void @scr_http_res_set_header(ptr %t20, ptr @sc_lit_1821151629374802, ptr %t25) + call void @scr_http_res_release(ptr %t20) + call void @scr_str_release(ptr %t25) + %t26 = load ptr, ptr %sc_l_this_0 + %t27 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t26, i64 0, i32 14 + %t28 = load ptr, ptr %t27, !tbaa !88 + %t29 = call ptr @scr_http_res_retain_v(ptr %t28) + %t30 = load ptr, ptr %sc_l_b_0 + %t31 = call ptr @scr_bytes_retain_v(ptr %t30) + call void @scr_http_res_end_bytes(ptr %t29, ptr %t31) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t29) + call void @scr_bytes_release(ptr %t31) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t29) + call void @scr_bytes_release(ptr %t31) + %t35 = load ptr, ptr %sc_l_this_0 + %t36 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t35, i64 0, i32 8 + %t37 = zext i1 true to i8 + store i8 %t37, ptr %t36, !tbaa !42 + %t38 = load ptr, ptr %sc_l_this_0 + %t39 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t38, i64 0, i32 9 + %t40 = zext i1 true to i8 + store i8 %t40, ptr %t39, !tbaa !62 + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_bodyBytes(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_bodyBytes(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @scr_bytes_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l_url_0, double %p_sc_l_code_0) #0 { ; %%m3.LiteResponse.redirect +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_url_0 = alloca ptr ; url + %sc_l_code_0 = alloca double ; code + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_url_0, ptr %sc_l_url_0 + store double %p_sc_l_code_0, ptr %sc_l_code_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load double, ptr %sc_l_code_0 + %t6 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 3 + store double %t5, ptr %t6, !tbaa !52 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t7, i64 0, i32 14 + %t9 = load ptr, ptr %t8, !tbaa !88 + %t10 = call ptr @scr_http_res_retain_v(ptr %t9) + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t11, i64 0, i32 3 + %t13 = load double, ptr %t12, !tbaa !52 + call void @scr_http_res_status_set(ptr %t10, double %t13) + call void @scr_http_res_release(ptr %t10) + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t14, i64 0, i32 14 + %t16 = load ptr, ptr %t15, !tbaa !88 + %t17 = call ptr @scr_http_res_retain_v(ptr %t16) + %t18 = load ptr, ptr %sc_l_url_0 + %t19 = call ptr @sc_rc_retain_str(ptr %t18) + call void @scr_http_res_set_header(ptr %t17, ptr @sc_lit_4062345987786846, ptr %t19) + call void @scr_http_res_release(ptr %t17) + call void @scr_str_release(ptr %t19) + %t20 = load ptr, ptr %sc_l_this_0 + %t21 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t20, i64 0, i32 14 + %t22 = load ptr, ptr %t21, !tbaa !88 + %t23 = call ptr @scr_http_res_retain_v(ptr %t22) + call void @scr_http_res_end(ptr %t23) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t23) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t23) + %t27 = load ptr, ptr %sc_l_this_0 + %t28 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t27, i64 0, i32 8 + %t29 = zext i1 true to i8 + store i8 %t29, ptr %t28, !tbaa !42 + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_redirect(ptr %p0, ptr %p1, double %p2) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_redirect(ptr %p0, ptr %p1, double %p2) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_write(ptr %p_sc_l_this_0, ptr %p_sc_l_chunk_0) #0 { ; %%m3.LiteResponse.write +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_chunk_0 = alloca ptr ; chunk + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 14 + %t6 = load ptr, ptr %t5, !tbaa !88 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + %t8 = load ptr, ptr %sc_l_chunk_0 + %t9 = call ptr @sc_rc_retain_str(ptr %t8) + call void @scr_http_res_write_str(ptr %t7, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t7) + call void @scr_str_release(ptr %t9) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t7) + call void @scr_str_release(ptr %t9) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_write(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_write(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_writeHead(ptr %p_sc_l_this_0, double %p_sc_l_status_0, ptr %p_sc_l_flatPairs_0) #0 { ; %%m3.LiteResponse.writeHead +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_status_0 = alloca double ; status + %sc_l_flatPairs_0 = alloca ptr ; flatPairs + %sc_l_res_0 = alloca ptr ; res + %sc_l_i_0 = alloca double ; i + %sc_l_ctl_0 = alloca ptr ; ctl + %sc_l_res_1 = alloca ptr ; res + %s21 = alloca ptr + %s53 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s62 = alloca ptr + %s95 = alloca ptr + %s123 = alloca [2 x ptr] + store ptr null, ptr %sc_l_res_0 + store ptr null, ptr %sc_l_ctl_0 + store ptr null, ptr %sc_l_res_1 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l_status_0, ptr %sc_l_status_0 + store ptr %p_sc_l_flatPairs_0, ptr %sc_l_flatPairs_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 14 + %t6 = load ptr, ptr %t5, !tbaa !88 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + store ptr %t7, ptr %sc_l_res_1 + %t8 = call ptr @scr_box_new_obj(ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null) ; let res (boxed) + store ptr %t8, ptr %sc_l_res_0 + %t9 = load ptr, ptr %sc_l_res_1 + %t10 = call ptr @scr_http_res_retain_v(ptr %t9) + call void @scr_box_set_ref(ptr %t8, ptr %t10) + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t11 = load double, ptr %sc_l_i_0 + %t12 = fadd double %t11, 0x3FF0000000000000 + %t13 = load ptr, ptr %sc_l_flatPairs_0 + %t14 = getelementptr inbounds %ScrArr, ptr %t13, i32 0, i32 1 + %t15 = load i64, ptr %t14, !tbaa !2, !range !{i64 0, i64 4294967296} + %t16 = sitofp i64 %t15 to double + %t18 = fptosi double %t16 to i64 + %t17 = fcmp olt double %t12, %t16 + br i1 %t17, label %loop.b4, label %loop.e2 +loop.b4: + %t19 = load ptr, ptr %sc_l_res_1 + %t20 = call ptr @scr_http_res_retain_v(ptr %t19) + %t22 = load ptr, ptr %sc_l_flatPairs_0 + %t23 = load double, ptr %sc_l_i_0 + %t24 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 2 + %t25 = load i64, ptr %t24, !tbaa !2 + %t26 = fptosi double %t23 to i64 + %t27 = freeze i64 %t26 + %t28 = sitofp i64 %t27 to double + %t29 = fcmp oeq double %t28, %t23 + %t30 = icmp ult i64 %t27, %t25 + %t31 = and i1 %t29, %t30 + br i1 %t31, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t32 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 6 + %t33 = load i32, ptr %t32, !tbaa !2 + %t35 = zext i32 %t33 to i64 + %t34 = icmp ult i64 %t27, %t35 + br i1 %t34, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t36 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = icmp ult i64 %t27, %t37 + br i1 %t38, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t39 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 9 + %t40 = load ptr, ptr %t39, !tbaa !2 + %t41 = getelementptr inbounds i8, ptr %t40, i64 %t27 + %t42 = load i8, ptr %t41, !tbaa !4 + %t43 = icmp eq i8 %t42, 1 + br i1 %t43, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t44 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 8 + %t45 = load ptr, ptr %t44, !tbaa !2 + %t46 = getelementptr inbounds i64, ptr %t45, i64 %t27 + %t47 = load ptr, ptr %t46, !tbaa !6 + %t48 = call ptr @sc_rc_retain_str(ptr %t47) + store ptr %t48, ptr %s21 + br label %local.array.join8 +local.array.slow6: + %t49 = call ptr @scr_arr_peek_ref(ptr %t22, double %t23) + %t50 = icmp ne ptr %t49, null + br i1 %t50, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t51 = call ptr @sc_rc_retain_str(ptr %t49) + store ptr %t51, ptr %s21 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %s21 + br label %local.array.join8 +local.array.join8: + %t52 = load ptr, ptr %s21 + %t55 = icmp eq ptr %t52, null + %t54 = select i1 %t55, i32 1, i32 0 + switch i32 %t54, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ] +u.a17: + %t56 = call ptr @sc_rc_retain_str(ptr %t52) + store ptr %t56, ptr %s53 + br label %us.j15 +u.a18: + store ptr @sc_lit_4134463689533233, ptr %s53 + br label %us.j15 +u.bad16: + call void @sc_bad_tag() + unreachable +us.j15: + %t57 = load ptr, ptr %s53 + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u19, label %exc.k20 +exc.u19: + call void @scr_http_res_release(ptr %t20) + %t61 = load ptr, ptr %s21 + call void @scr_str_release(ptr %t61) + call void @scr_str_release(ptr %t57) + br label %exc.cleanup21 +exc.k20: + %t63 = load ptr, ptr %sc_l_flatPairs_0 + %t64 = load double, ptr %sc_l_i_0 + %t65 = fadd double %t64, 0x3FF0000000000000 + %t66 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 2 + %t67 = load i64, ptr %t66, !tbaa !2 + %t68 = fptosi double %t65 to i64 + %t69 = freeze i64 %t68 + %t70 = sitofp i64 %t69 to double + %t71 = fcmp oeq double %t70, %t65 + %t72 = icmp ult i64 %t69, %t67 + %t73 = and i1 %t71, %t72 + br i1 %t73, label %local.array.range25, label %local.array.slow22 +local.array.range25: + br label %local.array.dense26 +local.array.dense26: + %t74 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 6 + %t75 = load i32, ptr %t74, !tbaa !2 + %t77 = zext i32 %t75 to i64 + %t76 = icmp ult i64 %t69, %t77 + br i1 %t76, label %local.array.value28, label %local.array.len27 +local.array.len27: + %t78 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 1 + %t79 = load i64, ptr %t78, !tbaa !2, !range !{i64 0, i64 4294967296} + %t80 = icmp ult i64 %t69, %t79 + br i1 %t80, label %local.array.state29, label %local.array.missing23 +local.array.state29: + %t81 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 9 + %t82 = load ptr, ptr %t81, !tbaa !2 + %t83 = getelementptr inbounds i8, ptr %t82, i64 %t69 + %t84 = load i8, ptr %t83, !tbaa !4 + %t85 = icmp eq i8 %t84, 1 + br i1 %t85, label %local.array.value28, label %local.array.missing23 +local.array.value28: + %t86 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 8 + %t87 = load ptr, ptr %t86, !tbaa !2 + %t88 = getelementptr inbounds i64, ptr %t87, i64 %t69 + %t89 = load ptr, ptr %t88, !tbaa !6 + %t90 = call ptr @sc_rc_retain_str(ptr %t89) + store ptr %t90, ptr %s62 + br label %local.array.join24 +local.array.slow22: + %t91 = call ptr @scr_arr_peek_ref(ptr %t63, double %t65) + %t92 = icmp ne ptr %t91, null + br i1 %t92, label %local.array.slow.value30, label %local.array.missing23 +local.array.slow.value30: + %t93 = call ptr @sc_rc_retain_str(ptr %t91) + store ptr %t93, ptr %s62 + br label %local.array.join24 +local.array.missing23: + store ptr null, ptr %s62 + br label %local.array.join24 +local.array.join24: + %t94 = load ptr, ptr %s62 + %t97 = icmp eq ptr %t94, null + %t96 = select i1 %t97, i32 1, i32 0 + switch i32 %t96, label %u.bad32 [ i32 0, label %u.a33 i32 1, label %u.a34 ] +u.a33: + %t98 = call ptr @sc_rc_retain_str(ptr %t94) + store ptr %t98, ptr %s95 + br label %us.j31 +u.a34: + store ptr @sc_lit_4134463689533233, ptr %s95 + br label %us.j31 +u.bad32: + call void @sc_bad_tag() + unreachable +us.j31: + %t99 = load ptr, ptr %s95 + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u35, label %exc.k36 +exc.u35: + call void @scr_http_res_release(ptr %t20) + %t103 = load ptr, ptr %s21 + call void @scr_str_release(ptr %t103) + call void @scr_str_release(ptr %t57) + %t104 = load ptr, ptr %s62 + call void @scr_str_release(ptr %t104) + call void @scr_str_release(ptr %t99) + br label %exc.cleanup21 +exc.k36: + call void @scr_http_res_set_header(ptr %t20, ptr %t57, ptr %t99) + call void @scr_http_res_release(ptr %t20) + %t105 = load ptr, ptr %s21 + call void @scr_str_release(ptr %t105) + call void @scr_str_release(ptr %t57) + %t106 = load ptr, ptr %s62 + call void @scr_str_release(ptr %t106) + call void @scr_str_release(ptr %t99) + br label %loop.u5 +loop.u5: + %t107 = load double, ptr %sc_l_i_0 + %t108 = fadd double %t107, 0x4000000000000000 + store double %t108, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t109 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rc_release_dyn(ptr %t109) + br label %exc.cleanup21 +exc.k38: + %t113 = call ptr @sc_f__x25_dyn_class_property_49(ptr %t109) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_rc_release_dyn(ptr %t113) + br label %exc.cleanup21 +exc.k40: + %t117 = load ptr, ptr %sc_l_this_0 + %t118 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t117, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t119 = load double, ptr %sc_l_status_0 + %t120 = call ptr @sc_td_2(double %t119) + %t121 = load ptr, ptr %sc_l_flatPairs_0 + %t122 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t121, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t122, ptr @sc_ldr_2_materialize_ops) + %t124 = getelementptr inbounds [2 x ptr], ptr %s123, i64 0, i64 0 + store ptr %t120, ptr %t124 + %t125 = getelementptr inbounds [2 x ptr], ptr %s123, i64 0, i64 1 + store ptr %t122, ptr %t125 + call void @scr_dyn_this_push_dyn(ptr %t118) + %t126 = call ptr @scr_dyn_call(ptr %t113, ptr %s123, i64 2, ptr @sc_cs_2572803797864145) + call void @scr_dyn_this_pop() + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u41, label %exc.k42 +exc.u41: + call void @sc_rc_release_dyn(ptr %t113) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t126) + br label %exc.cleanup21 +exc.k42: + call void @sc_rc_release_dyn(ptr %t113) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t126) + %t130 = load ptr, ptr %sc_l_res_1 + %t131 = call ptr @scr_http_res_retain_v(ptr %t130) + %t132 = load ptr, ptr %sc_l_this_0 + %t133 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t132, i64 0, i32 3 + %t134 = load double, ptr %t133, !tbaa !52 + call void @scr_http_res_write_head(ptr %t131, double %t134) + %t135 = load i32, ptr %exc.cell + %t136 = icmp ne i32 %t135, 0 + %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false) + br i1 %t137, label %exc.u43, label %exc.k44 +exc.u43: + call void @scr_http_res_release(ptr %t131) + br label %exc.cleanup21 +exc.k44: + call void @scr_http_res_release(ptr %t131) + %t138 = load ptr, ptr %sc_l_res_1 + %t139 = call ptr @scr_http_res_retain_v(ptr %t138) + call void @scr_http_res_flush_headers(ptr %t139) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u45, label %exc.k46 +exc.u45: + call void @scr_http_res_release(ptr %t139) + br label %exc.cleanup21 +exc.k46: + call void @scr_http_res_release(ptr %t139) + %t143 = call ptr @sc_rnew_r2() + %t144 = call ptr @scr_closure_new(ptr @sc_f__x25_fn68, i64 1) + %t145 = getelementptr inbounds %ScrClosure, ptr %t144, i64 0, i32 4 + store i32 4, ptr %t145 + %t146 = getelementptr inbounds %ScrClosure, ptr %t144, i64 0, i32 7 + store ptr @sc_bf__x25_fn68, ptr %t146 + %t147 = load ptr, ptr %sc_l_res_0 + %t148 = call ptr @sc_retain_box(ptr %t147) + %t149 = getelementptr inbounds %ScrClosure, ptr %t144, i64 1 ; caps + %t150 = getelementptr inbounds ptr, ptr %t149, i64 0 ; caps[0] + store ptr %t148, ptr %t150 + %t151 = getelementptr inbounds %sc_rs_r2, ptr %t143, i64 0, i32 2 + store ptr %t144, ptr %t151 + %t152 = call ptr @scr_closure_new(ptr @sc_f__x25_fn69, i64 1) + %t153 = getelementptr inbounds %ScrClosure, ptr %t152, i64 0, i32 4 + store i32 4, ptr %t153 + %t154 = load ptr, ptr %sc_l_res_0 + %t155 = call ptr @sc_retain_box(ptr %t154) + %t156 = getelementptr inbounds %ScrClosure, ptr %t152, i64 1 ; caps + %t157 = getelementptr inbounds ptr, ptr %t156, i64 0 ; caps[0] + store ptr %t155, ptr %t157 + %t158 = getelementptr inbounds %sc_rs_r2, ptr %t143, i64 0, i32 1 + store ptr %t152, ptr %t158 + store ptr %t143, ptr %sc_l_ctl_0 + %t159 = load ptr, ptr %sc_l_this_0 + %t160 = load ptr, ptr %sc_l_ctl_0 + %t161 = call ptr @sc_rretain_r2(ptr %t160) + %t162 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t159, i64 0, i32 12 + %t163 = load ptr, ptr %t162 + store ptr %t161, ptr %t162, !tbaa !68 + call void @sc_rrelease_r2(ptr %t163) + %t164 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t164) + %t165 = load ptr, ptr %sc_l_res_0 + call void @scr_box_release(ptr %t165) + %t166 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rrelease_r2(ptr %t166) + ret void +exc.cleanup21: + %t167 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t167) + %t168 = load ptr, ptr %sc_l_res_0 + call void @scr_box_release(ptr %t168) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_writeHead(ptr %p0, double %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_writeHead(ptr %p0, double %p1, ptr %p2) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @scr_arr_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_endStream(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteResponse.endStream +entry: + %sc_l_this_0 = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 13 + %t6 = zext i1 true to i8 + store i8 %t6, ptr %t5, !tbaa !70 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t7, i64 0, i32 8 + %t9 = zext i1 true to i8 + store i8 %t9, ptr %t8, !tbaa !42 + %t10 = load ptr, ptr %sc_l_this_0 + %t11 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t10, i64 0, i32 14 + %t12 = load ptr, ptr %t11, !tbaa !88 + %t13 = call ptr @scr_http_res_retain_v(ptr %t12) + call void @scr_http_res_end(ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t13) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t13) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_endStream(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_endStream(ptr %p0) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_adopt(ptr %p_sc_l_this_0, ptr %p_sc_l_view_0) #0 { ; %%m3.LiteResponse.adopt +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_view_0 = alloca ptr ; view + %sc_l_res_0 = alloca ptr ; res + %sc_l__x25_dispatch_receiver_3 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_res_0 + store ptr null, ptr %sc_l__x25_dispatch_receiver_3 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_view_0, ptr %sc_l_view_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load ptr, ptr %sc_l_view_0 + %t6 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 3 + %t7 = load double, ptr %t6 + %t8 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 3 + store double %t7, ptr %t8, !tbaa !52 + %t9 = load ptr, ptr %sc_l_this_0 + %t10 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t9, i64 0, i32 14 + %t11 = load ptr, ptr %t10, !tbaa !88 + %t12 = call ptr @scr_http_res_retain_v(ptr %t11) + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t13, i64 0, i32 3 + %t15 = load double, ptr %t14, !tbaa !52 + call void @scr_http_res_status_set(ptr %t12, double %t15) + call void @scr_http_res_release(ptr %t12) + %t16 = call ptr @scr_box_new_obj(ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null) ; let res (boxed) + store ptr %t16, ptr %sc_l_res_0 + %t17 = load ptr, ptr %sc_l_this_0 + %t18 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t17, i64 0, i32 14 + %t19 = load ptr, ptr %t18, !tbaa !88 + %t20 = call ptr @scr_http_res_retain_v(ptr %t19) + call void @scr_box_set_ref(ptr %t16, ptr %t20) + %t21 = load ptr, ptr %sc_l_view_0 + %t22 = getelementptr inbounds %sc_rs_r1, ptr %t21, i64 0, i32 2 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + store ptr %t24, ptr %sc_l__x25_dispatch_receiver_3 + %t25 = load ptr, ptr %sc_l__x25_dispatch_receiver_3 + %t26 = call ptr @sc_rc_retain_dyn(ptr %t25) + %t27 = load ptr, ptr %sc_l__x25_dispatch_receiver_3 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = call ptr @sc_f__x25_dyn_class_callback_0(ptr %t28) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup4 +exc.k3: + %t33 = call ptr @scr_closure_new(ptr @sc_f__x25_fn70, i64 1) + %t34 = getelementptr inbounds %ScrClosure, ptr %t33, i64 0, i32 4 + store i32 4, ptr %t34 + %t35 = getelementptr inbounds %ScrClosure, ptr %t33, i64 0, i32 7 + store ptr @sc_bf__x25_fn70, ptr %t35 + %t36 = load ptr, ptr %sc_l_res_0 + %t37 = call ptr @sc_retain_box(ptr %t36) + %t38 = getelementptr inbounds %ScrClosure, ptr %t33, i64 1 ; caps + %t39 = getelementptr inbounds ptr, ptr %t38, i64 0 ; caps[0] + store ptr %t37, ptr %t39 + %t40 = call ptr @sc_dfb_9(ptr %t33, ptr null) + %t41 = call ptr @sc_bf__x25_dyn_class_call_0(ptr %t26, ptr %t29, ptr %t40, ptr @sc_lit_2009491016346793) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + br label %exc.cleanup4 +exc.k6: + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + %t45 = load ptr, ptr %sc_l__x25_dispatch_receiver_3 + call void @sc_rc_release_dyn(ptr %t45) + %t46 = load ptr, ptr %sc_l_this_0 + %t47 = load ptr, ptr %sc_l_view_0 + %t48 = call ptr @sc_rretain_r1(ptr %t47) + %t49 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t46, i64 0, i32 10 + %t50 = load ptr, ptr %t49 + store ptr %t48, ptr %t49, !tbaa !64 + call void @sc_rrelease_r1(ptr %t50) + %t51 = load ptr, ptr %sc_l_this_0 + %t52 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t51, i64 0, i32 8 + %t53 = zext i1 true to i8 + store i8 %t53, ptr %t52, !tbaa !42 + %t54 = load ptr, ptr %sc_l_this_0 + %t55 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t54, i64 0, i32 9 + %t56 = zext i1 true to i8 + store i8 %t56, ptr %t55, !tbaa !62 + %t57 = load ptr, ptr %sc_l_res_0 + call void @scr_box_release(ptr %t57) + ret void +exc.cleanup4: + %t58 = load ptr, ptr %sc_l__x25_dispatch_receiver_3 + call void @sc_rc_release_dyn(ptr %t58) + %t59 = load ptr, ptr %sc_l_res_0 + call void @scr_box_release(ptr %t59) + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_adopt(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_adopt(ptr %p0, ptr %p1) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + call void @sc_rrelease_r1(ptr %p1) + ret void +} + +define internal i1 @sc_bf__x25__x25_m3_LiteResponse_isSent(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteResponse.isSent +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t0, i64 0, i32 8 + %t2 = load i8, ptr %t1, !tbaa !42 + %t3 = trunc i8 %t2 to i1 + ret i1 %t3 +} +define internal i1 @sc_f__x25__x25_m3_LiteResponse_isSent(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m3_LiteResponse_isSent(ptr %p0) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + ret i1 %result +} + +define internal i1 @sc_bf__x25__x25_m3_LiteResponse_isHeadersSent(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteResponse.isHeadersSent +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t0, i64 0, i32 9 + %t2 = load i8, ptr %t1, !tbaa !62 + %t3 = trunc i8 %t2 to i1 + ret i1 %t3 +} +define internal i1 @sc_f__x25__x25_m3_LiteResponse_isHeadersSent(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m3_LiteResponse_isHeadersSent(ptr %p0) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + ret i1 %result +} + +define internal void @sc_bf__x25__x25_m3_LiteResponse_destroy(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteResponse.destroy +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_e_0 = alloca ptr ; e + store ptr null, ptr %sc_l_e_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 14 + %t6 = load ptr, ptr %t5, !tbaa !88 + %t7 = call ptr @scr_http_res_retain_v(ptr %t6) + call void @scr_http_res_destroy(ptr %t7) + call void @scr_http_res_release(ptr %t7) + br label %try.e4 +try.e4: + ret void +} +define internal void @sc_f__x25__x25_m3_LiteResponse_destroy(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m3_LiteResponse_destroy(ptr %p0) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m4_UploadedFile_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_field_0, ptr %p_sc_l_filename_0, ptr %p_sc_l_mimeType_0, double %p_sc_l_size_0, ptr %p_sc_l_path_0, ptr %p_sc_l_bytes_0) #0 { ; %%m4.UploadedFile.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_field_0 = alloca ptr ; field + %sc_l_filename_0 = alloca ptr ; filename + %sc_l_mimeType_0 = alloca ptr ; mimeType + %sc_l_size_0 = alloca double ; size + %sc_l_path_0 = alloca ptr ; path + %sc_l_bytes_0 = alloca ptr ; bytes + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_field_0, ptr %sc_l_field_0 + store ptr %p_sc_l_filename_0, ptr %sc_l_filename_0 + store ptr %p_sc_l_mimeType_0, ptr %sc_l_mimeType_0 + store double %p_sc_l_size_0, ptr %sc_l_size_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_bytes_0, ptr %sc_l_bytes_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_field_0 + %t2 = call ptr @sc_rc_retain_str(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t0, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !90 + call void @scr_str_release(ptr %t4) + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = load ptr, ptr %sc_l_filename_0 + %t7 = call ptr @sc_rc_retain_str(ptr %t6) + %t8 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t5, i64 0, i32 2 + %t9 = load ptr, ptr %t8 + store ptr %t7, ptr %t8, !tbaa !12 + call void @scr_str_release(ptr %t9) + %t10 = load ptr, ptr %sc_l_this_0 + %t11 = load ptr, ptr %sc_l_mimeType_0 + %t12 = call ptr @sc_rc_retain_str(ptr %t11) + %t13 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t10, i64 0, i32 3 + %t14 = load ptr, ptr %t13 + store ptr %t12, ptr %t13, !tbaa !92 + call void @scr_str_release(ptr %t14) + %t15 = load ptr, ptr %sc_l_this_0 + %t16 = load double, ptr %sc_l_size_0 + %t17 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t15, i64 0, i32 4 + store double %t16, ptr %t17, !tbaa !94 + %t18 = load ptr, ptr %sc_l_this_0 + %t19 = load ptr, ptr %sc_l_path_0 + %t20 = call ptr @sc_nretain_string(ptr %t19) + %t21 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t18, i64 0, i32 5 + %t22 = load ptr, ptr %t21 + store ptr %t20, ptr %t21, !tbaa !96 + call void @scr_str_release(ptr %t22) + %t23 = load ptr, ptr %sc_l_this_0 + %t24 = load ptr, ptr %sc_l_bytes_0 + %t25 = call ptr @scr_union_retain_v(ptr %t24) + %t26 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t23, i64 0, i32 6 + %t27 = load ptr, ptr %t26 + store ptr %t25, ptr %t26, !tbaa !98 + call void @scr_union_release(ptr %t27) + ret void +} +define internal void @sc_f__x25__x25_m4_UploadedFile_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3, double %p4, ptr %p5, ptr %p6) #0 { +entry: + call void @sc_bf__x25__x25_m4_UploadedFile_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3, double %p4, ptr %p5, ptr %p6) + call void @sc_release__x25_m4_UploadedFile(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + call void @scr_str_release(ptr %p5) + call void @scr_union_release(ptr %p6) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartFileSink.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartFileSink_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %p0) + call void @sc_release__x25_m4_MultipartFileSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartFileSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l__b_0) #0 { ; %%m4.MultipartFileSink.write +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__b_0 = alloca ptr ; _b + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__b_0, ptr %sc_l__b_0 + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartFileSink_write(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartFileSink_write(ptr %p0, ptr %p1) + call void @sc_release__x25_m4_MultipartFileSink(ptr %p0) + call void @scr_bytes_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartFileSink_end(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartFileSink.end +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartFileSink_end(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartFileSink_end(ptr %p0) + call void @sc_release__x25_m4_MultipartFileSink(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartFileSink_abort(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartFileSink.abort +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartFileSink_abort(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartFileSink_abort(ptr %p0) + call void @sc_release__x25_m4_MultipartFileSink(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25__x25_m4_MultipartFileSink_file(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartFileSink.file +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret ptr null +} +define internal ptr @sc_f__x25__x25_m4_MultipartFileSink_file(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m4_MultipartFileSink_file(ptr %p0) + call void @sc_release__x25_m4_MultipartFileSink(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m4_MultipartStorage_constructor(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartStorage.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartStorage_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartStorage_constructor(ptr %p0) + call void @sc_release__x25_m4_MultipartStorage(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25__x25_m4_MultipartStorage_begin(ptr %p_sc_l_this_0, ptr %p_sc_l__field_0, ptr %p_sc_l__filename_0, ptr %p_sc_l__mime_0) #0 { ; %%m4.MultipartStorage.begin +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__field_0 = alloca ptr ; _field + %sc_l__filename_0 = alloca ptr ; _filename + %sc_l__mime_0 = alloca ptr ; _mime + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l__field_0, ptr %sc_l__field_0 + store ptr %p_sc_l__filename_0, ptr %sc_l__filename_0 + store ptr %p_sc_l__mime_0, ptr %sc_l__mime_0 + %t0 = call ptr @sc_new__x25_m4_MultipartFileSink() + call void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %t0) + ret ptr %t0 +} +define internal ptr @sc_f__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m4_MultipartStorage(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m4_MemoryFileSink_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_field_0, ptr %p_sc_l_filename_0, ptr %p_sc_l_mime_0) #0 { ; %%m4.MemoryFileSink.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_field_0 = alloca ptr ; field + %sc_l_filename_0 = alloca ptr ; filename + %sc_l_mime_0 = alloca ptr ; mime + %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_field_0, ptr %sc_l_field_0 + store ptr %p_sc_l_filename_0, ptr %sc_l_filename_0 + store ptr %p_sc_l_mime_0, ptr %sc_l_mime_0 + store i1 false, ptr %sc_l__x25_superInitialized_0 + %t0 = load i1, ptr %sc_l__x25_superInitialized_0 + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207) + ret void +exc.dead2: + br label %if.j1 +if.j1: + %t1 = load ptr, ptr %sc_l_this_0 + call void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %t1) + store i1 true, ptr %sc_l__x25_superInitialized_0 + %t2 = load i1, ptr %sc_l__x25_superInitialized_0 + %t3 = xor i1 %t2, true + br i1 %t3, label %if.t3, label %if.j4 +if.t3: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead5: + br label %if.j4 +if.j4: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load ptr, ptr %sc_l_field_0 + %t6 = call ptr @sc_rc_retain_str(ptr %t5) + %t7 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t4, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + store ptr %t6, ptr %t7, !tbaa !100 + call void @scr_str_release(ptr %t8) + %t9 = load i1, ptr %sc_l__x25_superInitialized_0 + %t10 = xor i1 %t9, true + br i1 %t10, label %if.t6, label %if.j7 +if.t6: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead8: + br label %if.j7 +if.j7: + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = load ptr, ptr %sc_l_filename_0 + %t13 = call ptr @sc_rc_retain_str(ptr %t12) + %t14 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t11, i64 0, i32 4 + %t15 = load ptr, ptr %t14 + store ptr %t13, ptr %t14, !tbaa !102 + call void @scr_str_release(ptr %t15) + %t16 = load i1, ptr %sc_l__x25_superInitialized_0 + %t17 = xor i1 %t16, true + br i1 %t17, label %if.t9, label %if.j10 +if.t9: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead11: + br label %if.j10 +if.j10: + %t18 = load ptr, ptr %sc_l_this_0 + %t19 = load ptr, ptr %sc_l_mime_0 + %t20 = call ptr @sc_rc_retain_str(ptr %t19) + %t21 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t18, i64 0, i32 5 + %t22 = load ptr, ptr %t21 + store ptr %t20, ptr %t21, !tbaa !104 + call void @scr_str_release(ptr %t22) + %t23 = load i1, ptr %sc_l__x25_superInitialized_0 + %t24 = xor i1 %t23, true + br i1 %t24, label %if.t12, label %if.j13 +if.t12: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead14: + br label %if.j13 +if.j13: + %t25 = load ptr, ptr %sc_l_this_0 + %t26 = call ptr @scr_arr_new_small(i32 4) + %t27 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t25, i64 0, i32 6 + %t28 = load ptr, ptr %t27 + store ptr %t26, ptr %t27, !tbaa !82 + call void @scr_arr_release(ptr %t28) + %t29 = load i1, ptr %sc_l__x25_superInitialized_0 + %t30 = xor i1 %t29, true + br i1 %t30, label %if.t15, label %if.j16 +if.t15: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead17: + br label %if.j16 +if.j16: + %t31 = load ptr, ptr %sc_l_this_0 + %t32 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t31, i64 0, i32 7 + store double 0x0000000000000000, ptr %t32, !tbaa !106 + %t33 = load i1, ptr %sc_l__x25_superInitialized_0 + %t34 = xor i1 %t33, true + br i1 %t34, label %if.t18, label %if.j19 +if.t18: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead20: + br label %if.j19 +if.j19: + ret void +} +define internal void @sc_f__x25__x25_m4_MemoryFileSink_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + call void @sc_bf__x25__x25_m4_MemoryFileSink_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m4_MemoryFileSink(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MemoryFileSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0) #0 { ; %%m4.MemoryFileSink.write +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_b_0 = alloca ptr ; b + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t0, i64 0, i32 6 + %t2 = load ptr, ptr %t1, !tbaa !82 + %t3 = call ptr @scr_arr_retain_v(ptr %t2) + %t4 = load ptr, ptr %sc_l_b_0 + %t5 = call ptr @scr_bytes_retain_v(ptr %t4) + %t6 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2 + %t10 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 2 + %t8 = load i64, ptr %t10, !tbaa !2 + %t9 = icmp ult i64 %t7, %t8 + br i1 %t9, label %arr.push.dense0, label %arr.push.slow1 +arr.push.dense0: + %t11 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 8 + %t13 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 9 + %t12 = load ptr, ptr %t11, !tbaa !2 + %t14 = load ptr, ptr %t13, !tbaa !2 + %t15 = getelementptr inbounds i8, ptr %t14, i64 %t7 + %t16 = getelementptr inbounds i64, ptr %t12, i64 %t7 + store ptr %t5, ptr %t16, !tbaa !6 + store i8 1, ptr %t15, !tbaa !4 + %t17 = add nuw i64 %t7, 1 + store i64 %t17, ptr %t6, !tbaa !2 + %t19 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 6 + %t20 = load i32, ptr %t19, !tbaa !2 + %t24 = zext i32 %t20 to i64 + %t21 = icmp eq i64 %t24, %t7 + %t22 = add i32 %t20, 1 + %t23 = select i1 %t21, i32 %t22, i32 %t20 + store i32 %t23, ptr %t19, !tbaa !2 + %t18 = sitofp i64 %t17 to double + br label %arr.push.join2 +arr.push.slow1: + %t25 = call double @scr_arr_push_ref(ptr %t3, ptr %t5) cold + br label %arr.push.join2 +arr.push.join2: + %t26 = phi double [ %t18, %arr.push.dense0 ], [ %t25, %arr.push.slow1 ] + call void @scr_arr_release(ptr %t3) + %t27 = load ptr, ptr %sc_l_this_0 + %t28 = load ptr, ptr %sc_l_this_0 + %t29 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t28, i64 0, i32 7 + %t30 = load double, ptr %t29, !tbaa !106 + %t31 = load ptr, ptr %sc_l_b_0 + %t32 = getelementptr inbounds %ScrBytes, ptr %t31, i64 0, i32 1 + %t33 = load i64, ptr %t32 + %t34 = sitofp i64 %t33 to double + %t36 = fptosi double %t34 to i64 + %t35 = fadd double %t30, %t34 + %t37 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t27, i64 0, i32 7 + store double %t35, ptr %t37, !tbaa !106 + ret void +} +define internal void @sc_f__x25__x25_m4_MemoryFileSink_write(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m4_MemoryFileSink_write(ptr %p0, ptr %p1) + call void @sc_release__x25_m4_MemoryFileSink(ptr %p0) + call void @scr_bytes_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25__x25_m4_MemoryFileSink_file(ptr %p_sc_l_this_0) #0 { ; %%m4.MemoryFileSink.file +entry: + %sc_l_this_0 = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @sc_new__x25_m4_UploadedFile() + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t5, i64 0, i32 3 + %t7 = load ptr, ptr %t6, !tbaa !100 + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t8, i64 0, i32 4 + %t10 = load ptr, ptr %t9, !tbaa !102 + %t11 = load ptr, ptr %sc_l_this_0 + %t12 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t11, i64 0, i32 5 + %t13 = load ptr, ptr %t12, !tbaa !104 + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t14, i64 0, i32 7 + %t16 = load double, ptr %t15, !tbaa !106 + %t17 = load ptr, ptr %sc_l_this_0 + %t18 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t17, i64 0, i32 6 + %t19 = load ptr, ptr %t18, !tbaa !82 + %t20 = call ptr @sc_bf__x25_m4_u8catAll(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_bytes_release(ptr %t20) + call void @sc_release__x25_m4_UploadedFile(ptr %t4) + ret ptr null +exc.k3: + %t24 = call ptr @scr_union_new_ref(i32 0, ptr %t20, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null) + call void @sc_bf__x25__x25_m4_UploadedFile_constructor(ptr %t4, ptr %t7, ptr %t10, ptr %t13, double %t16, ptr null, ptr %t24) + call void @scr_union_release(ptr %t24) + ret ptr %t4 +} +define internal ptr @sc_f__x25__x25_m4_MemoryFileSink_file(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m4_MemoryFileSink_file(ptr %p0) + call void @sc_release__x25_m4_MemoryFileSink(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m4_MemoryStorage_constructor(ptr %p_sc_l_this_0) #0 { ; %%m4.MemoryStorage.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + call void @sc_bf__x25__x25_m4_MultipartStorage_constructor(ptr %t0) + ret void +} +define internal void @sc_f__x25__x25_m4_MemoryStorage_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MemoryStorage_constructor(ptr %p0) + call void @sc_release__x25_m4_MemoryStorage(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25__x25_m4_MemoryStorage_begin(ptr %p_sc_l_this_0, ptr %p_sc_l_field_0, ptr %p_sc_l_filename_0, ptr %p_sc_l_mime_0) #0 { ; %%m4.MemoryStorage.begin +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_field_0 = alloca ptr ; field + %sc_l_filename_0 = alloca ptr ; filename + %sc_l_mime_0 = alloca ptr ; mime + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_field_0, ptr %sc_l_field_0 + store ptr %p_sc_l_filename_0, ptr %sc_l_filename_0 + store ptr %p_sc_l_mime_0, ptr %sc_l_mime_0 + %t0 = call ptr @sc_new__x25_m4_MemoryFileSink() + %t1 = load ptr, ptr %sc_l_field_0 + %t2 = load ptr, ptr %sc_l_filename_0 + %t3 = load ptr, ptr %sc_l_mime_0 + call void @sc_bf__x25__x25_m4_MemoryFileSink_constructor(ptr %t0, ptr %t1, ptr %t2, ptr %t3) + %t4 = load i32, ptr %exc.cell + %t5 = icmp ne i32 %t4, 0 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_release__x25_m4_MemoryFileSink(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m4_MemoryStorage(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m4_DispositionParams_constructor(ptr %p_sc_l_this_0) #0 { ; %%m4.DispositionParams.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t0, i64 0, i32 1 + %t2 = zext i1 false to i8 + store i8 %t2, ptr %t1, !tbaa !8 + %t3 = load ptr, ptr %sc_l_this_0 + %t4 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t3, i64 0, i32 2 + %t5 = load ptr, ptr %t4 + store ptr null, ptr %t4, !tbaa !10 + call void @scr_str_release(ptr %t5) + %t6 = load ptr, ptr %sc_l_this_0 + %t7 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t6, i64 0, i32 3 + %t8 = load ptr, ptr %t7 + store ptr null, ptr %t7, !tbaa !12 + call void @scr_str_release(ptr %t8) + ret void +} +define internal void @sc_f__x25__x25_m4_DispositionParams_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_DispositionParams_constructor(ptr %p0) + call void @sc_release__x25_m4_DispositionParams(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_boundary_0, ptr %p_sc_l_storage_0, double %p_sc_l_maxFileBytes_0, double %p_sc_l_maxFiles_0, double %p_sc_l_maxFieldBytes_0) #0 { ; %%m4.MultipartParser.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_boundary_0 = alloca ptr ; boundary + %sc_l_storage_0 = alloca ptr ; storage + %sc_l_maxFileBytes_0 = alloca double ; maxFileBytes + %sc_l_maxFiles_0 = alloca double ; maxFiles + %sc_l_maxFieldBytes_0 = alloca double ; maxFieldBytes + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_boundary_0, ptr %sc_l_boundary_0 + store ptr %p_sc_l_storage_0, ptr %sc_l_storage_0 + store double %p_sc_l_maxFileBytes_0, ptr %sc_l_maxFileBytes_0 + store double %p_sc_l_maxFiles_0, ptr %sc_l_maxFiles_0 + store double %p_sc_l_maxFieldBytes_0, ptr %sc_l_maxFieldBytes_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_boundary_0 + %t2 = call ptr @scr_str_concat(ptr @sc_lit_3801384199701540, ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t0, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !108 + call void @scr_str_release(ptr %t4) + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = load ptr, ptr %sc_l_boundary_0 + %t7 = call ptr @scr_str_concat(ptr @sc_lit_2818555132652292, ptr %t6) + %t8 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t5, i64 0, i32 2 + %t9 = load ptr, ptr %t8 + store ptr %t7, ptr %t8, !tbaa !110 + call void @scr_str_release(ptr %t9) + %t10 = load ptr, ptr %sc_l_this_0 + %t11 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t10, i64 0, i32 3 + store double 0x0000000000000000, ptr %t11, !tbaa !112 + %t12 = load ptr, ptr %sc_l_this_0 + %t13 = load ptr, ptr @sc_g_m4_EMPTY_U8 + %t14 = call ptr @scr_bytes_retain_v(ptr %t13) + %t15 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t12, i64 0, i32 4 + %t16 = load ptr, ptr %t15 + store ptr %t14, ptr %t15, !tbaa !114 + call void @scr_bytes_release(ptr %t16) + %t17 = load ptr, ptr %sc_l_this_0 + %t18 = load ptr, ptr %sc_l_storage_0 + %t19 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t18) + %t20 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t17, i64 0, i32 5 + %t21 = load ptr, ptr %t20 + store ptr %t19, ptr %t20, !tbaa !116 + call void @sc_release__x25_m4_MultipartStorage(ptr %t21) + %t22 = load ptr, ptr %sc_l_this_0 + %t23 = load double, ptr %sc_l_maxFileBytes_0 + %t24 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t22, i64 0, i32 6 + store double %t23, ptr %t24, !tbaa !118 + %t25 = load ptr, ptr %sc_l_this_0 + %t26 = load double, ptr %sc_l_maxFiles_0 + %t27 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t25, i64 0, i32 7 + store double %t26, ptr %t27, !tbaa !120 + %t28 = load ptr, ptr %sc_l_this_0 + %t29 = load double, ptr %sc_l_maxFieldBytes_0 + %t30 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t28, i64 0, i32 8 + store double %t29, ptr %t30, !tbaa !122 + %t31 = load ptr, ptr %sc_l_this_0 + %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t31, i64 0, i32 9 + %t33 = zext i1 false to i8 + store i8 %t33, ptr %t32, !tbaa !124 + %t34 = load ptr, ptr %sc_l_this_0 + %t35 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t34, i64 0, i32 10 + %t36 = zext i1 false to i8 + store i8 %t36, ptr %t35, !tbaa !126 + %t37 = load ptr, ptr %sc_l_this_0 + %t38 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t37, i64 0, i32 11 + %t39 = load ptr, ptr %t38 + store ptr @sc_lit_4005573543169985, ptr %t38, !tbaa !100 + call void @scr_str_release(ptr %t39) + %t40 = load ptr, ptr %sc_l_this_0 + %t41 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t40, i64 0, i32 12 + %t42 = load ptr, ptr %t41 + store ptr @sc_lit_4005573543169985, ptr %t41, !tbaa !102 + call void @scr_str_release(ptr %t42) + %t43 = load ptr, ptr %sc_l_this_0 + %t44 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t43, i64 0, i32 13 + %t45 = load ptr, ptr %t44 + store ptr @sc_lit_4005573543169985, ptr %t44, !tbaa !104 + call void @scr_str_release(ptr %t45) + %t46 = load ptr, ptr %sc_l_this_0 + %t47 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t46, i64 0, i32 14 + %t48 = load ptr, ptr %t47 + store ptr null, ptr %t47, !tbaa !128 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t48) + %t49 = load ptr, ptr %sc_l_this_0 + %t50 = call ptr @scr_arr_new_small(i32 4) + %t51 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t49, i64 0, i32 15 + %t52 = load ptr, ptr %t51 + store ptr %t50, ptr %t51, !tbaa !130 + call void @scr_arr_release(ptr %t52) + %t53 = load ptr, ptr %sc_l_this_0 + %t54 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t53, i64 0, i32 16 + store double 0x0000000000000000, ptr %t54, !tbaa !132 + %t55 = load ptr, ptr %sc_l_this_0 + %t56 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t55, i64 0, i32 17 + store double 0x0000000000000000, ptr %t56, !tbaa !134 + %t57 = load ptr, ptr %sc_l_this_0 + %t58 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t57, i64 0, i32 18 + store double 0x0000000000000000, ptr %t58, !tbaa !26 + %t59 = load ptr, ptr %sc_l_this_0 + %t60 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile) + %t61 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t59, i64 0, i32 19 + %t62 = load ptr, ptr %t61 + store ptr %t60, ptr %t61, !tbaa !28 + call void @scr_arr_release(ptr %t62) + %t63 = load ptr, ptr %sc_l_this_0 + %t64 = call ptr @scr_arr_new_small(i32 2) + %t65 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t63, i64 0, i32 20 + %t66 = load ptr, ptr %t65 + store ptr %t64, ptr %t65, !tbaa !30 + call void @scr_arr_release(ptr %t66) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser_constructor(ptr %p0, ptr %p1, ptr %p2, double %p3, double %p4, double %p5) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser_constructor(ptr %p0, ptr %p1, ptr %p2, double %p3, double %p4, double %p5) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m4_MultipartStorage(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser_feed(ptr %p_sc_l_this_0, ptr %p_sc_l_chunk_0) #0 { ; %%m4.MultipartParser.feed +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_chunk_0 = alloca ptr ; chunk + %sc_l_buf_0 = alloca ptr ; buf + %sc_l_pos_0 = alloca double ; pos + %sc_l_i_0 = alloca double ; i + %sc_l_keep_0 = alloca i32 ; keep + %sc_l_b0_0 = alloca double ; b0 + %sc_l_b1_0 = alloca double ; b1 + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_i_1 = alloca double ; i + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l_i_2 = alloca double ; i + %sc_l_keep_1 = alloca i32 ; keep + %sc_l_safeEnd_0 = alloca double ; safeEnd + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_4 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_5 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca i1 + %s179 = alloca i1 + %s189 = alloca i1 + %s207 = alloca ptr + %s254 = alloca ptr + %s298 = alloca ptr + %s319 = alloca [1 x ptr] + %s386 = alloca ptr + %s407 = alloca [1 x ptr] + %s452 = alloca ptr + %s473 = alloca [1 x ptr] + %s501 = alloca ptr + store ptr null, ptr %sc_l_buf_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr null, ptr %sc_l__x25_callbackReceiver_4 + store ptr null, ptr %sc_l__x25_callbackBag_4 + store ptr null, ptr %sc_l__x25_callback_4 + store ptr null, ptr %sc_l__x25_callbackReceiver_5 + store ptr null, ptr %sc_l__x25_callbackBag_5 + store ptr null, ptr %sc_l__x25_callback_5 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 18 + %t6 = load double, ptr %t5, !tbaa !26 + %t7 = fcmp une double %t6, 0x0000000000000000 + br i1 %t7, label %if.t2, label %if.j3 +if.t2: + ret void +if.j3: + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t8, i64 0, i32 4 + %t10 = load ptr, ptr %t9, !tbaa !114 + %t11 = load ptr, ptr %sc_l_chunk_0 + %t12 = call ptr @sc_bf__x25_m4_u8cat(ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_bytes_release(ptr %t12) + ret void +exc.k5: + store ptr %t12, ptr %sc_l_buf_0 + store double 0x0000000000000000, ptr %sc_l_pos_0 + br label %loop.c7 +loop.c7: + br label %loop.b8 +loop.b8: + %t16 = load ptr, ptr %sc_l_this_0 + %t17 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 18 + %t18 = load double, ptr %t17, !tbaa !26 + %t19 = fcmp une double %t18, 0x0000000000000000 + store i1 %t19, ptr %s20 + br i1 %t19, label %log.j10, label %log.r9 +log.r9: + %t21 = load ptr, ptr %sc_l_this_0 + %t22 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t21, i64 0, i32 3 + %t23 = load double, ptr %t22, !tbaa !112 + %t24 = fcmp oeq double %t23, 0x4010000000000000 + store i1 %t24, ptr %s20 + br label %log.j10 +log.j10: + %t25 = load i1, ptr %s20 + br i1 %t25, label %if.t11, label %if.j12 +if.t11: + %t26 = load ptr, ptr %sc_l_this_0 + %t27 = load ptr, ptr @sc_g_m4_EMPTY_U8 + %t28 = call ptr @scr_bytes_retain_v(ptr %t27) + %t29 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t26, i64 0, i32 4 + %t30 = load ptr, ptr %t29 + store ptr %t28, ptr %t29, !tbaa !114 + call void @scr_bytes_release(ptr %t30) + %t31 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t31) + ret void +if.j12: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t32, i64 0, i32 3 + %t34 = load double, ptr %t33, !tbaa !112 + %t35 = fcmp oeq double %t34, 0x0000000000000000 + br i1 %t35, label %if.t13, label %if.f15 +if.t13: + %t36 = load ptr, ptr %sc_l_buf_0 + %t37 = load ptr, ptr %sc_l_this_0 + %t38 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t37, i64 0, i32 1 + %t39 = load ptr, ptr %t38, !tbaa !108 + %t40 = load double, ptr %sc_l_pos_0 + %t41 = call double @sc_bf__x25_m4_findSeq(ptr %t36, ptr %t39, double %t40) + store double %t41, ptr %sc_l_i_0 + %t42 = load double, ptr %sc_l_i_0 + %t43 = fcmp olt double %t42, 0x0000000000000000 + br i1 %t43, label %if.t16, label %if.j17 +if.t16: + %t44 = load ptr, ptr %sc_l_this_0 + %t45 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t44, i64 0, i32 1 + %t46 = load ptr, ptr %t45, !tbaa !108 + %t47 = call double @sc_str_utf16_len(ptr %t46) + %t49 = fptosi double %t47 to i32 + %t50 = sext i32 %t49 to i64 + %t51 = add nsw i64 %t50, 4 + %t53 = trunc i64 %t51 to i32 + %t52 = sitofp i64 %t51 to double + %t54 = trunc i64 %t51 to i32 + store i32 %t54, ptr %sc_l_keep_0 + %t55 = load ptr, ptr %sc_l_buf_0 + %t56 = getelementptr inbounds %ScrBytes, ptr %t55, i64 0, i32 1 + %t57 = load i64, ptr %t56 + %t58 = sitofp i64 %t57 to double + %t59 = load i32, ptr %sc_l_keep_0 + %t60 = uitofp i32 %t59 to double + %t62 = fptosi double %t58 to i64 + %t63 = zext i32 %t59 to i64 + %t61 = icmp sgt i64 %t62, %t63 + br i1 %t61, label %if.t18, label %if.f20 +if.t18: + %t64 = load ptr, ptr %sc_l_this_0 + %t65 = load ptr, ptr %sc_l_buf_0 + %t66 = load ptr, ptr %sc_l_buf_0 + %t67 = getelementptr inbounds %ScrBytes, ptr %t66, i64 0, i32 1 + %t68 = load i64, ptr %t67 + %t69 = sitofp i64 %t68 to double + %t70 = load i32, ptr %sc_l_keep_0 + %t71 = uitofp i32 %t70 to double + %t73 = fptosi double %t69 to i64 + %t74 = zext i32 %t70 to i64 + %t75 = sub nsw i64 %t73, %t74 + %t77 = trunc i64 %t75 to i32 + %t76 = sitofp i64 %t75 to double + %t78 = load ptr, ptr %sc_l_buf_0 + %t79 = getelementptr inbounds %ScrBytes, ptr %t78, i64 0, i32 1 + %t80 = load i64, ptr %t79 + %t81 = sitofp i64 %t80 to double + %t82 = call ptr @sc_bf__x25_m4_u8slice(ptr %t65, double %t76, double %t81) + %t83 = load i32, ptr %exc.cell + %t84 = icmp ne i32 %t83, 0 + %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false) + br i1 %t85, label %exc.u21, label %exc.k22 +exc.u21: + call void @scr_bytes_release(ptr %t82) + br label %exc.cleanup23 +exc.k22: + %t86 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t64, i64 0, i32 4 + %t87 = load ptr, ptr %t86 + store ptr %t82, ptr %t86, !tbaa !114 + call void @scr_bytes_release(ptr %t87) + br label %if.j19 +if.f20: + %t88 = load ptr, ptr %sc_l_this_0 + %t89 = load ptr, ptr %sc_l_buf_0 + %t90 = load ptr, ptr %sc_l_buf_0 + %t91 = getelementptr inbounds %ScrBytes, ptr %t90, i64 0, i32 1 + %t92 = load i64, ptr %t91 + %t93 = sitofp i64 %t92 to double + %t94 = call ptr @sc_bf__x25_m4_u8slice(ptr %t89, double 0x0000000000000000, double %t93) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_bytes_release(ptr %t94) + br label %exc.cleanup23 +exc.k25: + %t98 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t88, i64 0, i32 4 + %t99 = load ptr, ptr %t98 + store ptr %t94, ptr %t98, !tbaa !114 + call void @scr_bytes_release(ptr %t99) + br label %if.j19 +if.j19: + %t100 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t100) + ret void +if.j17: + %t101 = load double, ptr %sc_l_i_0 + %t102 = load ptr, ptr %sc_l_this_0 + %t103 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t102, i64 0, i32 1 + %t104 = load ptr, ptr %t103, !tbaa !108 + %t105 = call double @sc_str_utf16_len(ptr %t104) + %t107 = fptosi double %t105 to i32 + %t106 = fadd double %t101, %t105 + store double %t106, ptr %sc_l_pos_0 + %t108 = load ptr, ptr %sc_l_this_0 + %t109 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t108, i64 0, i32 3 + store double 0x3FF0000000000000, ptr %t109, !tbaa !112 + br label %if.j14 +if.f15: + %t110 = load ptr, ptr %sc_l_this_0 + %t111 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t110, i64 0, i32 3 + %t112 = load double, ptr %t111, !tbaa !112 + %t113 = fcmp oeq double %t112, 0x3FF0000000000000 + br i1 %t113, label %if.t26, label %if.f28 +if.t26: + %t114 = load double, ptr %sc_l_pos_0 + %t115 = fadd double %t114, 0x4000000000000000 + %t116 = load ptr, ptr %sc_l_buf_0 + %t117 = getelementptr inbounds %ScrBytes, ptr %t116, i64 0, i32 1 + %t118 = load i64, ptr %t117 + %t119 = sitofp i64 %t118 to double + %t121 = fptosi double %t119 to i64 + %t120 = fcmp ogt double %t115, %t119 + br i1 %t120, label %if.t29, label %if.j30 +if.t29: + %t122 = load ptr, ptr %sc_l_this_0 + %t123 = load ptr, ptr %sc_l_buf_0 + %t124 = load double, ptr %sc_l_pos_0 + %t125 = load ptr, ptr %sc_l_buf_0 + %t126 = getelementptr inbounds %ScrBytes, ptr %t125, i64 0, i32 1 + %t127 = load i64, ptr %t126 + %t128 = sitofp i64 %t127 to double + %t129 = call ptr @sc_bf__x25_m4_u8slice(ptr %t123, double %t124, double %t128) + %t130 = load i32, ptr %exc.cell + %t131 = icmp ne i32 %t130, 0 + %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false) + br i1 %t132, label %exc.u31, label %exc.k32 +exc.u31: + call void @scr_bytes_release(ptr %t129) + br label %exc.cleanup23 +exc.k32: + %t133 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t122, i64 0, i32 4 + %t134 = load ptr, ptr %t133 + store ptr %t129, ptr %t133, !tbaa !114 + call void @scr_bytes_release(ptr %t134) + %t135 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t135) + ret void +if.j30: + %t136 = load ptr, ptr %sc_l_buf_0 + %t137 = load double, ptr %sc_l_pos_0 + %t138 = getelementptr inbounds %ScrBytes, ptr %t136, i64 0, i32 1 + %t139 = load i64, ptr %t138 + %t140 = fptosi double %t137 to i64 + %t141 = freeze i64 %t140 + %t142 = sitofp i64 %t141 to double + %t143 = fcmp oeq double %t142, %t137 + %t144 = icmp ult i64 %t141, %t139 + %t145 = and i1 %t143, %t144 + br i1 %t145, label %bytes.index.valid36, label %bytes.index.invalid35 +bytes.index.invalid35: + br label %bytes.read.invalid33 +bytes.index.valid36: + %t146 = getelementptr inbounds %ScrBytes, ptr %t136, i64 0, i32 3 + %t147 = load ptr, ptr %t146 + %t148 = getelementptr inbounds i8, ptr %t147, i64 %t141 + %t149 = load i8, ptr %t148, align 1 + %t150 = zext i8 %t149 to i32 + %t151 = uitofp i32 %t150 to double + br label %bytes.read.ok37 +bytes.read.ok37: + br label %bytes.read.done34 +bytes.read.invalid33: + br label %bytes.read.done34 +bytes.read.done34: + %t153 = phi i32 [ %t150, %bytes.read.ok37 ], [ 0, %bytes.read.invalid33 ] + %t154 = phi i1 [ true, %bytes.read.ok37 ], [ false, %bytes.read.invalid33 ] + %t155 = uitofp i32 %t153 to double + %t152 = select i1 %t154, double %t155, double 0x7FF8000000000000 + store double %t152, ptr %sc_l_b0_0 + %t156 = load ptr, ptr %sc_l_buf_0 + %t157 = load double, ptr %sc_l_pos_0 + %t158 = fadd double %t157, 0x3FF0000000000000 + %t159 = getelementptr inbounds %ScrBytes, ptr %t156, i64 0, i32 1 + %t160 = load i64, ptr %t159 + %t161 = fptosi double %t158 to i64 + %t162 = freeze i64 %t161 + %t163 = sitofp i64 %t162 to double + %t164 = fcmp oeq double %t163, %t158 + %t165 = icmp ult i64 %t162, %t160 + %t166 = and i1 %t164, %t165 + br i1 %t166, label %bytes.index.valid41, label %bytes.index.invalid40 +bytes.index.invalid40: + br label %bytes.read.invalid38 +bytes.index.valid41: + %t167 = getelementptr inbounds %ScrBytes, ptr %t156, i64 0, i32 3 + %t168 = load ptr, ptr %t167 + %t169 = getelementptr inbounds i8, ptr %t168, i64 %t162 + %t170 = load i8, ptr %t169, align 1 + %t171 = zext i8 %t170 to i32 + %t172 = uitofp i32 %t171 to double + br label %bytes.read.ok42 +bytes.read.ok42: + br label %bytes.read.done39 +bytes.read.invalid38: + br label %bytes.read.done39 +bytes.read.done39: + %t174 = phi i32 [ %t171, %bytes.read.ok42 ], [ 0, %bytes.read.invalid38 ] + %t175 = phi i1 [ true, %bytes.read.ok42 ], [ false, %bytes.read.invalid38 ] + %t176 = uitofp i32 %t174 to double + %t173 = select i1 %t175, double %t176, double 0x7FF8000000000000 + store double %t173, ptr %sc_l_b1_0 + %t177 = load double, ptr %sc_l_b0_0 + %t178 = fcmp oeq double %t177, 0x4046800000000000 + store i1 %t178, ptr %s179 + br i1 %t178, label %log.r43, label %log.j44 +log.r43: + %t180 = load double, ptr %sc_l_b1_0 + %t181 = fcmp oeq double %t180, 0x4046800000000000 + store i1 %t181, ptr %s179 + br label %log.j44 +log.j44: + %t182 = load i1, ptr %s179 + br i1 %t182, label %if.t45, label %if.f47 +if.t45: + %t183 = load ptr, ptr %sc_l_this_0 + %t184 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t183, i64 0, i32 3 + store double 0x4010000000000000, ptr %t184, !tbaa !112 + %t185 = load double, ptr %sc_l_pos_0 + %t186 = fadd double %t185, 0x4000000000000000 + store double %t186, ptr %sc_l_pos_0 + br label %if.j46 +if.f47: + %t187 = load double, ptr %sc_l_b0_0 + %t188 = fcmp oeq double %t187, 0x402A000000000000 + store i1 %t188, ptr %s189 + br i1 %t188, label %log.r48, label %log.j49 +log.r48: + %t190 = load double, ptr %sc_l_b1_0 + %t191 = fcmp oeq double %t190, 0x4024000000000000 + store i1 %t191, ptr %s189 + br label %log.j49 +log.j49: + %t192 = load i1, ptr %s189 + br i1 %t192, label %if.t50, label %if.f52 +if.t50: + %t193 = load ptr, ptr %sc_l_this_0 + %t194 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t193, i64 0, i32 3 + store double 0x4000000000000000, ptr %t194, !tbaa !112 + %t195 = load double, ptr %sc_l_pos_0 + %t196 = fadd double %t195, 0x4000000000000000 + store double %t196, ptr %sc_l_pos_0 + br label %if.j51 +if.f52: + %t197 = load ptr, ptr %sc_l_this_0 + store ptr %t197, ptr %sc_l__x25_callbackReceiver_0 + %t198 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t199 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t198) + %t200 = load i32, ptr %exc.cell + %t201 = icmp ne i32 %t200, 0 + %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false) + br i1 %t202, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t199) + br label %exc.cleanup23 +exc.k54: + store ptr %t199, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t203 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t204 = getelementptr inbounds i8, ptr %t203, i64 8 ; ->kind + %t205 = load i32, ptr %t204 + %t206 = icmp eq i32 %t205, 6 + br i1 %t206, label %tern.t55, label %tern.f56 +tern.t55: + %t209 = call ptr @scr_dyn_undefined() + %t208 = call ptr @scr_dyn_retain_v(ptr %t209) + store ptr %t208, ptr %s207 + br label %tern.j57 +tern.f56: + %t210 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t211 = call ptr @sc_rc_retain_dyn(ptr %t210) + %t212 = call ptr @sc_f__x25_dyn_class_property_38(ptr %t211) + %t213 = load i32, ptr %exc.cell + %t214 = icmp ne i32 %t213, 0 + %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false) + br i1 %t215, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t212) + br label %exc.cleanup60 +exc.k59: + store ptr %t212, ptr %s207 + br label %tern.j57 +tern.j57: + %t216 = load ptr, ptr %s207 + store ptr %t216, ptr %sc_l__x25_callback_0 + %t217 = load ptr, ptr %sc_l__x25_callback_0 + %t218 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t219 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t218, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t219) + %t220 = call ptr @scr_dyn_call(ptr %t217, ptr null, i64 0, ptr @sc_cs_1114522622042273) + call void @scr_dyn_this_pop() + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u61, label %exc.k62 +exc.u61: + call void @sc_rc_release_dyn(ptr %t219) + call void @sc_rc_release_dyn(ptr %t220) + br label %exc.cleanup63 +exc.k62: + call void @sc_rc_release_dyn(ptr %t219) + call void @sc_rc_release_dyn(ptr %t220) + %t224 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t224) + %t225 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t225) + %t226 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t226) + ret void +if.j51: + br label %if.j46 +if.j46: + br label %if.j27 +if.f28: + %t227 = load ptr, ptr %sc_l_this_0 + %t228 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t227, i64 0, i32 3 + %t229 = load double, ptr %t228, !tbaa !112 + %t230 = fcmp oeq double %t229, 0x4000000000000000 + br i1 %t230, label %if.t64, label %if.f66 +if.t64: + %t231 = load ptr, ptr %sc_l_buf_0 + %t232 = load double, ptr %sc_l_pos_0 + %t233 = call double @sc_bf__x25_m4_findSeq(ptr %t231, ptr @sc_lit_3864033475009977, double %t232) + store double %t233, ptr %sc_l_i_1 + %t234 = load double, ptr %sc_l_i_1 + %t235 = fcmp olt double %t234, 0x0000000000000000 + br i1 %t235, label %if.t67, label %if.j68 +if.t67: + %t236 = load ptr, ptr %sc_l_buf_0 + %t237 = getelementptr inbounds %ScrBytes, ptr %t236, i64 0, i32 1 + %t238 = load i64, ptr %t237 + %t239 = sitofp i64 %t238 to double + %t240 = load double, ptr %sc_l_pos_0 + %t242 = fptosi double %t239 to i64 + %t241 = fsub double %t239, %t240 + %t243 = fcmp ogt double %t241, 0x40D0000000000000 + br i1 %t243, label %if.t69, label %if.j70 +if.t69: + %t244 = load ptr, ptr %sc_l_this_0 + store ptr %t244, ptr %sc_l__x25_callbackReceiver_1 + %t245 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t246 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t245) + %t247 = load i32, ptr %exc.cell + %t248 = icmp ne i32 %t247, 0 + %t249 = call i1 @llvm.expect.i1(i1 %t248, i1 false) + br i1 %t249, label %exc.u71, label %exc.k72 +exc.u71: + call void @sc_rc_release_dyn(ptr %t246) + br label %exc.cleanup23 +exc.k72: + store ptr %t246, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t250 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t251 = getelementptr inbounds i8, ptr %t250, i64 8 ; ->kind + %t252 = load i32, ptr %t251 + %t253 = icmp eq i32 %t252, 6 + br i1 %t253, label %tern.t73, label %tern.f74 +tern.t73: + %t256 = call ptr @scr_dyn_undefined() + %t255 = call ptr @scr_dyn_retain_v(ptr %t256) + store ptr %t255, ptr %s254 + br label %tern.j75 +tern.f74: + %t257 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t258 = call ptr @sc_rc_retain_dyn(ptr %t257) + %t259 = call ptr @sc_f__x25_dyn_class_property_38(ptr %t258) + %t260 = load i32, ptr %exc.cell + %t261 = icmp ne i32 %t260, 0 + %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false) + br i1 %t262, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t259) + br label %exc.cleanup78 +exc.k77: + store ptr %t259, ptr %s254 + br label %tern.j75 +tern.j75: + %t263 = load ptr, ptr %s254 + store ptr %t263, ptr %sc_l__x25_callback_1 + %t264 = load ptr, ptr %sc_l__x25_callback_1 + %t265 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t266 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t265, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t266) + %t267 = call ptr @scr_dyn_call(ptr %t264, ptr null, i64 0, ptr @sc_cs_1114522622042273) + call void @scr_dyn_this_pop() + %t268 = load i32, ptr %exc.cell + %t269 = icmp ne i32 %t268, 0 + %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false) + br i1 %t270, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t266) + call void @sc_rc_release_dyn(ptr %t267) + br label %exc.cleanup81 +exc.k80: + call void @sc_rc_release_dyn(ptr %t266) + call void @sc_rc_release_dyn(ptr %t267) + %t271 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t271) + %t272 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t272) + %t273 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t273) + ret void +if.j70: + %t274 = load ptr, ptr %sc_l_this_0 + %t275 = load ptr, ptr %sc_l_buf_0 + %t276 = load double, ptr %sc_l_pos_0 + %t277 = load ptr, ptr %sc_l_buf_0 + %t278 = getelementptr inbounds %ScrBytes, ptr %t277, i64 0, i32 1 + %t279 = load i64, ptr %t278 + %t280 = sitofp i64 %t279 to double + %t281 = call ptr @sc_bf__x25_m4_u8slice(ptr %t275, double %t276, double %t280) + %t282 = load i32, ptr %exc.cell + %t283 = icmp ne i32 %t282, 0 + %t284 = call i1 @llvm.expect.i1(i1 %t283, i1 false) + br i1 %t284, label %exc.u82, label %exc.k83 +exc.u82: + call void @scr_bytes_release(ptr %t281) + br label %exc.cleanup23 +exc.k83: + %t285 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t274, i64 0, i32 4 + %t286 = load ptr, ptr %t285 + store ptr %t281, ptr %t285, !tbaa !114 + call void @scr_bytes_release(ptr %t286) + %t287 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t287) + ret void +if.j68: + %t288 = load ptr, ptr %sc_l_this_0 + store ptr %t288, ptr %sc_l__x25_callbackReceiver_2 + %t289 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t290 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t289) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t290) + br label %exc.cleanup23 +exc.k85: + store ptr %t290, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t294 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t295 = getelementptr inbounds i8, ptr %t294, i64 8 ; ->kind + %t296 = load i32, ptr %t295 + %t297 = icmp eq i32 %t296, 6 + br i1 %t297, label %tern.t86, label %tern.f87 +tern.t86: + %t300 = call ptr @scr_dyn_undefined() + %t299 = call ptr @scr_dyn_retain_v(ptr %t300) + store ptr %t299, ptr %s298 + br label %tern.j88 +tern.f87: + %t301 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t302 = call ptr @sc_rc_retain_dyn(ptr %t301) + %t303 = call ptr @sc_f__x25_dyn_class_property_39(ptr %t302) + %t304 = load i32, ptr %exc.cell + %t305 = icmp ne i32 %t304, 0 + %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false) + br i1 %t306, label %exc.u89, label %exc.k90 +exc.u89: + call void @sc_rc_release_dyn(ptr %t303) + br label %exc.cleanup91 +exc.k90: + store ptr %t303, ptr %s298 + br label %tern.j88 +tern.j88: + %t307 = load ptr, ptr %s298 + store ptr %t307, ptr %sc_l__x25_callback_2 + %t308 = load ptr, ptr %sc_l__x25_callback_2 + %t309 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t310 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t309, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t311 = load ptr, ptr %sc_l_buf_0 + %t312 = load double, ptr %sc_l_pos_0 + %t313 = load double, ptr %sc_l_i_1 + %t314 = call ptr @sc_bf__x25_m4_u8slice(ptr %t311, double %t312, double %t313) + %t315 = load i32, ptr %exc.cell + %t316 = icmp ne i32 %t315, 0 + %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false) + br i1 %t317, label %exc.u92, label %exc.k93 +exc.u92: + call void @scr_bytes_release(ptr %t314) + call void @sc_rc_release_dyn(ptr %t310) + br label %exc.cleanup94 +exc.k93: + %t318 = call ptr @sc_td_1(ptr %t314) + %t320 = getelementptr inbounds [1 x ptr], ptr %s319, i64 0, i64 0 + store ptr %t318, ptr %t320 + call void @scr_dyn_this_push_dyn(ptr %t310) + %t321 = call ptr @scr_dyn_call(ptr %t308, ptr %s319, i64 1, ptr @sc_cs_1244843193594100) + call void @scr_dyn_this_pop() + %t322 = load i32, ptr %exc.cell + %t323 = icmp ne i32 %t322, 0 + %t324 = call i1 @llvm.expect.i1(i1 %t323, i1 false) + br i1 %t324, label %exc.u95, label %exc.k96 +exc.u95: + call void @sc_rc_release_dyn(ptr %t310) + call void @scr_bytes_release(ptr %t314) + call void @sc_rc_release_dyn(ptr %t318) + call void @sc_rc_release_dyn(ptr %t321) + br label %exc.cleanup94 +exc.k96: + call void @sc_rc_release_dyn(ptr %t310) + call void @scr_bytes_release(ptr %t314) + call void @sc_rc_release_dyn(ptr %t318) + call void @sc_rc_release_dyn(ptr %t321) + %t325 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t325) + %t326 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t326) + %t327 = load ptr, ptr %sc_l_this_0 + %t328 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t327, i64 0, i32 18 + %t329 = load double, ptr %t328, !tbaa !26 + %t330 = fcmp une double %t329, 0x0000000000000000 + br i1 %t330, label %if.t97, label %if.j98 +if.t97: + %t331 = load ptr, ptr %sc_l_this_0 + %t332 = load ptr, ptr @sc_g_m4_EMPTY_U8 + %t333 = call ptr @scr_bytes_retain_v(ptr %t332) + %t334 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t331, i64 0, i32 4 + %t335 = load ptr, ptr %t334 + store ptr %t333, ptr %t334, !tbaa !114 + call void @scr_bytes_release(ptr %t335) + %t336 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t336) + ret void +if.j98: + %t337 = load double, ptr %sc_l_i_1 + %t338 = fadd double %t337, 0x4010000000000000 + store double %t338, ptr %sc_l_pos_0 + %t339 = load ptr, ptr %sc_l_this_0 + %t340 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t339, i64 0, i32 3 + store double 0x4008000000000000, ptr %t340, !tbaa !112 + br label %if.j65 +if.f66: + %t341 = load ptr, ptr %sc_l_buf_0 + %t342 = load ptr, ptr %sc_l_this_0 + %t343 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t342, i64 0, i32 2 + %t344 = load ptr, ptr %t343, !tbaa !110 + %t345 = load double, ptr %sc_l_pos_0 + %t346 = call double @sc_bf__x25_m4_findSeq(ptr %t341, ptr %t344, double %t345) + store double %t346, ptr %sc_l_i_2 + %t347 = load double, ptr %sc_l_i_2 + %t348 = fcmp olt double %t347, 0x0000000000000000 + br i1 %t348, label %if.t99, label %if.j100 +if.t99: + %t349 = load ptr, ptr %sc_l_this_0 + %t350 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t349, i64 0, i32 2 + %t351 = load ptr, ptr %t350, !tbaa !110 + %t352 = call double @sc_str_utf16_len(ptr %t351) + %t354 = fptosi double %t352 to i32 + %t355 = sext i32 %t354 to i64 + %t356 = add nsw i64 %t355, 2 + %t358 = trunc i64 %t356 to i32 + %t357 = sitofp i64 %t356 to double + %t359 = trunc i64 %t356 to i32 + store i32 %t359, ptr %sc_l_keep_1 + %t360 = load ptr, ptr %sc_l_buf_0 + %t361 = getelementptr inbounds %ScrBytes, ptr %t360, i64 0, i32 1 + %t362 = load i64, ptr %t361 + %t363 = sitofp i64 %t362 to double + %t364 = load i32, ptr %sc_l_keep_1 + %t365 = uitofp i32 %t364 to double + %t367 = fptosi double %t363 to i64 + %t368 = zext i32 %t364 to i64 + %t369 = sub nsw i64 %t367, %t368 + %t371 = trunc i64 %t369 to i32 + %t370 = sitofp i64 %t369 to double + store double %t370, ptr %sc_l_safeEnd_0 + %t372 = load double, ptr %sc_l_safeEnd_0 + %t373 = load double, ptr %sc_l_pos_0 + %t375 = fptosi double %t372 to i64 + %t374 = fcmp ogt double %t372, %t373 + br i1 %t374, label %if.t101, label %if.f103 +if.t101: + %t376 = load ptr, ptr %sc_l_this_0 + store ptr %t376, ptr %sc_l__x25_callbackReceiver_3 + %t377 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t378 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t377) + %t379 = load i32, ptr %exc.cell + %t380 = icmp ne i32 %t379, 0 + %t381 = call i1 @llvm.expect.i1(i1 %t380, i1 false) + br i1 %t381, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t378) + br label %exc.cleanup23 +exc.k105: + store ptr %t378, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t382 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t383 = getelementptr inbounds i8, ptr %t382, i64 8 ; ->kind + %t384 = load i32, ptr %t383 + %t385 = icmp eq i32 %t384, 6 + br i1 %t385, label %tern.t106, label %tern.f107 +tern.t106: + %t388 = call ptr @scr_dyn_undefined() + %t387 = call ptr @scr_dyn_retain_v(ptr %t388) + store ptr %t387, ptr %s386 + br label %tern.j108 +tern.f107: + %t389 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t390 = call ptr @sc_rc_retain_dyn(ptr %t389) + %t391 = call ptr @sc_f__x25_dyn_class_property_40(ptr %t390) + %t392 = load i32, ptr %exc.cell + %t393 = icmp ne i32 %t392, 0 + %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false) + br i1 %t394, label %exc.u109, label %exc.k110 +exc.u109: + call void @sc_rc_release_dyn(ptr %t391) + br label %exc.cleanup111 +exc.k110: + store ptr %t391, ptr %s386 + br label %tern.j108 +tern.j108: + %t395 = load ptr, ptr %s386 + store ptr %t395, ptr %sc_l__x25_callback_3 + %t396 = load ptr, ptr %sc_l__x25_callback_3 + %t397 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t398 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t397, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t399 = load ptr, ptr %sc_l_buf_0 + %t400 = load double, ptr %sc_l_pos_0 + %t401 = load double, ptr %sc_l_safeEnd_0 + %t402 = call ptr @sc_bf__x25_m4_u8slice(ptr %t399, double %t400, double %t401) + %t403 = load i32, ptr %exc.cell + %t404 = icmp ne i32 %t403, 0 + %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false) + br i1 %t405, label %exc.u112, label %exc.k113 +exc.u112: + call void @scr_bytes_release(ptr %t402) + call void @sc_rc_release_dyn(ptr %t398) + br label %exc.cleanup114 +exc.k113: + %t406 = call ptr @sc_td_1(ptr %t402) + %t408 = getelementptr inbounds [1 x ptr], ptr %s407, i64 0, i64 0 + store ptr %t406, ptr %t408 + call void @scr_dyn_this_push_dyn(ptr %t398) + %t409 = call ptr @scr_dyn_call(ptr %t396, ptr %s407, i64 1, ptr @sc_cs_3511997926099974) + call void @scr_dyn_this_pop() + %t410 = load i32, ptr %exc.cell + %t411 = icmp ne i32 %t410, 0 + %t412 = call i1 @llvm.expect.i1(i1 %t411, i1 false) + br i1 %t412, label %exc.u115, label %exc.k116 +exc.u115: + call void @sc_rc_release_dyn(ptr %t398) + call void @scr_bytes_release(ptr %t402) + call void @sc_rc_release_dyn(ptr %t406) + call void @sc_rc_release_dyn(ptr %t409) + br label %exc.cleanup114 +exc.k116: + call void @sc_rc_release_dyn(ptr %t398) + call void @scr_bytes_release(ptr %t402) + call void @sc_rc_release_dyn(ptr %t406) + call void @sc_rc_release_dyn(ptr %t409) + %t413 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t413) + %t414 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t414) + %t415 = load ptr, ptr %sc_l_this_0 + %t416 = load ptr, ptr %sc_l_buf_0 + %t417 = load double, ptr %sc_l_safeEnd_0 + %t418 = load ptr, ptr %sc_l_buf_0 + %t419 = getelementptr inbounds %ScrBytes, ptr %t418, i64 0, i32 1 + %t420 = load i64, ptr %t419 + %t421 = sitofp i64 %t420 to double + %t422 = call ptr @sc_bf__x25_m4_u8slice(ptr %t416, double %t417, double %t421) + %t423 = load i32, ptr %exc.cell + %t424 = icmp ne i32 %t423, 0 + %t425 = call i1 @llvm.expect.i1(i1 %t424, i1 false) + br i1 %t425, label %exc.u117, label %exc.k118 +exc.u117: + call void @scr_bytes_release(ptr %t422) + br label %exc.cleanup23 +exc.k118: + %t426 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t415, i64 0, i32 4 + %t427 = load ptr, ptr %t426 + store ptr %t422, ptr %t426, !tbaa !114 + call void @scr_bytes_release(ptr %t427) + br label %if.j102 +if.f103: + %t428 = load ptr, ptr %sc_l_this_0 + %t429 = load ptr, ptr %sc_l_buf_0 + %t430 = load double, ptr %sc_l_pos_0 + %t431 = load ptr, ptr %sc_l_buf_0 + %t432 = getelementptr inbounds %ScrBytes, ptr %t431, i64 0, i32 1 + %t433 = load i64, ptr %t432 + %t434 = sitofp i64 %t433 to double + %t435 = call ptr @sc_bf__x25_m4_u8slice(ptr %t429, double %t430, double %t434) + %t436 = load i32, ptr %exc.cell + %t437 = icmp ne i32 %t436, 0 + %t438 = call i1 @llvm.expect.i1(i1 %t437, i1 false) + br i1 %t438, label %exc.u119, label %exc.k120 +exc.u119: + call void @scr_bytes_release(ptr %t435) + br label %exc.cleanup23 +exc.k120: + %t439 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t428, i64 0, i32 4 + %t440 = load ptr, ptr %t439 + store ptr %t435, ptr %t439, !tbaa !114 + call void @scr_bytes_release(ptr %t440) + br label %if.j102 +if.j102: + %t441 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t441) + ret void +if.j100: + %t442 = load ptr, ptr %sc_l_this_0 + store ptr %t442, ptr %sc_l__x25_callbackReceiver_4 + %t443 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t444 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t443) + %t445 = load i32, ptr %exc.cell + %t446 = icmp ne i32 %t445, 0 + %t447 = call i1 @llvm.expect.i1(i1 %t446, i1 false) + br i1 %t447, label %exc.u121, label %exc.k122 +exc.u121: + call void @sc_rc_release_dyn(ptr %t444) + br label %exc.cleanup23 +exc.k122: + store ptr %t444, ptr %sc_l__x25_callbackBag_4 + store i1 true, ptr %sc_l__x25_callbackPresent_4 + %t448 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t449 = getelementptr inbounds i8, ptr %t448, i64 8 ; ->kind + %t450 = load i32, ptr %t449 + %t451 = icmp eq i32 %t450, 6 + br i1 %t451, label %tern.t123, label %tern.f124 +tern.t123: + %t454 = call ptr @scr_dyn_undefined() + %t453 = call ptr @scr_dyn_retain_v(ptr %t454) + store ptr %t453, ptr %s452 + br label %tern.j125 +tern.f124: + %t455 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t456 = call ptr @sc_rc_retain_dyn(ptr %t455) + %t457 = call ptr @sc_f__x25_dyn_class_property_40(ptr %t456) + %t458 = load i32, ptr %exc.cell + %t459 = icmp ne i32 %t458, 0 + %t460 = call i1 @llvm.expect.i1(i1 %t459, i1 false) + br i1 %t460, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t457) + br label %exc.cleanup128 +exc.k127: + store ptr %t457, ptr %s452 + br label %tern.j125 +tern.j125: + %t461 = load ptr, ptr %s452 + store ptr %t461, ptr %sc_l__x25_callback_4 + %t462 = load ptr, ptr %sc_l__x25_callback_4 + %t463 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t464 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t463, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t465 = load ptr, ptr %sc_l_buf_0 + %t466 = load double, ptr %sc_l_pos_0 + %t467 = load double, ptr %sc_l_i_2 + %t468 = call ptr @sc_bf__x25_m4_u8slice(ptr %t465, double %t466, double %t467) + %t469 = load i32, ptr %exc.cell + %t470 = icmp ne i32 %t469, 0 + %t471 = call i1 @llvm.expect.i1(i1 %t470, i1 false) + br i1 %t471, label %exc.u129, label %exc.k130 +exc.u129: + call void @scr_bytes_release(ptr %t468) + call void @sc_rc_release_dyn(ptr %t464) + br label %exc.cleanup131 +exc.k130: + %t472 = call ptr @sc_td_1(ptr %t468) + %t474 = getelementptr inbounds [1 x ptr], ptr %s473, i64 0, i64 0 + store ptr %t472, ptr %t474 + call void @scr_dyn_this_push_dyn(ptr %t464) + %t475 = call ptr @scr_dyn_call(ptr %t462, ptr %s473, i64 1, ptr @sc_cs_3511997926099974) + call void @scr_dyn_this_pop() + %t476 = load i32, ptr %exc.cell + %t477 = icmp ne i32 %t476, 0 + %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false) + br i1 %t478, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t464) + call void @scr_bytes_release(ptr %t468) + call void @sc_rc_release_dyn(ptr %t472) + call void @sc_rc_release_dyn(ptr %t475) + br label %exc.cleanup131 +exc.k133: + call void @sc_rc_release_dyn(ptr %t464) + call void @scr_bytes_release(ptr %t468) + call void @sc_rc_release_dyn(ptr %t472) + call void @sc_rc_release_dyn(ptr %t475) + %t479 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t479) + %t480 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t480) + %t481 = load ptr, ptr %sc_l_this_0 + %t482 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t481, i64 0, i32 18 + %t483 = load double, ptr %t482, !tbaa !26 + %t484 = fcmp une double %t483, 0x0000000000000000 + br i1 %t484, label %if.t134, label %if.j135 +if.t134: + %t485 = load ptr, ptr %sc_l_this_0 + %t486 = load ptr, ptr @sc_g_m4_EMPTY_U8 + %t487 = call ptr @scr_bytes_retain_v(ptr %t486) + %t488 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t485, i64 0, i32 4 + %t489 = load ptr, ptr %t488 + store ptr %t487, ptr %t488, !tbaa !114 + call void @scr_bytes_release(ptr %t489) + %t490 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t490) + ret void +if.j135: + %t491 = load ptr, ptr %sc_l_this_0 + store ptr %t491, ptr %sc_l__x25_callbackReceiver_5 + %t492 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t493 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t492) + %t494 = load i32, ptr %exc.cell + %t495 = icmp ne i32 %t494, 0 + %t496 = call i1 @llvm.expect.i1(i1 %t495, i1 false) + br i1 %t496, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t493) + br label %exc.cleanup23 +exc.k137: + store ptr %t493, ptr %sc_l__x25_callbackBag_5 + store i1 true, ptr %sc_l__x25_callbackPresent_5 + %t497 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t498 = getelementptr inbounds i8, ptr %t497, i64 8 ; ->kind + %t499 = load i32, ptr %t498 + %t500 = icmp eq i32 %t499, 6 + br i1 %t500, label %tern.t138, label %tern.f139 +tern.t138: + %t503 = call ptr @scr_dyn_undefined() + %t502 = call ptr @scr_dyn_retain_v(ptr %t503) + store ptr %t502, ptr %s501 + br label %tern.j140 +tern.f139: + %t504 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t505 = call ptr @sc_rc_retain_dyn(ptr %t504) + %t506 = call ptr @sc_f__x25_dyn_class_property_41(ptr %t505) + %t507 = load i32, ptr %exc.cell + %t508 = icmp ne i32 %t507, 0 + %t509 = call i1 @llvm.expect.i1(i1 %t508, i1 false) + br i1 %t509, label %exc.u141, label %exc.k142 +exc.u141: + call void @sc_rc_release_dyn(ptr %t506) + br label %exc.cleanup143 +exc.k142: + store ptr %t506, ptr %s501 + br label %tern.j140 +tern.j140: + %t510 = load ptr, ptr %s501 + store ptr %t510, ptr %sc_l__x25_callback_5 + %t511 = load ptr, ptr %sc_l__x25_callback_5 + %t512 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t513 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t512, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t513) + %t514 = call ptr @scr_dyn_call(ptr %t511, ptr null, i64 0, ptr @sc_cs_1251443465576969) + call void @scr_dyn_this_pop() + %t515 = load i32, ptr %exc.cell + %t516 = icmp ne i32 %t515, 0 + %t517 = call i1 @llvm.expect.i1(i1 %t516, i1 false) + br i1 %t517, label %exc.u144, label %exc.k145 +exc.u144: + call void @sc_rc_release_dyn(ptr %t513) + call void @sc_rc_release_dyn(ptr %t514) + br label %exc.cleanup146 +exc.k145: + call void @sc_rc_release_dyn(ptr %t513) + call void @sc_rc_release_dyn(ptr %t514) + %t518 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t518) + %t519 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t519) + %t520 = load double, ptr %sc_l_i_2 + %t521 = load ptr, ptr %sc_l_this_0 + %t522 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t521, i64 0, i32 2 + %t523 = load ptr, ptr %t522, !tbaa !110 + %t524 = call double @sc_str_utf16_len(ptr %t523) + %t526 = fptosi double %t524 to i32 + %t525 = fadd double %t520, %t524 + store double %t525, ptr %sc_l_pos_0 + %t527 = load ptr, ptr %sc_l_this_0 + %t528 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t527, i64 0, i32 3 + store double 0x3FF0000000000000, ptr %t528, !tbaa !112 + br label %if.j65 +if.j65: + br label %if.j27 +if.j27: + br label %if.j14 +if.j14: + br label %loop.c7 +loop.e6: + %t529 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t529) + ret void +exc.cleanup23: + %t530 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t530) + ret void +exc.cleanup60: + %t531 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t531) + %t532 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t532) + ret void +exc.cleanup63: + %t533 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t533) + %t534 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t534) + %t535 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t535) + ret void +exc.cleanup78: + %t536 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t536) + %t537 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t537) + ret void +exc.cleanup81: + %t538 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t538) + %t539 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t539) + %t540 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t540) + ret void +exc.cleanup91: + %t541 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t541) + %t542 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t542) + ret void +exc.cleanup94: + %t543 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t543) + %t544 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t544) + %t545 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t545) + ret void +exc.cleanup111: + %t546 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t546) + %t547 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t547) + ret void +exc.cleanup114: + %t548 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t548) + %t549 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t549) + %t550 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t550) + ret void +exc.cleanup128: + %t551 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t551) + %t552 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t552) + ret void +exc.cleanup131: + %t553 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t553) + %t554 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t554) + %t555 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t555) + ret void +exc.cleanup143: + %t556 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t556) + %t557 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t557) + ret void +exc.cleanup146: + %t558 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t558) + %t559 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t559) + %t560 = load ptr, ptr %sc_l_buf_0 + call void @scr_bytes_release(ptr %t560) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser_feed(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser_feed(ptr %p0, ptr %p1) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + call void @scr_bytes_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser_finish(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser.finish +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s22 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 18 + %t6 = load double, ptr %t5, !tbaa !26 + %t7 = fcmp une double %t6, 0x0000000000000000 + br i1 %t7, label %if.t2, label %if.j3 +if.t2: + ret void +if.j3: + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t8, i64 0, i32 3 + %t10 = load double, ptr %t9, !tbaa !112 + %t11 = fcmp oeq double %t10, 0x4010000000000000 + br i1 %t11, label %if.t4, label %if.j5 +if.t4: + ret void +if.j5: + %t12 = load ptr, ptr %sc_l_this_0 + store ptr %t12, ptr %sc_l__x25_callbackReceiver_0 + %t13 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t14 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t13) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t14) + ret void +exc.k7: + store ptr %t14, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 6 + br i1 %t21, label %tern.t8, label %tern.f9 +tern.t8: + %t24 = call ptr @scr_dyn_undefined() + %t23 = call ptr @scr_dyn_retain_v(ptr %t24) + store ptr %t23, ptr %s22 + br label %tern.j10 +tern.f9: + %t25 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t26 = call ptr @sc_rc_retain_dyn(ptr %t25) + %t27 = call ptr @sc_f__x25_dyn_class_property_38(ptr %t26) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup13 +exc.k12: + store ptr %t27, ptr %s22 + br label %tern.j10 +tern.j10: + %t31 = load ptr, ptr %s22 + store ptr %t31, ptr %sc_l__x25_callback_0 + %t32 = load ptr, ptr %sc_l__x25_callback_0 + %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t34) + %t35 = call ptr @scr_dyn_call(ptr %t32, ptr null, i64 0, ptr @sc_cs_1114522622042273) + call void @scr_dyn_this_pop() + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + br label %exc.cleanup16 +exc.k15: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t40) + ret void +exc.cleanup13: + %t41 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t41) + ret void +exc.cleanup16: + %t42 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t42) + %t43 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t43) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser_finish(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser_finish(ptr %p0) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser__malformed(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser._malformed +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s16 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 18 + store double 0x3FF0000000000000, ptr %t5, !tbaa !26 + %t6 = load ptr, ptr %sc_l_this_0 + store ptr %t6, ptr %sc_l__x25_callbackReceiver_0 + %t7 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t8 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k3: + store ptr %t8, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t12 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t13 = getelementptr inbounds i8, ptr %t12, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 6 + br i1 %t15, label %tern.t4, label %tern.f5 +tern.t4: + %t18 = call ptr @scr_dyn_undefined() + %t17 = call ptr @scr_dyn_retain_v(ptr %t18) + store ptr %t17, ptr %s16 + br label %tern.j6 +tern.f5: + %t19 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_property_42(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t21) + br label %exc.cleanup9 +exc.k8: + store ptr %t21, ptr %s16 + br label %tern.j6 +tern.j6: + %t25 = load ptr, ptr %s16 + store ptr %t25, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callback_0 + %t27 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t28 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t27, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t28) + %t29 = call ptr @scr_dyn_call(ptr %t26, ptr null, i64 0, ptr @sc_cs_1548363400435851) + call void @scr_dyn_this_pop() + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + %t33 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t33) + %t34 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t34) + ret void +exc.cleanup9: + %t35 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t35) + ret void +exc.cleanup12: + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser__malformed(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser__malformed(ptr %p0) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser__limit(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser._limit +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s16 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 18 + store double 0x4000000000000000, ptr %t5, !tbaa !26 + %t6 = load ptr, ptr %sc_l_this_0 + store ptr %t6, ptr %sc_l__x25_callbackReceiver_0 + %t7 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t8 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k3: + store ptr %t8, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t12 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t13 = getelementptr inbounds i8, ptr %t12, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 6 + br i1 %t15, label %tern.t4, label %tern.f5 +tern.t4: + %t18 = call ptr @scr_dyn_undefined() + %t17 = call ptr @scr_dyn_retain_v(ptr %t18) + store ptr %t17, ptr %s16 + br label %tern.j6 +tern.f5: + %t19 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_property_42(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t21) + br label %exc.cleanup9 +exc.k8: + store ptr %t21, ptr %s16 + br label %tern.j6 +tern.j6: + %t25 = load ptr, ptr %s16 + store ptr %t25, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callback_0 + %t27 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t28 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t27, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t28) + %t29 = call ptr @scr_dyn_call(ptr %t26, ptr null, i64 0, ptr @sc_cs_1548363400435851) + call void @scr_dyn_this_pop() + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + %t33 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t33) + %t34 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t34) + ret void +exc.cleanup9: + %t35 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t35) + ret void +exc.cleanup12: + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser__limit(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser__limit(ptr %p0) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser__abortPart(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser._abortPart +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_s_0 = alloca ptr ; s + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s22 = alloca ptr + store ptr null, ptr %sc_l_s_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 14 + %t6 = load ptr, ptr %t5, !tbaa !128 + %t7 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t6) + store ptr %t7, ptr %sc_l_s_0 + %t8 = load ptr, ptr %sc_l_s_0 + %t10 = icmp ne ptr %t8, null + br i1 %t10, label %if.t2, label %if.j3 +if.t2: + %t11 = load ptr, ptr %sc_l_s_0 + store ptr %t11, ptr %sc_l__x25_callbackReceiver_0 + %t12 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t14 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t13) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t14) + br label %exc.cleanup6 +exc.k5: + store ptr %t14, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 6 + br i1 %t21, label %tern.t7, label %tern.f8 +tern.t7: + %t24 = call ptr @scr_dyn_undefined() + %t23 = call ptr @scr_dyn_retain_v(ptr %t24) + store ptr %t23, ptr %s22 + br label %tern.j9 +tern.f8: + %t25 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t26 = call ptr @sc_rc_retain_dyn(ptr %t25) + %t27 = call ptr @sc_f__x25_dyn_class_property_43(ptr %t26) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup12 +exc.k11: + store ptr %t27, ptr %s22 + br label %tern.j9 +tern.j9: + %t31 = load ptr, ptr %s22 + store ptr %t31, ptr %sc_l__x25_callback_0 + %t32 = load ptr, ptr %sc_l__x25_callback_0 + %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t34) + %t35 = call ptr @scr_dyn_call(ptr %t32, ptr null, i64 0, ptr @sc_cs_276990031017319) + call void @scr_dyn_this_pop() + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + br label %exc.cleanup15 +exc.k14: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l_this_0 + %t42 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t41, i64 0, i32 14 + %t43 = load ptr, ptr %t42 + store ptr null, ptr %t42, !tbaa !128 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t43) + br label %if.j3 +if.j3: + %t44 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t44) + ret void +exc.cleanup6: + %t45 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t45) + ret void +exc.cleanup12: + %t46 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t46) + %t47 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t47) + ret void +exc.cleanup15: + %t48 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t48) + %t49 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t49) + %t50 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t50) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser__abortPart(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser__abortPart(ptr %p0) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser__startPart(ptr %p_sc_l_this_0, ptr %p_sc_l_hdrBytes_0) #0 { ; %%m4.MultipartParser._startPart +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_hdrBytes_0 = alloca ptr ; hdrBytes + %sc_l_hdr_0 = alloca ptr ; hdr + %sc_l_lines_0 = alloca ptr ; lines + %sc_l_cd_0 = alloca ptr ; cd + %sc_l_i_0 = alloca i32 ; i + %sc_l_line_0 = alloca ptr ; line + %sc_l_colon_0 = alloca i32 ; colon + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %sc_l_dp_0 = alloca ptr ; dp + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s35 = alloca i64 ; integer induction i + %s42 = alloca ptr + %s72 = alloca ptr + %s142 = alloca i1 + %s192 = alloca i1 + %s211 = alloca ptr + %s249 = alloca ptr + %s277 = alloca [3 x ptr] + store ptr null, ptr %sc_l_hdr_0 + store ptr null, ptr %sc_l_lines_0 + store ptr null, ptr %sc_l_cd_0 + store ptr null, ptr %sc_l_line_0 + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l_v_0 + store ptr null, ptr %sc_l_dp_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_hdrBytes_0, ptr %sc_l_hdrBytes_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 9 + %t6 = zext i1 false to i8 + store i8 %t6, ptr %t5, !tbaa !124 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t7, i64 0, i32 10 + %t9 = zext i1 false to i8 + store i8 %t9, ptr %t8, !tbaa !126 + %t10 = load ptr, ptr %sc_l_this_0 + %t11 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t10, i64 0, i32 11 + %t12 = load ptr, ptr %t11 + store ptr @sc_lit_4005573543169985, ptr %t11, !tbaa !100 + call void @scr_str_release(ptr %t12) + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t13, i64 0, i32 12 + %t15 = load ptr, ptr %t14 + store ptr @sc_lit_4005573543169985, ptr %t14, !tbaa !102 + call void @scr_str_release(ptr %t15) + %t16 = load ptr, ptr %sc_l_this_0 + %t17 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 13 + %t18 = load ptr, ptr %t17 + store ptr @sc_lit_537030291697444, ptr %t17, !tbaa !104 + call void @scr_str_release(ptr %t18) + %t19 = load ptr, ptr %sc_l_this_0 + %t20 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t19, i64 0, i32 14 + %t21 = load ptr, ptr %t20 + store ptr null, ptr %t20, !tbaa !128 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t21) + %t22 = load ptr, ptr %sc_l_this_0 + %t23 = call ptr @scr_arr_new_small(i32 4) + %t24 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t22, i64 0, i32 15 + %t25 = load ptr, ptr %t24 + store ptr %t23, ptr %t24, !tbaa !130 + call void @scr_arr_release(ptr %t25) + %t26 = load ptr, ptr %sc_l_this_0 + %t27 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t26, i64 0, i32 16 + store double 0x0000000000000000, ptr %t27, !tbaa !132 + %t28 = load ptr, ptr %sc_l_hdrBytes_0 + %t29 = call ptr @sc_bf__x25_m4_u8str(ptr %t28) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_str_release(ptr %t29) + ret void +exc.k3: + store ptr %t29, ptr %sc_l_hdr_0 + %t33 = load ptr, ptr %sc_l_hdr_0 + %t34 = call ptr @scr_str_split_limit(ptr %t33, ptr @sc_lit_2229191734301658, double 0x41EFFFFFFFE00000) + store ptr %t34, ptr %sc_l_lines_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_cd_0 + %t36 = fptosi double 0x0000000000000000 to i64 + store i64 %t36, ptr %s35 + br label %loop.c5 +loop.c5: + %t37 = load ptr, ptr %sc_l_lines_0 + %t38 = getelementptr inbounds %ScrArr, ptr %t37, i64 0, i32 1 + %t39 = load i64, ptr %t38, !tbaa !2 + %t40 = load i64, ptr %s35 + %t41 = icmp ult i64 %t40, %t39 + br i1 %t41, label %loop.b6, label %loop.e4 +loop.b6: + %t43 = load ptr, ptr %sc_l_lines_0 + %t44 = load i64, ptr %s35 + %t45 = load i64, ptr %s35 + %t46 = sitofp i64 %t45 to double + %t47 = trunc i64 %t45 to i32 + %t48 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 2 + %t49 = load i64, ptr %t48, !tbaa !2 + %t50 = icmp ult i64 %t44, %t49 + br i1 %t50, label %local.array.range11, label %local.array.slow8 +local.array.range11: + br label %local.array.dense12 +local.array.dense12: + %t51 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 6 + %t52 = load i32, ptr %t51, !tbaa !2 + %t54 = zext i32 %t52 to i64 + %t53 = icmp ult i64 %t44, %t54 + br i1 %t53, label %local.array.value14, label %local.array.len13 +local.array.len13: + %t55 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 1 + %t56 = load i64, ptr %t55, !tbaa !2, !range !{i64 0, i64 4294967296} + %t57 = icmp ult i64 %t44, %t56 + br i1 %t57, label %local.array.state15, label %local.array.missing9 +local.array.state15: + %t58 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 9 + %t59 = load ptr, ptr %t58, !tbaa !2 + %t60 = getelementptr inbounds i8, ptr %t59, i64 %t44 + %t61 = load i8, ptr %t60, !tbaa !4 + %t62 = icmp eq i8 %t61, 1 + br i1 %t62, label %local.array.value14, label %local.array.missing9 +local.array.value14: + %t63 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 8 + %t64 = load ptr, ptr %t63, !tbaa !2 + %t65 = getelementptr inbounds i64, ptr %t64, i64 %t44 + %t66 = load ptr, ptr %t65, !tbaa !6 + %t67 = call ptr @sc_rc_retain_str(ptr %t66) + store ptr %t67, ptr %s42 + br label %local.array.join10 +local.array.slow8: + %t68 = call ptr @scr_arr_peek_ref(ptr %t43, double %t46) + %t69 = icmp ne ptr %t68, null + br i1 %t69, label %local.array.slow.value16, label %local.array.missing9 +local.array.slow.value16: + %t70 = call ptr @sc_rc_retain_str(ptr %t68) + store ptr %t70, ptr %s42 + br label %local.array.join10 +local.array.missing9: + store ptr null, ptr %s42 + br label %local.array.join10 +local.array.join10: + %t71 = load ptr, ptr %s42 + %t74 = icmp eq ptr %t71, null + %t73 = select i1 %t74, i32 1, i32 0 + switch i32 %t73, label %u.bad18 [ i32 0, label %u.a19 i32 1, label %u.a20 ] +u.a19: + %t75 = call ptr @sc_rc_retain_str(ptr %t71) + store ptr %t75, ptr %s72 + br label %us.j17 +u.a20: + store ptr @sc_lit_4134463689533233, ptr %s72 + br label %us.j17 +u.bad18: + call void @sc_bad_tag() + unreachable +us.j17: + %t76 = load ptr, ptr %s72 + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u21, label %exc.k22 +exc.u21: + %t80 = load ptr, ptr %s42 + call void @scr_str_release(ptr %t80) + call void @scr_str_release(ptr %t76) + br label %exc.cleanup23 +exc.k22: + store ptr %t76, ptr %sc_l_line_0 + %t81 = load ptr, ptr %s42 + call void @scr_str_release(ptr %t81) + %t82 = load ptr, ptr %sc_l_line_0 + %t83 = call double @scr_str_index_of(ptr %t82, ptr @sc_lit_4075616746236128, double 0x0000000000000000) + %t84 = fptosi double %t83 to i32 + store i32 %t84, ptr %sc_l_colon_0 + %t85 = load i32, ptr %sc_l_colon_0 + %t86 = sitofp i32 %t85 to double + %t88 = sext i32 %t85 to i64 + %t87 = icmp slt i64 %t88, 0 + br i1 %t87, label %if.t24, label %if.j25 +if.t24: + %t89 = load ptr, ptr %sc_l_line_0 + call void @scr_str_release(ptr %t89) + br label %loop.u7 +if.j25: + %t90 = load ptr, ptr %sc_l_line_0 + %t91 = load i32, ptr %sc_l_colon_0 + %t92 = sitofp i32 %t91 to double + %t93 = call ptr @scr_str_slice(ptr %t90, double 0x0000000000000000, double %t92) + %t94 = call ptr @sc_bf__x25_m4_trimWs(ptr %t93) + call void @scr_str_release(ptr %t93) + %t95 = call ptr @scr_str_to_lower(ptr %t94) + store ptr %t95, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t94) + %t96 = load ptr, ptr %sc_l_line_0 + %t97 = load i32, ptr %sc_l_colon_0 + %t98 = sitofp i32 %t97 to double + %t100 = sext i32 %t97 to i64 + %t101 = add nsw i64 %t100, 1 + %t103 = trunc i64 %t101 to i32 + %t102 = sitofp i64 %t101 to double + %t104 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t105 = call ptr @scr_str_slice(ptr %t96, double %t102, double %t104) + %t106 = call ptr @sc_bf__x25_m4_trimWs(ptr %t105) + call void @scr_str_release(ptr %t105) + store ptr %t106, ptr %sc_l_v_0 + %t107 = load ptr, ptr %sc_l_k_0 + %t108 = call zeroext i1 @sc_streq_1256688351795902(ptr %t107) + br i1 %t108, label %if.t26, label %if.f28 +if.t26: + %t109 = load ptr, ptr %sc_l_v_0 + %t110 = call ptr @sc_rc_retain_str(ptr %t109) + %t111 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t111) + store ptr %t110, ptr %sc_l_cd_0 + br label %if.j27 +if.f28: + %t112 = load ptr, ptr %sc_l_k_0 + %t113 = call zeroext i1 @sc_streq_2329537264393449(ptr %t112) + br i1 %t113, label %if.t29, label %if.j30 +if.t29: + %t114 = load ptr, ptr %sc_l_this_0 + %t115 = load ptr, ptr %sc_l_v_0 + %t116 = call ptr @sc_rc_retain_str(ptr %t115) + %t117 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t114, i64 0, i32 13 + %t118 = load ptr, ptr %t117 + store ptr %t116, ptr %t117, !tbaa !104 + call void @scr_str_release(ptr %t118) + br label %if.j30 +if.j30: + br label %if.j27 +if.j27: + %t119 = load ptr, ptr %sc_l_line_0 + call void @scr_str_release(ptr %t119) + %t120 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t120) + %t121 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t121) + br label %loop.u7 +loop.u7: + %t122 = load i64, ptr %s35 + %t123 = add nuw i64 %t122, 1 + store i64 %t123, ptr %s35 + br label %loop.c5 +loop.e4: + %t124 = load ptr, ptr %sc_l_cd_0 + %t125 = call zeroext i1 @sc_streq_4005573543169985(ptr %t124) + br i1 %t125, label %if.t31, label %if.j32 +if.t31: + %t126 = load ptr, ptr %sc_l_this_0 + %t127 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t126, i64 0, i32 9 + %t128 = zext i1 true to i8 + store i8 %t128, ptr %t127, !tbaa !124 + %t129 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t129) + %t130 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t130) + %t131 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t131) + ret void +if.j32: + %t132 = load ptr, ptr %sc_l_cd_0 + %t133 = call ptr @sc_bf__x25_m4_parseDisposition(ptr %t132) + %t134 = load i32, ptr %exc.cell + %t135 = icmp ne i32 %t134, 0 + %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false) + br i1 %t136, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_release__x25_m4_DispositionParams(ptr %t133) + br label %exc.cleanup23 +exc.k34: + store ptr %t133, ptr %sc_l_dp_0 + %t137 = load ptr, ptr %sc_l_dp_0 + %t138 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t137, i64 0, i32 1 + %t139 = load i8, ptr %t138, !tbaa !8 + %t140 = trunc i8 %t139 to i1 + %t141 = xor i1 %t140, true + store i1 %t141, ptr %s142 + br i1 %t141, label %log.j36, label %log.r35 +log.r35: + %t143 = load ptr, ptr %sc_l_dp_0 + %t144 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t143, i64 0, i32 2 + %t145 = load ptr, ptr %t144, !tbaa !10 + %t147 = icmp eq ptr %t145, null + store i1 %t147, ptr %s142 + br label %log.j36 +log.j36: + %t148 = load i1, ptr %s142 + br i1 %t148, label %if.t37, label %if.j38 +if.t37: + %t149 = load ptr, ptr %sc_l_this_0 + %t150 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t149, i64 0, i32 9 + %t151 = zext i1 true to i8 + store i8 %t151, ptr %t150, !tbaa !124 + %t152 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t152) + %t153 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t153) + %t154 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t154) + %t155 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t155) + ret void +if.j38: + %t156 = load ptr, ptr %sc_l_this_0 + %t157 = load ptr, ptr %sc_l_dp_0 + %t158 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t157, i64 0, i32 2 + %t159 = load ptr, ptr %t158, !tbaa !10 + %t160 = call ptr @sc_rc_retain_str(ptr %t159) + %t161 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t156, i64 0, i32 11 + %t162 = load ptr, ptr %t161 + store ptr %t160, ptr %t161, !tbaa !100 + call void @scr_str_release(ptr %t162) + %t163 = load ptr, ptr %sc_l_dp_0 + %t164 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t163, i64 0, i32 3 + %t165 = load ptr, ptr %t164, !tbaa !12 + %t167 = icmp eq ptr %t165, null + br i1 %t167, label %if.t39, label %if.j40 +if.t39: + %t168 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t168) + %t169 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t169) + %t170 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t170) + %t171 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t171) + ret void +if.j40: + %t172 = load ptr, ptr %sc_l_this_0 + %t173 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t172, i64 0, i32 10 + %t174 = zext i1 true to i8 + store i8 %t174, ptr %t173, !tbaa !126 + %t175 = load ptr, ptr %sc_l_this_0 + %t176 = load ptr, ptr %sc_l_dp_0 + %t177 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t176, i64 0, i32 3 + %t178 = load ptr, ptr %t177, !tbaa !12 + %t179 = call ptr @sc_bf__x25_m4_basename(ptr %t178) + %t180 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t175, i64 0, i32 12 + %t181 = load ptr, ptr %t180 + store ptr %t179, ptr %t180, !tbaa !102 + call void @scr_str_release(ptr %t181) + %t182 = load ptr, ptr %sc_l_this_0 + %t183 = load ptr, ptr %sc_l_this_0 + %t184 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t183, i64 0, i32 17 + %t185 = load double, ptr %t184, !tbaa !134 + %t186 = fadd double %t185, 0x3FF0000000000000 + %t187 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t182, i64 0, i32 17 + store double %t186, ptr %t187, !tbaa !134 + %t188 = load ptr, ptr %sc_l_this_0 + %t189 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t188, i64 0, i32 7 + %t190 = load double, ptr %t189, !tbaa !120 + %t191 = fcmp ogt double %t190, 0x0000000000000000 + store i1 %t191, ptr %s192 + br i1 %t191, label %log.r41, label %log.j42 +log.r41: + %t193 = load ptr, ptr %sc_l_this_0 + %t194 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t193, i64 0, i32 17 + %t195 = load double, ptr %t194, !tbaa !134 + %t196 = load ptr, ptr %sc_l_this_0 + %t197 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t196, i64 0, i32 7 + %t198 = load double, ptr %t197, !tbaa !120 + %t199 = fcmp ogt double %t195, %t198 + store i1 %t199, ptr %s192 + br label %log.j42 +log.j42: + %t200 = load i1, ptr %s192 + br i1 %t200, label %if.t43, label %if.j44 +if.t43: + %t201 = load ptr, ptr %sc_l_this_0 + store ptr %t201, ptr %sc_l__x25_callbackReceiver_0 + %t202 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t203 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t202) + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u45, label %exc.k46 +exc.u45: + call void @sc_rc_release_dyn(ptr %t203) + br label %exc.cleanup47 +exc.k46: + store ptr %t203, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t207 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t208 = getelementptr inbounds i8, ptr %t207, i64 8 ; ->kind + %t209 = load i32, ptr %t208 + %t210 = icmp eq i32 %t209, 6 + br i1 %t210, label %tern.t48, label %tern.f49 +tern.t48: + %t213 = call ptr @scr_dyn_undefined() + %t212 = call ptr @scr_dyn_retain_v(ptr %t213) + store ptr %t212, ptr %s211 + br label %tern.j50 +tern.f49: + %t214 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t215 = call ptr @sc_rc_retain_dyn(ptr %t214) + %t216 = call ptr @sc_f__x25_dyn_class_property_44(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup53 +exc.k52: + store ptr %t216, ptr %s211 + br label %tern.j50 +tern.j50: + %t220 = load ptr, ptr %s211 + store ptr %t220, ptr %sc_l__x25_callback_0 + %t221 = load ptr, ptr %sc_l__x25_callback_0 + %t222 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t223 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t222, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t223) + %t224 = call ptr @scr_dyn_call(ptr %t221, ptr null, i64 0, ptr @sc_cs_288843753834732) + call void @scr_dyn_this_pop() + %t225 = load i32, ptr %exc.cell + %t226 = icmp ne i32 %t225, 0 + %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false) + br i1 %t227, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t224) + br label %exc.cleanup56 +exc.k55: + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t224) + %t228 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t228) + %t229 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t229) + %t230 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t230) + %t231 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t231) + %t232 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t232) + %t233 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t233) + ret void +if.j44: + %t234 = load ptr, ptr %sc_l_this_0 + %t235 = load ptr, ptr %sc_l_this_0 + %t236 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t235, i64 0, i32 5 + %t237 = load ptr, ptr %t236, !tbaa !116 + %t238 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t237) + store ptr %t238, ptr %sc_l__x25_callbackReceiver_1 + %t239 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t240 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t239, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t241 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t240) + %t242 = load i32, ptr %exc.cell + %t243 = icmp ne i32 %t242, 0 + %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false) + br i1 %t244, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t241) + br label %exc.cleanup59 +exc.k58: + store ptr %t241, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t245 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t246 = getelementptr inbounds i8, ptr %t245, i64 8 ; ->kind + %t247 = load i32, ptr %t246 + %t248 = icmp eq i32 %t247, 6 + br i1 %t248, label %tern.t60, label %tern.f61 +tern.t60: + %t251 = call ptr @scr_dyn_undefined() + %t250 = call ptr @scr_dyn_retain_v(ptr %t251) + store ptr %t250, ptr %s249 + br label %tern.j62 +tern.f61: + %t252 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t253 = call ptr @sc_rc_retain_dyn(ptr %t252) + %t254 = call ptr @sc_f__x25_dyn_class_property_45(ptr %t253) + %t255 = load i32, ptr %exc.cell + %t256 = icmp ne i32 %t255, 0 + %t257 = call i1 @llvm.expect.i1(i1 %t256, i1 false) + br i1 %t257, label %exc.u63, label %exc.k64 +exc.u63: + call void @sc_rc_release_dyn(ptr %t254) + br label %exc.cleanup65 +exc.k64: + store ptr %t254, ptr %s249 + br label %tern.j62 +tern.j62: + %t258 = load ptr, ptr %s249 + store ptr %t258, ptr %sc_l__x25_callback_1 + %t259 = load ptr, ptr %sc_l__x25_callback_1 + %t260 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t261 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t260, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t262 = load ptr, ptr %sc_l_this_0 + %t263 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t262, i64 0, i32 11 + %t264 = load ptr, ptr %t263, !tbaa !100 + %t265 = call ptr @sc_rc_retain_str(ptr %t264) + %t266 = call ptr @sc_td_0(ptr %t265) + %t267 = load ptr, ptr %sc_l_this_0 + %t268 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t267, i64 0, i32 12 + %t269 = load ptr, ptr %t268, !tbaa !102 + %t270 = call ptr @sc_rc_retain_str(ptr %t269) + %t271 = call ptr @sc_td_0(ptr %t270) + %t272 = load ptr, ptr %sc_l_this_0 + %t273 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t272, i64 0, i32 13 + %t274 = load ptr, ptr %t273, !tbaa !104 + %t275 = call ptr @sc_rc_retain_str(ptr %t274) + %t276 = call ptr @sc_td_0(ptr %t275) + %t278 = getelementptr inbounds [3 x ptr], ptr %s277, i64 0, i64 0 + store ptr %t266, ptr %t278 + %t279 = getelementptr inbounds [3 x ptr], ptr %s277, i64 0, i64 1 + store ptr %t271, ptr %t279 + %t280 = getelementptr inbounds [3 x ptr], ptr %s277, i64 0, i64 2 + store ptr %t276, ptr %t280 + call void @scr_dyn_this_push_dyn(ptr %t261) + %t281 = call ptr @scr_dyn_call(ptr %t259, ptr %s277, i64 3, ptr @sc_cs_1669119977665919) + call void @scr_dyn_this_pop() + %t282 = load i32, ptr %exc.cell + %t283 = icmp ne i32 %t282, 0 + %t284 = call i1 @llvm.expect.i1(i1 %t283, i1 false) + br i1 %t284, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t261) + call void @scr_str_release(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + call void @scr_str_release(ptr %t270) + call void @sc_rc_release_dyn(ptr %t271) + call void @scr_str_release(ptr %t275) + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_rc_release_dyn(ptr %t281) + br label %exc.cleanup68 +exc.k67: + %t285 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %t281) + %t286 = load i32, ptr %exc.cell + %t287 = icmp ne i32 %t286, 0 + %t288 = call i1 @llvm.expect.i1(i1 %t287, i1 false) + br i1 %t288, label %exc.u69, label %exc.k70 +exc.u69: + call void @sc_rc_release_dyn(ptr %t261) + call void @scr_str_release(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + call void @scr_str_release(ptr %t270) + call void @sc_rc_release_dyn(ptr %t271) + call void @scr_str_release(ptr %t275) + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_rc_release_dyn(ptr %t281) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t285) + br label %exc.cleanup68 +exc.k70: + call void @sc_rc_release_dyn(ptr %t261) + call void @scr_str_release(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + call void @scr_str_release(ptr %t270) + call void @sc_rc_release_dyn(ptr %t271) + call void @scr_str_release(ptr %t275) + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_rc_release_dyn(ptr %t281) + %t289 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t234, i64 0, i32 14 + %t290 = load ptr, ptr %t289 + store ptr %t285, ptr %t289, !tbaa !128 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t290) + %t291 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t291) + %t292 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t292) + %t293 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m4_MultipartStorage(ptr %t293) + %t294 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t294) + %t295 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t295) + %t296 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t296) + %t297 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t297) + ret void +exc.cleanup23: + %t298 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t298) + %t299 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t299) + %t300 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t300) + ret void +exc.cleanup47: + %t301 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t301) + %t302 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t302) + %t303 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t303) + %t304 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t304) + ret void +exc.cleanup53: + %t305 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t305) + %t306 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t306) + %t307 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t307) + %t308 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t308) + %t309 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t309) + ret void +exc.cleanup56: + %t310 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t310) + %t311 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t311) + %t312 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t312) + %t313 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t313) + %t314 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t314) + %t315 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t315) + ret void +exc.cleanup59: + %t316 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m4_MultipartStorage(ptr %t316) + %t317 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t317) + %t318 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t318) + %t319 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t319) + %t320 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t320) + ret void +exc.cleanup65: + %t321 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t321) + %t322 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m4_MultipartStorage(ptr %t322) + %t323 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t323) + %t324 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t324) + %t325 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t325) + %t326 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t326) + ret void +exc.cleanup68: + %t327 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t327) + %t328 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t328) + %t329 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m4_MultipartStorage(ptr %t329) + %t330 = load ptr, ptr %sc_l_hdr_0 + call void @scr_str_release(ptr %t330) + %t331 = load ptr, ptr %sc_l_lines_0 + call void @scr_arr_release(ptr %t331) + %t332 = load ptr, ptr %sc_l_cd_0 + call void @scr_str_release(ptr %t332) + %t333 = load ptr, ptr %sc_l_dp_0 + call void @sc_release__x25_m4_DispositionParams(ptr %t333) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser__startPart(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser__startPart(ptr %p0, ptr %p1) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + call void @scr_bytes_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser__emit(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0) #0 { ; %%m4.MultipartParser._emit +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_b_0 = alloca ptr ; b + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_s_0 = alloca ptr ; s + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %s8 = alloca i1 + %s35 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s54 = alloca ptr + %s91 = alloca ptr + %s106 = alloca [1 x ptr] + %s119 = alloca i1 + %s138 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_s_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 9 + %t6 = load i8, ptr %t5, !tbaa !124 + %t7 = trunc i8 %t6 to i1 + store i1 %t7, ptr %s8 + br i1 %t7, label %log.j3, label %log.r2 +log.r2: + %t9 = load ptr, ptr %sc_l_b_0 + %t10 = getelementptr inbounds %ScrBytes, ptr %t9, i64 0, i32 1 + %t11 = load i64, ptr %t10 + %t12 = sitofp i64 %t11 to double + %t14 = fptosi double %t12 to i64 + %t13 = icmp eq i64 %t14, 0 + store i1 %t13, ptr %s8 + br label %log.j3 +log.j3: + %t15 = load i1, ptr %s8 + br i1 %t15, label %if.t4, label %if.j5 +if.t4: + ret void +if.j5: + %t16 = load ptr, ptr %sc_l_this_0 + %t17 = load ptr, ptr %sc_l_this_0 + %t18 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t17, i64 0, i32 16 + %t19 = load double, ptr %t18, !tbaa !132 + %t20 = load ptr, ptr %sc_l_b_0 + %t21 = getelementptr inbounds %ScrBytes, ptr %t20, i64 0, i32 1 + %t22 = load i64, ptr %t21 + %t23 = sitofp i64 %t22 to double + %t25 = fptosi double %t23 to i64 + %t24 = fadd double %t19, %t23 + %t26 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 16 + store double %t24, ptr %t26, !tbaa !132 + %t27 = load ptr, ptr %sc_l_this_0 + %t28 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t27, i64 0, i32 10 + %t29 = load i8, ptr %t28, !tbaa !126 + %t30 = trunc i8 %t29 to i1 + br i1 %t30, label %if.t6, label %if.f8 +if.t6: + %t31 = load ptr, ptr %sc_l_this_0 + %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t31, i64 0, i32 6 + %t33 = load double, ptr %t32, !tbaa !118 + %t34 = fcmp ogt double %t33, 0x0000000000000000 + store i1 %t34, ptr %s35 + br i1 %t34, label %log.r9, label %log.j10 +log.r9: + %t36 = load ptr, ptr %sc_l_this_0 + %t37 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t36, i64 0, i32 16 + %t38 = load double, ptr %t37, !tbaa !132 + %t39 = load ptr, ptr %sc_l_this_0 + %t40 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t39, i64 0, i32 6 + %t41 = load double, ptr %t40, !tbaa !118 + %t42 = fcmp ogt double %t38, %t41 + store i1 %t42, ptr %s35 + br label %log.j10 +log.j10: + %t43 = load i1, ptr %s35 + br i1 %t43, label %if.t11, label %if.j12 +if.t11: + %t44 = load ptr, ptr %sc_l_this_0 + store ptr %t44, ptr %sc_l__x25_callbackReceiver_0 + %t45 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t46 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t45) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t46) + ret void +exc.k14: + store ptr %t46, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t51 = getelementptr inbounds i8, ptr %t50, i64 8 ; ->kind + %t52 = load i32, ptr %t51 + %t53 = icmp eq i32 %t52, 6 + br i1 %t53, label %tern.t15, label %tern.f16 +tern.t15: + %t56 = call ptr @scr_dyn_undefined() + %t55 = call ptr @scr_dyn_retain_v(ptr %t56) + store ptr %t55, ptr %s54 + br label %tern.j17 +tern.f16: + %t57 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t58 = call ptr @sc_rc_retain_dyn(ptr %t57) + %t59 = call ptr @sc_f__x25_dyn_class_property_44(ptr %t58) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t59) + br label %exc.cleanup20 +exc.k19: + store ptr %t59, ptr %s54 + br label %tern.j17 +tern.j17: + %t63 = load ptr, ptr %s54 + store ptr %t63, ptr %sc_l__x25_callback_0 + %t64 = load ptr, ptr %sc_l__x25_callback_0 + %t65 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t66) + %t67 = call ptr @scr_dyn_call(ptr %t64, ptr null, i64 0, ptr @sc_cs_288843753834732) + call void @scr_dyn_this_pop() + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u21, label %exc.k22 +exc.u21: + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup23 +exc.k22: + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t67) + %t71 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t71) + %t72 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t72) + ret void +if.j12: + %t73 = load ptr, ptr %sc_l_this_0 + %t74 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t73, i64 0, i32 14 + %t75 = load ptr, ptr %t74, !tbaa !128 + %t76 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t75) + store ptr %t76, ptr %sc_l_s_0 + %t77 = load ptr, ptr %sc_l_s_0 + %t79 = icmp ne ptr %t77, null + br i1 %t79, label %if.t24, label %if.j25 +if.t24: + %t80 = load ptr, ptr %sc_l_s_0 + store ptr %t80, ptr %sc_l__x25_callbackReceiver_1 + %t81 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t82 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t81, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t83 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t82) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t83) + br label %exc.cleanup28 +exc.k27: + store ptr %t83, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t87 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t88 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind + %t89 = load i32, ptr %t88 + %t90 = icmp eq i32 %t89, 6 + br i1 %t90, label %tern.t29, label %tern.f30 +tern.t29: + %t93 = call ptr @scr_dyn_undefined() + %t92 = call ptr @scr_dyn_retain_v(ptr %t93) + store ptr %t92, ptr %s91 + br label %tern.j31 +tern.f30: + %t94 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t95 = call ptr @sc_rc_retain_dyn(ptr %t94) + %t96 = call ptr @sc_f__x25_dyn_class_property_46(ptr %t95) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t96) + br label %exc.cleanup34 +exc.k33: + store ptr %t96, ptr %s91 + br label %tern.j31 +tern.j31: + %t100 = load ptr, ptr %s91 + store ptr %t100, ptr %sc_l__x25_callback_1 + %t101 = load ptr, ptr %sc_l__x25_callback_1 + %t102 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t103 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t102, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t104 = load ptr, ptr %sc_l_b_0 + %t105 = call ptr @sc_td_1(ptr %t104) + %t107 = getelementptr inbounds [1 x ptr], ptr %s106, i64 0, i64 0 + store ptr %t105, ptr %t107 + call void @scr_dyn_this_push_dyn(ptr %t103) + %t108 = call ptr @scr_dyn_call(ptr %t101, ptr %s106, i64 1, ptr @sc_cs_4230033743964644) + call void @scr_dyn_this_pop() + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t108) + br label %exc.cleanup37 +exc.k36: + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t108) + %t112 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t112) + %t113 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t113) + br label %if.j25 +if.j25: + %t114 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t114) + br label %if.j7 +if.f8: + %t115 = load ptr, ptr %sc_l_this_0 + %t116 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t115, i64 0, i32 8 + %t117 = load double, ptr %t116, !tbaa !122 + %t118 = fcmp ogt double %t117, 0x0000000000000000 + store i1 %t118, ptr %s119 + br i1 %t118, label %log.r38, label %log.j39 +log.r38: + %t120 = load ptr, ptr %sc_l_this_0 + %t121 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t120, i64 0, i32 16 + %t122 = load double, ptr %t121, !tbaa !132 + %t123 = load ptr, ptr %sc_l_this_0 + %t124 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t123, i64 0, i32 8 + %t125 = load double, ptr %t124, !tbaa !122 + %t126 = fcmp ogt double %t122, %t125 + store i1 %t126, ptr %s119 + br label %log.j39 +log.j39: + %t127 = load i1, ptr %s119 + br i1 %t127, label %if.t40, label %if.j41 +if.t40: + %t128 = load ptr, ptr %sc_l_this_0 + store ptr %t128, ptr %sc_l__x25_callbackReceiver_2 + %t129 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t130 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t129) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t130) + ret void +exc.k43: + store ptr %t130, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t134 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t135 = getelementptr inbounds i8, ptr %t134, i64 8 ; ->kind + %t136 = load i32, ptr %t135 + %t137 = icmp eq i32 %t136, 6 + br i1 %t137, label %tern.t44, label %tern.f45 +tern.t44: + %t140 = call ptr @scr_dyn_undefined() + %t139 = call ptr @scr_dyn_retain_v(ptr %t140) + store ptr %t139, ptr %s138 + br label %tern.j46 +tern.f45: + %t141 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t142 = call ptr @sc_rc_retain_dyn(ptr %t141) + %t143 = call ptr @sc_f__x25_dyn_class_property_44(ptr %t142) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u47, label %exc.k48 +exc.u47: + call void @sc_rc_release_dyn(ptr %t143) + br label %exc.cleanup49 +exc.k48: + store ptr %t143, ptr %s138 + br label %tern.j46 +tern.j46: + %t147 = load ptr, ptr %s138 + store ptr %t147, ptr %sc_l__x25_callback_2 + %t148 = load ptr, ptr %sc_l__x25_callback_2 + %t149 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t150) + %t151 = call ptr @scr_dyn_call(ptr %t148, ptr null, i64 0, ptr @sc_cs_288843753834732) + call void @scr_dyn_this_pop() + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t150) + call void @sc_rc_release_dyn(ptr %t151) + br label %exc.cleanup52 +exc.k51: + call void @sc_rc_release_dyn(ptr %t150) + call void @sc_rc_release_dyn(ptr %t151) + %t155 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t155) + %t156 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t156) + ret void +if.j41: + %t157 = load ptr, ptr %sc_l_this_0 + %t158 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t157, i64 0, i32 15 + %t159 = load ptr, ptr %t158, !tbaa !130 + %t160 = call ptr @scr_arr_retain_v(ptr %t159) + %t161 = load ptr, ptr %sc_l_b_0 + %t162 = call ptr @scr_bytes_retain_v(ptr %t161) + %t163 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 1 + %t164 = load i64, ptr %t163, !tbaa !2 + %t167 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 2 + %t165 = load i64, ptr %t167, !tbaa !2 + %t166 = icmp ult i64 %t164, %t165 + br i1 %t166, label %arr.push.dense53, label %arr.push.slow54 +arr.push.dense53: + %t168 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 8 + %t170 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 9 + %t169 = load ptr, ptr %t168, !tbaa !2 + %t171 = load ptr, ptr %t170, !tbaa !2 + %t172 = getelementptr inbounds i8, ptr %t171, i64 %t164 + %t173 = getelementptr inbounds i64, ptr %t169, i64 %t164 + store ptr %t162, ptr %t173, !tbaa !6 + store i8 1, ptr %t172, !tbaa !4 + %t174 = add nuw i64 %t164, 1 + store i64 %t174, ptr %t163, !tbaa !2 + %t176 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 6 + %t177 = load i32, ptr %t176, !tbaa !2 + %t181 = zext i32 %t177 to i64 + %t178 = icmp eq i64 %t181, %t164 + %t179 = add i32 %t177, 1 + %t180 = select i1 %t178, i32 %t179, i32 %t177 + store i32 %t180, ptr %t176, !tbaa !2 + %t175 = sitofp i64 %t174 to double + br label %arr.push.join55 +arr.push.slow54: + %t182 = call double @scr_arr_push_ref(ptr %t160, ptr %t162) cold + br label %arr.push.join55 +arr.push.join55: + %t183 = phi double [ %t175, %arr.push.dense53 ], [ %t182, %arr.push.slow54 ] + call void @scr_arr_release(ptr %t160) + br label %if.j7 +if.j7: + ret void +exc.cleanup20: + %t184 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t184) + ret void +exc.cleanup23: + %t185 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t185) + %t186 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t186) + ret void +exc.cleanup28: + %t187 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t187) + ret void +exc.cleanup34: + %t188 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t188) + %t189 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t189) + ret void +exc.cleanup37: + %t190 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t190) + %t191 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t191) + %t192 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t192) + ret void +exc.cleanup49: + %t193 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t193) + ret void +exc.cleanup52: + %t194 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t194) + %t195 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t195) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser__emit(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser__emit(ptr %p0, ptr %p1) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + call void @scr_bytes_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m4_MultipartParser__endPart(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser._endPart +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_s_0 = alloca ptr ; s + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l_f_0 = alloca ptr ; f + %exc.cell = load ptr, ptr @scr_exc_active + %s33 = alloca ptr + %s63 = alloca ptr + store ptr null, ptr %sc_l_s_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l_f_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 9 + %t6 = load i8, ptr %t5, !tbaa !124 + %t7 = trunc i8 %t6 to i1 + br i1 %t7, label %if.t2, label %if.j3 +if.t2: + ret void +if.j3: + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t8, i64 0, i32 10 + %t10 = load i8, ptr %t9, !tbaa !126 + %t11 = trunc i8 %t10 to i1 + br i1 %t11, label %if.t4, label %if.f6 +if.t4: + %t12 = load ptr, ptr %sc_l_this_0 + %t13 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t12, i64 0, i32 14 + %t14 = load ptr, ptr %t13, !tbaa !128 + %t15 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t14) + store ptr %t15, ptr %sc_l_s_0 + %t16 = load ptr, ptr %sc_l_this_0 + %t17 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 14 + %t18 = load ptr, ptr %t17 + store ptr null, ptr %t17, !tbaa !128 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t18) + %t19 = load ptr, ptr %sc_l_s_0 + %t21 = icmp ne ptr %t19, null + br i1 %t21, label %if.t7, label %if.j8 +if.t7: + %t22 = load ptr, ptr %sc_l_s_0 + store ptr %t22, ptr %sc_l__x25_callbackReceiver_0 + %t23 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t25 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup11 +exc.k10: + store ptr %t25, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t29 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t30 = getelementptr inbounds i8, ptr %t29, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 6 + br i1 %t32, label %tern.t12, label %tern.f13 +tern.t12: + %t35 = call ptr @scr_dyn_undefined() + %t34 = call ptr @scr_dyn_retain_v(ptr %t35) + store ptr %t34, ptr %s33 + br label %tern.j14 +tern.f13: + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_f__x25_dyn_class_property_47(ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t38) + br label %exc.cleanup17 +exc.k16: + store ptr %t38, ptr %s33 + br label %tern.j14 +tern.j14: + %t42 = load ptr, ptr %s33 + store ptr %t42, ptr %sc_l__x25_callback_0 + %t43 = load ptr, ptr %sc_l__x25_callback_0 + %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t45) + %t46 = call ptr @scr_dyn_call(ptr %t43, ptr null, i64 0, ptr @sc_cs_4244474088963038) + call void @scr_dyn_this_pop() + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t46) + br label %exc.cleanup20 +exc.k19: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t46) + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + %t52 = load ptr, ptr %sc_l_s_0 + store ptr %t52, ptr %sc_l__x25_callbackReceiver_1 + %t53 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t54 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t53, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t55 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t54) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u21, label %exc.k22 +exc.u21: + call void @sc_rc_release_dyn(ptr %t55) + br label %exc.cleanup11 +exc.k22: + store ptr %t55, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t59 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t60 = getelementptr inbounds i8, ptr %t59, i64 8 ; ->kind + %t61 = load i32, ptr %t60 + %t62 = icmp eq i32 %t61, 6 + br i1 %t62, label %tern.t23, label %tern.f24 +tern.t23: + %t65 = call ptr @scr_dyn_undefined() + %t64 = call ptr @scr_dyn_retain_v(ptr %t65) + store ptr %t64, ptr %s63 + br label %tern.j25 +tern.f24: + %t66 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t67 = call ptr @sc_rc_retain_dyn(ptr %t66) + %t68 = call ptr @sc_f__x25_dyn_class_property_48(ptr %t67) + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t68) + br label %exc.cleanup28 +exc.k27: + store ptr %t68, ptr %s63 + br label %tern.j25 +tern.j25: + %t72 = load ptr, ptr %s63 + store ptr %t72, ptr %sc_l__x25_callback_1 + %t73 = load ptr, ptr %sc_l__x25_callback_1 + %t74 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t75) + %t76 = call ptr @scr_dyn_call(ptr %t73, ptr null, i64 0, ptr @sc_cs_3927989341738608) + call void @scr_dyn_this_pop() + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + br label %exc.cleanup31 +exc.k30: + %t80 = call ptr @sc_dc_64(ptr %t76, ptr null) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_release__x25_m4_UploadedFile(ptr %t80) + br label %exc.cleanup31 +exc.k33: + store ptr %t80, ptr %sc_l_f_0 + call void @sc_rc_release_dyn(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + %t84 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t84) + %t85 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t85) + %t86 = load ptr, ptr %sc_l_f_0 + %t88 = icmp ne ptr %t86, null + br i1 %t88, label %if.t34, label %if.j35 +if.t34: + %t89 = load ptr, ptr %sc_l_this_0 + %t90 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t89, i64 0, i32 19 + %t91 = load ptr, ptr %t90, !tbaa !28 + %t92 = call ptr @scr_arr_retain_v(ptr %t91) + %t93 = load ptr, ptr %sc_l_f_0 + %t94 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t93) + %t95 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 1 + %t96 = load i64, ptr %t95, !tbaa !2 + %t99 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 2 + %t97 = load i64, ptr %t99, !tbaa !2 + %t98 = icmp ult i64 %t96, %t97 + br i1 %t98, label %arr.push.dense36, label %arr.push.slow37 +arr.push.dense36: + %t100 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 8 + %t102 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 9 + %t101 = load ptr, ptr %t100, !tbaa !2 + %t103 = load ptr, ptr %t102, !tbaa !2 + %t104 = getelementptr inbounds i8, ptr %t103, i64 %t96 + %t105 = getelementptr inbounds i64, ptr %t101, i64 %t96 + store ptr %t94, ptr %t105, !tbaa !6 + store i8 1, ptr %t104, !tbaa !4 + %t106 = add nuw i64 %t96, 1 + store i64 %t106, ptr %t95, !tbaa !2 + %t108 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 6 + %t109 = load i32, ptr %t108, !tbaa !2 + %t113 = zext i32 %t109 to i64 + %t110 = icmp eq i64 %t113, %t96 + %t111 = add i32 %t109, 1 + %t112 = select i1 %t110, i32 %t111, i32 %t109 + store i32 %t112, ptr %t108, !tbaa !2 + %t107 = sitofp i64 %t106 to double + br label %arr.push.join38 +arr.push.slow37: + %t114 = call double @scr_arr_push_ref(ptr %t92, ptr %t94) cold + br label %arr.push.join38 +arr.push.join38: + %t115 = phi double [ %t107, %arr.push.dense36 ], [ %t114, %arr.push.slow37 ] + call void @scr_arr_release(ptr %t92) + br label %if.j35 +if.j35: + %t116 = load ptr, ptr %sc_l_f_0 + call void @sc_release__x25_m4_UploadedFile(ptr %t116) + br label %if.j8 +if.j8: + %t117 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t117) + br label %if.j5 +if.f6: + %t118 = load ptr, ptr %sc_l_this_0 + %t119 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t118, i64 0, i32 20 + %t120 = load ptr, ptr %t119, !tbaa !30 + %t121 = call ptr @scr_arr_retain_v(ptr %t120) + %t122 = load ptr, ptr %sc_l_this_0 + %t123 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t122, i64 0, i32 11 + %t124 = load ptr, ptr %t123, !tbaa !100 + %t125 = call ptr @sc_rc_retain_str(ptr %t124) + %t126 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 1 + %t127 = load i64, ptr %t126, !tbaa !2 + %t130 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 2 + %t128 = load i64, ptr %t130, !tbaa !2 + %t129 = icmp ult i64 %t127, %t128 + br i1 %t129, label %arr.push.dense39, label %arr.push.slow40 +arr.push.dense39: + %t131 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 8 + %t133 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 9 + %t132 = load ptr, ptr %t131, !tbaa !2 + %t134 = load ptr, ptr %t133, !tbaa !2 + %t135 = getelementptr inbounds i8, ptr %t134, i64 %t127 + %t136 = getelementptr inbounds i64, ptr %t132, i64 %t127 + store ptr %t125, ptr %t136, !tbaa !6 + store i8 1, ptr %t135, !tbaa !4 + %t137 = add nuw i64 %t127, 1 + store i64 %t137, ptr %t126, !tbaa !2 + %t139 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 6 + %t140 = load i32, ptr %t139, !tbaa !2 + %t144 = zext i32 %t140 to i64 + %t141 = icmp eq i64 %t144, %t127 + %t142 = add i32 %t140, 1 + %t143 = select i1 %t141, i32 %t142, i32 %t140 + store i32 %t143, ptr %t139, !tbaa !2 + %t138 = sitofp i64 %t137 to double + br label %arr.push.join41 +arr.push.slow40: + %t145 = call double @scr_arr_push_ref(ptr %t121, ptr %t125) cold + br label %arr.push.join41 +arr.push.join41: + %t146 = phi double [ %t138, %arr.push.dense39 ], [ %t145, %arr.push.slow40 ] + call void @scr_arr_release(ptr %t121) + %t147 = load ptr, ptr %sc_l_this_0 + %t148 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t147, i64 0, i32 20 + %t149 = load ptr, ptr %t148, !tbaa !30 + %t150 = call ptr @scr_arr_retain_v(ptr %t149) + %t151 = load ptr, ptr %sc_l_this_0 + %t152 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t151, i64 0, i32 15 + %t153 = load ptr, ptr %t152, !tbaa !130 + %t154 = call ptr @sc_bf__x25_m4_u8catAll(ptr %t153) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_bytes_release(ptr %t154) + call void @scr_arr_release(ptr %t150) + ret void +exc.k43: + %t158 = call ptr @sc_bf__x25_m4_u8str(ptr %t154) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_bytes_release(ptr %t154) + call void @scr_str_release(ptr %t158) + call void @scr_arr_release(ptr %t150) + ret void +exc.k45: + call void @scr_bytes_release(ptr %t154) + %t162 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 1 + %t163 = load i64, ptr %t162, !tbaa !2 + %t166 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 2 + %t164 = load i64, ptr %t166, !tbaa !2 + %t165 = icmp ult i64 %t163, %t164 + br i1 %t165, label %arr.push.dense46, label %arr.push.slow47 +arr.push.dense46: + %t167 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 8 + %t169 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 9 + %t168 = load ptr, ptr %t167, !tbaa !2 + %t170 = load ptr, ptr %t169, !tbaa !2 + %t171 = getelementptr inbounds i8, ptr %t170, i64 %t163 + %t172 = getelementptr inbounds i64, ptr %t168, i64 %t163 + store ptr %t158, ptr %t172, !tbaa !6 + store i8 1, ptr %t171, !tbaa !4 + %t173 = add nuw i64 %t163, 1 + store i64 %t173, ptr %t162, !tbaa !2 + %t175 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 6 + %t176 = load i32, ptr %t175, !tbaa !2 + %t180 = zext i32 %t176 to i64 + %t177 = icmp eq i64 %t180, %t163 + %t178 = add i32 %t176, 1 + %t179 = select i1 %t177, i32 %t178, i32 %t176 + store i32 %t179, ptr %t175, !tbaa !2 + %t174 = sitofp i64 %t173 to double + br label %arr.push.join48 +arr.push.slow47: + %t181 = call double @scr_arr_push_ref(ptr %t150, ptr %t158) cold + br label %arr.push.join48 +arr.push.join48: + %t182 = phi double [ %t174, %arr.push.dense46 ], [ %t181, %arr.push.slow47 ] + call void @scr_arr_release(ptr %t150) + %t183 = load ptr, ptr %sc_l_this_0 + %t184 = call ptr @scr_arr_new_small(i32 4) + %t185 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t183, i64 0, i32 15 + %t186 = load ptr, ptr %t185 + store ptr %t184, ptr %t185, !tbaa !130 + call void @scr_arr_release(ptr %t186) + br label %if.j5 +if.j5: + ret void +exc.cleanup11: + %t187 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t187) + ret void +exc.cleanup17: + %t188 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t188) + %t189 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t189) + ret void +exc.cleanup20: + %t190 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t190) + %t191 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t191) + %t192 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t192) + ret void +exc.cleanup28: + %t193 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t193) + %t194 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t194) + ret void +exc.cleanup31: + %t195 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t195) + %t196 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t196) + %t197 = load ptr, ptr %sc_l_s_0 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t197) + ret void +} +define internal void @sc_f__x25__x25_m4_MultipartParser__endPart(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m4_MultipartParser__endPart(ptr %p0) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_raw_0, ptr %p_sc_l_qs_0, ptr %p_sc_l_path_0, ptr %p_sc_l_url_0, ptr %p_sc_l_method_0, ptr %p_sc_l_headers_0, ptr %p_sc_l_headersDistinct_0) #0 { ; %%m5.ReqViewCore.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_raw_0 = alloca ptr ; raw + %sc_l_qs_0 = alloca ptr ; qs + %sc_l_path_0 = alloca ptr ; path + %sc_l_url_0 = alloca ptr ; url + %sc_l_method_0 = alloca ptr ; method + %sc_l_headers_0 = alloca ptr ; headers + %sc_l_headersDistinct_0 = alloca ptr ; headersDistinct + %s23 = alloca ptr + %s24 = alloca i1 + %s38 = alloca ptr + %s49 = alloca ptr + %s60 = alloca ptr + %s83 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s124 = alloca ptr + %s130 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_raw_0, ptr %sc_l_raw_0 + store ptr %p_sc_l_qs_0, ptr %sc_l_qs_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_url_0, ptr %sc_l_url_0 + store ptr %p_sc_l_method_0, ptr %sc_l_method_0 + store ptr %p_sc_l_headers_0, ptr %sc_l_headers_0 + store ptr %p_sc_l_headersDistinct_0, ptr %sc_l_headersDistinct_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t6 = call ptr @scr_dyn_undefined() + %t5 = call ptr @scr_dyn_retain_v(ptr %t6) + %t7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 2 + %t8 = load ptr, ptr %t7 + store ptr %t5, ptr %t7, !tbaa !136 + call void @sc_rc_release_dyn(ptr %t8) + %t9 = load ptr, ptr %sc_l_raw_0 + %t12 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1 + %t11 = load i32, ptr %t12 + %t10 = icmp eq i32 %t11, 1 + br i1 %t10, label %if.t2, label %if.f4 +if.t2: + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t13, i64 0, i32 1 + %t15 = load ptr, ptr %t14 + store ptr @sc_unit_1, ptr %t14, !tbaa !138 + call void @scr_union_release(ptr %t15) + %t16 = load ptr, ptr %sc_l_this_0 + %t17 = call ptr @scr_dyn_new_null() + %t18 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t16, i64 0, i32 2 + %t19 = load ptr, ptr %t18 + store ptr %t17, ptr %t18, !tbaa !136 + call void @sc_rc_release_dyn(ptr %t19) + %t20 = load ptr, ptr %sc_l_this_0 + %t21 = load ptr, ptr %sc_l_method_0 + %t22 = call ptr @sc_nretain_string(ptr %t21) + %t26 = icmp eq ptr %t22, null + %t25 = select i1 %t26, i32 1, i32 0 + switch i32 %t25, label %u.bad6 [ i32 0, label %u.a7 i32 1, label %u.a8 ] +u.a7: + %t27 = getelementptr inbounds %ScrStr, ptr %t22, i64 0, i32 1 + %t28 = load i64, ptr %t27 + %t29 = icmp ne i64 %t28, 0 + store i1 %t29, ptr %s24 + br label %ut.j5 +u.a8: + store i1 false, ptr %s24 + br label %ut.j5 +u.bad6: + call void @sc_bad_tag() + unreachable +ut.j5: + %t30 = load i1, ptr %s24 + br i1 %t30, label %ord.t9, label %ord.f10 +ord.t9: + store ptr %t22, ptr %s23 + br label %ord.j11 +ord.f10: + call void @scr_str_release(ptr %t22) + store ptr @sc_lit_4005573543169985, ptr %s23 + br label %ord.j11 +ord.j11: + %t31 = load ptr, ptr %s23 + %t32 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t20, i64 0, i32 5 + %t33 = load ptr, ptr %t32 + store ptr %t31, ptr %t32, !tbaa !76 + call void @scr_str_release(ptr %t33) + %t34 = load ptr, ptr %sc_l_this_0 + %t35 = load ptr, ptr %sc_l_headers_0 + %t37 = icmp eq ptr %t35, null + br i1 %t37, label %tern.t12, label %tern.f13 +tern.t12: + %t39 = call ptr @sc_rnew_r0() + store ptr %t39, ptr %s38 + br label %tern.j14 +tern.f13: + %t40 = load ptr, ptr %sc_l_headers_0 + %t41 = call ptr @sc_rretain_r0(ptr %t40) + store ptr %t41, ptr %s38 + br label %tern.j14 +tern.j14: + %t42 = load ptr, ptr %s38 + %t43 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t34, i64 0, i32 3 + %t44 = load ptr, ptr %t43 + store ptr %t42, ptr %t43, !tbaa !140 + call void @sc_rrelease_r0(ptr %t44) + %t45 = load ptr, ptr %sc_l_this_0 + %t46 = load ptr, ptr %sc_l_headersDistinct_0 + %t48 = icmp eq ptr %t46, null + br i1 %t48, label %tern.t15, label %tern.f16 +tern.t15: + %t50 = call ptr @sc_rnew_r3() + store ptr %t50, ptr %s49 + br label %tern.j17 +tern.f16: + %t51 = load ptr, ptr %sc_l_headersDistinct_0 + %t52 = call ptr @sc_rretain_r3(ptr %t51) + store ptr %t52, ptr %s49 + br label %tern.j17 +tern.j17: + %t53 = load ptr, ptr %s49 + %t54 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t45, i64 0, i32 4 + %t55 = load ptr, ptr %t54 + store ptr %t53, ptr %t54, !tbaa !142 + call void @sc_rrelease_r3(ptr %t55) + %t56 = load ptr, ptr %sc_l_this_0 + %t57 = load ptr, ptr %sc_l_url_0 + %t59 = icmp eq ptr %t57, null + br i1 %t59, label %tern.t18, label %tern.f19 +tern.t18: + %t61 = load ptr, ptr %sc_l_path_0 + %t62 = call ptr @sc_rc_retain_str(ptr %t61) + store ptr %t62, ptr %s60 + br label %tern.j20 +tern.f19: + %t63 = load ptr, ptr %sc_l_url_0 + %t64 = call ptr @sc_rc_retain_str(ptr %t63) + store ptr %t64, ptr %s60 + br label %tern.j20 +tern.j20: + %t65 = load ptr, ptr %s60 + %t66 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t56, i64 0, i32 6 + %t67 = load ptr, ptr %t66 + store ptr %t65, ptr %t66, !tbaa !78 + call void @scr_str_release(ptr %t67) + br label %if.j3 +if.f4: + %t68 = load ptr, ptr %sc_l_this_0 + %t69 = load ptr, ptr %sc_l_raw_0 + %t70 = call ptr @scr_union_retain_v(ptr %t69) + %t71 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t68, i64 0, i32 1 + %t72 = load ptr, ptr %t71 + store ptr %t70, ptr %t71, !tbaa !138 + call void @scr_union_release(ptr %t72) + %t73 = load ptr, ptr %sc_l_this_0 + %t74 = call ptr @scr_dyn_new_null() + %t75 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t73, i64 0, i32 2 + %t76 = load ptr, ptr %t75 + store ptr %t74, ptr %t75, !tbaa !136 + call void @sc_rc_release_dyn(ptr %t76) + %t77 = load ptr, ptr %sc_l_this_0 + %t78 = load ptr, ptr %sc_l_raw_0 + %t79 = getelementptr inbounds %ScrUnion, ptr %t78, i64 0, i32 5 + %t80 = load ptr, ptr %t79 + %t81 = call ptr @scr_http_req_retain_v(ptr %t80) + %t82 = call ptr @scr_http_req_method(ptr %t81) + store ptr %t82, ptr %s83 + %t84 = getelementptr inbounds %ScrStr, ptr %t82, i64 0, i32 1 + %t85 = load i64, ptr %t84 + %t86 = icmp ne i64 %t85, 0 + br i1 %t86, label %log.j22, label %log.r21 +log.r21: + call void @scr_str_release(ptr %t82) + store ptr @sc_lit_4005573543169985, ptr %s83 + br label %log.j22 +log.j22: + %t87 = load ptr, ptr %s83 + %t88 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t77, i64 0, i32 5 + %t89 = load ptr, ptr %t88 + store ptr %t87, ptr %t88, !tbaa !76 + call void @scr_str_release(ptr %t89) + call void @scr_http_req_release(ptr %t81) + %t90 = load ptr, ptr %sc_l_this_0 + %t91 = load ptr, ptr %sc_l_raw_0 + %t92 = getelementptr inbounds %ScrUnion, ptr %t91, i64 0, i32 5 + %t93 = load ptr, ptr %t92 + %t94 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t93) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u23, label %exc.k24 +exc.u23: + call void @sc_rrelease_r26(ptr %t94) + ret void +exc.k24: + %t98 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t94, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit) + %t99 = call ptr @sc_bf__x25_m5_copyHeaders(ptr %t98) + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u25, label %exc.k26 +exc.u25: + call void @sc_rrelease_r26(ptr %t94) + call void @sc_rc_release_dyn(ptr %t98) + call void @sc_rrelease_r0(ptr %t99) + ret void +exc.k26: + call void @sc_rrelease_r26(ptr %t94) + call void @sc_rc_release_dyn(ptr %t98) + %t103 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t90, i64 0, i32 3 + %t104 = load ptr, ptr %t103 + store ptr %t99, ptr %t103, !tbaa !140 + call void @sc_rrelease_r0(ptr %t104) + %t105 = load ptr, ptr %sc_l_this_0 + %t106 = load ptr, ptr %sc_l_raw_0 + %t107 = getelementptr inbounds %ScrUnion, ptr %t106, i64 0, i32 5 + %t108 = load ptr, ptr %t107 + %t109 = call ptr @sc_bf__x25_headersDistinct_snapshot_4(ptr %t108) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rrelease_r32(ptr %t109) + ret void +exc.k28: + %t113 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t109, ptr @sc_rretain_r32, ptr @sc_rrelease_r32, ptr @sc_cs_804729941372645, i64 10, ptr @sc_ldr_39_materialize, ptr @sc_ldr_39_materialize_commit) + %t114 = call ptr @sc_bf__x25_m5_copyHeadersDistinct(ptr %t113) + %t115 = load i32, ptr %exc.cell + %t116 = icmp ne i32 %t115, 0 + %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false) + br i1 %t117, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rrelease_r32(ptr %t109) + call void @sc_rc_release_dyn(ptr %t113) + call void @sc_rrelease_r3(ptr %t114) + ret void +exc.k30: + call void @sc_rrelease_r32(ptr %t109) + call void @sc_rc_release_dyn(ptr %t113) + %t118 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t105, i64 0, i32 4 + %t119 = load ptr, ptr %t118 + store ptr %t114, ptr %t118, !tbaa !142 + call void @sc_rrelease_r3(ptr %t119) + %t120 = load ptr, ptr %sc_l_this_0 + %t121 = load ptr, ptr %sc_l_url_0 + %t123 = icmp eq ptr %t121, null + br i1 %t123, label %tern.t31, label %tern.f32 +tern.t31: + %t125 = load ptr, ptr %sc_l_raw_0 + %t126 = getelementptr inbounds %ScrUnion, ptr %t125, i64 0, i32 5 + %t127 = load ptr, ptr %t126 + %t128 = call ptr @scr_http_req_retain_v(ptr %t127) + %t129 = call ptr @scr_http_req_url(ptr %t128) + store ptr %t129, ptr %s130 + %t131 = getelementptr inbounds %ScrStr, ptr %t129, i64 0, i32 1 + %t132 = load i64, ptr %t131 + %t133 = icmp ne i64 %t132, 0 + br i1 %t133, label %log.j35, label %log.r34 +log.r34: + call void @scr_str_release(ptr %t129) + %t134 = load ptr, ptr %sc_l_path_0 + %t135 = call ptr @sc_rc_retain_str(ptr %t134) + store ptr %t135, ptr %s130 + br label %log.j35 +log.j35: + %t136 = load ptr, ptr %s130 + store ptr %t136, ptr %s124 + call void @scr_http_req_release(ptr %t128) + br label %tern.j33 +tern.f32: + %t137 = load ptr, ptr %sc_l_url_0 + %t138 = call ptr @sc_rc_retain_str(ptr %t137) + store ptr %t138, ptr %s124 + br label %tern.j33 +tern.j33: + %t139 = load ptr, ptr %s124 + %t140 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t120, i64 0, i32 6 + %t141 = load ptr, ptr %t140 + store ptr %t139, ptr %t140, !tbaa !78 + call void @scr_str_release(ptr %t141) + br label %if.j3 +if.j3: + %t142 = load ptr, ptr %sc_l_this_0 + %t143 = load ptr, ptr %sc_l_qs_0 + %t144 = call ptr @sc_rc_retain_str(ptr %t143) + %t145 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t142, i64 0, i32 8 + %t146 = load ptr, ptr %t145 + store ptr %t144, ptr %t145, !tbaa !144 + call void @scr_str_release(ptr %t146) + %t147 = load ptr, ptr %sc_l_this_0 + %t148 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t147, i64 0, i32 9 + %t149 = load ptr, ptr %t148 + store ptr null, ptr %t148, !tbaa !146 + call void @scr_arr_release(ptr %t149) + %t150 = load ptr, ptr %sc_l_this_0 + %t151 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t150, i64 0, i32 10 + %t152 = load ptr, ptr %t151 + store ptr null, ptr %t151, !tbaa !148 + call void @scr_arr_release(ptr %t152) + %t153 = load ptr, ptr %sc_l_this_0 + %t154 = load ptr, ptr @sc_g_m5_EMPTY_S + %t155 = call ptr @scr_arr_retain_v(ptr %t154) + %t156 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t153, i64 0, i32 11 + %t157 = load ptr, ptr %t156 + store ptr %t155, ptr %t156, !tbaa !150 + call void @scr_arr_release(ptr %t157) + %t158 = load ptr, ptr %sc_l_this_0 + %t159 = load ptr, ptr @sc_g_m5_EMPTY_N + %t160 = call ptr @scr_arr_retain_v(ptr %t159) + %t161 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t158, i64 0, i32 12 + %t162 = load ptr, ptr %t161 + store ptr %t160, ptr %t161, !tbaa !152 + call void @scr_arr_release(ptr %t162) + %t163 = load ptr, ptr %sc_l_this_0 + %t164 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t163, i64 0, i32 13 + store double 0xBFF0000000000000, ptr %t164, !tbaa !154 + %t165 = load ptr, ptr %sc_l_this_0 + %t166 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t165, i64 0, i32 14 + %t167 = load ptr, ptr %t166 + store ptr @sc_lit_4005573543169985, ptr %t166, !tbaa !156 + call void @scr_str_release(ptr %t167) + %t168 = load ptr, ptr %sc_l_this_0 + %t169 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile, i64 0) + %t170 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t168, i64 0, i32 15 + %t171 = load ptr, ptr %t170 + store ptr %t169, ptr %t170, !tbaa !158 + call void @scr_arr_release(ptr %t171) + %t172 = load ptr, ptr %sc_l_this_0 + %t173 = call ptr @scr_arr_new(i32 2, i64 0) + %t174 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t172, i64 0, i32 16 + %t175 = load ptr, ptr %t174 + store ptr %t173, ptr %t174, !tbaa !160 + call void @scr_arr_release(ptr %t175) + %t176 = load ptr, ptr %sc_l_this_0 + %t177 = load ptr, ptr %sc_l_path_0 + %t178 = call ptr @sc_rc_retain_str(ptr %t177) + %t179 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t176, i64 0, i32 7 + %t180 = load ptr, ptr %t179 + store ptr %t178, ptr %t179, !tbaa !96 + call void @scr_str_release(ptr %t180) + ret void +} +define internal void @sc_f__x25__x25_m5_ReqViewCore_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6, ptr %p7) #0 { +entry: + call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6, ptr %p7) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_union_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + call void @scr_str_release(ptr %p4) + call void @scr_str_release(ptr %p5) + call void @sc_rrelease_r0(ptr %p6) + call void @sc_rrelease_r3(ptr %p7) + ret void +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_get_x3a_raw(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore.get:raw +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_66(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t26) + %t27 = call ptr @scr_dyn_call(ptr %t24, ptr null, i64 0, ptr @sc_cs_239666599887116) + call void @scr_dyn_this_pop() + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t26) + %t31 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t31) + %t32 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t32) + ret ptr %t27 +exc.cleanup9: + %t33 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t33) + ret ptr null +exc.cleanup12: + %t34 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t34) + %t35 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t35) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_get_x3a_raw(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_get_x3a_raw(ptr %p0) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_rawReq(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore.rawReq +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_w_0 = alloca ptr ; w + store ptr null, ptr %sc_l_w_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 2 + %t6 = load ptr, ptr %t5, !tbaa !136 + %t7 = call ptr @sc_rc_retain_dyn(ptr %t6) + store ptr %t7, ptr %sc_l_w_0 + %t8 = load ptr, ptr %sc_l_w_0 + %t9 = getelementptr inbounds i8, ptr %t8, i64 8 ; ->kind + %t10 = load i32, ptr %t9 + %t11 = icmp eq i32 %t10, 0 + %t12 = xor i1 %t11, true + br i1 %t12, label %if.t2, label %if.j3 +if.t2: + %t13 = load ptr, ptr %sc_l_w_0 + ret ptr %t13 +if.j3: + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t14, i64 0, i32 1 + %t16 = load ptr, ptr %t15, !tbaa !138 + %t17 = call ptr @scr_union_retain_v(ptr %t16) + %t18 = call ptr @sc_td_9(ptr %t17) + call void @scr_union_release(ptr %t17) + %t19 = load ptr, ptr %sc_l_w_0 + call void @sc_rc_release_dyn(ptr %t19) + ret ptr %t18 +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_rawReq(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_rawReq(ptr %p0) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m5_ReqViewCore__setWeb(ptr %p_sc_l_this_0, ptr %p_sc_l_r_0) #0 { ; %%m5.ReqViewCore._setWeb +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_r_0 = alloca ptr ; r + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_r_0 + %t2 = call ptr @sc_rc_retain_dyn(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 2 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !136 + call void @sc_rc_release_dyn(ptr %t4) + ret void +} +define internal void @sc_f__x25__x25_m5_ReqViewCore__setWeb(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m5_ReqViewCore__setWeb(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_param(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.param +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_n_0 = alloca ptr ; n + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_pm_0 = alloca ptr ; pm + %sc_l_i_0 = alloca double ; i + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca ptr + %s45 = alloca ptr + %s78 = alloca i1 + %s88 = alloca ptr + %s121 = alloca ptr + store ptr null, ptr %sc_l_n_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_pm_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_name_0 + store ptr %t4, ptr %sc_l_n_0 + %t5 = load ptr, ptr %sc_l_this_0 + store ptr %t5, ptr %sc_l__x25_callbackReceiver_0 + %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t7 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t6) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t7) + ret ptr null +exc.k3: + store ptr %t7, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t11 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 6 + br i1 %t14, label %tern.t4, label %tern.f5 +tern.t4: + %t17 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t17) + store ptr %t16, ptr %s15 + br label %tern.j6 +tern.f5: + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = call ptr @sc_rc_retain_dyn(ptr %t18) + %t20 = call ptr @sc_f__x25_dyn_class_property_22(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup9 +exc.k8: + store ptr %t20, ptr %s15 + br label %tern.j6 +tern.j6: + %t24 = load ptr, ptr %s15 + store ptr %t24, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t27) + %t28 = call ptr @scr_dyn_call(ptr %t25, ptr null, i64 0, ptr @sc_cs_4210341737513202) + call void @scr_dyn_this_pop() + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + br label %exc.cleanup12 +exc.k11: + %t32 = call ptr @sc_dc_1(ptr %t28, ptr null) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + call void @scr_arr_release(ptr %t32) + br label %exc.cleanup12 +exc.k14: + store ptr %t32, ptr %sc_l_pm_0 + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c16 +loop.c16: + %t38 = load double, ptr %sc_l_i_0 + %t39 = load ptr, ptr %sc_l_pm_0 + %t40 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1 + %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296} + %t42 = sitofp i64 %t41 to double + %t44 = fptosi double %t42 to i64 + %t43 = fcmp olt double %t38, %t42 + br i1 %t43, label %loop.b17, label %loop.e15 +loop.b17: + %t46 = load ptr, ptr %sc_l_pm_0 + %t47 = load double, ptr %sc_l_i_0 + %t48 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2 + %t49 = load i64, ptr %t48, !tbaa !2 + %t50 = fptosi double %t47 to i64 + %t51 = freeze i64 %t50 + %t52 = sitofp i64 %t51 to double + %t53 = fcmp oeq double %t52, %t47 + %t54 = icmp ult i64 %t51, %t49 + %t55 = and i1 %t53, %t54 + br i1 %t55, label %local.array.range22, label %local.array.slow19 +local.array.range22: + br label %local.array.dense23 +local.array.dense23: + %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6 + %t57 = load i32, ptr %t56, !tbaa !2 + %t59 = zext i32 %t57 to i64 + %t58 = icmp ult i64 %t51, %t59 + br i1 %t58, label %local.array.value25, label %local.array.len24 +local.array.len24: + %t60 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1 + %t61 = load i64, ptr %t60, !tbaa !2, !range !{i64 0, i64 4294967296} + %t62 = icmp ult i64 %t51, %t61 + br i1 %t62, label %local.array.state26, label %local.array.missing20 +local.array.state26: + %t63 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9 + %t64 = load ptr, ptr %t63, !tbaa !2 + %t65 = getelementptr inbounds i8, ptr %t64, i64 %t51 + %t66 = load i8, ptr %t65, !tbaa !4 + %t67 = icmp eq i8 %t66, 1 + br i1 %t67, label %local.array.value25, label %local.array.missing20 +local.array.value25: + %t68 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8 + %t69 = load ptr, ptr %t68, !tbaa !2 + %t70 = getelementptr inbounds i64, ptr %t69, i64 %t51 + %t71 = load ptr, ptr %t70, !tbaa !6 + %t72 = call ptr @sc_rc_retain_str(ptr %t71) + store ptr %t72, ptr %s45 + br label %local.array.join21 +local.array.slow19: + %t73 = call ptr @scr_arr_peek_ref(ptr %t46, double %t47) + %t74 = icmp ne ptr %t73, null + br i1 %t74, label %local.array.slow.value27, label %local.array.missing20 +local.array.slow.value27: + %t75 = call ptr @sc_rc_retain_str(ptr %t73) + store ptr %t75, ptr %s45 + br label %local.array.join21 +local.array.missing20: + store ptr null, ptr %s45 + br label %local.array.join21 +local.array.join21: + %t76 = load ptr, ptr %s45 + %t77 = load ptr, ptr %sc_l_n_0 + %t79 = icmp eq ptr %t76, %t77 + %t81 = icmp ne ptr %t76, null + %t82 = icmp ne ptr %t77, null + %t80 = and i1 %t81, %t82 + store i1 %t79, ptr %s78 + %t83 = xor i1 %t79, true + %t84 = and i1 %t83, %t80 + br i1 %t84, label %ues.b28, label %ues.j29 +ues.b28: + %t85 = call zeroext i1 @sc_str_eq(ptr %t76, ptr %t77) + store i1 %t85, ptr %s78 + br label %ues.j29 +ues.j29: + %t86 = load i1, ptr %s78 + %t87 = load ptr, ptr %s45 + call void @scr_str_release(ptr %t87) + br i1 %t86, label %if.t30, label %if.j31 +if.t30: + %t89 = load ptr, ptr %sc_l_pm_0 + %t90 = load double, ptr %sc_l_i_0 + %t91 = fadd double %t90, 0x3FF0000000000000 + %t92 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 2 + %t93 = load i64, ptr %t92, !tbaa !2 + %t94 = fptosi double %t91 to i64 + %t95 = freeze i64 %t94 + %t96 = sitofp i64 %t95 to double + %t97 = fcmp oeq double %t96, %t91 + %t98 = icmp ult i64 %t95, %t93 + %t99 = and i1 %t97, %t98 + br i1 %t99, label %local.array.range35, label %local.array.slow32 +local.array.range35: + br label %local.array.dense36 +local.array.dense36: + %t100 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 6 + %t101 = load i32, ptr %t100, !tbaa !2 + %t103 = zext i32 %t101 to i64 + %t102 = icmp ult i64 %t95, %t103 + br i1 %t102, label %local.array.value38, label %local.array.len37 +local.array.len37: + %t104 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 1 + %t105 = load i64, ptr %t104, !tbaa !2, !range !{i64 0, i64 4294967296} + %t106 = icmp ult i64 %t95, %t105 + br i1 %t106, label %local.array.state39, label %local.array.missing33 +local.array.state39: + %t107 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 9 + %t108 = load ptr, ptr %t107, !tbaa !2 + %t109 = getelementptr inbounds i8, ptr %t108, i64 %t95 + %t110 = load i8, ptr %t109, !tbaa !4 + %t111 = icmp eq i8 %t110, 1 + br i1 %t111, label %local.array.value38, label %local.array.missing33 +local.array.value38: + %t112 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 8 + %t113 = load ptr, ptr %t112, !tbaa !2 + %t114 = getelementptr inbounds i64, ptr %t113, i64 %t95 + %t115 = load ptr, ptr %t114, !tbaa !6 + %t116 = call ptr @sc_rc_retain_str(ptr %t115) + store ptr %t116, ptr %s88 + br label %local.array.join34 +local.array.slow32: + %t117 = call ptr @scr_arr_peek_ref(ptr %t89, double %t91) + %t118 = icmp ne ptr %t117, null + br i1 %t118, label %local.array.slow.value40, label %local.array.missing33 +local.array.slow.value40: + %t119 = call ptr @sc_rc_retain_str(ptr %t117) + store ptr %t119, ptr %s88 + br label %local.array.join34 +local.array.missing33: + store ptr null, ptr %s88 + br label %local.array.join34 +local.array.join34: + %t120 = load ptr, ptr %s88 + %t123 = icmp eq ptr %t120, null + %t122 = select i1 %t123, i32 1, i32 0 + switch i32 %t122, label %u.bad42 [ i32 0, label %u.a43 i32 1, label %u.a44 ] +u.a43: + %t124 = call ptr @sc_rc_retain_str(ptr %t120) + store ptr %t124, ptr %s121 + br label %us.j41 +u.a44: + store ptr @sc_lit_4134463689533233, ptr %s121 + br label %us.j41 +u.bad42: + call void @sc_bad_tag() + unreachable +us.j41: + %t125 = load ptr, ptr %s121 + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u45, label %exc.k46 +exc.u45: + %t129 = load ptr, ptr %s88 + call void @scr_str_release(ptr %t129) + call void @scr_str_release(ptr %t125) + br label %exc.cleanup47 +exc.k46: + %t130 = load ptr, ptr %s88 + call void @scr_str_release(ptr %t130) + %t131 = load ptr, ptr %sc_l_pm_0 + call void @scr_arr_release(ptr %t131) + ret ptr %t125 +if.j31: + br label %loop.u18 +loop.u18: + %t132 = load double, ptr %sc_l_i_0 + %t133 = fadd double %t132, 0x4000000000000000 + store double %t133, ptr %sc_l_i_0 + br label %loop.c16 +loop.e15: + %t134 = load ptr, ptr %sc_l_pm_0 + call void @scr_arr_release(ptr %t134) + ret ptr null +exc.cleanup9: + %t135 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t135) + ret ptr null +exc.cleanup12: + %t136 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t136) + %t137 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t137) + ret ptr null +exc.cleanup47: + %t138 = load ptr, ptr %sc_l_pm_0 + call void @scr_arr_release(ptr %t138) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_param(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_param(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m5_ReqViewCore__seedPm(ptr %p_sc_l_this_0, ptr %p_sc_l_pm_0) #0 { ; %%m5.ReqViewCore._seedPm +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_pm_0 = alloca ptr ; pm + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_pm_0, ptr %sc_l_pm_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_pm_0 + %t2 = call ptr @scr_arr_retain_v(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 10 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !148 + call void @scr_arr_release(ptr %t4) + ret void +} +define internal void @sc_f__x25__x25_m5_ReqViewCore__seedPm(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m5_ReqViewCore__seedPm(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_arr_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore__pmNow(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore._pmNow +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_pm_0 = alloca ptr ; pm + %sc_l_out_0 = alloca ptr ; out + %sc_l_pn_0 = alloca ptr ; pn + %sc_l_sp_0 = alloca double ; sp + %sc_l_segs_0 = alloca ptr ; segs + %sc_l_i_0 = alloca i32 ; i + %sc_l_idx_0 = alloca ptr ; idx + %sc_l_v_0 = alloca ptr ; v + %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget + %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue + %sc_l_tail_0 = alloca ptr ; tail + %sc_l_j_0 = alloca double ; j + %s27 = alloca i1 + %s35 = alloca i64 ; integer induction i + %s49 = alloca %ScrUnion + %s50 = getelementptr inbounds %ScrUnion, ptr %s49, i32 0, i32 5 + %s51 = getelementptr inbounds %ScrUnion, ptr %s49, i32 0, i32 1 + %s79 = alloca double + %s80 = alloca i32 + %s91 = alloca ptr + %s97 = alloca double + %s98 = alloca i32 + %s132 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s184 = alloca ptr + %s259 = alloca ptr + %s291 = alloca ptr + store ptr null, ptr %sc_l_pm_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_pn_0 + store ptr null, ptr %sc_l_segs_0 + store ptr null, ptr %sc_l_idx_0 + store ptr null, ptr %sc_l_v_0 + store ptr null, ptr %sc_l__x25_pushTarget_0 + store ptr null, ptr %sc_l__x25_pushValue_0 + store ptr null, ptr %sc_l_tail_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 10 + %t6 = load ptr, ptr %t5, !tbaa !148 + %t7 = call ptr @sc_nretain_array(ptr %t6) + store ptr %t7, ptr %sc_l_pm_0 + %t8 = load ptr, ptr %sc_l_pm_0 + %t10 = icmp ne ptr %t8, null + br i1 %t10, label %if.t2, label %if.j3 +if.t2: + %t11 = load ptr, ptr %sc_l_pm_0 + %t12 = call ptr @scr_arr_retain_v(ptr %t11) + %t13 = load ptr, ptr %sc_l_pm_0 + call void @scr_arr_release(ptr %t13) + ret ptr %t12 +if.j3: + %t14 = call ptr @scr_arr_new_small(i32 2) + store ptr %t14, ptr %sc_l_out_0 + %t15 = load ptr, ptr %sc_l_this_0 + %t16 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t15, i64 0, i32 11 + %t17 = load ptr, ptr %t16, !tbaa !150 + store ptr %t17, ptr %sc_l_pn_0 + %t18 = load ptr, ptr %sc_l_this_0 + %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t18, i64 0, i32 13 + %t20 = load double, ptr %t19, !tbaa !154 + store double %t20, ptr %sc_l_sp_0 + %t21 = load ptr, ptr %sc_l_pn_0 + %t22 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1 + %t23 = load i64, ptr %t22, !tbaa !2, !range !{i64 0, i64 4294967296} + %t24 = sitofp i64 %t23 to double + %t26 = fptosi double %t24 to i64 + %t25 = icmp sgt i64 %t26, 0 + store i1 %t25, ptr %s27 + br i1 %t25, label %log.j5, label %log.r4 +log.r4: + %t28 = load double, ptr %sc_l_sp_0 + %t29 = fcmp oge double %t28, 0x0000000000000000 + store i1 %t29, ptr %s27 + br label %log.j5 +log.j5: + %t30 = load i1, ptr %s27 + br i1 %t30, label %if.t6, label %if.j7 +if.t6: + %t31 = load ptr, ptr %sc_l_this_0 + %t32 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t31, i64 0, i32 7 + %t33 = load ptr, ptr %t32, !tbaa !96 + %t34 = call ptr @scr_str_split_limit(ptr %t33, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000) + store ptr %t34, ptr %sc_l_segs_0 + %t36 = fptosi double 0x0000000000000000 to i64 + store i64 %t36, ptr %s35 + br label %loop.c9 +loop.c9: + %t37 = load ptr, ptr %sc_l_pn_0 + %t38 = getelementptr inbounds %ScrArr, ptr %t37, i64 0, i32 1 + %t39 = load i64, ptr %t38, !tbaa !2 + %t40 = load i64, ptr %s35 + %t41 = icmp ult i64 %t40, %t39 + br i1 %t41, label %loop.b10, label %loop.e8 +loop.b10: + %t42 = load ptr, ptr %sc_l_this_0 + %t43 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t42, i64 0, i32 12 + %t44 = load ptr, ptr %t43, !tbaa !152 + %t45 = load i64, ptr %s35 + %t46 = load i64, ptr %s35 + %t47 = sitofp i64 %t46 to double + %t48 = trunc i64 %t46 to i32 + %t52 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 2 + %t53 = load i64, ptr %t52, !tbaa !2 + %t54 = icmp ult i64 %t45, %t53 + br i1 %t54, label %local.array.range15, label %local.array.slow12 +local.array.range15: + br label %local.array.dense16 +local.array.dense16: + %t55 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 6 + %t56 = load i32, ptr %t55, !tbaa !2 + %t58 = zext i32 %t56 to i64 + %t57 = icmp ult i64 %t45, %t58 + br i1 %t57, label %local.array.value18, label %local.array.len17 +local.array.len17: + %t59 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 1 + %t60 = load i64, ptr %t59, !tbaa !2, !range !{i64 0, i64 4294967296} + %t61 = icmp ult i64 %t45, %t60 + br i1 %t61, label %local.array.state19, label %local.array.missing13 +local.array.state19: + %t62 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 9 + %t63 = load ptr, ptr %t62, !tbaa !2 + %t64 = getelementptr inbounds i8, ptr %t63, i64 %t45 + %t65 = load i8, ptr %t64, !tbaa !4 + %t66 = icmp eq i8 %t65, 1 + br i1 %t66, label %local.array.value18, label %local.array.missing13 +local.array.value18: + %t67 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 8 + %t68 = load ptr, ptr %t67, !tbaa !2 + %t69 = getelementptr inbounds i64, ptr %t68, i64 %t45 + %t70 = load i64, ptr %t69, !tbaa !6 + store i64 %t70, ptr %s50 + store i32 0, ptr %s51 + br label %local.array.join14 +local.array.slow12: + %t71 = call double @scr_arr_state(ptr %t44, double %t47) cold memory(read, inaccessiblemem: readwrite) + %t72 = fcmp oeq double %t71, 1.0 + br i1 %t72, label %local.array.slow.value20, label %local.array.missing13 +local.array.slow.value20: + %t73 = call double @scr_arr_get_f64(ptr %t44, double %t47) cold memory(read, inaccessiblemem: readwrite) + %t74 = bitcast double %t73 to i64 + store i64 %t74, ptr %s50 + store i32 0, ptr %s51 + br label %local.array.join14 +local.array.missing13: + store i64 0, ptr %s50 + store i32 1, ptr %s51 + br label %local.array.join14 +local.array.join14: + store ptr %s49, ptr %sc_l_idx_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_v_0 + %t75 = load ptr, ptr %sc_l_idx_0 + %t78 = getelementptr inbounds %ScrUnion, ptr %t75, i64 0, i32 1 + %t77 = load i32, ptr %t78 + %t76 = icmp eq i32 %t77, 1 + br i1 %t76, label %tern.t21, label %tern.f22 +tern.t21: + store double 0x7FF8000000000000, ptr %s79 + br label %tern.j23 +tern.f22: + %t81 = load ptr, ptr %sc_l_idx_0 + %t82 = getelementptr inbounds %ScrUnion, ptr %t81, i64 0, i32 5 + %t83 = load double, ptr %t82 + store double %t83, ptr %s79 + br label %tern.j23 +tern.j23: + %t84 = load double, ptr %s79 + %t85 = load ptr, ptr %sc_l_segs_0 + %t86 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 1 + %t87 = load i64, ptr %t86, !tbaa !2, !range !{i64 0, i64 4294967296} + %t88 = sitofp i64 %t87 to double + %t90 = fptosi double %t88 to i64 + %t89 = fcmp olt double %t84, %t88 + br i1 %t89, label %if.t24, label %if.j25 +if.t24: + %t92 = load ptr, ptr %sc_l_segs_0 + %t93 = load ptr, ptr %sc_l_idx_0 + %t96 = getelementptr inbounds %ScrUnion, ptr %t93, i64 0, i32 1 + %t95 = load i32, ptr %t96 + %t94 = icmp eq i32 %t95, 1 + br i1 %t94, label %tern.t26, label %tern.f27 +tern.t26: + store double 0x7FF8000000000000, ptr %s97 + br label %tern.j28 +tern.f27: + %t99 = load ptr, ptr %sc_l_idx_0 + %t100 = getelementptr inbounds %ScrUnion, ptr %t99, i64 0, i32 5 + %t101 = load double, ptr %t100 + store double %t101, ptr %s97 + br label %tern.j28 +tern.j28: + %t102 = load double, ptr %s97 + %t103 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 2 + %t104 = load i64, ptr %t103, !tbaa !2 + %t105 = fptosi double %t102 to i64 + %t106 = freeze i64 %t105 + %t107 = sitofp i64 %t106 to double + %t108 = fcmp oeq double %t107, %t102 + %t109 = icmp ult i64 %t106, %t104 + %t110 = and i1 %t108, %t109 + br i1 %t110, label %local.array.range32, label %local.array.slow29 +local.array.range32: + br label %local.array.dense33 +local.array.dense33: + %t111 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 6 + %t112 = load i32, ptr %t111, !tbaa !2 + %t114 = zext i32 %t112 to i64 + %t113 = icmp ult i64 %t106, %t114 + br i1 %t113, label %local.array.value35, label %local.array.len34 +local.array.len34: + %t115 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 1 + %t116 = load i64, ptr %t115, !tbaa !2, !range !{i64 0, i64 4294967296} + %t117 = icmp ult i64 %t106, %t116 + br i1 %t117, label %local.array.state36, label %local.array.missing30 +local.array.state36: + %t118 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 9 + %t119 = load ptr, ptr %t118, !tbaa !2 + %t120 = getelementptr inbounds i8, ptr %t119, i64 %t106 + %t121 = load i8, ptr %t120, !tbaa !4 + %t122 = icmp eq i8 %t121, 1 + br i1 %t122, label %local.array.value35, label %local.array.missing30 +local.array.value35: + %t123 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 8 + %t124 = load ptr, ptr %t123, !tbaa !2 + %t125 = getelementptr inbounds i64, ptr %t124, i64 %t106 + %t126 = load ptr, ptr %t125, !tbaa !6 + %t127 = call ptr @sc_rc_retain_str(ptr %t126) + store ptr %t127, ptr %s91 + br label %local.array.join31 +local.array.slow29: + %t128 = call ptr @scr_arr_peek_ref(ptr %t92, double %t102) + %t129 = icmp ne ptr %t128, null + br i1 %t129, label %local.array.slow.value37, label %local.array.missing30 +local.array.slow.value37: + %t130 = call ptr @sc_rc_retain_str(ptr %t128) + store ptr %t130, ptr %s91 + br label %local.array.join31 +local.array.missing30: + store ptr null, ptr %s91 + br label %local.array.join31 +local.array.join31: + %t131 = load ptr, ptr %s91 + %t134 = icmp eq ptr %t131, null + %t133 = select i1 %t134, i32 1, i32 0 + switch i32 %t133, label %u.bad39 [ i32 0, label %u.a40 i32 1, label %u.a41 ] +u.a40: + %t135 = call ptr @sc_rc_retain_str(ptr %t131) + store ptr %t135, ptr %s132 + br label %us.j38 +u.a41: + store ptr @sc_lit_4134463689533233, ptr %s132 + br label %us.j38 +u.bad39: + call void @sc_bad_tag() + unreachable +us.j38: + %t136 = load ptr, ptr %s132 + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u42, label %exc.k43 +exc.u42: + %t140 = load ptr, ptr %s91 + call void @scr_str_release(ptr %t140) + call void @scr_str_release(ptr %t136) + br label %exc.cleanup44 +exc.k43: + %t141 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t141) + store ptr %t136, ptr %sc_l_v_0 + %t142 = load ptr, ptr %s91 + call void @scr_str_release(ptr %t142) + br label %if.j25 +if.j25: + %t143 = load ptr, ptr %sc_l_out_0 + store ptr %t143, ptr %sc_l__x25_pushTarget_0 + %t144 = load ptr, ptr %sc_l_pn_0 + %t145 = load i64, ptr %s35 + %t146 = load i64, ptr %s35 + %t147 = sitofp i64 %t146 to double + %t148 = trunc i64 %t146 to i32 + %t149 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 2 + %t150 = load i64, ptr %t149, !tbaa !2 + %t151 = icmp ult i64 %t145, %t150 + br i1 %t151, label %local.array.range48, label %local.array.slow45 +local.array.range48: + br label %local.array.dense49 +local.array.dense49: + %t152 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 6 + %t153 = load i32, ptr %t152, !tbaa !2 + %t155 = zext i32 %t153 to i64 + %t154 = icmp ult i64 %t145, %t155 + br i1 %t154, label %local.array.value51, label %local.array.len50 +local.array.len50: + %t156 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 1 + %t157 = load i64, ptr %t156, !tbaa !2, !range !{i64 0, i64 4294967296} + %t158 = icmp ult i64 %t145, %t157 + br i1 %t158, label %local.array.state52, label %local.array.missing46 +local.array.state52: + %t159 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 9 + %t160 = load ptr, ptr %t159, !tbaa !2 + %t161 = getelementptr inbounds i8, ptr %t160, i64 %t145 + %t162 = load i8, ptr %t161, !tbaa !4 + %t163 = icmp eq i8 %t162, 1 + br i1 %t163, label %local.array.value51, label %local.array.missing46 +local.array.value51: + %t164 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 8 + %t165 = load ptr, ptr %t164, !tbaa !2 + %t166 = getelementptr inbounds i64, ptr %t165, i64 %t145 + %t167 = load ptr, ptr %t166, !tbaa !6 + %t168 = call ptr @sc_rc_retain_str(ptr %t167) + store ptr %t168, ptr %sc_l__x25_pushValue_0 + br label %local.array.join47 +local.array.slow45: + %t169 = call ptr @scr_arr_peek_ref(ptr %t144, double %t147) + %t170 = icmp ne ptr %t169, null + br i1 %t170, label %local.array.slow.value53, label %local.array.missing46 +local.array.slow.value53: + %t171 = call ptr @sc_rc_retain_str(ptr %t169) + store ptr %t171, ptr %sc_l__x25_pushValue_0 + br label %local.array.join47 +local.array.missing46: + store ptr null, ptr %sc_l__x25_pushValue_0 + br label %local.array.join47 +local.array.join47: + %t172 = load ptr, ptr %sc_l__x25_pushValue_0 + %t174 = icmp eq ptr %t172, null + br i1 %t174, label %if.t54, label %if.f56 +if.t54: + %t175 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t176 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t177 = getelementptr inbounds %ScrArr, ptr %t176, i32 0, i32 1 + %t178 = load i64, ptr %t177, !tbaa !2, !range !{i64 0, i64 4294967296} + %t179 = sitofp i64 %t178 to double + call void @scr_arr_set_undefined(ptr %t175, double %t179) + br label %if.j55 +if.f56: + %t180 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t181 = load ptr, ptr %sc_l__x25_pushValue_0 + %t183 = icmp ne ptr %t181, null + br i1 %t183, label %tern.t57, label %tern.f58 +tern.t57: + %t185 = load ptr, ptr %sc_l__x25_pushValue_0 + %t186 = call ptr @sc_rc_retain_str(ptr %t185) + store ptr %t186, ptr %s184 + br label %tern.j59 +tern.f58: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup60 +exc.dead61: + store ptr null, ptr %s184 + br label %tern.j59 +tern.j59: + %t187 = load ptr, ptr %s184 + %t188 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 1 + %t189 = load i64, ptr %t188, !tbaa !2 + %t192 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 2 + %t190 = load i64, ptr %t192, !tbaa !2 + %t191 = icmp ult i64 %t189, %t190 + br i1 %t191, label %arr.push.dense62, label %arr.push.slow63 +arr.push.dense62: + %t193 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 8 + %t195 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 9 + %t194 = load ptr, ptr %t193, !tbaa !2 + %t196 = load ptr, ptr %t195, !tbaa !2 + %t197 = getelementptr inbounds i8, ptr %t196, i64 %t189 + %t198 = getelementptr inbounds i64, ptr %t194, i64 %t189 + store ptr %t187, ptr %t198, !tbaa !6 + store i8 1, ptr %t197, !tbaa !4 + %t199 = add nuw i64 %t189, 1 + store i64 %t199, ptr %t188, !tbaa !2 + %t201 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 6 + %t202 = load i32, ptr %t201, !tbaa !2 + %t206 = zext i32 %t202 to i64 + %t203 = icmp eq i64 %t206, %t189 + %t204 = add i32 %t202, 1 + %t205 = select i1 %t203, i32 %t204, i32 %t202 + store i32 %t205, ptr %t201, !tbaa !2 + %t200 = sitofp i64 %t199 to double + br label %arr.push.join64 +arr.push.slow63: + %t207 = call double @scr_arr_push_ref(ptr %t180, ptr %t187) cold + br label %arr.push.join64 +arr.push.join64: + %t208 = phi double [ %t200, %arr.push.dense62 ], [ %t207, %arr.push.slow63 ] + br label %if.j55 +if.j55: + %t209 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t210 = getelementptr inbounds %ScrArr, ptr %t209, i32 0, i32 1 + %t211 = load i64, ptr %t210, !tbaa !2, !range !{i64 0, i64 4294967296} + %t212 = sitofp i64 %t211 to double + %t213 = load ptr, ptr %sc_l__x25_pushValue_0 + call void @scr_str_release(ptr %t213) + %t214 = load ptr, ptr %sc_l_out_0 + %t215 = load ptr, ptr %sc_l_v_0 + %t216 = call ptr @sc_bf__x25_m5_dec(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u65, label %exc.k66 +exc.u65: + call void @scr_str_release(ptr %t216) + br label %exc.cleanup44 +exc.k66: + %t220 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 1 + %t221 = load i64, ptr %t220, !tbaa !2 + %t224 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 2 + %t222 = load i64, ptr %t224, !tbaa !2 + %t223 = icmp ult i64 %t221, %t222 + br i1 %t223, label %arr.push.dense67, label %arr.push.slow68 +arr.push.dense67: + %t225 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 8 + %t227 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 9 + %t226 = load ptr, ptr %t225, !tbaa !2 + %t228 = load ptr, ptr %t227, !tbaa !2 + %t229 = getelementptr inbounds i8, ptr %t228, i64 %t221 + %t230 = getelementptr inbounds i64, ptr %t226, i64 %t221 + store ptr %t216, ptr %t230, !tbaa !6 + store i8 1, ptr %t229, !tbaa !4 + %t231 = add nuw i64 %t221, 1 + store i64 %t231, ptr %t220, !tbaa !2 + %t233 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 6 + %t234 = load i32, ptr %t233, !tbaa !2 + %t238 = zext i32 %t234 to i64 + %t235 = icmp eq i64 %t238, %t221 + %t236 = add i32 %t234, 1 + %t237 = select i1 %t235, i32 %t236, i32 %t234 + store i32 %t237, ptr %t233, !tbaa !2 + %t232 = sitofp i64 %t231 to double + br label %arr.push.join69 +arr.push.slow68: + %t239 = call double @scr_arr_push_ref(ptr %t214, ptr %t216) cold + br label %arr.push.join69 +arr.push.join69: + %t240 = phi double [ %t232, %arr.push.dense67 ], [ %t239, %arr.push.slow68 ] + %t241 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t241) + br label %loop.u11 +loop.u11: + %t242 = load i64, ptr %s35 + %t243 = add nuw i64 %t242, 1 + store i64 %t243, ptr %s35 + br label %loop.c9 +loop.e8: + %t244 = load double, ptr %sc_l_sp_0 + %t245 = fcmp oge double %t244, 0x0000000000000000 + br i1 %t245, label %if.t70, label %if.j71 +if.t70: + store ptr @sc_lit_4005573543169985, ptr %sc_l_tail_0 + %t246 = load double, ptr %sc_l_sp_0 + store double %t246, ptr %sc_l_j_0 + br label %loop.c73 +loop.c73: + %t247 = load double, ptr %sc_l_j_0 + %t248 = load ptr, ptr %sc_l_segs_0 + %t249 = getelementptr inbounds %ScrArr, ptr %t248, i32 0, i32 1 + %t250 = load i64, ptr %t249, !tbaa !2, !range !{i64 0, i64 4294967296} + %t251 = sitofp i64 %t250 to double + %t253 = fptosi double %t251 to i64 + %t252 = fcmp olt double %t247, %t251 + br i1 %t252, label %loop.b74, label %loop.e72 +loop.b74: + %t254 = load double, ptr %sc_l_j_0 + %t255 = load double, ptr %sc_l_sp_0 + %t256 = fcmp ogt double %t254, %t255 + br i1 %t256, label %if.t76, label %if.j77 +if.t76: + %t257 = load ptr, ptr %sc_l_tail_0 + %t258 = call ptr @scr_str_concat_move(ptr %t257, ptr @sc_lit_2434240011052594) + store ptr %t258, ptr %sc_l_tail_0 + br label %if.j77 +if.j77: + %t260 = load ptr, ptr %sc_l_segs_0 + %t261 = load double, ptr %sc_l_j_0 + %t262 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 2 + %t263 = load i64, ptr %t262, !tbaa !2 + %t264 = fptosi double %t261 to i64 + %t265 = freeze i64 %t264 + %t266 = sitofp i64 %t265 to double + %t267 = fcmp oeq double %t266, %t261 + %t268 = icmp ult i64 %t265, %t263 + %t269 = and i1 %t267, %t268 + br i1 %t269, label %local.array.range81, label %local.array.slow78 +local.array.range81: + br label %local.array.dense82 +local.array.dense82: + %t270 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 6 + %t271 = load i32, ptr %t270, !tbaa !2 + %t273 = zext i32 %t271 to i64 + %t272 = icmp ult i64 %t265, %t273 + br i1 %t272, label %local.array.value84, label %local.array.len83 +local.array.len83: + %t274 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 1 + %t275 = load i64, ptr %t274, !tbaa !2, !range !{i64 0, i64 4294967296} + %t276 = icmp ult i64 %t265, %t275 + br i1 %t276, label %local.array.state85, label %local.array.missing79 +local.array.state85: + %t277 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 9 + %t278 = load ptr, ptr %t277, !tbaa !2 + %t279 = getelementptr inbounds i8, ptr %t278, i64 %t265 + %t280 = load i8, ptr %t279, !tbaa !4 + %t281 = icmp eq i8 %t280, 1 + br i1 %t281, label %local.array.value84, label %local.array.missing79 +local.array.value84: + %t282 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 8 + %t283 = load ptr, ptr %t282, !tbaa !2 + %t284 = getelementptr inbounds i64, ptr %t283, i64 %t265 + %t285 = load ptr, ptr %t284, !tbaa !6 + %t286 = call ptr @sc_rc_retain_str(ptr %t285) + store ptr %t286, ptr %s259 + br label %local.array.join80 +local.array.slow78: + %t287 = call ptr @scr_arr_peek_ref(ptr %t260, double %t261) + %t288 = icmp ne ptr %t287, null + br i1 %t288, label %local.array.slow.value86, label %local.array.missing79 +local.array.slow.value86: + %t289 = call ptr @sc_rc_retain_str(ptr %t287) + store ptr %t289, ptr %s259 + br label %local.array.join80 +local.array.missing79: + store ptr null, ptr %s259 + br label %local.array.join80 +local.array.join80: + %t290 = load ptr, ptr %s259 + %t293 = icmp eq ptr %t290, null + %t292 = select i1 %t293, i32 1, i32 0 + switch i32 %t292, label %u.bad88 [ i32 0, label %u.a89 i32 1, label %u.a90 ] +u.a89: + %t294 = call ptr @sc_rc_retain_str(ptr %t290) + store ptr %t294, ptr %s291 + br label %us.j87 +u.a90: + store ptr @sc_lit_4134463689533233, ptr %s291 + br label %us.j87 +u.bad88: + call void @sc_bad_tag() + unreachable +us.j87: + %t295 = load ptr, ptr %s291 + %t296 = load i32, ptr %exc.cell + %t297 = icmp ne i32 %t296, 0 + %t298 = call i1 @llvm.expect.i1(i1 %t297, i1 false) + br i1 %t298, label %exc.u91, label %exc.k92 +exc.u91: + %t299 = load ptr, ptr %s259 + call void @scr_str_release(ptr %t299) + call void @scr_str_release(ptr %t295) + br label %exc.cleanup93 +exc.k92: + %t300 = load ptr, ptr %sc_l_tail_0 + %t301 = call ptr @scr_str_concat_move(ptr %t300, ptr %t295) + store ptr %t301, ptr %sc_l_tail_0 + %t302 = load ptr, ptr %s259 + call void @scr_str_release(ptr %t302) + call void @scr_str_release(ptr %t295) + br label %loop.u75 +loop.u75: + %t303 = load double, ptr %sc_l_j_0 + %t304 = fadd double %t303, 0x3FF0000000000000 + store double %t304, ptr %sc_l_j_0 + br label %loop.c73 +loop.e72: + %t305 = load ptr, ptr %sc_l_out_0 + %t306 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 1 + %t307 = load i64, ptr %t306, !tbaa !2 + %t310 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 2 + %t308 = load i64, ptr %t310, !tbaa !2 + %t309 = icmp ult i64 %t307, %t308 + br i1 %t309, label %arr.push.dense94, label %arr.push.slow95 +arr.push.dense94: + %t311 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 8 + %t313 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 9 + %t312 = load ptr, ptr %t311, !tbaa !2 + %t314 = load ptr, ptr %t313, !tbaa !2 + %t315 = getelementptr inbounds i8, ptr %t314, i64 %t307 + %t316 = getelementptr inbounds i64, ptr %t312, i64 %t307 + store ptr @sc_lit_1834571860458263, ptr %t316, !tbaa !6 + store i8 1, ptr %t315, !tbaa !4 + %t317 = add nuw i64 %t307, 1 + store i64 %t317, ptr %t306, !tbaa !2 + %t319 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 6 + %t320 = load i32, ptr %t319, !tbaa !2 + %t324 = zext i32 %t320 to i64 + %t321 = icmp eq i64 %t324, %t307 + %t322 = add i32 %t320, 1 + %t323 = select i1 %t321, i32 %t322, i32 %t320 + store i32 %t323, ptr %t319, !tbaa !2 + %t318 = sitofp i64 %t317 to double + br label %arr.push.join96 +arr.push.slow95: + %t325 = call double @scr_arr_push_ref(ptr %t305, ptr @sc_lit_1834571860458263) cold + br label %arr.push.join96 +arr.push.join96: + %t326 = phi double [ %t318, %arr.push.dense94 ], [ %t325, %arr.push.slow95 ] + %t327 = load ptr, ptr %sc_l_out_0 + %t328 = load ptr, ptr %sc_l_tail_0 + %t329 = call ptr @sc_bf__x25_m5_dec(ptr %t328) + %t330 = load i32, ptr %exc.cell + %t331 = icmp ne i32 %t330, 0 + %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false) + br i1 %t332, label %exc.u97, label %exc.k98 +exc.u97: + call void @scr_str_release(ptr %t329) + br label %exc.cleanup93 +exc.k98: + %t333 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 1 + %t334 = load i64, ptr %t333, !tbaa !2 + %t337 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 2 + %t335 = load i64, ptr %t337, !tbaa !2 + %t336 = icmp ult i64 %t334, %t335 + br i1 %t336, label %arr.push.dense99, label %arr.push.slow100 +arr.push.dense99: + %t338 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 8 + %t340 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 9 + %t339 = load ptr, ptr %t338, !tbaa !2 + %t341 = load ptr, ptr %t340, !tbaa !2 + %t342 = getelementptr inbounds i8, ptr %t341, i64 %t334 + %t343 = getelementptr inbounds i64, ptr %t339, i64 %t334 + store ptr %t329, ptr %t343, !tbaa !6 + store i8 1, ptr %t342, !tbaa !4 + %t344 = add nuw i64 %t334, 1 + store i64 %t344, ptr %t333, !tbaa !2 + %t346 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 6 + %t347 = load i32, ptr %t346, !tbaa !2 + %t351 = zext i32 %t347 to i64 + %t348 = icmp eq i64 %t351, %t334 + %t349 = add i32 %t347, 1 + %t350 = select i1 %t348, i32 %t349, i32 %t347 + store i32 %t350, ptr %t346, !tbaa !2 + %t345 = sitofp i64 %t344 to double + br label %arr.push.join101 +arr.push.slow100: + %t352 = call double @scr_arr_push_ref(ptr %t327, ptr %t329) cold + br label %arr.push.join101 +arr.push.join101: + %t353 = phi double [ %t345, %arr.push.dense99 ], [ %t352, %arr.push.slow100 ] + %t354 = load ptr, ptr %sc_l_tail_0 + call void @scr_str_release(ptr %t354) + br label %if.j71 +if.j71: + %t355 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t355) + br label %if.j7 +if.j7: + %t356 = load ptr, ptr %sc_l_this_0 + %t357 = load ptr, ptr %sc_l_out_0 + %t358 = call ptr @scr_arr_retain_v(ptr %t357) + %t359 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t356, i64 0, i32 10 + %t360 = load ptr, ptr %t359 + store ptr %t358, ptr %t359, !tbaa !148 + call void @scr_arr_release(ptr %t360) + %t361 = load ptr, ptr %sc_l_out_0 + %t362 = load ptr, ptr %sc_l_pm_0 + call void @scr_arr_release(ptr %t362) + ret ptr %t361 +exc.cleanup44: + %t363 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t363) + %t364 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t364) + %t365 = load ptr, ptr %sc_l_pm_0 + call void @scr_arr_release(ptr %t365) + %t366 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t366) + ret ptr null +exc.cleanup60: + %t367 = load ptr, ptr %sc_l__x25_pushValue_0 + call void @scr_str_release(ptr %t367) + %t368 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t368) + %t369 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t369) + %t370 = load ptr, ptr %sc_l_pm_0 + call void @scr_arr_release(ptr %t370) + %t371 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t371) + ret ptr null +exc.cleanup93: + %t372 = load ptr, ptr %sc_l_tail_0 + call void @scr_str_release(ptr %t372) + %t373 = load ptr, ptr %sc_l_segs_0 + call void @scr_arr_release(ptr %t373) + %t374 = load ptr, ptr %sc_l_pm_0 + call void @scr_arr_release(ptr %t374) + %t375 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t375) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore__pmNow(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore__pmNow(ptr %p0) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_query(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.query +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_n_0 = alloca ptr ; n + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_qp_0 = alloca ptr ; qp + %sc_l_i_0 = alloca double ; i + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca ptr + %s45 = alloca ptr + %s78 = alloca i1 + %s88 = alloca ptr + %s121 = alloca ptr + store ptr null, ptr %sc_l_n_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_qp_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_name_0 + store ptr %t4, ptr %sc_l_n_0 + %t5 = load ptr, ptr %sc_l_this_0 + store ptr %t5, ptr %sc_l__x25_callbackReceiver_0 + %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t7 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t6) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t7) + ret ptr null +exc.k3: + store ptr %t7, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t11 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 6 + br i1 %t14, label %tern.t4, label %tern.f5 +tern.t4: + %t17 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t17) + store ptr %t16, ptr %s15 + br label %tern.j6 +tern.f5: + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = call ptr @sc_rc_retain_dyn(ptr %t18) + %t20 = call ptr @sc_f__x25_dyn_class_property_23(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup9 +exc.k8: + store ptr %t20, ptr %s15 + br label %tern.j6 +tern.j6: + %t24 = load ptr, ptr %s15 + store ptr %t24, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t27) + %t28 = call ptr @scr_dyn_call(ptr %t25, ptr null, i64 0, ptr @sc_cs_2820593363530420) + call void @scr_dyn_this_pop() + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + br label %exc.cleanup12 +exc.k11: + %t32 = call ptr @sc_dc_1(ptr %t28, ptr null) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + call void @scr_arr_release(ptr %t32) + br label %exc.cleanup12 +exc.k14: + store ptr %t32, ptr %sc_l_qp_0 + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c16 +loop.c16: + %t38 = load double, ptr %sc_l_i_0 + %t39 = load ptr, ptr %sc_l_qp_0 + %t40 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1 + %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296} + %t42 = sitofp i64 %t41 to double + %t44 = fptosi double %t42 to i64 + %t43 = fcmp olt double %t38, %t42 + br i1 %t43, label %loop.b17, label %loop.e15 +loop.b17: + %t46 = load ptr, ptr %sc_l_qp_0 + %t47 = load double, ptr %sc_l_i_0 + %t48 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2 + %t49 = load i64, ptr %t48, !tbaa !2 + %t50 = fptosi double %t47 to i64 + %t51 = freeze i64 %t50 + %t52 = sitofp i64 %t51 to double + %t53 = fcmp oeq double %t52, %t47 + %t54 = icmp ult i64 %t51, %t49 + %t55 = and i1 %t53, %t54 + br i1 %t55, label %local.array.range22, label %local.array.slow19 +local.array.range22: + br label %local.array.dense23 +local.array.dense23: + %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6 + %t57 = load i32, ptr %t56, !tbaa !2 + %t59 = zext i32 %t57 to i64 + %t58 = icmp ult i64 %t51, %t59 + br i1 %t58, label %local.array.value25, label %local.array.len24 +local.array.len24: + %t60 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1 + %t61 = load i64, ptr %t60, !tbaa !2, !range !{i64 0, i64 4294967296} + %t62 = icmp ult i64 %t51, %t61 + br i1 %t62, label %local.array.state26, label %local.array.missing20 +local.array.state26: + %t63 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9 + %t64 = load ptr, ptr %t63, !tbaa !2 + %t65 = getelementptr inbounds i8, ptr %t64, i64 %t51 + %t66 = load i8, ptr %t65, !tbaa !4 + %t67 = icmp eq i8 %t66, 1 + br i1 %t67, label %local.array.value25, label %local.array.missing20 +local.array.value25: + %t68 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8 + %t69 = load ptr, ptr %t68, !tbaa !2 + %t70 = getelementptr inbounds i64, ptr %t69, i64 %t51 + %t71 = load ptr, ptr %t70, !tbaa !6 + %t72 = call ptr @sc_rc_retain_str(ptr %t71) + store ptr %t72, ptr %s45 + br label %local.array.join21 +local.array.slow19: + %t73 = call ptr @scr_arr_peek_ref(ptr %t46, double %t47) + %t74 = icmp ne ptr %t73, null + br i1 %t74, label %local.array.slow.value27, label %local.array.missing20 +local.array.slow.value27: + %t75 = call ptr @sc_rc_retain_str(ptr %t73) + store ptr %t75, ptr %s45 + br label %local.array.join21 +local.array.missing20: + store ptr null, ptr %s45 + br label %local.array.join21 +local.array.join21: + %t76 = load ptr, ptr %s45 + %t77 = load ptr, ptr %sc_l_n_0 + %t79 = icmp eq ptr %t76, %t77 + %t81 = icmp ne ptr %t76, null + %t82 = icmp ne ptr %t77, null + %t80 = and i1 %t81, %t82 + store i1 %t79, ptr %s78 + %t83 = xor i1 %t79, true + %t84 = and i1 %t83, %t80 + br i1 %t84, label %ues.b28, label %ues.j29 +ues.b28: + %t85 = call zeroext i1 @sc_str_eq(ptr %t76, ptr %t77) + store i1 %t85, ptr %s78 + br label %ues.j29 +ues.j29: + %t86 = load i1, ptr %s78 + %t87 = load ptr, ptr %s45 + call void @scr_str_release(ptr %t87) + br i1 %t86, label %if.t30, label %if.j31 +if.t30: + %t89 = load ptr, ptr %sc_l_qp_0 + %t90 = load double, ptr %sc_l_i_0 + %t91 = fadd double %t90, 0x3FF0000000000000 + %t92 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 2 + %t93 = load i64, ptr %t92, !tbaa !2 + %t94 = fptosi double %t91 to i64 + %t95 = freeze i64 %t94 + %t96 = sitofp i64 %t95 to double + %t97 = fcmp oeq double %t96, %t91 + %t98 = icmp ult i64 %t95, %t93 + %t99 = and i1 %t97, %t98 + br i1 %t99, label %local.array.range35, label %local.array.slow32 +local.array.range35: + br label %local.array.dense36 +local.array.dense36: + %t100 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 6 + %t101 = load i32, ptr %t100, !tbaa !2 + %t103 = zext i32 %t101 to i64 + %t102 = icmp ult i64 %t95, %t103 + br i1 %t102, label %local.array.value38, label %local.array.len37 +local.array.len37: + %t104 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 1 + %t105 = load i64, ptr %t104, !tbaa !2, !range !{i64 0, i64 4294967296} + %t106 = icmp ult i64 %t95, %t105 + br i1 %t106, label %local.array.state39, label %local.array.missing33 +local.array.state39: + %t107 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 9 + %t108 = load ptr, ptr %t107, !tbaa !2 + %t109 = getelementptr inbounds i8, ptr %t108, i64 %t95 + %t110 = load i8, ptr %t109, !tbaa !4 + %t111 = icmp eq i8 %t110, 1 + br i1 %t111, label %local.array.value38, label %local.array.missing33 +local.array.value38: + %t112 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 8 + %t113 = load ptr, ptr %t112, !tbaa !2 + %t114 = getelementptr inbounds i64, ptr %t113, i64 %t95 + %t115 = load ptr, ptr %t114, !tbaa !6 + %t116 = call ptr @sc_rc_retain_str(ptr %t115) + store ptr %t116, ptr %s88 + br label %local.array.join34 +local.array.slow32: + %t117 = call ptr @scr_arr_peek_ref(ptr %t89, double %t91) + %t118 = icmp ne ptr %t117, null + br i1 %t118, label %local.array.slow.value40, label %local.array.missing33 +local.array.slow.value40: + %t119 = call ptr @sc_rc_retain_str(ptr %t117) + store ptr %t119, ptr %s88 + br label %local.array.join34 +local.array.missing33: + store ptr null, ptr %s88 + br label %local.array.join34 +local.array.join34: + %t120 = load ptr, ptr %s88 + %t123 = icmp eq ptr %t120, null + %t122 = select i1 %t123, i32 1, i32 0 + switch i32 %t122, label %u.bad42 [ i32 0, label %u.a43 i32 1, label %u.a44 ] +u.a43: + %t124 = call ptr @sc_rc_retain_str(ptr %t120) + store ptr %t124, ptr %s121 + br label %us.j41 +u.a44: + store ptr @sc_lit_4134463689533233, ptr %s121 + br label %us.j41 +u.bad42: + call void @sc_bad_tag() + unreachable +us.j41: + %t125 = load ptr, ptr %s121 + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u45, label %exc.k46 +exc.u45: + %t129 = load ptr, ptr %s88 + call void @scr_str_release(ptr %t129) + call void @scr_str_release(ptr %t125) + br label %exc.cleanup47 +exc.k46: + %t130 = load ptr, ptr %s88 + call void @scr_str_release(ptr %t130) + %t131 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t131) + ret ptr %t125 +if.j31: + br label %loop.u18 +loop.u18: + %t132 = load double, ptr %sc_l_i_0 + %t133 = fadd double %t132, 0x4000000000000000 + store double %t133, ptr %sc_l_i_0 + br label %loop.c16 +loop.e15: + %t134 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t134) + ret ptr null +exc.cleanup9: + %t135 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t135) + ret ptr null +exc.cleanup12: + %t136 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t136) + %t137 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t137) + ret ptr null +exc.cleanup47: + %t138 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t138) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_query(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_query(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_queryAll(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore.queryAll +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_qp_0 = alloca ptr ; qp + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca double ; i + %sc_l_k_0 = alloca ptr ; k + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s45 = alloca ptr + %s77 = alloca ptr + %s91 = alloca ptr + %s124 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_qp_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_k_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_23(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t26) + %t27 = call ptr @scr_dyn_call(ptr %t24, ptr null, i64 0, ptr @sc_cs_2820593363530420) + call void @scr_dyn_this_pop() + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup12 +exc.k11: + %t31 = call ptr @sc_dc_1(ptr %t27, ptr null) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @scr_arr_release(ptr %t31) + br label %exc.cleanup12 +exc.k14: + store ptr %t31, ptr %sc_l_qp_0 + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + %t35 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t35) + %t36 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = call ptr @sc_rnew_r0() + store ptr %t37, ptr %sc_l_out_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c16 +loop.c16: + %t38 = load double, ptr %sc_l_i_0 + %t39 = load ptr, ptr %sc_l_qp_0 + %t40 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1 + %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296} + %t42 = sitofp i64 %t41 to double + %t44 = fptosi double %t42 to i64 + %t43 = fcmp olt double %t38, %t42 + br i1 %t43, label %loop.b17, label %loop.e15 +loop.b17: + %t46 = load ptr, ptr %sc_l_qp_0 + %t47 = load double, ptr %sc_l_i_0 + %t48 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2 + %t49 = load i64, ptr %t48, !tbaa !2 + %t50 = fptosi double %t47 to i64 + %t51 = freeze i64 %t50 + %t52 = sitofp i64 %t51 to double + %t53 = fcmp oeq double %t52, %t47 + %t54 = icmp ult i64 %t51, %t49 + %t55 = and i1 %t53, %t54 + br i1 %t55, label %local.array.range22, label %local.array.slow19 +local.array.range22: + br label %local.array.dense23 +local.array.dense23: + %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6 + %t57 = load i32, ptr %t56, !tbaa !2 + %t59 = zext i32 %t57 to i64 + %t58 = icmp ult i64 %t51, %t59 + br i1 %t58, label %local.array.value25, label %local.array.len24 +local.array.len24: + %t60 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1 + %t61 = load i64, ptr %t60, !tbaa !2, !range !{i64 0, i64 4294967296} + %t62 = icmp ult i64 %t51, %t61 + br i1 %t62, label %local.array.state26, label %local.array.missing20 +local.array.state26: + %t63 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9 + %t64 = load ptr, ptr %t63, !tbaa !2 + %t65 = getelementptr inbounds i8, ptr %t64, i64 %t51 + %t66 = load i8, ptr %t65, !tbaa !4 + %t67 = icmp eq i8 %t66, 1 + br i1 %t67, label %local.array.value25, label %local.array.missing20 +local.array.value25: + %t68 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8 + %t69 = load ptr, ptr %t68, !tbaa !2 + %t70 = getelementptr inbounds i64, ptr %t69, i64 %t51 + %t71 = load ptr, ptr %t70, !tbaa !6 + %t72 = call ptr @sc_rc_retain_str(ptr %t71) + store ptr %t72, ptr %s45 + br label %local.array.join21 +local.array.slow19: + %t73 = call ptr @scr_arr_peek_ref(ptr %t46, double %t47) + %t74 = icmp ne ptr %t73, null + br i1 %t74, label %local.array.slow.value27, label %local.array.missing20 +local.array.slow.value27: + %t75 = call ptr @sc_rc_retain_str(ptr %t73) + store ptr %t75, ptr %s45 + br label %local.array.join21 +local.array.missing20: + store ptr null, ptr %s45 + br label %local.array.join21 +local.array.join21: + %t76 = load ptr, ptr %s45 + %t79 = icmp eq ptr %t76, null + %t78 = select i1 %t79, i32 1, i32 0 + switch i32 %t78, label %u.bad29 [ i32 0, label %u.a30 i32 1, label %u.a31 ] +u.a30: + %t80 = call ptr @sc_rc_retain_str(ptr %t76) + store ptr %t80, ptr %s77 + br label %us.j28 +u.a31: + store ptr @sc_lit_4134463689533233, ptr %s77 + br label %us.j28 +u.bad29: + call void @sc_bad_tag() + unreachable +us.j28: + %t81 = load ptr, ptr %s77 + %t82 = load i32, ptr %exc.cell + %t83 = icmp ne i32 %t82, 0 + %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false) + br i1 %t84, label %exc.u32, label %exc.k33 +exc.u32: + %t85 = load ptr, ptr %s45 + call void @scr_str_release(ptr %t85) + call void @scr_str_release(ptr %t81) + br label %exc.cleanup34 +exc.k33: + store ptr %t81, ptr %sc_l_k_0 + %t86 = load ptr, ptr %s45 + call void @scr_str_release(ptr %t86) + %t87 = load ptr, ptr %sc_l_out_0 + %t88 = call ptr @sc_rretain_r0(ptr %t87) + %t89 = load ptr, ptr %sc_l_k_0 + %t90 = call ptr @sc_rc_retain_str(ptr %t89) + %t92 = load ptr, ptr %sc_l_qp_0 + %t93 = load double, ptr %sc_l_i_0 + %t94 = fadd double %t93, 0x3FF0000000000000 + %t95 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 2 + %t96 = load i64, ptr %t95, !tbaa !2 + %t97 = fptosi double %t94 to i64 + %t98 = freeze i64 %t97 + %t99 = sitofp i64 %t98 to double + %t100 = fcmp oeq double %t99, %t94 + %t101 = icmp ult i64 %t98, %t96 + %t102 = and i1 %t100, %t101 + br i1 %t102, label %local.array.range38, label %local.array.slow35 +local.array.range38: + br label %local.array.dense39 +local.array.dense39: + %t103 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 6 + %t104 = load i32, ptr %t103, !tbaa !2 + %t106 = zext i32 %t104 to i64 + %t105 = icmp ult i64 %t98, %t106 + br i1 %t105, label %local.array.value41, label %local.array.len40 +local.array.len40: + %t107 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 1 + %t108 = load i64, ptr %t107, !tbaa !2, !range !{i64 0, i64 4294967296} + %t109 = icmp ult i64 %t98, %t108 + br i1 %t109, label %local.array.state42, label %local.array.missing36 +local.array.state42: + %t110 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 9 + %t111 = load ptr, ptr %t110, !tbaa !2 + %t112 = getelementptr inbounds i8, ptr %t111, i64 %t98 + %t113 = load i8, ptr %t112, !tbaa !4 + %t114 = icmp eq i8 %t113, 1 + br i1 %t114, label %local.array.value41, label %local.array.missing36 +local.array.value41: + %t115 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 8 + %t116 = load ptr, ptr %t115, !tbaa !2 + %t117 = getelementptr inbounds i64, ptr %t116, i64 %t98 + %t118 = load ptr, ptr %t117, !tbaa !6 + %t119 = call ptr @sc_rc_retain_str(ptr %t118) + store ptr %t119, ptr %s91 + br label %local.array.join37 +local.array.slow35: + %t120 = call ptr @scr_arr_peek_ref(ptr %t92, double %t94) + %t121 = icmp ne ptr %t120, null + br i1 %t121, label %local.array.slow.value43, label %local.array.missing36 +local.array.slow.value43: + %t122 = call ptr @sc_rc_retain_str(ptr %t120) + store ptr %t122, ptr %s91 + br label %local.array.join37 +local.array.missing36: + store ptr null, ptr %s91 + br label %local.array.join37 +local.array.join37: + %t123 = load ptr, ptr %s91 + %t126 = icmp eq ptr %t123, null + %t125 = select i1 %t126, i32 1, i32 0 + switch i32 %t125, label %u.bad45 [ i32 0, label %u.a46 i32 1, label %u.a47 ] +u.a46: + %t127 = call ptr @sc_rc_retain_str(ptr %t123) + store ptr %t127, ptr %s124 + br label %us.j44 +u.a47: + store ptr @sc_lit_4134463689533233, ptr %s124 + br label %us.j44 +u.bad45: + call void @sc_bad_tag() + unreachable +us.j44: + %t128 = load ptr, ptr %s124 + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rrelease_r0(ptr %t88) + call void @scr_str_release(ptr %t90) + %t132 = load ptr, ptr %s91 + call void @scr_str_release(ptr %t132) + call void @scr_str_release(ptr %t128) + br label %exc.cleanup50 +exc.k49: + %t133 = getelementptr inbounds %sc_rs_r0, ptr %t88, i64 0, i32 1 + %t134 = load ptr, ptr %t133 + call void @scr_map_set_str_ref(ptr %t134, ptr %t90, ptr %t128) + br label %rks.j51 +rks.j51: + call void @sc_rrelease_r0(ptr %t88) + call void @scr_str_release(ptr %t90) + %t135 = load ptr, ptr %s91 + call void @scr_str_release(ptr %t135) + %t136 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t136) + br label %loop.u18 +loop.u18: + %t137 = load double, ptr %sc_l_i_0 + %t138 = fadd double %t137, 0x4000000000000000 + store double %t138, ptr %sc_l_i_0 + br label %loop.c16 +loop.e15: + %t139 = load ptr, ptr %sc_l_out_0 + %t140 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t140) + ret ptr %t139 +exc.cleanup9: + %t141 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t141) + ret ptr null +exc.cleanup12: + %t142 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t142) + %t143 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t143) + ret ptr null +exc.cleanup34: + %t144 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t144) + %t145 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r0(ptr %t145) + ret ptr null +exc.cleanup50: + %t146 = load ptr, ptr %sc_l_k_0 + call void @scr_str_release(ptr %t146) + %t147 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t147) + %t148 = load ptr, ptr %sc_l_out_0 + call void @sc_rrelease_r0(ptr %t148) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_queryAll(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_queryAll(ptr %p0) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_queries(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.queries +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_n_0 = alloca ptr ; n + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_qp_0 = alloca ptr ; qp + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca double ; i + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca ptr + %s45 = alloca ptr + %s78 = alloca i1 + %s95 = alloca ptr + %s128 = alloca ptr + store ptr null, ptr %sc_l_n_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_qp_0 + store ptr null, ptr %sc_l_out_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_name_0 + store ptr %t4, ptr %sc_l_n_0 + %t5 = load ptr, ptr %sc_l_this_0 + store ptr %t5, ptr %sc_l__x25_callbackReceiver_0 + %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t7 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t6) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t7) + ret ptr null +exc.k3: + store ptr %t7, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t11 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t13 = load i32, ptr %t12 + %t14 = icmp eq i32 %t13, 6 + br i1 %t14, label %tern.t4, label %tern.f5 +tern.t4: + %t17 = call ptr @scr_dyn_undefined() + %t16 = call ptr @scr_dyn_retain_v(ptr %t17) + store ptr %t16, ptr %s15 + br label %tern.j6 +tern.f5: + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = call ptr @sc_rc_retain_dyn(ptr %t18) + %t20 = call ptr @sc_f__x25_dyn_class_property_23(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup9 +exc.k8: + store ptr %t20, ptr %s15 + br label %tern.j6 +tern.j6: + %t24 = load ptr, ptr %s15 + store ptr %t24, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t27) + %t28 = call ptr @scr_dyn_call(ptr %t25, ptr null, i64 0, ptr @sc_cs_2820593363530420) + call void @scr_dyn_this_pop() + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + br label %exc.cleanup12 +exc.k11: + %t32 = call ptr @sc_dc_1(ptr %t28, ptr null) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + call void @scr_arr_release(ptr %t32) + br label %exc.cleanup12 +exc.k14: + store ptr %t32, ptr %sc_l_qp_0 + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t28) + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + store ptr null, ptr %sc_l_out_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c16 +loop.c16: + %t38 = load double, ptr %sc_l_i_0 + %t39 = load ptr, ptr %sc_l_qp_0 + %t40 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1 + %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296} + %t42 = sitofp i64 %t41 to double + %t44 = fptosi double %t42 to i64 + %t43 = fcmp olt double %t38, %t42 + br i1 %t43, label %loop.b17, label %loop.e15 +loop.b17: + %t46 = load ptr, ptr %sc_l_qp_0 + %t47 = load double, ptr %sc_l_i_0 + %t48 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2 + %t49 = load i64, ptr %t48, !tbaa !2 + %t50 = fptosi double %t47 to i64 + %t51 = freeze i64 %t50 + %t52 = sitofp i64 %t51 to double + %t53 = fcmp oeq double %t52, %t47 + %t54 = icmp ult i64 %t51, %t49 + %t55 = and i1 %t53, %t54 + br i1 %t55, label %local.array.range22, label %local.array.slow19 +local.array.range22: + br label %local.array.dense23 +local.array.dense23: + %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6 + %t57 = load i32, ptr %t56, !tbaa !2 + %t59 = zext i32 %t57 to i64 + %t58 = icmp ult i64 %t51, %t59 + br i1 %t58, label %local.array.value25, label %local.array.len24 +local.array.len24: + %t60 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1 + %t61 = load i64, ptr %t60, !tbaa !2, !range !{i64 0, i64 4294967296} + %t62 = icmp ult i64 %t51, %t61 + br i1 %t62, label %local.array.state26, label %local.array.missing20 +local.array.state26: + %t63 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9 + %t64 = load ptr, ptr %t63, !tbaa !2 + %t65 = getelementptr inbounds i8, ptr %t64, i64 %t51 + %t66 = load i8, ptr %t65, !tbaa !4 + %t67 = icmp eq i8 %t66, 1 + br i1 %t67, label %local.array.value25, label %local.array.missing20 +local.array.value25: + %t68 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8 + %t69 = load ptr, ptr %t68, !tbaa !2 + %t70 = getelementptr inbounds i64, ptr %t69, i64 %t51 + %t71 = load ptr, ptr %t70, !tbaa !6 + %t72 = call ptr @sc_rc_retain_str(ptr %t71) + store ptr %t72, ptr %s45 + br label %local.array.join21 +local.array.slow19: + %t73 = call ptr @scr_arr_peek_ref(ptr %t46, double %t47) + %t74 = icmp ne ptr %t73, null + br i1 %t74, label %local.array.slow.value27, label %local.array.missing20 +local.array.slow.value27: + %t75 = call ptr @sc_rc_retain_str(ptr %t73) + store ptr %t75, ptr %s45 + br label %local.array.join21 +local.array.missing20: + store ptr null, ptr %s45 + br label %local.array.join21 +local.array.join21: + %t76 = load ptr, ptr %s45 + %t77 = load ptr, ptr %sc_l_n_0 + %t79 = icmp eq ptr %t76, %t77 + %t81 = icmp ne ptr %t76, null + %t82 = icmp ne ptr %t77, null + %t80 = and i1 %t81, %t82 + store i1 %t79, ptr %s78 + %t83 = xor i1 %t79, true + %t84 = and i1 %t83, %t80 + br i1 %t84, label %ues.b28, label %ues.j29 +ues.b28: + %t85 = call zeroext i1 @sc_str_eq(ptr %t76, ptr %t77) + store i1 %t85, ptr %s78 + br label %ues.j29 +ues.j29: + %t86 = load i1, ptr %s78 + %t87 = load ptr, ptr %s45 + call void @scr_str_release(ptr %t87) + br i1 %t86, label %if.t30, label %if.j31 +if.t30: + %t88 = load ptr, ptr %sc_l_out_0 + %t90 = icmp eq ptr %t88, null + br i1 %t90, label %if.t32, label %if.j33 +if.t32: + %t91 = call ptr @scr_arr_new(i32 2, i64 0) + %t92 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t92) + store ptr %t91, ptr %sc_l_out_0 + br label %if.j33 +if.j33: + %t93 = load ptr, ptr %sc_l_out_0 + %t94 = call ptr @scr_arr_retain_v(ptr %t93) + %t96 = load ptr, ptr %sc_l_qp_0 + %t97 = load double, ptr %sc_l_i_0 + %t98 = fadd double %t97, 0x3FF0000000000000 + %t99 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 2 + %t100 = load i64, ptr %t99, !tbaa !2 + %t101 = fptosi double %t98 to i64 + %t102 = freeze i64 %t101 + %t103 = sitofp i64 %t102 to double + %t104 = fcmp oeq double %t103, %t98 + %t105 = icmp ult i64 %t102, %t100 + %t106 = and i1 %t104, %t105 + br i1 %t106, label %local.array.range37, label %local.array.slow34 +local.array.range37: + br label %local.array.dense38 +local.array.dense38: + %t107 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 6 + %t108 = load i32, ptr %t107, !tbaa !2 + %t110 = zext i32 %t108 to i64 + %t109 = icmp ult i64 %t102, %t110 + br i1 %t109, label %local.array.value40, label %local.array.len39 +local.array.len39: + %t111 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 1 + %t112 = load i64, ptr %t111, !tbaa !2, !range !{i64 0, i64 4294967296} + %t113 = icmp ult i64 %t102, %t112 + br i1 %t113, label %local.array.state41, label %local.array.missing35 +local.array.state41: + %t114 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 9 + %t115 = load ptr, ptr %t114, !tbaa !2 + %t116 = getelementptr inbounds i8, ptr %t115, i64 %t102 + %t117 = load i8, ptr %t116, !tbaa !4 + %t118 = icmp eq i8 %t117, 1 + br i1 %t118, label %local.array.value40, label %local.array.missing35 +local.array.value40: + %t119 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 8 + %t120 = load ptr, ptr %t119, !tbaa !2 + %t121 = getelementptr inbounds i64, ptr %t120, i64 %t102 + %t122 = load ptr, ptr %t121, !tbaa !6 + %t123 = call ptr @sc_rc_retain_str(ptr %t122) + store ptr %t123, ptr %s95 + br label %local.array.join36 +local.array.slow34: + %t124 = call ptr @scr_arr_peek_ref(ptr %t96, double %t98) + %t125 = icmp ne ptr %t124, null + br i1 %t125, label %local.array.slow.value42, label %local.array.missing35 +local.array.slow.value42: + %t126 = call ptr @sc_rc_retain_str(ptr %t124) + store ptr %t126, ptr %s95 + br label %local.array.join36 +local.array.missing35: + store ptr null, ptr %s95 + br label %local.array.join36 +local.array.join36: + %t127 = load ptr, ptr %s95 + %t130 = icmp eq ptr %t127, null + %t129 = select i1 %t130, i32 1, i32 0 + switch i32 %t129, label %u.bad44 [ i32 0, label %u.a45 i32 1, label %u.a46 ] +u.a45: + %t131 = call ptr @sc_rc_retain_str(ptr %t127) + store ptr %t131, ptr %s128 + br label %us.j43 +u.a46: + store ptr @sc_lit_4134463689533233, ptr %s128 + br label %us.j43 +u.bad44: + call void @sc_bad_tag() + unreachable +us.j43: + %t132 = load ptr, ptr %s128 + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u47, label %exc.k48 +exc.u47: + call void @scr_arr_release(ptr %t94) + %t136 = load ptr, ptr %s95 + call void @scr_str_release(ptr %t136) + call void @scr_str_release(ptr %t132) + br label %exc.cleanup49 +exc.k48: + %t137 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 1 + %t138 = load i64, ptr %t137, !tbaa !2 + %t141 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 2 + %t139 = load i64, ptr %t141, !tbaa !2 + %t140 = icmp ult i64 %t138, %t139 + br i1 %t140, label %arr.push.dense50, label %arr.push.slow51 +arr.push.dense50: + %t142 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 8 + %t144 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 9 + %t143 = load ptr, ptr %t142, !tbaa !2 + %t145 = load ptr, ptr %t144, !tbaa !2 + %t146 = getelementptr inbounds i8, ptr %t145, i64 %t138 + %t147 = getelementptr inbounds i64, ptr %t143, i64 %t138 + store ptr %t132, ptr %t147, !tbaa !6 + store i8 1, ptr %t146, !tbaa !4 + %t148 = add nuw i64 %t138, 1 + store i64 %t148, ptr %t137, !tbaa !2 + %t150 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 6 + %t151 = load i32, ptr %t150, !tbaa !2 + %t155 = zext i32 %t151 to i64 + %t152 = icmp eq i64 %t155, %t138 + %t153 = add i32 %t151, 1 + %t154 = select i1 %t152, i32 %t153, i32 %t151 + store i32 %t154, ptr %t150, !tbaa !2 + %t149 = sitofp i64 %t148 to double + br label %arr.push.join52 +arr.push.slow51: + %t156 = call double @scr_arr_push_ref(ptr %t94, ptr %t132) cold + br label %arr.push.join52 +arr.push.join52: + %t157 = phi double [ %t149, %arr.push.dense50 ], [ %t156, %arr.push.slow51 ] + call void @scr_arr_release(ptr %t94) + %t158 = load ptr, ptr %s95 + call void @scr_str_release(ptr %t158) + br label %if.j31 +if.j31: + br label %loop.u18 +loop.u18: + %t159 = load double, ptr %sc_l_i_0 + %t160 = fadd double %t159, 0x4000000000000000 + store double %t160, ptr %sc_l_i_0 + br label %loop.c16 +loop.e15: + %t161 = load ptr, ptr %sc_l_out_0 + %t163 = icmp eq ptr %t161, null + br i1 %t163, label %if.t53, label %if.j54 +if.t53: + %t164 = load ptr, ptr @sc_g_m5_EMPTY_S + %t165 = call ptr @scr_arr_retain_v(ptr %t164) + %t166 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t166) + %t167 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t167) + ret ptr %t165 +if.j54: + %t168 = load ptr, ptr %sc_l_out_0 + %t169 = call ptr @scr_arr_retain_v(ptr %t168) + %t170 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t170) + %t171 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t171) + ret ptr %t169 +exc.cleanup9: + %t172 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t172) + ret ptr null +exc.cleanup12: + %t173 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t173) + %t174 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t174) + ret ptr null +exc.cleanup49: + %t175 = load ptr, ptr %sc_l_qp_0 + call void @scr_arr_release(ptr %t175) + %t176 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t176) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_queries(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_queries(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_header(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.header +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_key_0 = alloca ptr ; key + %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver + %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey + %sc_l_v_0 = alloca ptr ; v + %sc_l__x25_ownReceiver_1 = alloca ptr ; %ownReceiver + %sc_l__x25_ownKey_1 = alloca ptr ; %ownKey + %sc_l_d_0 = alloca ptr ; d + %exc.cell = load ptr, ptr @scr_exc_active + %s16 = alloca ptr + %s23 = alloca ptr + %s47 = alloca ptr + %s54 = alloca ptr + %s64 = alloca i1 + %s68 = alloca ptr + %s77 = alloca ptr + %s81 = alloca ptr + %s113 = alloca ptr + store ptr null, ptr %sc_l_key_0 + store ptr null, ptr %sc_l__x25_ownReceiver_0 + store ptr null, ptr %sc_l__x25_ownKey_0 + store ptr null, ptr %sc_l_v_0 + store ptr null, ptr %sc_l__x25_ownReceiver_1 + store ptr null, ptr %sc_l__x25_ownKey_1 + store ptr null, ptr %sc_l_d_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_name_0 + %t5 = call ptr @scr_str_to_lower(ptr %t4) + store ptr %t5, ptr %sc_l_key_0 + %t6 = load ptr, ptr %sc_l_this_0 + %t7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t6, i64 0, i32 3 + %t8 = load ptr, ptr %t7, !tbaa !140 + store ptr %t8, ptr %sc_l__x25_ownReceiver_0 + %t9 = load ptr, ptr %sc_l_key_0 + store ptr %t9, ptr %sc_l__x25_ownKey_0 + %t10 = load ptr, ptr %sc_l__x25_ownReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_ownKey_0 + %t12 = call i1 @sc_bf__x25_obj_hasOwn_0(ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u2, label %exc.k3 +exc.u2: + br label %exc.cleanup4 +exc.k3: + br i1 %t12, label %tern.t5, label %tern.f6 +tern.t5: + %t17 = load ptr, ptr %sc_l_this_0 + %t18 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t17, i64 0, i32 3 + %t19 = load ptr, ptr %t18, !tbaa !140 + %t20 = call ptr @sc_rretain_r0(ptr %t19) + %t21 = load ptr, ptr %sc_l_key_0 + %t22 = call ptr @sc_rc_retain_str(ptr %t21) + %t24 = getelementptr inbounds %sc_rs_r0, ptr %t20, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @scr_map_get_str_ref(ptr %t25, ptr %t22) + %t27 = icmp eq ptr %t26, null + br i1 %t27, label %rkg.n10, label %rkg.h9 +rkg.h9: + store ptr %t26, ptr %s23 + br label %rkg.j8 +rkg.n10: + call void @sc_bad_key() + unreachable +rkg.j8: + %t28 = load ptr, ptr %s23 + store ptr %t28, ptr %s16 + call void @sc_rrelease_r0(ptr %t20) + call void @scr_str_release(ptr %t22) + br label %tern.j7 +tern.f6: + store ptr null, ptr %s16 + br label %tern.j7 +tern.j7: + %t29 = load ptr, ptr %s16 + store ptr %t29, ptr %sc_l_v_0 + %t30 = load ptr, ptr %sc_l_v_0 + %t32 = icmp ne ptr %t30, null + br i1 %t32, label %if.t11, label %if.j12 +if.t11: + %t33 = load ptr, ptr %sc_l_v_0 + %t34 = call ptr @sc_rc_retain_str(ptr %t33) + %t35 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t35) + %t36 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t36) + ret ptr %t34 +if.j12: + %t37 = load ptr, ptr %sc_l_this_0 + %t38 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t37, i64 0, i32 4 + %t39 = load ptr, ptr %t38, !tbaa !142 + store ptr %t39, ptr %sc_l__x25_ownReceiver_1 + %t40 = load ptr, ptr %sc_l_key_0 + store ptr %t40, ptr %sc_l__x25_ownKey_1 + %t41 = load ptr, ptr %sc_l__x25_ownReceiver_1 + %t42 = load ptr, ptr %sc_l__x25_ownKey_1 + %t43 = call i1 @sc_bf__x25_obj_hasOwn_17(ptr %t41, ptr %t42) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + br label %exc.cleanup15 +exc.k14: + br i1 %t43, label %tern.t16, label %tern.f17 +tern.t16: + %t48 = load ptr, ptr %sc_l_this_0 + %t49 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t48, i64 0, i32 4 + %t50 = load ptr, ptr %t49, !tbaa !142 + %t51 = call ptr @sc_rretain_r3(ptr %t50) + %t52 = load ptr, ptr %sc_l_key_0 + %t53 = call ptr @sc_rc_retain_str(ptr %t52) + %t55 = getelementptr inbounds %sc_rs_r3, ptr %t51, i64 0, i32 1 + %t56 = load ptr, ptr %t55 + %t57 = call ptr @scr_map_get_str_ref(ptr %t56, ptr %t53) + %t58 = icmp eq ptr %t57, null + br i1 %t58, label %rkg.n21, label %rkg.h20 +rkg.h20: + store ptr %t57, ptr %s54 + br label %rkg.j19 +rkg.n21: + call void @sc_bad_key() + unreachable +rkg.j19: + %t59 = load ptr, ptr %s54 + store ptr %t59, ptr %s47 + call void @sc_rrelease_r3(ptr %t51) + call void @scr_str_release(ptr %t53) + br label %tern.j18 +tern.f17: + store ptr null, ptr %s47 + br label %tern.j18 +tern.j18: + %t60 = load ptr, ptr %s47 + store ptr %t60, ptr %sc_l_d_0 + %t61 = load ptr, ptr %sc_l_d_0 + %t63 = icmp ne ptr %t61, null + store i1 %t63, ptr %s64 + br i1 %t63, label %log.r22, label %log.j23 +log.r22: + %t65 = load ptr, ptr %sc_l_d_0 + %t67 = icmp eq ptr %t65, null + br i1 %t67, label %read.then24, label %read.else25 +read.then24: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup27 +exc.dead28: + store ptr null, ptr %s68 + br label %read.join26 +read.else25: + %t69 = load ptr, ptr %sc_l_d_0 + store ptr %t69, ptr %s68 + br label %read.join26 +read.join26: + %t70 = load ptr, ptr %s68 + %t71 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 1 + %t72 = load i64, ptr %t71, !tbaa !2, !range !{i64 0, i64 4294967296} + %t73 = sitofp i64 %t72 to double + %t75 = fptosi double %t73 to i64 + %t74 = icmp sgt i64 %t75, 0 + store i1 %t74, ptr %s64 + br label %log.j23 +log.j23: + %t76 = load i1, ptr %s64 + br i1 %t76, label %if.t29, label %if.j30 +if.t29: + %t78 = load ptr, ptr %sc_l_d_0 + %t80 = icmp eq ptr %t78, null + br i1 %t80, label %read.then31, label %read.else32 +read.then31: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3079743157731287) + br label %exc.cleanup27 +exc.dead34: + store ptr null, ptr %s81 + br label %read.join33 +read.else32: + %t82 = load ptr, ptr %sc_l_d_0 + store ptr %t82, ptr %s81 + br label %read.join33 +read.join33: + %t83 = load ptr, ptr %s81 + %t84 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 2 + %t85 = load i64, ptr %t84, !tbaa !2 + %t86 = fptosi double 0x0000000000000000 to i64 + %t87 = freeze i64 %t86 + %t88 = sitofp i64 %t87 to double + %t89 = fcmp oeq double %t88, 0x0000000000000000 + %t90 = icmp ult i64 %t87, %t85 + %t91 = and i1 %t89, %t90 + br i1 %t91, label %local.array.range38, label %local.array.slow35 +local.array.range38: + br label %local.array.dense39 +local.array.dense39: + %t92 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 6 + %t93 = load i32, ptr %t92, !tbaa !2 + %t95 = zext i32 %t93 to i64 + %t94 = icmp ult i64 %t87, %t95 + br i1 %t94, label %local.array.value41, label %local.array.len40 +local.array.len40: + %t96 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 1 + %t97 = load i64, ptr %t96, !tbaa !2, !range !{i64 0, i64 4294967296} + %t98 = icmp ult i64 %t87, %t97 + br i1 %t98, label %local.array.state42, label %local.array.missing36 +local.array.state42: + %t99 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 9 + %t100 = load ptr, ptr %t99, !tbaa !2 + %t101 = getelementptr inbounds i8, ptr %t100, i64 %t87 + %t102 = load i8, ptr %t101, !tbaa !4 + %t103 = icmp eq i8 %t102, 1 + br i1 %t103, label %local.array.value41, label %local.array.missing36 +local.array.value41: + %t104 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 8 + %t105 = load ptr, ptr %t104, !tbaa !2 + %t106 = getelementptr inbounds i64, ptr %t105, i64 %t87 + %t107 = load ptr, ptr %t106, !tbaa !6 + %t108 = call ptr @sc_rc_retain_str(ptr %t107) + store ptr %t108, ptr %s77 + br label %local.array.join37 +local.array.slow35: + %t109 = call ptr @scr_arr_peek_ref(ptr %t83, double 0x0000000000000000) + %t110 = icmp ne ptr %t109, null + br i1 %t110, label %local.array.slow.value43, label %local.array.missing36 +local.array.slow.value43: + %t111 = call ptr @sc_rc_retain_str(ptr %t109) + store ptr %t111, ptr %s77 + br label %local.array.join37 +local.array.missing36: + store ptr null, ptr %s77 + br label %local.array.join37 +local.array.join37: + %t112 = load ptr, ptr %s77 + %t115 = icmp eq ptr %t112, null + %t114 = select i1 %t115, i32 1, i32 0 + switch i32 %t114, label %u.bad45 [ i32 0, label %u.a46 i32 1, label %u.a47 ] +u.a46: + %t116 = call ptr @sc_rc_retain_str(ptr %t112) + store ptr %t116, ptr %s113 + br label %us.j44 +u.a47: + store ptr @sc_lit_4134463689533233, ptr %s113 + br label %us.j44 +u.bad45: + call void @sc_bad_tag() + unreachable +us.j44: + %t117 = load ptr, ptr %s113 + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u48, label %exc.k49 +exc.u48: + %t121 = load ptr, ptr %s77 + call void @scr_str_release(ptr %t121) + call void @scr_str_release(ptr %t117) + br label %exc.cleanup27 +exc.k49: + %t122 = load ptr, ptr %s77 + call void @scr_str_release(ptr %t122) + %t123 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t123) + %t124 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t124) + %t125 = load ptr, ptr %sc_l_d_0 + call void @scr_arr_release(ptr %t125) + ret ptr %t117 +if.j30: + %t126 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t126) + %t127 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t127) + %t128 = load ptr, ptr %sc_l_d_0 + call void @scr_arr_release(ptr %t128) + ret ptr null +exc.cleanup4: + %t129 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t129) + ret ptr null +exc.cleanup15: + %t130 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t130) + %t131 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t131) + ret ptr null +exc.cleanup27: + %t132 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t132) + %t133 = load ptr, ptr %sc_l_v_0 + call void @scr_str_release(ptr %t133) + %t134 = load ptr, ptr %sc_l_d_0 + call void @scr_arr_release(ptr %t134) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_header(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_header(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_body(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore.body +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 14 + %t2 = load ptr, ptr %t1, !tbaa !156 + ret ptr %t2 +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_body(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_body(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rc_retain_str(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + ret ptr %t3 +} + +define internal void @sc_bf__x25__x25_m5_ReqViewCore__setBody(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m5.ReqViewCore._setBody +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_s_0 = alloca ptr ; s + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_s_0 + %t2 = call ptr @sc_rc_retain_str(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 14 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !156 + call void @scr_str_release(ptr %t4) + ret void +} +define internal void @sc_f__x25__x25_m5_ReqViewCore__setBody(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m5_ReqViewCore__setBody(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_file(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.file +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_n_0 = alloca ptr ; n + %sc_l_f_0 = alloca ptr ; f + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv + %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv + %s4 = alloca i64 ; integer induction i + %s40 = alloca ptr + %s49 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_n_0 + store ptr null, ptr %sc_l_f_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l__x25_propertyRecv_0 + store ptr null, ptr %sc_l__x25_propertyRecv_1 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = load ptr, ptr %sc_l_name_0 + store ptr %t0, ptr %sc_l_n_0 + %t1 = load ptr, ptr %sc_l_this_0 + %t2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t1, i64 0, i32 15 + %t3 = load ptr, ptr %t2, !tbaa !158 + store ptr %t3, ptr %sc_l_f_0 + store ptr @sc_nullable_null, ptr %sc_l_out_0 + %t5 = fptosi double 0x0000000000000000 to i64 + store i64 %t5, ptr %s4 + br label %loop.c1 +loop.c1: + %t6 = load ptr, ptr %sc_l_f_0 + %t7 = getelementptr inbounds %ScrArr, ptr %t6, i64 0, i32 1 + %t8 = load i64, ptr %t7, !tbaa !2 + %t9 = load i64, ptr %s4 + %t10 = icmp ult i64 %t9, %t8 + br i1 %t10, label %loop.b2, label %loop.e0 +loop.b2: + %t11 = load ptr, ptr %sc_l_f_0 + %t12 = load i64, ptr %s4 + %t13 = load i64, ptr %s4 + %t14 = sitofp i64 %t13 to double + %t15 = trunc i64 %t13 to i32 + %t16 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 2 + %t17 = load i64, ptr %t16, !tbaa !2 + %t18 = icmp ult i64 %t12, %t17 + br i1 %t18, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t19 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 6 + %t20 = load i32, ptr %t19, !tbaa !2 + %t22 = zext i32 %t20 to i64 + %t21 = icmp ult i64 %t12, %t22 + br i1 %t21, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t23 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 1 + %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296} + %t25 = icmp ult i64 %t12, %t24 + br i1 %t25, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t26 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 9 + %t27 = load ptr, ptr %t26, !tbaa !2 + %t28 = getelementptr inbounds i8, ptr %t27, i64 %t12 + %t29 = load i8, ptr %t28, !tbaa !4 + %t30 = icmp eq i8 %t29, 1 + br i1 %t30, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t31 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 8 + %t32 = load ptr, ptr %t31, !tbaa !2 + %t33 = getelementptr inbounds i64, ptr %t32, i64 %t12 + %t34 = load ptr, ptr %t33, !tbaa !6 + store ptr %t34, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join6 +local.array.slow4: + %t35 = call ptr @scr_arr_peek_ref(ptr %t11, double %t14) + %t36 = icmp ne ptr %t35, null + br i1 %t36, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + store ptr %t35, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join6 +local.array.join6: + %t37 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t39 = icmp eq ptr %t37, null + br i1 %t39, label %tern.t13, label %tern.f14 +tern.t13: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2785427721493019) + br label %exc.cleanup16 +exc.dead17: + store ptr null, ptr %s40 + br label %tern.j15 +tern.f14: + %t41 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t42 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t41) + store ptr %t42, ptr %s40 + br label %tern.j15 +tern.j15: + %t43 = load ptr, ptr %s40 + %t44 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t43, i64 0, i32 1 + %t45 = load ptr, ptr %t44, !tbaa !90 + %t46 = call ptr @sc_rc_retain_str(ptr %t45) + %t47 = load ptr, ptr %sc_l_n_0 + %t48 = call zeroext i1 @sc_str_eq(ptr %t46, ptr %t47) + call void @sc_release__x25_m4_UploadedFile(ptr %t43) + call void @scr_str_release(ptr %t46) + br i1 %t48, label %if.t18, label %if.j19 +if.t18: + %t50 = load ptr, ptr %sc_l_f_0 + %t51 = load i64, ptr %s4 + %t52 = load i64, ptr %s4 + %t53 = sitofp i64 %t52 to double + %t54 = trunc i64 %t52 to i32 + %t55 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 2 + %t56 = load i64, ptr %t55, !tbaa !2 + %t57 = icmp ult i64 %t51, %t56 + br i1 %t57, label %local.array.range23, label %local.array.slow20 +local.array.range23: + br label %local.array.dense24 +local.array.dense24: + %t58 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 6 + %t59 = load i32, ptr %t58, !tbaa !2 + %t61 = zext i32 %t59 to i64 + %t60 = icmp ult i64 %t51, %t61 + br i1 %t60, label %local.array.value26, label %local.array.len25 +local.array.len25: + %t62 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 1 + %t63 = load i64, ptr %t62, !tbaa !2, !range !{i64 0, i64 4294967296} + %t64 = icmp ult i64 %t51, %t63 + br i1 %t64, label %local.array.state27, label %local.array.missing21 +local.array.state27: + %t65 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 9 + %t66 = load ptr, ptr %t65, !tbaa !2 + %t67 = getelementptr inbounds i8, ptr %t66, i64 %t51 + %t68 = load i8, ptr %t67, !tbaa !4 + %t69 = icmp eq i8 %t68, 1 + br i1 %t69, label %local.array.value26, label %local.array.missing21 +local.array.value26: + %t70 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 8 + %t71 = load ptr, ptr %t70, !tbaa !2 + %t72 = getelementptr inbounds i64, ptr %t71, i64 %t51 + %t73 = load ptr, ptr %t72, !tbaa !6 + store ptr %t73, ptr %s49 + br label %local.array.join22 +local.array.slow20: + %t74 = call ptr @scr_arr_peek_ref(ptr %t50, double %t53) + %t75 = icmp ne ptr %t74, null + br i1 %t75, label %local.array.slow.value28, label %local.array.missing21 +local.array.slow.value28: + store ptr %t74, ptr %s49 + br label %local.array.join22 +local.array.missing21: + store ptr null, ptr %s49 + br label %local.array.join22 +local.array.join22: + %t76 = load ptr, ptr %s49 + %t77 = call ptr @sc_bf__x25_union_retag_9(ptr %t76) + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u29, label %exc.k30 +exc.u29: + br label %exc.cleanup16 +exc.k30: + %t81 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t77) + %t82 = load ptr, ptr %sc_l_out_0 + call void @sc_release__x25_m4_UploadedFile(ptr %t82) + store ptr %t81, ptr %sc_l_out_0 + br label %if.j19 +if.j19: + br label %loop.u3 +loop.u3: + %t83 = load i64, ptr %s4 + %t84 = add nuw i64 %t83, 1 + store i64 %t84, ptr %s4 + br label %loop.c1 +loop.e0: + %t85 = load ptr, ptr %sc_l_out_0 + ret ptr %t85 +exc.cleanup16: + %t86 = load ptr, ptr %sc_l_out_0 + call void @sc_release__x25_m4_UploadedFile(ptr %t86) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_file(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_file(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_files(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.files +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_n_0 = alloca ptr ; n + %sc_l_f_0 = alloca ptr ; f + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv + %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv + %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget + %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue + %s5 = alloca i64 ; integer induction i + %s43 = alloca ptr + %s94 = alloca ptr + store ptr null, ptr %sc_l_n_0 + store ptr null, ptr %sc_l_f_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l__x25_propertyRecv_0 + store ptr null, ptr %sc_l__x25_propertyRecv_1 + store ptr null, ptr %sc_l__x25_pushTarget_0 + store ptr null, ptr %sc_l__x25_pushValue_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = load ptr, ptr %sc_l_name_0 + store ptr %t0, ptr %sc_l_n_0 + %t1 = load ptr, ptr %sc_l_this_0 + %t2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t1, i64 0, i32 15 + %t3 = load ptr, ptr %t2, !tbaa !158 + store ptr %t3, ptr %sc_l_f_0 + %t4 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile, i64 0) + store ptr %t4, ptr %sc_l_out_0 + %t6 = fptosi double 0x0000000000000000 to i64 + store i64 %t6, ptr %s5 + br label %loop.c1 +loop.c1: + %t7 = load ptr, ptr %sc_l_f_0 + %t8 = getelementptr inbounds %ScrArr, ptr %t7, i64 0, i32 1 + %t9 = load i64, ptr %t8, !tbaa !2 + %t10 = load i64, ptr %s5 + %t11 = icmp ult i64 %t10, %t9 + br i1 %t11, label %loop.b2, label %loop.e0 +loop.b2: + %t12 = load ptr, ptr %sc_l_f_0 + %t13 = load i64, ptr %s5 + %t14 = load i64, ptr %s5 + %t15 = sitofp i64 %t14 to double + %t16 = trunc i64 %t14 to i32 + %t17 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 2 + %t18 = load i64, ptr %t17, !tbaa !2 + %t19 = icmp ult i64 %t13, %t18 + br i1 %t19, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t20 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 6 + %t21 = load i32, ptr %t20, !tbaa !2 + %t23 = zext i32 %t21 to i64 + %t22 = icmp ult i64 %t13, %t23 + br i1 %t22, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t24 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 1 + %t25 = load i64, ptr %t24, !tbaa !2, !range !{i64 0, i64 4294967296} + %t26 = icmp ult i64 %t13, %t25 + br i1 %t26, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t27 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 9 + %t28 = load ptr, ptr %t27, !tbaa !2 + %t29 = getelementptr inbounds i8, ptr %t28, i64 %t13 + %t30 = load i8, ptr %t29, !tbaa !4 + %t31 = icmp eq i8 %t30, 1 + br i1 %t31, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t32 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 8 + %t33 = load ptr, ptr %t32, !tbaa !2 + %t34 = getelementptr inbounds i64, ptr %t33, i64 %t13 + %t35 = load ptr, ptr %t34, !tbaa !6 + %t36 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t35) + store ptr %t36, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join6 +local.array.slow4: + %t37 = call ptr @scr_arr_peek_ref(ptr %t12, double %t15) + %t38 = icmp ne ptr %t37, null + br i1 %t38, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + %t39 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t37) + store ptr %t39, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join6 +local.array.join6: + %t40 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t42 = icmp eq ptr %t40, null + br i1 %t42, label %tern.t13, label %tern.f14 +tern.t13: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2785427721493019) + br label %exc.cleanup16 +exc.dead17: + store ptr null, ptr %s43 + br label %tern.j15 +tern.f14: + %t44 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t45 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t44) + store ptr %t45, ptr %s43 + br label %tern.j15 +tern.j15: + %t46 = load ptr, ptr %s43 + %t47 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t46, i64 0, i32 1 + %t48 = load ptr, ptr %t47, !tbaa !90 + %t49 = call ptr @sc_rc_retain_str(ptr %t48) + %t50 = load ptr, ptr %sc_l_n_0 + %t51 = call zeroext i1 @sc_str_eq(ptr %t49, ptr %t50) + call void @sc_release__x25_m4_UploadedFile(ptr %t46) + %t52 = load ptr, ptr %sc_l__x25_propertyRecv_1 + call void @sc_release__x25_m4_UploadedFile(ptr %t52) + call void @scr_str_release(ptr %t49) + br i1 %t51, label %if.t18, label %if.j19 +if.t18: + %t53 = load ptr, ptr %sc_l_out_0 + store ptr %t53, ptr %sc_l__x25_pushTarget_0 + %t54 = load ptr, ptr %sc_l_f_0 + %t55 = load i64, ptr %s5 + %t56 = load i64, ptr %s5 + %t57 = sitofp i64 %t56 to double + %t58 = trunc i64 %t56 to i32 + %t59 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 2 + %t60 = load i64, ptr %t59, !tbaa !2 + %t61 = icmp ult i64 %t55, %t60 + br i1 %t61, label %local.array.range23, label %local.array.slow20 +local.array.range23: + br label %local.array.dense24 +local.array.dense24: + %t62 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 6 + %t63 = load i32, ptr %t62, !tbaa !2 + %t65 = zext i32 %t63 to i64 + %t64 = icmp ult i64 %t55, %t65 + br i1 %t64, label %local.array.value26, label %local.array.len25 +local.array.len25: + %t66 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 1 + %t67 = load i64, ptr %t66, !tbaa !2, !range !{i64 0, i64 4294967296} + %t68 = icmp ult i64 %t55, %t67 + br i1 %t68, label %local.array.state27, label %local.array.missing21 +local.array.state27: + %t69 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 9 + %t70 = load ptr, ptr %t69, !tbaa !2 + %t71 = getelementptr inbounds i8, ptr %t70, i64 %t55 + %t72 = load i8, ptr %t71, !tbaa !4 + %t73 = icmp eq i8 %t72, 1 + br i1 %t73, label %local.array.value26, label %local.array.missing21 +local.array.value26: + %t74 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 8 + %t75 = load ptr, ptr %t74, !tbaa !2 + %t76 = getelementptr inbounds i64, ptr %t75, i64 %t55 + %t77 = load ptr, ptr %t76, !tbaa !6 + %t78 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t77) + store ptr %t78, ptr %sc_l__x25_pushValue_0 + br label %local.array.join22 +local.array.slow20: + %t79 = call ptr @scr_arr_peek_ref(ptr %t54, double %t57) + %t80 = icmp ne ptr %t79, null + br i1 %t80, label %local.array.slow.value28, label %local.array.missing21 +local.array.slow.value28: + %t81 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t79) + store ptr %t81, ptr %sc_l__x25_pushValue_0 + br label %local.array.join22 +local.array.missing21: + store ptr null, ptr %sc_l__x25_pushValue_0 + br label %local.array.join22 +local.array.join22: + %t82 = load ptr, ptr %sc_l__x25_pushValue_0 + %t84 = icmp eq ptr %t82, null + br i1 %t84, label %if.t29, label %if.f31 +if.t29: + %t85 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t86 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t87 = getelementptr inbounds %ScrArr, ptr %t86, i32 0, i32 1 + %t88 = load i64, ptr %t87, !tbaa !2, !range !{i64 0, i64 4294967296} + %t89 = sitofp i64 %t88 to double + call void @scr_arr_set_undefined(ptr %t85, double %t89) + br label %if.j30 +if.f31: + %t90 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t91 = load ptr, ptr %sc_l__x25_pushValue_0 + %t93 = icmp ne ptr %t91, null + br i1 %t93, label %tern.t32, label %tern.f33 +tern.t32: + %t95 = load ptr, ptr %sc_l__x25_pushValue_0 + %t96 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t95) + store ptr %t96, ptr %s94 + br label %tern.j34 +tern.f33: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup35 +exc.dead36: + store ptr null, ptr %s94 + br label %tern.j34 +tern.j34: + %t97 = load ptr, ptr %s94 + %t98 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 1 + %t99 = load i64, ptr %t98, !tbaa !2 + %t102 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 2 + %t100 = load i64, ptr %t102, !tbaa !2 + %t101 = icmp ult i64 %t99, %t100 + br i1 %t101, label %arr.push.dense37, label %arr.push.slow38 +arr.push.dense37: + %t103 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 8 + %t105 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 9 + %t104 = load ptr, ptr %t103, !tbaa !2 + %t106 = load ptr, ptr %t105, !tbaa !2 + %t107 = getelementptr inbounds i8, ptr %t106, i64 %t99 + %t108 = getelementptr inbounds i64, ptr %t104, i64 %t99 + store ptr %t97, ptr %t108, !tbaa !6 + store i8 1, ptr %t107, !tbaa !4 + %t109 = add nuw i64 %t99, 1 + store i64 %t109, ptr %t98, !tbaa !2 + %t111 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 6 + %t112 = load i32, ptr %t111, !tbaa !2 + %t116 = zext i32 %t112 to i64 + %t113 = icmp eq i64 %t116, %t99 + %t114 = add i32 %t112, 1 + %t115 = select i1 %t113, i32 %t114, i32 %t112 + store i32 %t115, ptr %t111, !tbaa !2 + %t110 = sitofp i64 %t109 to double + br label %arr.push.join39 +arr.push.slow38: + %t117 = call double @scr_arr_push_ref(ptr %t90, ptr %t97) cold + br label %arr.push.join39 +arr.push.join39: + %t118 = phi double [ %t110, %arr.push.dense37 ], [ %t117, %arr.push.slow38 ] + br label %if.j30 +if.j30: + %t119 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t120 = getelementptr inbounds %ScrArr, ptr %t119, i32 0, i32 1 + %t121 = load i64, ptr %t120, !tbaa !2, !range !{i64 0, i64 4294967296} + %t122 = sitofp i64 %t121 to double + %t123 = load ptr, ptr %sc_l__x25_pushValue_0 + call void @sc_release__x25_m4_UploadedFile(ptr %t123) + br label %if.j19 +if.j19: + br label %loop.u3 +loop.u3: + %t124 = load i64, ptr %s5 + %t125 = add nuw i64 %t124, 1 + store i64 %t125, ptr %s5 + br label %loop.c1 +loop.e0: + %t126 = load ptr, ptr %sc_l_out_0 + ret ptr %t126 +exc.cleanup16: + %t127 = load ptr, ptr %sc_l__x25_propertyRecv_1 + call void @sc_release__x25_m4_UploadedFile(ptr %t127) + %t128 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t128) + ret ptr null +exc.cleanup35: + %t129 = load ptr, ptr %sc_l__x25_pushValue_0 + call void @sc_release__x25_m4_UploadedFile(ptr %t129) + %t130 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t130) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_files(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_files(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_field(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.field +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_n_0 = alloca ptr ; n + %sc_l_fp_0 = alloca ptr ; fp + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca double ; i + %s16 = alloca ptr + %s49 = alloca i1 + %s59 = alloca ptr + %s92 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_n_0 + store ptr null, ptr %sc_l_fp_0 + store ptr null, ptr %sc_l_out_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_name_0 + store ptr %t4, ptr %sc_l_n_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t5, i64 0, i32 16 + %t7 = load ptr, ptr %t6, !tbaa !160 + store ptr %t7, ptr %sc_l_fp_0 + store ptr null, ptr %sc_l_out_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t8 = load double, ptr %sc_l_i_0 + %t9 = fadd double %t8, 0x3FF0000000000000 + %t10 = load ptr, ptr %sc_l_fp_0 + %t11 = getelementptr inbounds %ScrArr, ptr %t10, i32 0, i32 1 + %t12 = load i64, ptr %t11, !tbaa !2, !range !{i64 0, i64 4294967296} + %t13 = sitofp i64 %t12 to double + %t15 = fptosi double %t13 to i64 + %t14 = fcmp olt double %t9, %t13 + br i1 %t14, label %loop.b4, label %loop.e2 +loop.b4: + %t17 = load ptr, ptr %sc_l_fp_0 + %t18 = load double, ptr %sc_l_i_0 + %t19 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2 + %t20 = load i64, ptr %t19, !tbaa !2 + %t21 = fptosi double %t18 to i64 + %t22 = freeze i64 %t21 + %t23 = sitofp i64 %t22 to double + %t24 = fcmp oeq double %t23, %t18 + %t25 = icmp ult i64 %t22, %t20 + %t26 = and i1 %t24, %t25 + br i1 %t26, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t27 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6 + %t28 = load i32, ptr %t27, !tbaa !2 + %t30 = zext i32 %t28 to i64 + %t29 = icmp ult i64 %t22, %t30 + br i1 %t29, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t31 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + %t32 = load i64, ptr %t31, !tbaa !2, !range !{i64 0, i64 4294967296} + %t33 = icmp ult i64 %t22, %t32 + br i1 %t33, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t34 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9 + %t35 = load ptr, ptr %t34, !tbaa !2 + %t36 = getelementptr inbounds i8, ptr %t35, i64 %t22 + %t37 = load i8, ptr %t36, !tbaa !4 + %t38 = icmp eq i8 %t37, 1 + br i1 %t38, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t39 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8 + %t40 = load ptr, ptr %t39, !tbaa !2 + %t41 = getelementptr inbounds i64, ptr %t40, i64 %t22 + %t42 = load ptr, ptr %t41, !tbaa !6 + %t43 = call ptr @sc_rc_retain_str(ptr %t42) + store ptr %t43, ptr %s16 + br label %local.array.join8 +local.array.slow6: + %t44 = call ptr @scr_arr_peek_ref(ptr %t17, double %t18) + %t45 = icmp ne ptr %t44, null + br i1 %t45, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t46 = call ptr @sc_rc_retain_str(ptr %t44) + store ptr %t46, ptr %s16 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %s16 + br label %local.array.join8 +local.array.join8: + %t47 = load ptr, ptr %s16 + %t48 = load ptr, ptr %sc_l_n_0 + %t50 = icmp eq ptr %t47, %t48 + %t52 = icmp ne ptr %t47, null + %t53 = icmp ne ptr %t48, null + %t51 = and i1 %t52, %t53 + store i1 %t50, ptr %s49 + %t54 = xor i1 %t50, true + %t55 = and i1 %t54, %t51 + br i1 %t55, label %ues.b15, label %ues.j16 +ues.b15: + %t56 = call zeroext i1 @sc_str_eq(ptr %t47, ptr %t48) + store i1 %t56, ptr %s49 + br label %ues.j16 +ues.j16: + %t57 = load i1, ptr %s49 + %t58 = load ptr, ptr %s16 + call void @scr_str_release(ptr %t58) + br i1 %t57, label %if.t17, label %if.j18 +if.t17: + %t60 = load ptr, ptr %sc_l_fp_0 + %t61 = load double, ptr %sc_l_i_0 + %t62 = fadd double %t61, 0x3FF0000000000000 + %t63 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 2 + %t64 = load i64, ptr %t63, !tbaa !2 + %t65 = fptosi double %t62 to i64 + %t66 = freeze i64 %t65 + %t67 = sitofp i64 %t66 to double + %t68 = fcmp oeq double %t67, %t62 + %t69 = icmp ult i64 %t66, %t64 + %t70 = and i1 %t68, %t69 + br i1 %t70, label %local.array.range22, label %local.array.slow19 +local.array.range22: + br label %local.array.dense23 +local.array.dense23: + %t71 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 6 + %t72 = load i32, ptr %t71, !tbaa !2 + %t74 = zext i32 %t72 to i64 + %t73 = icmp ult i64 %t66, %t74 + br i1 %t73, label %local.array.value25, label %local.array.len24 +local.array.len24: + %t75 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 1 + %t76 = load i64, ptr %t75, !tbaa !2, !range !{i64 0, i64 4294967296} + %t77 = icmp ult i64 %t66, %t76 + br i1 %t77, label %local.array.state26, label %local.array.missing20 +local.array.state26: + %t78 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 9 + %t79 = load ptr, ptr %t78, !tbaa !2 + %t80 = getelementptr inbounds i8, ptr %t79, i64 %t66 + %t81 = load i8, ptr %t80, !tbaa !4 + %t82 = icmp eq i8 %t81, 1 + br i1 %t82, label %local.array.value25, label %local.array.missing20 +local.array.value25: + %t83 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 8 + %t84 = load ptr, ptr %t83, !tbaa !2 + %t85 = getelementptr inbounds i64, ptr %t84, i64 %t66 + %t86 = load ptr, ptr %t85, !tbaa !6 + %t87 = call ptr @sc_rc_retain_str(ptr %t86) + store ptr %t87, ptr %s59 + br label %local.array.join21 +local.array.slow19: + %t88 = call ptr @scr_arr_peek_ref(ptr %t60, double %t62) + %t89 = icmp ne ptr %t88, null + br i1 %t89, label %local.array.slow.value27, label %local.array.missing20 +local.array.slow.value27: + %t90 = call ptr @sc_rc_retain_str(ptr %t88) + store ptr %t90, ptr %s59 + br label %local.array.join21 +local.array.missing20: + store ptr null, ptr %s59 + br label %local.array.join21 +local.array.join21: + %t91 = load ptr, ptr %s59 + %t94 = icmp eq ptr %t91, null + %t93 = select i1 %t94, i32 1, i32 0 + switch i32 %t93, label %u.bad29 [ i32 0, label %u.a30 i32 1, label %u.a31 ] +u.a30: + %t95 = call ptr @sc_rc_retain_str(ptr %t91) + store ptr %t95, ptr %s92 + br label %us.j28 +u.a31: + store ptr @sc_lit_4134463689533233, ptr %s92 + br label %us.j28 +u.bad29: + call void @sc_bad_tag() + unreachable +us.j28: + %t96 = load ptr, ptr %s92 + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u32, label %exc.k33 +exc.u32: + %t100 = load ptr, ptr %s59 + call void @scr_str_release(ptr %t100) + call void @scr_str_release(ptr %t96) + br label %exc.cleanup34 +exc.k33: + %t101 = load ptr, ptr %sc_l_out_0 + call void @scr_str_release(ptr %t101) + store ptr %t96, ptr %sc_l_out_0 + %t102 = load ptr, ptr %s59 + call void @scr_str_release(ptr %t102) + br label %if.j18 +if.j18: + br label %loop.u5 +loop.u5: + %t103 = load double, ptr %sc_l_i_0 + %t104 = fadd double %t103, 0x4000000000000000 + store double %t104, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t105 = load ptr, ptr %sc_l_out_0 + ret ptr %t105 +exc.cleanup34: + %t106 = load ptr, ptr %sc_l_out_0 + call void @scr_str_release(ptr %t106) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_field(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_field(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_fields(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.fields +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l_n_0 = alloca ptr ; n + %sc_l_fp_0 = alloca ptr ; fp + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca double ; i + %s17 = alloca ptr + %s50 = alloca i1 + %s61 = alloca ptr + %s94 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_n_0 + store ptr null, ptr %sc_l_fp_0 + store ptr null, ptr %sc_l_out_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_name_0 + store ptr %t4, ptr %sc_l_n_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t5, i64 0, i32 16 + %t7 = load ptr, ptr %t6, !tbaa !160 + store ptr %t7, ptr %sc_l_fp_0 + %t8 = call ptr @scr_arr_new_small(i32 2) + store ptr %t8, ptr %sc_l_out_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t9 = load double, ptr %sc_l_i_0 + %t10 = fadd double %t9, 0x3FF0000000000000 + %t11 = load ptr, ptr %sc_l_fp_0 + %t12 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 1 + %t13 = load i64, ptr %t12, !tbaa !2, !range !{i64 0, i64 4294967296} + %t14 = sitofp i64 %t13 to double + %t16 = fptosi double %t14 to i64 + %t15 = fcmp olt double %t10, %t14 + br i1 %t15, label %loop.b4, label %loop.e2 +loop.b4: + %t18 = load ptr, ptr %sc_l_fp_0 + %t19 = load double, ptr %sc_l_i_0 + %t20 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2 + %t21 = load i64, ptr %t20, !tbaa !2 + %t22 = fptosi double %t19 to i64 + %t23 = freeze i64 %t22 + %t24 = sitofp i64 %t23 to double + %t25 = fcmp oeq double %t24, %t19 + %t26 = icmp ult i64 %t23, %t21 + %t27 = and i1 %t25, %t26 + br i1 %t27, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t28 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6 + %t29 = load i32, ptr %t28, !tbaa !2 + %t31 = zext i32 %t29 to i64 + %t30 = icmp ult i64 %t23, %t31 + br i1 %t30, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t32 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1 + %t33 = load i64, ptr %t32, !tbaa !2, !range !{i64 0, i64 4294967296} + %t34 = icmp ult i64 %t23, %t33 + br i1 %t34, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t35 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9 + %t36 = load ptr, ptr %t35, !tbaa !2 + %t37 = getelementptr inbounds i8, ptr %t36, i64 %t23 + %t38 = load i8, ptr %t37, !tbaa !4 + %t39 = icmp eq i8 %t38, 1 + br i1 %t39, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t40 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t42 = getelementptr inbounds i64, ptr %t41, i64 %t23 + %t43 = load ptr, ptr %t42, !tbaa !6 + %t44 = call ptr @sc_rc_retain_str(ptr %t43) + store ptr %t44, ptr %s17 + br label %local.array.join8 +local.array.slow6: + %t45 = call ptr @scr_arr_peek_ref(ptr %t18, double %t19) + %t46 = icmp ne ptr %t45, null + br i1 %t46, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t47 = call ptr @sc_rc_retain_str(ptr %t45) + store ptr %t47, ptr %s17 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %s17 + br label %local.array.join8 +local.array.join8: + %t48 = load ptr, ptr %s17 + %t49 = load ptr, ptr %sc_l_n_0 + %t51 = icmp eq ptr %t48, %t49 + %t53 = icmp ne ptr %t48, null + %t54 = icmp ne ptr %t49, null + %t52 = and i1 %t53, %t54 + store i1 %t51, ptr %s50 + %t55 = xor i1 %t51, true + %t56 = and i1 %t55, %t52 + br i1 %t56, label %ues.b15, label %ues.j16 +ues.b15: + %t57 = call zeroext i1 @sc_str_eq(ptr %t48, ptr %t49) + store i1 %t57, ptr %s50 + br label %ues.j16 +ues.j16: + %t58 = load i1, ptr %s50 + %t59 = load ptr, ptr %s17 + call void @scr_str_release(ptr %t59) + br i1 %t58, label %if.t17, label %if.j18 +if.t17: + %t60 = load ptr, ptr %sc_l_out_0 + %t62 = load ptr, ptr %sc_l_fp_0 + %t63 = load double, ptr %sc_l_i_0 + %t64 = fadd double %t63, 0x3FF0000000000000 + %t65 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 2 + %t66 = load i64, ptr %t65, !tbaa !2 + %t67 = fptosi double %t64 to i64 + %t68 = freeze i64 %t67 + %t69 = sitofp i64 %t68 to double + %t70 = fcmp oeq double %t69, %t64 + %t71 = icmp ult i64 %t68, %t66 + %t72 = and i1 %t70, %t71 + br i1 %t72, label %local.array.range22, label %local.array.slow19 +local.array.range22: + br label %local.array.dense23 +local.array.dense23: + %t73 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 6 + %t74 = load i32, ptr %t73, !tbaa !2 + %t76 = zext i32 %t74 to i64 + %t75 = icmp ult i64 %t68, %t76 + br i1 %t75, label %local.array.value25, label %local.array.len24 +local.array.len24: + %t77 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 1 + %t78 = load i64, ptr %t77, !tbaa !2, !range !{i64 0, i64 4294967296} + %t79 = icmp ult i64 %t68, %t78 + br i1 %t79, label %local.array.state26, label %local.array.missing20 +local.array.state26: + %t80 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 9 + %t81 = load ptr, ptr %t80, !tbaa !2 + %t82 = getelementptr inbounds i8, ptr %t81, i64 %t68 + %t83 = load i8, ptr %t82, !tbaa !4 + %t84 = icmp eq i8 %t83, 1 + br i1 %t84, label %local.array.value25, label %local.array.missing20 +local.array.value25: + %t85 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 8 + %t86 = load ptr, ptr %t85, !tbaa !2 + %t87 = getelementptr inbounds i64, ptr %t86, i64 %t68 + %t88 = load ptr, ptr %t87, !tbaa !6 + %t89 = call ptr @sc_rc_retain_str(ptr %t88) + store ptr %t89, ptr %s61 + br label %local.array.join21 +local.array.slow19: + %t90 = call ptr @scr_arr_peek_ref(ptr %t62, double %t64) + %t91 = icmp ne ptr %t90, null + br i1 %t91, label %local.array.slow.value27, label %local.array.missing20 +local.array.slow.value27: + %t92 = call ptr @sc_rc_retain_str(ptr %t90) + store ptr %t92, ptr %s61 + br label %local.array.join21 +local.array.missing20: + store ptr null, ptr %s61 + br label %local.array.join21 +local.array.join21: + %t93 = load ptr, ptr %s61 + %t96 = icmp eq ptr %t93, null + %t95 = select i1 %t96, i32 1, i32 0 + switch i32 %t95, label %u.bad29 [ i32 0, label %u.a30 i32 1, label %u.a31 ] +u.a30: + %t97 = call ptr @sc_rc_retain_str(ptr %t93) + store ptr %t97, ptr %s94 + br label %us.j28 +u.a31: + store ptr @sc_lit_4134463689533233, ptr %s94 + br label %us.j28 +u.bad29: + call void @sc_bad_tag() + unreachable +us.j28: + %t98 = load ptr, ptr %s94 + %t99 = load i32, ptr %exc.cell + %t100 = icmp ne i32 %t99, 0 + %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false) + br i1 %t101, label %exc.u32, label %exc.k33 +exc.u32: + %t102 = load ptr, ptr %s61 + call void @scr_str_release(ptr %t102) + call void @scr_str_release(ptr %t98) + br label %exc.cleanup34 +exc.k33: + %t103 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 1 + %t104 = load i64, ptr %t103, !tbaa !2 + %t107 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 2 + %t105 = load i64, ptr %t107, !tbaa !2 + %t106 = icmp ult i64 %t104, %t105 + br i1 %t106, label %arr.push.dense35, label %arr.push.slow36 +arr.push.dense35: + %t108 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 8 + %t110 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 9 + %t109 = load ptr, ptr %t108, !tbaa !2 + %t111 = load ptr, ptr %t110, !tbaa !2 + %t112 = getelementptr inbounds i8, ptr %t111, i64 %t104 + %t113 = getelementptr inbounds i64, ptr %t109, i64 %t104 + store ptr %t98, ptr %t113, !tbaa !6 + store i8 1, ptr %t112, !tbaa !4 + %t114 = add nuw i64 %t104, 1 + store i64 %t114, ptr %t103, !tbaa !2 + %t116 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 6 + %t117 = load i32, ptr %t116, !tbaa !2 + %t121 = zext i32 %t117 to i64 + %t118 = icmp eq i64 %t121, %t104 + %t119 = add i32 %t117, 1 + %t120 = select i1 %t118, i32 %t119, i32 %t117 + store i32 %t120, ptr %t116, !tbaa !2 + %t115 = sitofp i64 %t114 to double + br label %arr.push.join37 +arr.push.slow36: + %t122 = call double @scr_arr_push_ref(ptr %t60, ptr %t98) cold + br label %arr.push.join37 +arr.push.join37: + %t123 = phi double [ %t115, %arr.push.dense35 ], [ %t122, %arr.push.slow36 ] + %t124 = load ptr, ptr %s61 + call void @scr_str_release(ptr %t124) + br label %if.j18 +if.j18: + br label %loop.u5 +loop.u5: + %t125 = load double, ptr %sc_l_i_0 + %t126 = fadd double %t125, 0x4000000000000000 + store double %t126, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t127 = load ptr, ptr %sc_l_out_0 + ret ptr %t127 +exc.cleanup34: + %t128 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t128) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore_fields(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_fields(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m5_ReqViewCore__setMultipart(ptr %p_sc_l_this_0, ptr %p_sc_l_files_0, ptr %p_sc_l_fields_0) #0 { ; %%m5.ReqViewCore._setMultipart +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_files_0 = alloca ptr ; files + %sc_l_fields_0 = alloca ptr ; fields + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_files_0, ptr %sc_l_files_0 + store ptr %p_sc_l_fields_0, ptr %sc_l_fields_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_files_0 + %t2 = call ptr @scr_arr_retain_v(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 15 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !158 + call void @scr_arr_release(ptr %t4) + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = load ptr, ptr %sc_l_fields_0 + %t7 = call ptr @scr_arr_retain_v(ptr %t6) + %t8 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t5, i64 0, i32 16 + %t9 = load ptr, ptr %t8 + store ptr %t7, ptr %t8, !tbaa !160 + call void @scr_arr_release(ptr %t9) + ret void +} +define internal void @sc_f__x25__x25_m5_ReqViewCore__setMultipart(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m5_ReqViewCore__setMultipart(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + call void @scr_arr_release(ptr %p1) + call void @scr_arr_release(ptr %p2) + ret void +} + +define internal ptr @sc_bf__x25__x25_m5_ReqViewCore__parsed(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore._parsed +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_cached_0 = alloca ptr ; cached + %sc_l_out_0 = alloca ptr ; out + %sc_l_qs_0 = alloca ptr ; qs + %sc_l_parts_0 = alloca ptr ; parts + %sc_l_i_0 = alloca i32 ; i + %sc_l_p_0 = alloca ptr ; p + %sc_l_eq_0 = alloca i32 ; eq + %s25 = alloca i64 ; integer induction i + %s32 = alloca ptr + %s62 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_cached_0 + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_qs_0 + store ptr null, ptr %sc_l_parts_0 + store ptr null, ptr %sc_l_p_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 9 + %t6 = load ptr, ptr %t5, !tbaa !146 + %t7 = call ptr @sc_nretain_array(ptr %t6) + store ptr %t7, ptr %sc_l_cached_0 + %t8 = load ptr, ptr %sc_l_cached_0 + %t10 = icmp ne ptr %t8, null + br i1 %t10, label %if.t2, label %if.j3 +if.t2: + %t11 = load ptr, ptr %sc_l_cached_0 + %t12 = call ptr @scr_arr_retain_v(ptr %t11) + %t13 = load ptr, ptr %sc_l_cached_0 + call void @scr_arr_release(ptr %t13) + ret ptr %t12 +if.j3: + %t14 = call ptr @scr_arr_new_small(i32 2) + store ptr %t14, ptr %sc_l_out_0 + %t15 = load ptr, ptr %sc_l_this_0 + %t16 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t15, i64 0, i32 8 + %t17 = load ptr, ptr %t16, !tbaa !144 + store ptr %t17, ptr %sc_l_qs_0 + %t18 = load ptr, ptr %sc_l_qs_0 + %t19 = call double @sc_str_utf16_len(ptr %t18) + %t21 = fptosi double %t19 to i32 + %t22 = sext i32 %t21 to i64 + %t20 = icmp sgt i64 %t22, 0 + br i1 %t20, label %if.t4, label %if.j5 +if.t4: + %t23 = load ptr, ptr %sc_l_qs_0 + %t24 = call ptr @scr_str_split_limit(ptr %t23, ptr @sc_lit_2623284121860687, double 0x41EFFFFFFFE00000) + store ptr %t24, ptr %sc_l_parts_0 + %t26 = fptosi double 0x0000000000000000 to i64 + store i64 %t26, ptr %s25 + br label %loop.c7 +loop.c7: + %t27 = load ptr, ptr %sc_l_parts_0 + %t28 = getelementptr inbounds %ScrArr, ptr %t27, i64 0, i32 1 + %t29 = load i64, ptr %t28, !tbaa !2 + %t30 = load i64, ptr %s25 + %t31 = icmp ult i64 %t30, %t29 + br i1 %t31, label %loop.b8, label %loop.e6 +loop.b8: + %t33 = load ptr, ptr %sc_l_parts_0 + %t34 = load i64, ptr %s25 + %t35 = load i64, ptr %s25 + %t36 = sitofp i64 %t35 to double + %t37 = trunc i64 %t35 to i32 + %t38 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t40 = icmp ult i64 %t34, %t39 + br i1 %t40, label %local.array.range13, label %local.array.slow10 +local.array.range13: + br label %local.array.dense14 +local.array.dense14: + %t41 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 6 + %t42 = load i32, ptr %t41, !tbaa !2 + %t44 = zext i32 %t42 to i64 + %t43 = icmp ult i64 %t34, %t44 + br i1 %t43, label %local.array.value16, label %local.array.len15 +local.array.len15: + %t45 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 1 + %t46 = load i64, ptr %t45, !tbaa !2, !range !{i64 0, i64 4294967296} + %t47 = icmp ult i64 %t34, %t46 + br i1 %t47, label %local.array.state17, label %local.array.missing11 +local.array.state17: + %t48 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 9 + %t49 = load ptr, ptr %t48, !tbaa !2 + %t50 = getelementptr inbounds i8, ptr %t49, i64 %t34 + %t51 = load i8, ptr %t50, !tbaa !4 + %t52 = icmp eq i8 %t51, 1 + br i1 %t52, label %local.array.value16, label %local.array.missing11 +local.array.value16: + %t53 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 8 + %t54 = load ptr, ptr %t53, !tbaa !2 + %t55 = getelementptr inbounds i64, ptr %t54, i64 %t34 + %t56 = load ptr, ptr %t55, !tbaa !6 + %t57 = call ptr @sc_rc_retain_str(ptr %t56) + store ptr %t57, ptr %s32 + br label %local.array.join12 +local.array.slow10: + %t58 = call ptr @scr_arr_peek_ref(ptr %t33, double %t36) + %t59 = icmp ne ptr %t58, null + br i1 %t59, label %local.array.slow.value18, label %local.array.missing11 +local.array.slow.value18: + %t60 = call ptr @sc_rc_retain_str(ptr %t58) + store ptr %t60, ptr %s32 + br label %local.array.join12 +local.array.missing11: + store ptr null, ptr %s32 + br label %local.array.join12 +local.array.join12: + %t61 = load ptr, ptr %s32 + %t64 = icmp eq ptr %t61, null + %t63 = select i1 %t64, i32 1, i32 0 + switch i32 %t63, label %u.bad20 [ i32 0, label %u.a21 i32 1, label %u.a22 ] +u.a21: + %t65 = call ptr @sc_rc_retain_str(ptr %t61) + store ptr %t65, ptr %s62 + br label %us.j19 +u.a22: + store ptr @sc_lit_4134463689533233, ptr %s62 + br label %us.j19 +u.bad20: + call void @sc_bad_tag() + unreachable +us.j19: + %t66 = load ptr, ptr %s62 + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u23, label %exc.k24 +exc.u23: + %t70 = load ptr, ptr %s32 + call void @scr_str_release(ptr %t70) + call void @scr_str_release(ptr %t66) + br label %exc.cleanup25 +exc.k24: + store ptr %t66, ptr %sc_l_p_0 + %t71 = load ptr, ptr %s32 + call void @scr_str_release(ptr %t71) + %t72 = load ptr, ptr %sc_l_p_0 + %t73 = call double @scr_str_index_of(ptr %t72, ptr @sc_lit_985787530504786, double 0x0000000000000000) + %t74 = fptosi double %t73 to i32 + store i32 %t74, ptr %sc_l_eq_0 + %t75 = load i32, ptr %sc_l_eq_0 + %t76 = sitofp i32 %t75 to double + %t78 = sext i32 %t75 to i64 + %t77 = icmp slt i64 %t78, 0 + br i1 %t77, label %if.t26, label %if.f28 +if.t26: + %t79 = load ptr, ptr %sc_l_out_0 + %t80 = load ptr, ptr %sc_l_p_0 + %t81 = call ptr @sc_bf__x25_m5_dec(ptr %t80) + %t82 = load i32, ptr %exc.cell + %t83 = icmp ne i32 %t82, 0 + %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false) + br i1 %t84, label %exc.u29, label %exc.k30 +exc.u29: + call void @scr_str_release(ptr %t81) + br label %exc.cleanup31 +exc.k30: + %t85 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 1 + %t86 = load i64, ptr %t85, !tbaa !2 + %t89 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 2 + %t87 = load i64, ptr %t89, !tbaa !2 + %t88 = icmp ult i64 %t86, %t87 + br i1 %t88, label %arr.push.dense32, label %arr.push.slow33 +arr.push.dense32: + %t90 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 8 + %t92 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 9 + %t91 = load ptr, ptr %t90, !tbaa !2 + %t93 = load ptr, ptr %t92, !tbaa !2 + %t94 = getelementptr inbounds i8, ptr %t93, i64 %t86 + %t95 = getelementptr inbounds i64, ptr %t91, i64 %t86 + store ptr %t81, ptr %t95, !tbaa !6 + store i8 1, ptr %t94, !tbaa !4 + %t96 = add nuw i64 %t86, 1 + store i64 %t96, ptr %t85, !tbaa !2 + %t98 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 6 + %t99 = load i32, ptr %t98, !tbaa !2 + %t103 = zext i32 %t99 to i64 + %t100 = icmp eq i64 %t103, %t86 + %t101 = add i32 %t99, 1 + %t102 = select i1 %t100, i32 %t101, i32 %t99 + store i32 %t102, ptr %t98, !tbaa !2 + %t97 = sitofp i64 %t96 to double + br label %arr.push.join34 +arr.push.slow33: + %t104 = call double @scr_arr_push_ref(ptr %t79, ptr %t81) cold + br label %arr.push.join34 +arr.push.join34: + %t105 = phi double [ %t97, %arr.push.dense32 ], [ %t104, %arr.push.slow33 ] + %t106 = load ptr, ptr %sc_l_out_0 + %t107 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 1 + %t108 = load i64, ptr %t107, !tbaa !2 + %t111 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 2 + %t109 = load i64, ptr %t111, !tbaa !2 + %t110 = icmp ult i64 %t108, %t109 + br i1 %t110, label %arr.push.dense35, label %arr.push.slow36 +arr.push.dense35: + %t112 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 8 + %t114 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 9 + %t113 = load ptr, ptr %t112, !tbaa !2 + %t115 = load ptr, ptr %t114, !tbaa !2 + %t116 = getelementptr inbounds i8, ptr %t115, i64 %t108 + %t117 = getelementptr inbounds i64, ptr %t113, i64 %t108 + store ptr @sc_lit_4005573543169985, ptr %t117, !tbaa !6 + store i8 1, ptr %t116, !tbaa !4 + %t118 = add nuw i64 %t108, 1 + store i64 %t118, ptr %t107, !tbaa !2 + %t120 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 6 + %t121 = load i32, ptr %t120, !tbaa !2 + %t125 = zext i32 %t121 to i64 + %t122 = icmp eq i64 %t125, %t108 + %t123 = add i32 %t121, 1 + %t124 = select i1 %t122, i32 %t123, i32 %t121 + store i32 %t124, ptr %t120, !tbaa !2 + %t119 = sitofp i64 %t118 to double + br label %arr.push.join37 +arr.push.slow36: + %t126 = call double @scr_arr_push_ref(ptr %t106, ptr @sc_lit_4005573543169985) cold + br label %arr.push.join37 +arr.push.join37: + %t127 = phi double [ %t119, %arr.push.dense35 ], [ %t126, %arr.push.slow36 ] + br label %if.j27 +if.f28: + %t128 = load ptr, ptr %sc_l_out_0 + %t129 = load ptr, ptr %sc_l_p_0 + %t130 = load i32, ptr %sc_l_eq_0 + %t131 = sitofp i32 %t130 to double + %t132 = call ptr @scr_str_slice(ptr %t129, double 0x0000000000000000, double %t131) + %t133 = call ptr @sc_bf__x25_m5_dec(ptr %t132) + %t134 = load i32, ptr %exc.cell + %t135 = icmp ne i32 %t134, 0 + %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false) + br i1 %t136, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_str_release(ptr %t132) + call void @scr_str_release(ptr %t133) + br label %exc.cleanup31 +exc.k39: + call void @scr_str_release(ptr %t132) + %t137 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 1 + %t138 = load i64, ptr %t137, !tbaa !2 + %t141 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 2 + %t139 = load i64, ptr %t141, !tbaa !2 + %t140 = icmp ult i64 %t138, %t139 + br i1 %t140, label %arr.push.dense40, label %arr.push.slow41 +arr.push.dense40: + %t142 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 8 + %t144 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 9 + %t143 = load ptr, ptr %t142, !tbaa !2 + %t145 = load ptr, ptr %t144, !tbaa !2 + %t146 = getelementptr inbounds i8, ptr %t145, i64 %t138 + %t147 = getelementptr inbounds i64, ptr %t143, i64 %t138 + store ptr %t133, ptr %t147, !tbaa !6 + store i8 1, ptr %t146, !tbaa !4 + %t148 = add nuw i64 %t138, 1 + store i64 %t148, ptr %t137, !tbaa !2 + %t150 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 6 + %t151 = load i32, ptr %t150, !tbaa !2 + %t155 = zext i32 %t151 to i64 + %t152 = icmp eq i64 %t155, %t138 + %t153 = add i32 %t151, 1 + %t154 = select i1 %t152, i32 %t153, i32 %t151 + store i32 %t154, ptr %t150, !tbaa !2 + %t149 = sitofp i64 %t148 to double + br label %arr.push.join42 +arr.push.slow41: + %t156 = call double @scr_arr_push_ref(ptr %t128, ptr %t133) cold + br label %arr.push.join42 +arr.push.join42: + %t157 = phi double [ %t149, %arr.push.dense40 ], [ %t156, %arr.push.slow41 ] + %t158 = load ptr, ptr %sc_l_out_0 + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = load i32, ptr %sc_l_eq_0 + %t161 = sitofp i32 %t160 to double + %t163 = sext i32 %t160 to i64 + %t164 = add nsw i64 %t163, 1 + %t166 = trunc i64 %t164 to i32 + %t165 = sitofp i64 %t164 to double + %t167 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t168 = call ptr @scr_str_slice(ptr %t159, double %t165, double %t167) + %t169 = call ptr @sc_bf__x25_m5_dec(ptr %t168) + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u43, label %exc.k44 +exc.u43: + call void @scr_str_release(ptr %t168) + call void @scr_str_release(ptr %t169) + br label %exc.cleanup31 +exc.k44: + call void @scr_str_release(ptr %t168) + %t173 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 1 + %t174 = load i64, ptr %t173, !tbaa !2 + %t177 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 2 + %t175 = load i64, ptr %t177, !tbaa !2 + %t176 = icmp ult i64 %t174, %t175 + br i1 %t176, label %arr.push.dense45, label %arr.push.slow46 +arr.push.dense45: + %t178 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 8 + %t180 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 9 + %t179 = load ptr, ptr %t178, !tbaa !2 + %t181 = load ptr, ptr %t180, !tbaa !2 + %t182 = getelementptr inbounds i8, ptr %t181, i64 %t174 + %t183 = getelementptr inbounds i64, ptr %t179, i64 %t174 + store ptr %t169, ptr %t183, !tbaa !6 + store i8 1, ptr %t182, !tbaa !4 + %t184 = add nuw i64 %t174, 1 + store i64 %t184, ptr %t173, !tbaa !2 + %t186 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 6 + %t187 = load i32, ptr %t186, !tbaa !2 + %t191 = zext i32 %t187 to i64 + %t188 = icmp eq i64 %t191, %t174 + %t189 = add i32 %t187, 1 + %t190 = select i1 %t188, i32 %t189, i32 %t187 + store i32 %t190, ptr %t186, !tbaa !2 + %t185 = sitofp i64 %t184 to double + br label %arr.push.join47 +arr.push.slow46: + %t192 = call double @scr_arr_push_ref(ptr %t158, ptr %t169) cold + br label %arr.push.join47 +arr.push.join47: + %t193 = phi double [ %t185, %arr.push.dense45 ], [ %t192, %arr.push.slow46 ] + br label %if.j27 +if.j27: + %t194 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t194) + br label %loop.u9 +loop.u9: + %t195 = load i64, ptr %s25 + %t196 = add nuw i64 %t195, 1 + store i64 %t196, ptr %s25 + br label %loop.c7 +loop.e6: + %t197 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t197) + br label %if.j5 +if.j5: + %t198 = load ptr, ptr %sc_l_this_0 + %t199 = load ptr, ptr %sc_l_out_0 + %t200 = call ptr @scr_arr_retain_v(ptr %t199) + %t201 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t198, i64 0, i32 9 + %t202 = load ptr, ptr %t201 + store ptr %t200, ptr %t201, !tbaa !146 + call void @scr_arr_release(ptr %t202) + %t203 = load ptr, ptr %sc_l_out_0 + %t204 = load ptr, ptr %sc_l_cached_0 + call void @scr_arr_release(ptr %t204) + ret ptr %t203 +exc.cleanup25: + %t205 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t205) + %t206 = load ptr, ptr %sc_l_cached_0 + call void @scr_arr_release(ptr %t206) + %t207 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t207) + ret ptr null +exc.cleanup31: + %t208 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t208) + %t209 = load ptr, ptr %sc_l_parts_0 + call void @scr_arr_release(ptr %t209) + %t210 = load ptr, ptr %sc_l_cached_0 + call void @scr_arr_release(ptr %t210) + %t211 = load ptr, ptr %sc_l_out_0 + call void @scr_arr_release(ptr %t211) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_ReqViewCore__parsed(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore__parsed(ptr %p0) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m5_CtxResCore_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_sink_0) #0 { ; %%m5.CtxResCore.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_sink_0 = alloca ptr ; sink + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_sink_0 + %t2 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t0, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !128 + call void @sc_release__x25_m2_ResponseSink(ptr %t4) + ret void +} +define internal void @sc_f__x25__x25_m5_CtxResCore_constructor(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m5_CtxResCore_constructor(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_CtxResCore(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p1) + ret void +} + +define internal double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_status(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxResCore.get:status +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret double 0x0000000000000000 +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !128 + %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6) + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + br label %exc.cleanup4 +exc.k3: + store ptr %t10, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t14 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 6 + br i1 %t17, label %tern.t5, label %tern.f6 +tern.t5: + %t20 = call ptr @scr_dyn_undefined() + %t19 = call ptr @scr_dyn_retain_v(ptr %t20) + store ptr %t19, ptr %s18 + br label %tern.j7 +tern.f6: + %t21 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = call ptr @sc_f__x25_dyn_class_property_67(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup10 +exc.k9: + store ptr %t23, ptr %s18 + br label %tern.j7 +tern.j7: + %t27 = load ptr, ptr %s18 + store ptr %t27, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callback_0 + %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t30) + %t31 = call ptr @scr_dyn_call(ptr %t28, ptr null, i64 0, ptr @sc_cs_579230036855125) + call void @scr_dyn_this_pop() + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup13 +exc.k12: + %t35 = call double @sc_dc_2(ptr %t31, ptr null) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup13 +exc.k15: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t41) + ret double %t35 +exc.cleanup4: + %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t42) + ret double 0x0000000000000000 +exc.cleanup10: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t44) + ret double 0x0000000000000000 +exc.cleanup13: + %t45 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t45) + %t46 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t46) + %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t47) + ret double 0x0000000000000000 +} +define internal double @sc_f__x25__x25_m5_CtxResCore_get_x3a_status(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_status(ptr %p0) + call void @sc_release__x25_m5_CtxResCore(ptr %p0) + ret double %result +} + +define internal double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_statusCode(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxResCore.get:statusCode +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret double 0x0000000000000000 +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !128 + %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6) + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + br label %exc.cleanup4 +exc.k3: + store ptr %t10, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t14 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 6 + br i1 %t17, label %tern.t5, label %tern.f6 +tern.t5: + %t20 = call ptr @scr_dyn_undefined() + %t19 = call ptr @scr_dyn_retain_v(ptr %t20) + store ptr %t19, ptr %s18 + br label %tern.j7 +tern.f6: + %t21 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = call ptr @sc_f__x25_dyn_class_property_67(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup10 +exc.k9: + store ptr %t23, ptr %s18 + br label %tern.j7 +tern.j7: + %t27 = load ptr, ptr %s18 + store ptr %t27, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callback_0 + %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t30) + %t31 = call ptr @scr_dyn_call(ptr %t28, ptr null, i64 0, ptr @sc_cs_579230036855125) + call void @scr_dyn_this_pop() + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup13 +exc.k12: + %t35 = call double @sc_dc_2(ptr %t31, ptr null) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup13 +exc.k15: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t41) + ret double %t35 +exc.cleanup4: + %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t42) + ret double 0x0000000000000000 +exc.cleanup10: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t44) + ret double 0x0000000000000000 +exc.cleanup13: + %t45 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t45) + %t46 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t46) + %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t47) + ret double 0x0000000000000000 +} +define internal double @sc_f__x25__x25_m5_CtxResCore_get_x3a_statusCode(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_statusCode(ptr %p0) + call void @sc_release__x25_m5_CtxResCore(ptr %p0) + ret double %result +} + +define internal ptr @sc_bf__x25__x25_m5_CtxResCore_header(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.CtxResCore.header +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_name_0 = alloca ptr ; name + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca ptr + %s33 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_name_0, ptr %sc_l_name_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !128 + %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6) + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + br label %exc.cleanup4 +exc.k3: + store ptr %t10, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t14 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 6 + br i1 %t17, label %tern.t5, label %tern.f6 +tern.t5: + %t20 = call ptr @scr_dyn_undefined() + %t19 = call ptr @scr_dyn_retain_v(ptr %t20) + store ptr %t19, ptr %s18 + br label %tern.j7 +tern.f6: + %t21 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = call ptr @sc_f__x25_dyn_class_property_28(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup10 +exc.k9: + store ptr %t23, ptr %s18 + br label %tern.j7 +tern.j7: + %t27 = load ptr, ptr %s18 + store ptr %t27, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callback_0 + %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t31 = load ptr, ptr %sc_l_name_0 + %t32 = call ptr @sc_td_0(ptr %t31) + %t34 = getelementptr inbounds [1 x ptr], ptr %s33, i64 0, i64 0 + store ptr %t32, ptr %t34 + call void @scr_dyn_this_push_dyn(ptr %t30) + %t35 = call ptr @scr_dyn_call(ptr %t28, ptr %s33, i64 1, ptr @sc_cs_845392426603274) + call void @scr_dyn_this_pop() + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t35) + br label %exc.cleanup13 +exc.k12: + %t39 = call ptr @sc_dc_63(ptr %t35, ptr null) + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t35) + call void @scr_str_release(ptr %t39) + br label %exc.cleanup13 +exc.k15: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t35) + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t44) + %t45 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t45) + ret ptr %t39 +exc.cleanup4: + %t46 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t46) + ret ptr null +exc.cleanup10: + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t48) + ret ptr null +exc.cleanup13: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + %t50 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxResCore_header(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_CtxResCore_header(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_CtxResCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxResCore.get:headers +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !128 + %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6) + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + br label %exc.cleanup4 +exc.k3: + store ptr %t10, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t14 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 6 + br i1 %t17, label %tern.t5, label %tern.f6 +tern.t5: + %t20 = call ptr @scr_dyn_undefined() + %t19 = call ptr @scr_dyn_retain_v(ptr %t20) + store ptr %t19, ptr %s18 + br label %tern.j7 +tern.f6: + %t21 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = call ptr @sc_f__x25_dyn_class_property_68(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup10 +exc.k9: + store ptr %t23, ptr %s18 + br label %tern.j7 +tern.j7: + %t27 = load ptr, ptr %s18 + store ptr %t27, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callback_0 + %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t30) + %t31 = call ptr @scr_dyn_call(ptr %t28, ptr null, i64 0, ptr @sc_cs_4179862058638952) + call void @scr_dyn_this_pop() + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup13 +exc.k12: + %t35 = call ptr @sc_dc_13(ptr %t31, ptr null) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rrelease_r0(ptr %t35) + br label %exc.cleanup13 +exc.k15: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t41) + ret ptr %t35 +exc.cleanup4: + %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t42) + ret ptr null +exc.cleanup10: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t44) + ret ptr null +exc.cleanup13: + %t45 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t45) + %t46 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t46) + %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t47) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %p0) + call void @sc_release__x25_m5_CtxResCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_CtxResCore_nodeRes(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxResCore.nodeRes +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !128 + %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6) + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + br label %exc.cleanup4 +exc.k3: + store ptr %t10, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t14 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 6 + br i1 %t17, label %tern.t5, label %tern.f6 +tern.t5: + %t20 = call ptr @scr_dyn_undefined() + %t19 = call ptr @scr_dyn_retain_v(ptr %t20) + store ptr %t19, ptr %s18 + br label %tern.j7 +tern.f6: + %t21 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = call ptr @sc_f__x25_dyn_class_property_10(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup10 +exc.k9: + store ptr %t23, ptr %s18 + br label %tern.j7 +tern.j7: + %t27 = load ptr, ptr %s18 + store ptr %t27, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callback_0 + %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t30) + %t31 = call ptr @scr_dyn_call(ptr %t28, ptr null, i64 0, ptr @sc_cs_4193314680235269) + call void @scr_dyn_this_pop() + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup13 +exc.k12: + %t35 = call ptr @sc_dc_14(ptr %t31, ptr null) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @scr_union_release(ptr %t35) + br label %exc.cleanup13 +exc.k15: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t41) + ret ptr %t35 +exc.cleanup4: + %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t42) + ret ptr null +exc.cleanup10: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t44) + ret ptr null +exc.cleanup13: + %t45 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t45) + %t46 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t46) + %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t47) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxResCore_nodeRes(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_CtxResCore_nodeRes(ptr %p0) + call void @sc_release__x25_m5_CtxResCore(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_req_0, ptr %p_sc_l_sink_0) #0 { ; %%m5.CtxCore.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_req_0 = alloca ptr ; req + %sc_l_sink_0 = alloca ptr ; sink + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s26 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = load ptr, ptr %sc_l_req_0 + %t6 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t5) + %t7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t4, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + store ptr %t6, ptr %t7, !tbaa !24 + call void @sc_release__x25_m5_ReqViewCore(ptr %t8) + %t9 = load ptr, ptr %sc_l_this_0 + %t10 = load ptr, ptr %sc_l_sink_0 + %t11 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t10) + %t12 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t9, i64 0, i32 2 + %t13 = load ptr, ptr %t12 + store ptr %t11, ptr %t12, !tbaa !44 + call void @sc_release__x25_m2_ResponseSink(ptr %t13) + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = load ptr, ptr %sc_l_sink_0 + store ptr %t15, ptr %sc_l__x25_callbackReceiver_0 + %t16 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t18) + ret void +exc.k3: + store ptr %t18, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t22 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t23 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t24 = load i32, ptr %t23 + %t25 = icmp eq i32 %t24, 6 + br i1 %t25, label %tern.t4, label %tern.f5 +tern.t4: + %t28 = call ptr @scr_dyn_undefined() + %t27 = call ptr @scr_dyn_retain_v(ptr %t28) + store ptr %t27, ptr %s26 + br label %tern.j6 +tern.f5: + %t29 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_f__x25_dyn_class_property_10(ptr %t30) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup9 +exc.k8: + store ptr %t31, ptr %s26 + br label %tern.j6 +tern.j6: + %t35 = load ptr, ptr %s26 + store ptr %t35, ptr %sc_l__x25_callback_0 + %t36 = load ptr, ptr %sc_l__x25_callback_0 + %t37 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t38 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t37, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t38) + %t39 = call ptr @scr_dyn_call(ptr %t36, ptr null, i64 0, ptr @sc_cs_2464045371370986) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_dc_14(ptr %t39, ptr null) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_union_release(ptr %t43) + br label %exc.cleanup12 +exc.k14: + %t47 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t14, i64 0, i32 7 + %t48 = load ptr, ptr %t47 + store ptr %t43, ptr %t47, !tbaa !162 + call void @scr_union_release(ptr %t48) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + %t50 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l_this_0 + %t52 = call ptr @sc_new__x25_m5_CtxResCore() + %t53 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25__x25_m5_CtxResCore_constructor(ptr %t52, ptr %t53) + %t54 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t51, i64 0, i32 3 + %t55 = load ptr, ptr %t54 + store ptr %t52, ptr %t54, !tbaa !164 + call void @sc_release__x25_m5_CtxResCore(ptr %t55) + %t56 = load ptr, ptr %sc_l_this_0 + %t57 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t56, i64 0, i32 4 + store double 0x4069000000000000, ptr %t57, !tbaa !48 + %t58 = load ptr, ptr %sc_l_this_0 + %t59 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t58, i64 0, i32 5 + %t60 = zext i1 false to i8 + store i8 %t60, ptr %t59, !tbaa !42 + %t61 = load ptr, ptr %sc_l_this_0 + %t62 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t61, i64 0, i32 6 + %t63 = load ptr, ptr %t62 + store ptr @sc_lit_1197604288682806, ptr %t62, !tbaa !166 + call void @scr_str_release(ptr %t63) + ret void +exc.cleanup9: + %t64 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t64) + ret void +exc.cleanup12: + %t65 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t65) + %t66 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t66) + ret void +} +define internal void @sc_f__x25__x25_m5_CtxCore_constructor(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @sc_release__x25_m5_ReqViewCore(ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p2) + ret void +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore_get_x3a_res(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxCore.get:res +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t0, i64 0, i32 3 + %t2 = load ptr, ptr %t1, !tbaa !164 + ret ptr %t2 +} +define internal ptr @sc_f__x25__x25_m5_CtxCore_get_x3a_res(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_CtxCore_get_x3a_res(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore_status(ptr %p_sc_l_this_0, double %p_sc_l_n_0) #0 { ; %%m5.CtxCore.status +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_n_0 = alloca double ; n + %sc_l_code_0 = alloca double ; code + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s22 = alloca ptr + %s37 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store double %p_sc_l_n_0, ptr %sc_l_n_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load double, ptr %sc_l_n_0 + store double %t4, ptr %sc_l_code_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = load double, ptr %sc_l_code_0 + %t7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t5, i64 0, i32 4 + store double %t6, ptr %t7, !tbaa !48 + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t8, i64 0, i32 2 + %t10 = load ptr, ptr %t9, !tbaa !44 + %t11 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t10) + store ptr %t11, ptr %sc_l__x25_callbackReceiver_0 + %t12 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t14 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t13) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t14) + br label %exc.cleanup4 +exc.k3: + store ptr %t14, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t18 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 6 + br i1 %t21, label %tern.t5, label %tern.f6 +tern.t5: + %t24 = call ptr @scr_dyn_undefined() + %t23 = call ptr @scr_dyn_retain_v(ptr %t24) + store ptr %t23, ptr %s22 + br label %tern.j7 +tern.f6: + %t25 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t26 = call ptr @sc_rc_retain_dyn(ptr %t25) + %t27 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t26) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup10 +exc.k9: + store ptr %t27, ptr %s22 + br label %tern.j7 +tern.j7: + %t31 = load ptr, ptr %s22 + store ptr %t31, ptr %sc_l__x25_callback_0 + %t32 = load ptr, ptr %sc_l__x25_callback_0 + %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t35 = load double, ptr %sc_l_code_0 + %t36 = call ptr @sc_td_2(double %t35) + %t38 = getelementptr inbounds [1 x ptr], ptr %s37, i64 0, i64 0 + store ptr %t36, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t34) + %t39 = call ptr @scr_dyn_call(ptr %t32, ptr %s37, i64 1, ptr @sc_cs_3951196332544625) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup13 +exc.k12: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t39) + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t44) + %t45 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t45) + %t46 = load ptr, ptr %sc_l_this_0 + ret ptr %t46 +exc.cleanup4: + %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t47) + ret ptr null +exc.cleanup10: + %t48 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t48) + %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t49) + ret ptr null +exc.cleanup13: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + %t52 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t52) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxCore_status(ptr %p0, double %p1) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_CtxCore_status(ptr %p0, double %p1) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore_header(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.CtxCore.header +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_k_0 = alloca ptr ; k + %sc_l_v_0 = alloca ptr ; v + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %s7 = alloca i1 + %s9 = alloca i1 + %s18 = alloca %ScrUnion + %s24 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s43 = alloca ptr + %s60 = alloca [2 x ptr] + %s84 = alloca ptr + %s101 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_opts_0 + %t6 = icmp ne ptr %t4, null + store i1 %t6, ptr %s7 + br i1 %t6, label %log.r2, label %log.j3 +log.r2: + store i1 true, ptr %s7 + br label %log.j3 +log.j3: + %t8 = load i1, ptr %s7 + store i1 %t8, ptr %s9 + br i1 %t8, label %log.r4, label %log.j5 +log.r4: + %t10 = load ptr, ptr %sc_l_opts_0 + %t11 = getelementptr inbounds %sc_rs_r4, ptr %t10, i64 0, i32 1 + %t12 = getelementptr inbounds { i32, i64 }, ptr %t11, i32 0, i32 0 + %t14 = load i32, ptr %t12 + %t13 = getelementptr inbounds { i32, i64 }, ptr %t11, i32 0, i32 1 + %t15 = load i64, ptr %t13 + %t16 = icmp eq i32 %t14, 1 + %t17 = select i1 %t16, i64 0, i64 %t15 + store i64 -1, ptr %s18 + %t19 = getelementptr inbounds %ScrUnion, ptr %s18, i64 0, i32 1 + store i32 %t14, ptr %t19 + %t20 = getelementptr inbounds %ScrUnion, ptr %s18, i64 0, i32 5 + store i64 %t17, ptr %t20 + %t22 = getelementptr inbounds %ScrUnion, ptr %s18, i64 0, i32 1 + %t21 = load i32, ptr %t22 + %t23 = icmp eq i32 %t21, 0 + store i1 false, ptr %s24 + br i1 %t23, label %ueq.s6, label %ueq.j7 +ueq.s6: + %t26 = call zeroext i1 @scr_union_get_bool(ptr %s18) + %t25 = icmp eq i1 %t26, true + store i1 %t25, ptr %s24 + br label %ueq.j7 +ueq.j7: + %t27 = load i1, ptr %s24 + store i1 %t27, ptr %s9 + br label %log.j5 +log.j5: + %t28 = load i1, ptr %s9 + br i1 %t28, label %if.t8, label %if.f10 +if.t8: + %t29 = load ptr, ptr %sc_l_this_0 + %t30 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t29, i64 0, i32 2 + %t31 = load ptr, ptr %t30, !tbaa !44 + %t32 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t31) + store ptr %t32, ptr %sc_l__x25_callbackReceiver_0 + %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t35 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t34) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t35) + br label %exc.cleanup13 +exc.k12: + store ptr %t35, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t40 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t41 = load i32, ptr %t40 + %t42 = icmp eq i32 %t41, 6 + br i1 %t42, label %tern.t14, label %tern.f15 +tern.t14: + %t45 = call ptr @scr_dyn_undefined() + %t44 = call ptr @scr_dyn_retain_v(ptr %t45) + store ptr %t44, ptr %s43 + br label %tern.j16 +tern.f15: + %t46 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t47 = call ptr @sc_rc_retain_dyn(ptr %t46) + %t48 = call ptr @sc_f__x25_dyn_class_property_15(ptr %t47) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t48) + br label %exc.cleanup19 +exc.k18: + store ptr %t48, ptr %s43 + br label %tern.j16 +tern.j16: + %t52 = load ptr, ptr %s43 + store ptr %t52, ptr %sc_l__x25_callback_0 + %t53 = load ptr, ptr %sc_l__x25_callback_0 + %t54 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t55 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t54, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t56 = load ptr, ptr %sc_l_k_0 + %t57 = call ptr @sc_td_0(ptr %t56) + %t58 = load ptr, ptr %sc_l_v_0 + %t59 = call ptr @sc_td_0(ptr %t58) + %t61 = getelementptr inbounds [2 x ptr], ptr %s60, i64 0, i64 0 + store ptr %t57, ptr %t61 + %t62 = getelementptr inbounds [2 x ptr], ptr %s60, i64 0, i64 1 + store ptr %t59, ptr %t62 + call void @scr_dyn_this_push_dyn(ptr %t55) + %t63 = call ptr @scr_dyn_call(ptr %t53, ptr %s60, i64 2, ptr @sc_cs_3548747207791957) + call void @scr_dyn_this_pop() + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + br label %exc.cleanup22 +exc.k21: + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + %t67 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t67) + %t68 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t68) + %t69 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t69) + br label %if.j9 +if.f10: + %t70 = load ptr, ptr %sc_l_this_0 + %t71 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t70, i64 0, i32 2 + %t72 = load ptr, ptr %t71, !tbaa !44 + %t73 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t72) + store ptr %t73, ptr %sc_l__x25_callbackReceiver_1 + %t74 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t76 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t75) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u23, label %exc.k24 +exc.u23: + call void @sc_rc_release_dyn(ptr %t76) + br label %exc.cleanup25 +exc.k24: + store ptr %t76, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t80 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t81 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind + %t82 = load i32, ptr %t81 + %t83 = icmp eq i32 %t82, 6 + br i1 %t83, label %tern.t26, label %tern.f27 +tern.t26: + %t86 = call ptr @scr_dyn_undefined() + %t85 = call ptr @scr_dyn_retain_v(ptr %t86) + store ptr %t85, ptr %s84 + br label %tern.j28 +tern.f27: + %t87 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t88 = call ptr @sc_rc_retain_dyn(ptr %t87) + %t89 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t88) + %t90 = load i32, ptr %exc.cell + %t91 = icmp ne i32 %t90, 0 + %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false) + br i1 %t92, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t89) + br label %exc.cleanup31 +exc.k30: + store ptr %t89, ptr %s84 + br label %tern.j28 +tern.j28: + %t93 = load ptr, ptr %s84 + store ptr %t93, ptr %sc_l__x25_callback_1 + %t94 = load ptr, ptr %sc_l__x25_callback_1 + %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t97 = load ptr, ptr %sc_l_k_0 + %t98 = call ptr @sc_td_0(ptr %t97) + %t99 = load ptr, ptr %sc_l_v_0 + %t100 = call ptr @sc_td_0(ptr %t99) + %t102 = getelementptr inbounds [2 x ptr], ptr %s101, i64 0, i64 0 + store ptr %t98, ptr %t102 + %t103 = getelementptr inbounds [2 x ptr], ptr %s101, i64 0, i64 1 + store ptr %t100, ptr %t103 + call void @scr_dyn_this_push_dyn(ptr %t96) + %t104 = call ptr @scr_dyn_call(ptr %t94, ptr %s101, i64 2, ptr @sc_cs_4344474916287258) + call void @scr_dyn_this_pop() + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t98) + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t104) + br label %exc.cleanup34 +exc.k33: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t98) + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t104) + %t108 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t108) + %t109 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t109) + %t110 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t110) + br label %if.j9 +if.j9: + %t111 = load ptr, ptr %sc_l_this_0 + ret ptr %t111 +exc.cleanup13: + %t112 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t112) + ret ptr null +exc.cleanup19: + %t113 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t113) + %t114 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t114) + ret ptr null +exc.cleanup22: + %t115 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t115) + %t116 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t116) + %t117 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t117) + ret ptr null +exc.cleanup25: + %t118 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t118) + ret ptr null +exc.cleanup31: + %t119 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t119) + %t120 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t120) + ret ptr null +exc.cleanup34: + %t121 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t121) + %t122 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t122) + %t123 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t123) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxCore_header(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_CtxCore_header(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @sc_rrelease_r4(ptr %p3) + ret ptr %t3 +} + +define internal void @sc_bf__x25__x25_m5_CtxCore_set(ptr %p_sc_l_this_0, ptr %p_sc_l_key_0, ptr %p_sc_l_value_0) #0 { ; %%m5.CtxCore.set +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_key_0 = alloca ptr ; key + %sc_l_value_0 = alloca ptr ; value + %sc_l_k_0 = alloca ptr ; k + %sc_l_cur_0 = alloca ptr ; cur + %sc_l__x25_setReceiver_0 = alloca ptr ; %setReceiver + %sc_l__x25_setKey_0 = alloca ptr ; %setKey + %sc_l__x25_setValue_0 = alloca ptr ; %setValue + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l_cur_0 + store ptr null, ptr %sc_l__x25_setReceiver_0 + store ptr null, ptr %sc_l__x25_setKey_0 + store ptr null, ptr %sc_l__x25_setValue_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_key_0, ptr %sc_l_key_0 + store ptr %p_sc_l_value_0, ptr %sc_l_value_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_0 + store ptr %t4, ptr %sc_l_k_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t5, i64 0, i32 6 + %t7 = load ptr, ptr %t6, !tbaa !166 + %t8 = call ptr @sc_rc_retain_str(ptr %t7) + %t9 = call ptr @scr_json_parse(ptr %t8) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_str_release(ptr %t8) + call void @sc_rc_release_dyn(ptr %t9) + ret void +exc.k3: + store ptr %t9, ptr %sc_l_cur_0 + call void @scr_str_release(ptr %t8) + %t13 = load ptr, ptr %sc_l_cur_0 + store ptr %t13, ptr %sc_l__x25_setReceiver_0 + %t14 = load ptr, ptr %sc_l_k_0 + %t15 = call ptr @sc_td_0(ptr %t14) + store ptr %t15, ptr %sc_l__x25_setKey_0 + %t16 = load ptr, ptr %sc_l_value_0 + store ptr %t16, ptr %sc_l__x25_setValue_0 + %t17 = load ptr, ptr %sc_l__x25_setReceiver_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = load ptr, ptr %sc_l__x25_setKey_0 + %t20 = load ptr, ptr %sc_l__x25_setValue_0 + call void @sc_bf__x25_dyn_class_computed_0(ptr %t18, ptr %t19, ptr %t20) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u4, label %exc.k5 +exc.u4: + br label %exc.cleanup6 +exc.k5: + %t24 = load ptr, ptr %sc_l__x25_setKey_0 + call void @sc_rc_release_dyn(ptr %t24) + %t25 = load ptr, ptr %sc_l_this_0 + %t26 = load ptr, ptr %sc_l_cur_0 + %t28 = call ptr @scr_dyn_undefined() + %t27 = call ptr @scr_dyn_retain_v(ptr %t28) + %t29 = call ptr @scr_json_stringify_replacer(ptr %t26, ptr %t27, ptr @sc_lit_4005573543169985) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup9 +exc.k8: + %t33 = call ptr @sc_ds(ptr %t29) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_str_release(ptr %t33) + br label %exc.cleanup9 +exc.k11: + %t37 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t25, i64 0, i32 6 + %t38 = load ptr, ptr %t37 + store ptr %t33, ptr %t37, !tbaa !166 + call void @scr_str_release(ptr %t38) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + %t39 = load ptr, ptr %sc_l_cur_0 + call void @sc_rc_release_dyn(ptr %t39) + ret void +exc.cleanup6: + %t40 = load ptr, ptr %sc_l__x25_setKey_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l_cur_0 + call void @sc_rc_release_dyn(ptr %t41) + ret void +exc.cleanup9: + %t42 = load ptr, ptr %sc_l_cur_0 + call void @sc_rc_release_dyn(ptr %t42) + ret void +} +define internal void @sc_f__x25__x25_m5_CtxCore_set(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m5_CtxCore_set(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + ret void +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore_json(ptr %p_sc_l_this_0, ptr %p_sc_l_o_0) #0 { ; %%m5.CtxCore.json +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_o_0 = alloca ptr ; o + %sc_l_t_0 = alloca ptr ; t + %sc_l_s_0 = alloca ptr ; s + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s28 = alloca ptr + %s45 = alloca [2 x ptr] + store ptr null, ptr %sc_l_t_0 + store ptr null, ptr %sc_l_s_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_o_0, ptr %sc_l_o_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_o_0 + %t6 = call ptr @scr_dyn_undefined() + %t5 = call ptr @scr_dyn_retain_v(ptr %t6) + %t7 = call ptr @scr_json_stringify_replacer(ptr %t4, ptr %t5, ptr @sc_lit_4005573543169985) + %t8 = load i32, ptr %exc.cell + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t5) + call void @sc_rc_release_dyn(ptr %t7) + ret ptr null +exc.k3: + %t11 = call ptr @sc_ds(ptr %t7) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t5) + call void @sc_rc_release_dyn(ptr %t7) + call void @scr_str_release(ptr %t11) + ret ptr null +exc.k5: + store ptr %t11, ptr %sc_l_t_0 + call void @sc_rc_release_dyn(ptr %t5) + call void @sc_rc_release_dyn(ptr %t7) + store ptr @sc_lit_2043119860907636, ptr %sc_l_s_0 + br i1 true, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_t_0 + %t16 = call ptr @sc_rc_retain_str(ptr %t15) + %t17 = load ptr, ptr %sc_l_s_0 + call void @scr_str_release(ptr %t17) + store ptr %t16, ptr %sc_l_s_0 + br label %if.j7 +if.j7: + %t18 = load ptr, ptr %sc_l_this_0 + store ptr %t18, ptr %sc_l__x25_callbackReceiver_0 + %t19 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t20 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup10 +exc.k9: + store ptr %t20, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t24 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t25 = getelementptr inbounds i8, ptr %t24, i64 8 ; ->kind + %t26 = load i32, ptr %t25 + %t27 = icmp eq i32 %t26, 6 + br i1 %t27, label %tern.t11, label %tern.f12 +tern.t11: + %t30 = call ptr @scr_dyn_undefined() + %t29 = call ptr @scr_dyn_retain_v(ptr %t30) + store ptr %t29, ptr %s28 + br label %tern.j13 +tern.f12: + %t31 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t32 = call ptr @sc_rc_retain_dyn(ptr %t31) + %t33 = call ptr @sc_f__x25_dyn_class_property_11(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup16 +exc.k15: + store ptr %t33, ptr %s28 + br label %tern.j13 +tern.j13: + %t37 = load ptr, ptr %s28 + store ptr %t37, ptr %sc_l__x25_callback_0 + %t38 = load ptr, ptr %sc_l__x25_callback_0 + %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t41 = load ptr, ptr %sc_l_s_0 + %t42 = call ptr @sc_rc_retain_str(ptr %t41) + %t43 = call ptr @sc_td_0(ptr %t42) + %t44 = call ptr @sc_td_0(ptr @sc_lit_2488658682239846) + %t46 = getelementptr inbounds [2 x ptr], ptr %s45, i64 0, i64 0 + store ptr %t43, ptr %t46 + %t47 = getelementptr inbounds [2 x ptr], ptr %s45, i64 0, i64 1 + store ptr %t44, ptr %t47 + call void @scr_dyn_this_push_dyn(ptr %t40) + %t48 = call ptr @scr_dyn_call(ptr %t38, ptr %s45, i64 2, ptr @sc_cs_4040980926545257) + call void @scr_dyn_this_pop() + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t40) + call void @scr_str_release(ptr %t42) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t44) + call void @sc_rc_release_dyn(ptr %t48) + br label %exc.cleanup19 +exc.k18: + %t52 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t48) + %t53 = load i32, ptr %exc.cell + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t40) + call void @scr_str_release(ptr %t42) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t44) + call void @sc_rc_release_dyn(ptr %t48) + call void @sc_release__x25_m5_CtxCore(ptr %t52) + br label %exc.cleanup19 +exc.k21: + call void @sc_rc_release_dyn(ptr %t40) + call void @scr_str_release(ptr %t42) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t44) + call void @sc_rc_release_dyn(ptr %t48) + %t56 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t56) + %t57 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t57) + %t58 = load ptr, ptr %sc_l_t_0 + call void @scr_str_release(ptr %t58) + %t59 = load ptr, ptr %sc_l_s_0 + call void @scr_str_release(ptr %t59) + ret ptr %t52 +exc.cleanup10: + %t60 = load ptr, ptr %sc_l_t_0 + call void @scr_str_release(ptr %t60) + %t61 = load ptr, ptr %sc_l_s_0 + call void @scr_str_release(ptr %t61) + ret ptr null +exc.cleanup16: + %t62 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t62) + %t63 = load ptr, ptr %sc_l_t_0 + call void @scr_str_release(ptr %t63) + %t64 = load ptr, ptr %sc_l_s_0 + call void @scr_str_release(ptr %t64) + ret ptr null +exc.cleanup19: + %t65 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t65) + %t66 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t66) + %t67 = load ptr, ptr %sc_l_t_0 + call void @scr_str_release(ptr %t67) + %t68 = load ptr, ptr %sc_l_s_0 + call void @scr_str_release(ptr %t68) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxCore_json(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_CtxCore_json(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore_text(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m5.CtxCore.text +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_s_0 = alloca ptr ; s + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s30 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_11(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t27 = load ptr, ptr %sc_l_s_0 + %t28 = call ptr @sc_td_0(ptr %t27) + %t29 = call ptr @sc_td_0(ptr @sc_lit_266676967674785) + %t31 = getelementptr inbounds [2 x ptr], ptr %s30, i64 0, i64 0 + store ptr %t28, ptr %t31 + %t32 = getelementptr inbounds [2 x ptr], ptr %s30, i64 0, i64 1 + store ptr %t29, ptr %t32 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t33 = call ptr @scr_dyn_call(ptr %t24, ptr %s30, i64 2, ptr @sc_cs_4040980926545257) + call void @scr_dyn_this_pop() + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup12 +exc.k11: + %t37 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t33) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_release__x25_m5_CtxCore(ptr %t37) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t33) + %t41 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t41) + %t42 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t42) + ret ptr %t37 +exc.cleanup9: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + ret ptr null +exc.cleanup12: + %t44 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t44) + %t45 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t45) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxCore_text(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_CtxCore_text(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore_html(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m5.CtxCore.html +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_s_0 = alloca ptr ; s + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s30 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_11(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t27 = load ptr, ptr %sc_l_s_0 + %t28 = call ptr @sc_td_0(ptr %t27) + %t29 = call ptr @sc_td_0(ptr @sc_lit_1657010753210616) + %t31 = getelementptr inbounds [2 x ptr], ptr %s30, i64 0, i64 0 + store ptr %t28, ptr %t31 + %t32 = getelementptr inbounds [2 x ptr], ptr %s30, i64 0, i64 1 + store ptr %t29, ptr %t32 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t33 = call ptr @scr_dyn_call(ptr %t24, ptr %s30, i64 2, ptr @sc_cs_4040980926545257) + call void @scr_dyn_this_pop() + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup12 +exc.k11: + %t37 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t33) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_release__x25_m5_CtxCore(ptr %t37) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t33) + %t41 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t41) + %t42 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t42) + ret ptr %t37 +exc.cleanup9: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + ret ptr null +exc.cleanup12: + %t44 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t44) + %t45 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t45) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxCore_html(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_CtxCore_html(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l_url_0, ptr %p_sc_l_code_0) #0 { ; %%m5.CtxCore.redirect +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_url_0 = alloca ptr ; url + %sc_l_code_0 = alloca ptr ; code + %sc_l_n_0 = alloca double ; n + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %s8 = alloca double + %s9 = alloca i32 + %exc.cell = load ptr, ptr @scr_exc_active + %s24 = alloca ptr + %s39 = alloca [1 x ptr] + %s65 = alloca ptr + %s81 = alloca [2 x ptr] + %s105 = alloca ptr + %s119 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_url_0, ptr %sc_l_url_0 + store ptr %p_sc_l_code_0, ptr %sc_l_code_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_code_0 + %t7 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 1 + %t6 = load i32, ptr %t7 + %t5 = icmp eq i32 %t6, 1 + br i1 %t5, label %tern.t2, label %tern.f3 +tern.t2: + store double 0x4072E00000000000, ptr %s8 + store i32 302, ptr %s9 + br label %tern.j4 +tern.f3: + %t10 = load ptr, ptr %sc_l_code_0 + %t11 = getelementptr inbounds %ScrUnion, ptr %t10, i64 0, i32 5 + %t12 = load double, ptr %t11 + store double %t12, ptr %s8 + br label %tern.j4 +tern.j4: + %t13 = load double, ptr %s8 + store double %t13, ptr %sc_l_n_0 + %t14 = load ptr, ptr %sc_l_this_0 + store ptr %t14, ptr %sc_l__x25_callbackReceiver_0 + %t15 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t16 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t15) + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t16) + ret ptr null +exc.k6: + store ptr %t16, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t20 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t21 = getelementptr inbounds i8, ptr %t20, i64 8 ; ->kind + %t22 = load i32, ptr %t21 + %t23 = icmp eq i32 %t22, 6 + br i1 %t23, label %tern.t7, label %tern.f8 +tern.t7: + %t26 = call ptr @scr_dyn_undefined() + %t25 = call ptr @scr_dyn_retain_v(ptr %t26) + store ptr %t25, ptr %s24 + br label %tern.j9 +tern.f8: + %t27 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t28) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup12 +exc.k11: + store ptr %t29, ptr %s24 + br label %tern.j9 +tern.j9: + %t33 = load ptr, ptr %s24 + store ptr %t33, ptr %sc_l__x25_callback_0 + %t34 = load ptr, ptr %sc_l__x25_callback_0 + %t35 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t36 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t35, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t37 = load double, ptr %sc_l_n_0 + %t38 = call ptr @sc_td_2(double %t37) + %t40 = getelementptr inbounds [1 x ptr], ptr %s39, i64 0, i64 0 + store ptr %t38, ptr %t40 + call void @scr_dyn_this_push_dyn(ptr %t36) + %t41 = call ptr @scr_dyn_call(ptr %t34, ptr %s39, i64 1, ptr @sc_cs_2252369542214597) + call void @scr_dyn_this_pop() + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t41) + br label %exc.cleanup15 +exc.k14: + %t45 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t41) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_release__x25_m5_CtxCore(ptr %t45) + br label %exc.cleanup15 +exc.k17: + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_release__x25_m5_CtxCore(ptr %t45) + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + %t50 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l_this_0 + %t52 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t51, i64 0, i32 2 + %t53 = load ptr, ptr %t52, !tbaa !44 + %t54 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t53) + store ptr %t54, ptr %sc_l__x25_callbackReceiver_1 + %t55 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t57 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t56) + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t57) + br label %exc.cleanup20 +exc.k19: + store ptr %t57, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t61 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t62 = getelementptr inbounds i8, ptr %t61, i64 8 ; ->kind + %t63 = load i32, ptr %t62 + %t64 = icmp eq i32 %t63, 6 + br i1 %t64, label %tern.t21, label %tern.f22 +tern.t21: + %t67 = call ptr @scr_dyn_undefined() + %t66 = call ptr @scr_dyn_retain_v(ptr %t67) + store ptr %t66, ptr %s65 + br label %tern.j23 +tern.f22: + %t68 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t69 = call ptr @sc_rc_retain_dyn(ptr %t68) + %t70 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t69) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t70) + br label %exc.cleanup26 +exc.k25: + store ptr %t70, ptr %s65 + br label %tern.j23 +tern.j23: + %t74 = load ptr, ptr %s65 + store ptr %t74, ptr %sc_l__x25_callback_1 + %t75 = load ptr, ptr %sc_l__x25_callback_1 + %t76 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t77 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t76, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t78 = call ptr @sc_td_0(ptr @sc_lit_4062345987786846) + %t79 = load ptr, ptr %sc_l_url_0 + %t80 = call ptr @sc_td_0(ptr %t79) + %t82 = getelementptr inbounds [2 x ptr], ptr %s81, i64 0, i64 0 + store ptr %t78, ptr %t82 + %t83 = getelementptr inbounds [2 x ptr], ptr %s81, i64 0, i64 1 + store ptr %t80, ptr %t83 + call void @scr_dyn_this_push_dyn(ptr %t77) + %t84 = call ptr @scr_dyn_call(ptr %t75, ptr %s81, i64 2, ptr @sc_cs_4344474916287258) + call void @scr_dyn_this_pop() + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + br label %exc.cleanup29 +exc.k28: + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + %t88 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t88) + %t89 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t89) + %t90 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t90) + %t91 = load ptr, ptr %sc_l_this_0 + %t92 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t91, i64 0, i32 2 + %t93 = load ptr, ptr %t92, !tbaa !44 + %t94 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t93) + store ptr %t94, ptr %sc_l__x25_callbackReceiver_2 + %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t97 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t96) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t97) + br label %exc.cleanup32 +exc.k31: + store ptr %t97, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t101 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t102 = getelementptr inbounds i8, ptr %t101, i64 8 ; ->kind + %t103 = load i32, ptr %t102 + %t104 = icmp eq i32 %t103, 6 + br i1 %t104, label %tern.t33, label %tern.f34 +tern.t33: + %t107 = call ptr @scr_dyn_undefined() + %t106 = call ptr @scr_dyn_retain_v(ptr %t107) + store ptr %t106, ptr %s105 + br label %tern.j35 +tern.f34: + %t108 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t109 = call ptr @sc_rc_retain_dyn(ptr %t108) + %t110 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t109) + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup38 +exc.k37: + store ptr %t110, ptr %s105 + br label %tern.j35 +tern.j35: + %t114 = load ptr, ptr %s105 + store ptr %t114, ptr %sc_l__x25_callback_2 + %t115 = load ptr, ptr %sc_l__x25_callback_2 + %t116 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t117 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t116, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t118 = call ptr @sc_td_0(ptr @sc_lit_4005573543169985) + %t120 = getelementptr inbounds [1 x ptr], ptr %s119, i64 0, i64 0 + store ptr %t118, ptr %t120 + call void @scr_dyn_this_push_dyn(ptr %t117) + %t121 = call ptr @scr_dyn_call(ptr %t115, ptr %s119, i64 1, ptr @sc_cs_543104408299578) + call void @scr_dyn_this_pop() + %t122 = load i32, ptr %exc.cell + %t123 = icmp ne i32 %t122, 0 + %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false) + br i1 %t124, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t121) + br label %exc.cleanup41 +exc.k40: + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t121) + %t125 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t125) + %t126 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t126) + %t127 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m2_ResponseSink(ptr %t127) + %t128 = load ptr, ptr %sc_l_this_0 + %t129 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t128, i64 0, i32 5 + %t130 = zext i1 true to i8 + store i8 %t130, ptr %t129, !tbaa !42 + %t131 = load ptr, ptr %sc_l_this_0 + ret ptr %t131 +exc.cleanup12: + %t132 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +exc.cleanup15: + %t133 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t133) + %t134 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t134) + ret ptr null +exc.cleanup20: + %t135 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t135) + ret ptr null +exc.cleanup26: + %t136 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t136) + %t137 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t137) + ret ptr null +exc.cleanup29: + %t138 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t138) + %t139 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t139) + %t140 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t140) + ret ptr null +exc.cleanup32: + %t141 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m2_ResponseSink(ptr %t141) + ret ptr null +exc.cleanup38: + %t142 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t142) + %t143 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m2_ResponseSink(ptr %t143) + ret ptr null +exc.cleanup41: + %t144 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t144) + %t145 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t145) + %t146 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m2_ResponseSink(ptr %t146) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxCore_redirect(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_CtxCore_redirect(ptr %p0, ptr %p1, ptr %p2) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_union_release(ptr %p2) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore_bytes(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0, ptr %p_sc_l_ct_0) #0 { ; %%m5.CtxCore.bytes +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_b_0 = alloca ptr ; b + %sc_l_ct_0 = alloca ptr ; ct + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s18 = alloca ptr + %s35 = alloca [1 x ptr] + %s58 = alloca ptr + %s75 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t4, i64 0, i32 2 + %t6 = load ptr, ptr %t5, !tbaa !44 + %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6) + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + br label %exc.cleanup4 +exc.k3: + store ptr %t10, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t14 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind + %t16 = load i32, ptr %t15 + %t17 = icmp eq i32 %t16, 6 + br i1 %t17, label %tern.t5, label %tern.f6 +tern.t5: + %t20 = call ptr @scr_dyn_undefined() + %t19 = call ptr @scr_dyn_retain_v(ptr %t20) + store ptr %t19, ptr %s18 + br label %tern.j7 +tern.f6: + %t21 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup10 +exc.k9: + store ptr %t23, ptr %s18 + br label %tern.j7 +tern.j7: + %t27 = load ptr, ptr %s18 + store ptr %t27, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callback_0 + %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t31 = load ptr, ptr %sc_l_this_0 + %t32 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t31, i64 0, i32 4 + %t33 = load double, ptr %t32, !tbaa !48 + %t34 = call ptr @sc_td_2(double %t33) + %t36 = getelementptr inbounds [1 x ptr], ptr %s35, i64 0, i64 0 + store ptr %t34, ptr %t36 + call void @scr_dyn_this_push_dyn(ptr %t30) + %t37 = call ptr @scr_dyn_call(ptr %t28, ptr %s35, i64 1, ptr @sc_cs_3951196332544625) + call void @scr_dyn_this_pop() + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t37) + br label %exc.cleanup13 +exc.k12: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t37) + %t41 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t41) + %t42 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t42) + %t43 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t43) + %t44 = load ptr, ptr %sc_l_this_0 + %t45 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t44, i64 0, i32 2 + %t46 = load ptr, ptr %t45, !tbaa !44 + %t47 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t46) + store ptr %t47, ptr %sc_l__x25_callbackReceiver_1 + %t48 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t49 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t48, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t50 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t49) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t50) + br label %exc.cleanup16 +exc.k15: + store ptr %t50, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t54 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t55 = getelementptr inbounds i8, ptr %t54, i64 8 ; ->kind + %t56 = load i32, ptr %t55 + %t57 = icmp eq i32 %t56, 6 + br i1 %t57, label %tern.t17, label %tern.f18 +tern.t17: + %t60 = call ptr @scr_dyn_undefined() + %t59 = call ptr @scr_dyn_retain_v(ptr %t60) + store ptr %t59, ptr %s58 + br label %tern.j19 +tern.f18: + %t61 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t62 = call ptr @sc_rc_retain_dyn(ptr %t61) + %t63 = call ptr @sc_f__x25_dyn_class_property_17(ptr %t62) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t63) + br label %exc.cleanup22 +exc.k21: + store ptr %t63, ptr %s58 + br label %tern.j19 +tern.j19: + %t67 = load ptr, ptr %s58 + store ptr %t67, ptr %sc_l__x25_callback_1 + %t68 = load ptr, ptr %sc_l__x25_callback_1 + %t69 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t70 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t69, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t71 = load ptr, ptr %sc_l_b_0 + %t72 = call ptr @sc_td_1(ptr %t71) + %t73 = load ptr, ptr %sc_l_ct_0 + %t74 = call ptr @sc_td_0(ptr %t73) + %t76 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 0 + store ptr %t72, ptr %t76 + %t77 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 1 + store ptr %t74, ptr %t77 + call void @scr_dyn_this_push_dyn(ptr %t70) + %t78 = call ptr @scr_dyn_call(ptr %t68, ptr %s75, i64 2, ptr @sc_cs_2097056599080311) + call void @scr_dyn_this_pop() + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u23, label %exc.k24 +exc.u23: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t78) + br label %exc.cleanup25 +exc.k24: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t78) + %t82 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t82) + %t83 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t83) + %t84 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t84) + %t85 = load ptr, ptr %sc_l_this_0 + %t86 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t85, i64 0, i32 5 + %t87 = zext i1 true to i8 + store i8 %t87, ptr %t86, !tbaa !42 + %t88 = load ptr, ptr %sc_l_this_0 + ret ptr %t88 +exc.cleanup4: + %t89 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t89) + ret ptr null +exc.cleanup10: + %t90 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t90) + %t91 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t91) + ret ptr null +exc.cleanup13: + %t92 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t92) + %t93 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t93) + %t94 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t94) + ret ptr null +exc.cleanup16: + %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t95) + ret ptr null +exc.cleanup22: + %t96 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t96) + %t97 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t97) + ret ptr null +exc.cleanup25: + %t98 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t98) + %t99 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t99) + %t100 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t100) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxCore_bytes(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_CtxCore_bytes(ptr %p0, ptr %p1, ptr %p2) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @scr_bytes_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_CtxCore__send(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0, ptr %p_sc_l_ct_0) #0 { ; %%m5.CtxCore._send +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_s_0 = alloca ptr ; s + %sc_l_ct_0 = alloca ptr ; ct + %sc_l_b_0 = alloca ptr ; b + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s19 = alloca ptr + %s36 = alloca [1 x ptr] + %s59 = alloca ptr + %s75 = alloca [2 x ptr] + %s99 = alloca ptr + %s117 = alloca [2 x ptr] + %s141 = alloca ptr + %s156 = alloca [1 x ptr] + store ptr null, ptr %sc_l_b_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_s_0 + store ptr %t4, ptr %sc_l_b_0 + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t5, i64 0, i32 2 + %t7 = load ptr, ptr %t6, !tbaa !44 + %t8 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t7) + store ptr %t8, ptr %sc_l__x25_callbackReceiver_0 + %t9 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t10 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t9, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t11 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t11) + br label %exc.cleanup4 +exc.k3: + store ptr %t11, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t15 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t16 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t17 = load i32, ptr %t16 + %t18 = icmp eq i32 %t17, 6 + br i1 %t18, label %tern.t5, label %tern.f6 +tern.t5: + %t21 = call ptr @scr_dyn_undefined() + %t20 = call ptr @scr_dyn_retain_v(ptr %t21) + store ptr %t20, ptr %s19 + br label %tern.j7 +tern.f6: + %t22 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t23 = call ptr @sc_rc_retain_dyn(ptr %t22) + %t24 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t24) + br label %exc.cleanup10 +exc.k9: + store ptr %t24, ptr %s19 + br label %tern.j7 +tern.j7: + %t28 = load ptr, ptr %s19 + store ptr %t28, ptr %sc_l__x25_callback_0 + %t29 = load ptr, ptr %sc_l__x25_callback_0 + %t30 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t31 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t30, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t32, i64 0, i32 4 + %t34 = load double, ptr %t33, !tbaa !48 + %t35 = call ptr @sc_td_2(double %t34) + %t37 = getelementptr inbounds [1 x ptr], ptr %s36, i64 0, i64 0 + store ptr %t35, ptr %t37 + call void @scr_dyn_this_push_dyn(ptr %t31) + %t38 = call ptr @scr_dyn_call(ptr %t29, ptr %s36, i64 1, ptr @sc_cs_3951196332544625) + call void @scr_dyn_this_pop() + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t38) + br label %exc.cleanup13 +exc.k12: + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t38) + %t42 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t42) + %t43 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t44) + %t45 = load ptr, ptr %sc_l_this_0 + %t46 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t45, i64 0, i32 2 + %t47 = load ptr, ptr %t46, !tbaa !44 + %t48 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t47) + store ptr %t48, ptr %sc_l__x25_callbackReceiver_1 + %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t51 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t50) + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t51) + br label %exc.cleanup16 +exc.k15: + store ptr %t51, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t55 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t56 = getelementptr inbounds i8, ptr %t55, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t58 = icmp eq i32 %t57, 6 + br i1 %t58, label %tern.t17, label %tern.f18 +tern.t17: + %t61 = call ptr @scr_dyn_undefined() + %t60 = call ptr @scr_dyn_retain_v(ptr %t61) + store ptr %t60, ptr %s59 + br label %tern.j19 +tern.f18: + %t62 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t63 = call ptr @sc_rc_retain_dyn(ptr %t62) + %t64 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t63) + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t64) + br label %exc.cleanup22 +exc.k21: + store ptr %t64, ptr %s59 + br label %tern.j19 +tern.j19: + %t68 = load ptr, ptr %s59 + store ptr %t68, ptr %sc_l__x25_callback_1 + %t69 = load ptr, ptr %sc_l__x25_callback_1 + %t70 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t71 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t70, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t72 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t73 = load ptr, ptr %sc_l_ct_0 + %t74 = call ptr @sc_td_0(ptr %t73) + %t76 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 0 + store ptr %t72, ptr %t76 + %t77 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 1 + store ptr %t74, ptr %t77 + call void @scr_dyn_this_push_dyn(ptr %t71) + %t78 = call ptr @scr_dyn_call(ptr %t69, ptr %s75, i64 2, ptr @sc_cs_4344474916287258) + call void @scr_dyn_this_pop() + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u23, label %exc.k24 +exc.u23: + call void @sc_rc_release_dyn(ptr %t71) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t78) + br label %exc.cleanup25 +exc.k24: + call void @sc_rc_release_dyn(ptr %t71) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t78) + %t82 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t82) + %t83 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t83) + %t84 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t84) + %t85 = load ptr, ptr %sc_l_this_0 + %t86 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t85, i64 0, i32 2 + %t87 = load ptr, ptr %t86, !tbaa !44 + %t88 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t87) + store ptr %t88, ptr %sc_l__x25_callbackReceiver_2 + %t89 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t91 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t90) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t91) + br label %exc.cleanup28 +exc.k27: + store ptr %t91, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t95 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t96 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind + %t97 = load i32, ptr %t96 + %t98 = icmp eq i32 %t97, 6 + br i1 %t98, label %tern.t29, label %tern.f30 +tern.t29: + %t101 = call ptr @scr_dyn_undefined() + %t100 = call ptr @scr_dyn_retain_v(ptr %t101) + store ptr %t100, ptr %s99 + br label %tern.j31 +tern.f30: + %t102 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t103 = call ptr @sc_rc_retain_dyn(ptr %t102) + %t104 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t103) + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t104) + br label %exc.cleanup34 +exc.k33: + store ptr %t104, ptr %s99 + br label %tern.j31 +tern.j31: + %t108 = load ptr, ptr %s99 + store ptr %t108, ptr %sc_l__x25_callback_2 + %t109 = load ptr, ptr %sc_l__x25_callback_2 + %t110 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t111 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t110, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t112 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802) + %t113 = load ptr, ptr %sc_l_b_0 + %t114 = call double @sc_bf__x25_m5_utf8len(ptr %t113) + %t115 = call ptr @scr_f64_to_scrstr(double %t114) + %t116 = call ptr @sc_td_0(ptr %t115) + %t118 = getelementptr inbounds [2 x ptr], ptr %s117, i64 0, i64 0 + store ptr %t112, ptr %t118 + %t119 = getelementptr inbounds [2 x ptr], ptr %s117, i64 0, i64 1 + store ptr %t116, ptr %t119 + call void @scr_dyn_this_push_dyn(ptr %t111) + %t120 = call ptr @scr_dyn_call(ptr %t109, ptr %s117, i64 2, ptr @sc_cs_4344474916287258) + call void @scr_dyn_this_pop() + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t111) + call void @sc_rc_release_dyn(ptr %t112) + call void @scr_str_release(ptr %t115) + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t120) + br label %exc.cleanup37 +exc.k36: + call void @sc_rc_release_dyn(ptr %t111) + call void @sc_rc_release_dyn(ptr %t112) + call void @scr_str_release(ptr %t115) + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t120) + %t124 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t124) + %t125 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t125) + %t126 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m2_ResponseSink(ptr %t126) + %t127 = load ptr, ptr %sc_l_this_0 + %t128 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t127, i64 0, i32 2 + %t129 = load ptr, ptr %t128, !tbaa !44 + %t130 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t129) + store ptr %t130, ptr %sc_l__x25_callbackReceiver_3 + %t131 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t132 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t131, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t133 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t132) + %t134 = load i32, ptr %exc.cell + %t135 = icmp ne i32 %t134, 0 + %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false) + br i1 %t136, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t133) + br label %exc.cleanup40 +exc.k39: + store ptr %t133, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t137 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t138 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t139 = load i32, ptr %t138 + %t140 = icmp eq i32 %t139, 6 + br i1 %t140, label %tern.t41, label %tern.f42 +tern.t41: + %t143 = call ptr @scr_dyn_undefined() + %t142 = call ptr @scr_dyn_retain_v(ptr %t143) + store ptr %t142, ptr %s141 + br label %tern.j43 +tern.f42: + %t144 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t145 = call ptr @sc_rc_retain_dyn(ptr %t144) + %t146 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t145) + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t146) + br label %exc.cleanup46 +exc.k45: + store ptr %t146, ptr %s141 + br label %tern.j43 +tern.j43: + %t150 = load ptr, ptr %s141 + store ptr %t150, ptr %sc_l__x25_callback_3 + %t151 = load ptr, ptr %sc_l__x25_callback_3 + %t152 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t153 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t152, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t154 = load ptr, ptr %sc_l_b_0 + %t155 = call ptr @sc_td_0(ptr %t154) + %t157 = getelementptr inbounds [1 x ptr], ptr %s156, i64 0, i64 0 + store ptr %t155, ptr %t157 + call void @scr_dyn_this_push_dyn(ptr %t153) + %t158 = call ptr @scr_dyn_call(ptr %t151, ptr %s156, i64 1, ptr @sc_cs_543104408299578) + call void @scr_dyn_this_pop() + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u47, label %exc.k48 +exc.u47: + call void @sc_rc_release_dyn(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t158) + br label %exc.cleanup49 +exc.k48: + call void @sc_rc_release_dyn(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t158) + %t162 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t162) + %t163 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t163) + %t164 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + call void @sc_release__x25_m2_ResponseSink(ptr %t164) + %t165 = load ptr, ptr %sc_l_this_0 + %t166 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t165, i64 0, i32 5 + %t167 = zext i1 true to i8 + store i8 %t167, ptr %t166, !tbaa !42 + %t168 = load ptr, ptr %sc_l_this_0 + ret ptr %t168 +exc.cleanup4: + %t169 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t169) + ret ptr null +exc.cleanup10: + %t170 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t170) + %t171 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t171) + ret ptr null +exc.cleanup13: + %t172 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t172) + %t173 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t173) + %t174 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m2_ResponseSink(ptr %t174) + ret ptr null +exc.cleanup16: + %t175 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t175) + ret ptr null +exc.cleanup22: + %t176 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t176) + %t177 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t177) + ret ptr null +exc.cleanup25: + %t178 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t178) + %t179 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t179) + %t180 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t180) + ret ptr null +exc.cleanup28: + %t181 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m2_ResponseSink(ptr %t181) + ret ptr null +exc.cleanup34: + %t182 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t182) + %t183 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m2_ResponseSink(ptr %t183) + ret ptr null +exc.cleanup37: + %t184 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t184) + %t185 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t185) + %t186 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m2_ResponseSink(ptr %t186) + ret ptr null +exc.cleanup40: + %t187 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + call void @sc_release__x25_m2_ResponseSink(ptr %t187) + ret ptr null +exc.cleanup46: + %t188 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t188) + %t189 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + call void @sc_release__x25_m2_ResponseSink(ptr %t189) + ret ptr null +exc.cleanup49: + %t190 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t190) + %t191 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t191) + %t192 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + call void @sc_release__x25_m2_ResponseSink(ptr %t192) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_CtxCore__send(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_CtxCore__send(ptr %p0, ptr %p1, ptr %p2) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret ptr %t3 +} + +define internal void @sc_bf__x25__x25_m5_MpCfg_constructor(ptr %p_sc_l_this_0) #0 { ; %%m5.MpCfg.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t0, i64 0, i32 1 + store double 0x0000000000000000, ptr %t1, !tbaa !14 + %t2 = load ptr, ptr %sc_l_this_0 + %t3 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2, i64 0, i32 2 + %t4 = load ptr, ptr %t3 + store ptr null, ptr %t3, !tbaa !16 + call void @sc_release__x25_m4_MultipartStorage(ptr %t4) + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t5, i64 0, i32 3 + store double 0x0000000000000000, ptr %t6, !tbaa !18 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t7, i64 0, i32 4 + store double 0x0000000000000000, ptr %t8, !tbaa !20 + %t9 = load ptr, ptr %sc_l_this_0 + %t10 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t9, i64 0, i32 5 + store double 0x0000000000000000, ptr %t10, !tbaa !22 + ret void +} +define internal void @sc_f__x25__x25_m5_MpCfg_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m5_MpCfg_constructor(ptr %p0) + call void @sc_release__x25_m5_MpCfg(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m5_MethodNotAllowedError_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_allow_0) #0 { ; %%m5.MethodNotAllowedError.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_allow_0 = alloca ptr ; allow + %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_allow_0, ptr %sc_l_allow_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + store i1 false, ptr %sc_l__x25_superInitialized_0 + %t4 = load i1, ptr %sc_l__x25_superInitialized_0 + br i1 %t4, label %if.t2, label %if.j3 +if.t2: + call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207) + ret void +exc.dead4: + br label %if.j3 +if.j3: + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t5) + %t7 = call ptr @sc_td_0(ptr @sc_lit_4003541287264371) + %t9 = call ptr @scr_dyn_undefined() + %t8 = call ptr @scr_dyn_retain_v(ptr %t9) + call void @scr_error_init_options(ptr %t6, i32 0, ptr %t7, ptr %t8) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u5, label %exc.k6 +exc.u5: + call void @scr_error_release(ptr %t6) + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k6: + call void @scr_error_release(ptr %t6) + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t8) + store i1 true, ptr %sc_l__x25_superInitialized_0 + %t13 = load i1, ptr %sc_l__x25_superInitialized_0 + %t14 = xor i1 %t13, true + br i1 %t14, label %if.t7, label %if.j8 +if.t7: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead9: + br label %if.j8 +if.j8: + %t15 = load ptr, ptr %sc_l_this_0 + call void @sc_bf__x25_error_name_write(ptr %t15, ptr @sc_lit_4450054087841968) + %t16 = load i1, ptr %sc_l__x25_superInitialized_0 + %t17 = xor i1 %t16, true + br i1 %t17, label %if.t10, label %if.j11 +if.t10: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead12: + br label %if.j11 +if.j11: + %t18 = load ptr, ptr %sc_l_this_0 + %t19 = load ptr, ptr %sc_l_allow_0 + %t20 = call ptr @sc_rc_retain_str(ptr %t19) + %t21 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t18, i64 0, i32 21 + %t22 = load ptr, ptr %t21 + store ptr %t20, ptr %t21, !tbaa !168 + call void @scr_str_release(ptr %t22) + %t23 = load i1, ptr %sc_l__x25_superInitialized_0 + %t24 = xor i1 %t23, true + br i1 %t24, label %if.t13, label %if.j14 +if.t13: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead15: + br label %if.j14 +if.j14: + ret void +} +define internal void @sc_f__x25__x25_m5_MethodNotAllowedError_constructor(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m5_MethodNotAllowedError_constructor(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25__x25_m5_App_constructor(ptr %p_sc_l_this_0) #0 { ; %%m5.App.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r5.sc_rrelease_r5.null, i64 0) + %t2 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t0, i64 0, i32 1 + %t3 = load ptr, ptr %t2 + store ptr %t1, ptr %t2, !tbaa !32 + call void @scr_arr_release(ptr %t3) + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !32 + %t7 = call double @sc_bf__x25_m5_newNode.i32(ptr %t6, ptr @sc_lit_4005573543169985, i32 0) + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v) + %t10 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t8, i64 0, i32 2 + %t11 = load ptr, ptr %t10 + store ptr %t9, ptr %t10, !tbaa !170 + call void @scr_arr_release(ptr %t11) + %t12 = load ptr, ptr %sc_l_this_0 + %t13 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v) + %t14 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t12, i64 0, i32 3 + %t15 = load ptr, ptr %t14 + store ptr %t13, ptr %t14, !tbaa !36 + call void @scr_arr_release(ptr %t15) + %t16 = load ptr, ptr %sc_l_this_0 + %t17 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.scr_arr_retain_v.scr_arr_release_v.scr_arr_trace_v) + %t18 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t16, i64 0, i32 4 + %t19 = load ptr, ptr %t18 + store ptr %t17, ptr %t18, !tbaa !34 + call void @scr_arr_release(ptr %t19) + %t20 = load ptr, ptr %sc_l_this_0 + %t21 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_m5_defaultNotFound) + %t22 = call ptr @sc_bf__x25_fn_adapt_11(ptr %t21) + call void @scr_closure_release(ptr %t21) + %t23 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t20, i64 0, i32 5 + %t24 = load ptr, ptr %t23 + store ptr %t22, ptr %t23, !tbaa !172 + call void @scr_closure_release(ptr %t24) + %t25 = load ptr, ptr %sc_l_this_0 + %t26 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 0) + %t27 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t25, i64 0, i32 6 + %t28 = load ptr, ptr %t27 + store ptr %t26, ptr %t27, !tbaa !174 + call void @scr_arr_release(ptr %t28) + %t29 = load ptr, ptr %sc_l_this_0 + %t30 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t29, i64 0, i32 7 + %t31 = load ptr, ptr %t30 + store ptr @sc_unit_4, ptr %t30, !tbaa !176 + call void @scr_union_release(ptr %t31) + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v) + %t34 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t32, i64 0, i32 8 + %t35 = load ptr, ptr %t34 + store ptr %t33, ptr %t34, !tbaa !178 + call void @scr_arr_release(ptr %t35) + %t36 = load ptr, ptr %sc_l_this_0 + %t37 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_m5_defaultNotFound) + %t38 = call ptr @sc_bf__x25_fn_adapt_11(ptr %t37) + call void @scr_closure_release(ptr %t37) + %t39 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t36, i64 0, i32 9 + %t40 = load ptr, ptr %t39 + store ptr %t38, ptr %t39, !tbaa !180 + call void @scr_closure_release(ptr %t40) + %t41 = load ptr, ptr %sc_l_this_0 + %t42 = call ptr @scr_arr_new_small(i32 3) + %t43 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t41, i64 0, i32 10 + %t44 = load ptr, ptr %t43 + store ptr %t42, ptr %t43, !tbaa !150 + call void @scr_arr_release(ptr %t44) + %t45 = load ptr, ptr %sc_l_this_0 + %t46 = call ptr @scr_arr_new_small(i32 3) + %t47 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t45, i64 0, i32 11 + %t48 = load ptr, ptr %t47 + store ptr %t46, ptr %t47, !tbaa !152 + call void @scr_arr_release(ptr %t48) + %t49 = load ptr, ptr %sc_l_this_0 + %t50 = call ptr @scr_arr_new_small(i32 0) + %t51 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t49, i64 0, i32 12 + %t52 = load ptr, ptr %t51 + store ptr %t50, ptr %t51, !tbaa !154 + call void @scr_arr_release(ptr %t52) + %t53 = load ptr, ptr %sc_l_this_0 + %t54 = call ptr @scr_arr_new_small(i32 0) + %t55 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t53, i64 0, i32 13 + %t56 = load ptr, ptr %t55 + store ptr %t54, ptr %t55, !tbaa !38 + call void @scr_arr_release(ptr %t56) + %t57 = load ptr, ptr %sc_l_this_0 + %t58 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.sc_retain__x25_m5_MpCfg.sc_release__x25_m5_MpCfg.sc_trace__x25_m5_MpCfg) + %t59 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t57, i64 0, i32 14 + %t60 = load ptr, ptr %t59 + store ptr %t58, ptr %t59, !tbaa !40 + call void @scr_arr_release(ptr %t60) + %t61 = load ptr, ptr %sc_l_this_0 + %t62 = call ptr @scr_closure_new(ptr @sc_f__x25_fn53, i64 0) + %t63 = getelementptr inbounds %ScrClosure, ptr %t62, i64 0, i32 4 + store i32 4, ptr %t63 + %t64 = getelementptr inbounds %ScrClosure, ptr %t62, i64 0, i32 7 + store ptr @sc_bf__x25_fn53, ptr %t64 + %t65 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t61, i64 0, i32 15 + %t66 = load ptr, ptr %t65 + store ptr %t62, ptr %t65, !tbaa !182 + call void @scr_closure_release(ptr %t66) + %t67 = load ptr, ptr %sc_l_this_0 + %t68 = call ptr @scr_closure_new(ptr @sc_f__x25_fn54, i64 0) + %t69 = getelementptr inbounds %ScrClosure, ptr %t68, i64 0, i32 4 + store i32 4, ptr %t69 + %t70 = getelementptr inbounds %ScrClosure, ptr %t68, i64 0, i32 7 + store ptr @sc_bf__x25_fn54, ptr %t70 + %t71 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t67, i64 0, i32 16 + %t72 = load ptr, ptr %t71 + store ptr %t68, ptr %t71, !tbaa !184 + call void @scr_closure_release(ptr %t72) + %t73 = load ptr, ptr %sc_l_this_0 + %t74 = call ptr @scr_closure_new(ptr @sc_f__x25_fn56, i64 0) + %t75 = getelementptr inbounds %ScrClosure, ptr %t74, i64 0, i32 4 + store i32 4, ptr %t75 + %t76 = getelementptr inbounds %ScrClosure, ptr %t74, i64 0, i32 7 + store ptr @sc_bf__x25_fn56, ptr %t76 + %t77 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t73, i64 0, i32 17 + %t78 = load ptr, ptr %t77 + store ptr %t74, ptr %t77, !tbaa !186 + call void @scr_closure_release(ptr %t78) + ret void +} +define internal void @sc_f__x25__x25_m5_App_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m5_App_constructor(ptr %p0) + call void @sc_release__x25_m5_App(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25__x25_m5_App_get(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.get +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s34 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = call ptr @sc_td_0(ptr @sc_lit_367446482893939) + %t28 = load ptr, ptr %sc_l_path_0 + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_h_0 + %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642) + %t32 = load ptr, ptr %sc_l_opts_0 + %t33 = call ptr @sc_ldu_7(ptr %t32) + %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t27, ptr %t35 + %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t29, ptr %t36 + %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3 + store ptr %t33, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_release__x25_m5_App(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr %t43 +exc.cleanup9: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.cleanup12: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_get(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_get(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_post(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.post +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s34 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = call ptr @sc_td_0(ptr @sc_lit_2725580638052193) + %t28 = load ptr, ptr %sc_l_path_0 + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_h_0 + %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642) + %t32 = load ptr, ptr %sc_l_opts_0 + %t33 = call ptr @sc_ldu_7(ptr %t32) + %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t27, ptr %t35 + %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t29, ptr %t36 + %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3 + store ptr %t33, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_release__x25_m5_App(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr %t43 +exc.cleanup9: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.cleanup12: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_post(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_post(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_put(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.put +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s34 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = call ptr @sc_td_0(ptr @sc_lit_2541794298493390) + %t28 = load ptr, ptr %sc_l_path_0 + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_h_0 + %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642) + %t32 = load ptr, ptr %sc_l_opts_0 + %t33 = call ptr @sc_ldu_7(ptr %t32) + %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t27, ptr %t35 + %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t29, ptr %t36 + %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3 + store ptr %t33, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_release__x25_m5_App(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr %t43 +exc.cleanup9: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.cleanup12: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_put(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_put(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_delete(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.delete +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s34 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = call ptr @sc_td_0(ptr @sc_lit_1791854776991212) + %t28 = load ptr, ptr %sc_l_path_0 + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_h_0 + %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642) + %t32 = load ptr, ptr %sc_l_opts_0 + %t33 = call ptr @sc_ldu_7(ptr %t32) + %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t27, ptr %t35 + %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t29, ptr %t36 + %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3 + store ptr %t33, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_release__x25_m5_App(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr %t43 +exc.cleanup9: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.cleanup12: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_delete(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_delete(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_patch(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.patch +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s34 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = call ptr @sc_td_0(ptr @sc_lit_2494668324074259) + %t28 = load ptr, ptr %sc_l_path_0 + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_h_0 + %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642) + %t32 = load ptr, ptr %sc_l_opts_0 + %t33 = call ptr @sc_ldu_7(ptr %t32) + %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t27, ptr %t35 + %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t29, ptr %t36 + %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3 + store ptr %t33, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_release__x25_m5_App(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr %t43 +exc.cleanup9: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.cleanup12: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_patch(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_patch(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_head(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.head +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s34 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = call ptr @sc_td_0(ptr @sc_lit_3185835515143599) + %t28 = load ptr, ptr %sc_l_path_0 + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_h_0 + %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642) + %t32 = load ptr, ptr %sc_l_opts_0 + %t33 = call ptr @sc_ldu_7(ptr %t32) + %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t27, ptr %t35 + %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t29, ptr %t36 + %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3 + store ptr %t33, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_release__x25_m5_App(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr %t43 +exc.cleanup9: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.cleanup12: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_head(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_head(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_options(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.options +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s34 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = call ptr @sc_td_0(ptr @sc_lit_3671383252271314) + %t28 = load ptr, ptr %sc_l_path_0 + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_h_0 + %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642) + %t32 = load ptr, ptr %sc_l_opts_0 + %t33 = call ptr @sc_ldu_7(ptr %t32) + %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t27, ptr %t35 + %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t29, ptr %t36 + %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3 + store ptr %t33, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_release__x25_m5_App(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr %t43 +exc.cleanup9: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.cleanup12: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_options(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_options(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_all(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.all +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s34 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = call ptr @sc_td_0(ptr @sc_lit_1834571860458263) + %t28 = load ptr, ptr %sc_l_path_0 + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_h_0 + %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642) + %t32 = load ptr, ptr %sc_l_opts_0 + %t33 = call ptr @sc_ldu_7(ptr %t32) + %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t27, ptr %t35 + %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1 + store ptr %t29, ptr %t36 + %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2 + store ptr %t31, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3 + store ptr %t33, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup12 +exc.k11: + %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_release__x25_m5_App(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t39) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr %t43 +exc.cleanup9: + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.cleanup12: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + %t51 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_all(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_all(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_on(ptr %p_sc_l_this_0, ptr %p_sc_l_method_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.on +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_method_0 = alloca ptr ; method + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s36 = alloca [4 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_method_0, ptr %sc_l_method_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = load ptr, ptr %sc_l_method_0 + %t28 = call ptr @scr_str_to_upper(ptr %t27) + %t29 = call ptr @sc_td_0(ptr %t28) + %t30 = load ptr, ptr %sc_l_path_0 + %t31 = call ptr @sc_td_0(ptr %t30) + %t32 = load ptr, ptr %sc_l_h_0 + %t33 = call ptr @sc_dfb_4(ptr %t32, ptr @sc_cs_3002302439247642) + %t34 = load ptr, ptr %sc_l_opts_0 + %t35 = call ptr @sc_ldu_7(ptr %t34) + %t37 = getelementptr inbounds [4 x ptr], ptr %s36, i64 0, i64 0 + store ptr %t29, ptr %t37 + %t38 = getelementptr inbounds [4 x ptr], ptr %s36, i64 0, i64 1 + store ptr %t31, ptr %t38 + %t39 = getelementptr inbounds [4 x ptr], ptr %s36, i64 0, i64 2 + store ptr %t33, ptr %t39 + %t40 = getelementptr inbounds [4 x ptr], ptr %s36, i64 0, i64 3 + store ptr %t35, ptr %t40 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t41 = call ptr @scr_dyn_call(ptr %t24, ptr %s36, i64 4, ptr @sc_cs_2420062830460865) + call void @scr_dyn_this_pop() + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @scr_str_release(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t41) + br label %exc.cleanup12 +exc.k11: + %t45 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t41) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @scr_str_release(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_release__x25_m5_App(ptr %t45) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @scr_str_release(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t41) + %t49 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t49) + %t50 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t50) + ret ptr %t45 +exc.cleanup9: + %t51 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +exc.cleanup12: + %t52 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t52) + %t53 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t53) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_on(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_on(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_closure_release(ptr %p3) + call void @sc_rrelease_r7(ptr %p4) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_use(ptr %p_sc_l_this_0, ptr %p_sc_l_pathOrFn_0, ptr %p_sc_l_rest_0) #0 { ; %%m5.App.use +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_pathOrFn_0 = alloca ptr ; pathOrFn + %sc_l_rest_0 = alloca ptr ; rest + %sc_l_prefix_0 = alloca ptr ; prefix + %sc_l_wrapped_0 = alloca ptr ; wrapped + %s0 = alloca ptr ; lazy box rest + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_prefix_0 + store ptr null, ptr %sc_l_wrapped_0 + store ptr null, ptr %s0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_pathOrFn_0, ptr %sc_l_pathOrFn_0 + store ptr %p_sc_l_rest_0, ptr %sc_l_rest_0 + %t1 = load ptr, ptr %sc_l_pathOrFn_0 + %t4 = getelementptr inbounds %ScrUnion, ptr %t1, i64 0, i32 1 + %t3 = load i32, ptr %t4 + %t2 = icmp eq i32 %t3, 1 + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t5 = call ptr @scr_box_new(i32 2) ; let prefix (boxed) + store ptr %t5, ptr %sc_l_prefix_0 + %t6 = load ptr, ptr %sc_l_pathOrFn_0 + %t7 = getelementptr inbounds %ScrUnion, ptr %t6, i64 0, i32 5 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @sc_rc_retain_str(ptr %t8) + call void @scr_box_set_ref(ptr %t5, ptr %t9) + %t10 = call ptr @scr_closure_new(ptr @sc_f__x25_fn2, i64 2) + %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 4 + store i32 4, ptr %t11 + %t12 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 7 + store ptr @sc_bf__x25_fn2, ptr %t12 + %t13 = load ptr, ptr %sc_l_prefix_0 + %t14 = call ptr @sc_retain_box(ptr %t13) + %t15 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps + %t16 = getelementptr inbounds ptr, ptr %t15, i64 0 ; caps[0] + store ptr %t14, ptr %t16 + %t17 = load ptr, ptr %s0 + %t18 = icmp eq ptr %t17, null + br i1 %t18, label %lazy.box2, label %lazy.box.j3 +lazy.box2: + %t19 = call ptr @scr_box_new_obj(ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @scr_arr_trace_v) + %t20 = load ptr, ptr %sc_l_rest_0 + %t21 = call ptr @scr_arr_retain_v(ptr %t20) + call void @scr_box_set_ref(ptr %t19, ptr %t21) + store ptr %t19, ptr %s0 + br label %lazy.box.j3 +lazy.box.j3: + %t22 = load ptr, ptr %s0 + %t23 = call ptr @sc_retain_box(ptr %t22) + %t24 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps + %t25 = getelementptr inbounds ptr, ptr %t24, i64 1 ; caps[1] + store ptr %t23, ptr %t25 + store ptr %t10, ptr %sc_l_wrapped_0 + %t26 = load ptr, ptr %sc_l_this_0 + %t27 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t26, i64 0, i32 2 + %t28 = load ptr, ptr %t27, !tbaa !170 + %t29 = call ptr @scr_arr_retain_v(ptr %t28) + %t30 = load ptr, ptr %sc_l_wrapped_0 + %t31 = call ptr @scr_closure_retain_v(ptr %t30) + %t32 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 1 + %t33 = load i64, ptr %t32, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 2 + %t34 = load i64, ptr %t36, !tbaa !2 + %t35 = icmp ult i64 %t33, %t34 + br i1 %t35, label %arr.push.dense4, label %arr.push.slow5 +arr.push.dense4: + %t37 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 8 + %t39 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 9 + %t38 = load ptr, ptr %t37, !tbaa !2 + %t40 = load ptr, ptr %t39, !tbaa !2 + %t41 = getelementptr inbounds i8, ptr %t40, i64 %t33 + %t42 = getelementptr inbounds i64, ptr %t38, i64 %t33 + store ptr %t31, ptr %t42, !tbaa !6 + store i8 1, ptr %t41, !tbaa !4 + %t43 = add nuw i64 %t33, 1 + store i64 %t43, ptr %t32, !tbaa !2 + %t45 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 6 + %t46 = load i32, ptr %t45, !tbaa !2 + %t50 = zext i32 %t46 to i64 + %t47 = icmp eq i64 %t50, %t33 + %t48 = add i32 %t46, 1 + %t49 = select i1 %t47, i32 %t48, i32 %t46 + store i32 %t49, ptr %t45, !tbaa !2 + %t44 = sitofp i64 %t43 to double + br label %arr.push.join6 +arr.push.slow5: + %t51 = call double @scr_arr_push_ref(ptr %t29, ptr %t31) cold + br label %arr.push.join6 +arr.push.join6: + %t52 = phi double [ %t44, %arr.push.dense4 ], [ %t51, %arr.push.slow5 ] + call void @scr_arr_release(ptr %t29) + %t53 = load ptr, ptr %sc_l_this_0 + %t54 = load ptr, ptr %sc_l_this_0 + %t55 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t54, i64 0, i32 2 + %t56 = load ptr, ptr %t55, !tbaa !170 + %t57 = call ptr @sc_bf__x25_m5_copyMw(ptr %t56) + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u7, label %exc.k8 +exc.u7: + call void @scr_arr_release(ptr %t57) + br label %exc.cleanup9 +exc.k8: + %t61 = load ptr, ptr %sc_l_this_0 + %t62 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t61, i64 0, i32 5 + %t63 = load ptr, ptr %t62, !tbaa !172 + %t64 = call ptr @scr_closure_retain_v(ptr %t63) + %t65 = call ptr @scr_union_new_ref(i32 0, ptr %t64, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + %t66 = call ptr @sc_bf__x25_m5_compose(ptr %t57, ptr %t65) + call void @scr_arr_release(ptr %t57) + call void @scr_union_release(ptr %t65) + %t67 = call ptr @sc_bf__x25_union_narrow_0(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_union_release(ptr %t66) + call void @scr_closure_release(ptr %t67) + br label %exc.cleanup9 +exc.k11: + call void @scr_union_release(ptr %t66) + %t71 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t53, i64 0, i32 9 + %t72 = load ptr, ptr %t71 + store ptr %t67, ptr %t71, !tbaa !180 + call void @scr_closure_release(ptr %t72) + %t73 = load ptr, ptr %sc_l_this_0 + %t74 = load ptr, ptr %sc_l_prefix_0 + call void @scr_box_release(ptr %t74) + %t75 = load ptr, ptr %sc_l_wrapped_0 + call void @scr_closure_release(ptr %t75) + %t76 = load ptr, ptr %s0 + %t77 = icmp ne ptr %t76, null + br i1 %t77, label %lazy.release12, label %lazy.release.j13 +lazy.release12: + call void @scr_box_release(ptr %t76) + br label %lazy.release.j13 +lazy.release.j13: + ret ptr %t73 +if.j1: + %t78 = load ptr, ptr %sc_l_this_0 + %t79 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t78, i64 0, i32 2 + %t80 = load ptr, ptr %t79, !tbaa !170 + %t81 = call ptr @scr_arr_retain_v(ptr %t80) + %t82 = load ptr, ptr %sc_l_pathOrFn_0 + %t83 = getelementptr inbounds %ScrUnion, ptr %t82, i64 0, i32 5 + %t84 = load ptr, ptr %t83 + %t85 = call ptr @scr_closure_retain_v(ptr %t84) + %t86 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 1 + %t87 = load i64, ptr %t86, !tbaa !2 + %t90 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 2 + %t88 = load i64, ptr %t90, !tbaa !2 + %t89 = icmp ult i64 %t87, %t88 + br i1 %t89, label %arr.push.dense14, label %arr.push.slow15 +arr.push.dense14: + %t91 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 8 + %t93 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 9 + %t92 = load ptr, ptr %t91, !tbaa !2 + %t94 = load ptr, ptr %t93, !tbaa !2 + %t95 = getelementptr inbounds i8, ptr %t94, i64 %t87 + %t96 = getelementptr inbounds i64, ptr %t92, i64 %t87 + store ptr %t85, ptr %t96, !tbaa !6 + store i8 1, ptr %t95, !tbaa !4 + %t97 = add nuw i64 %t87, 1 + store i64 %t97, ptr %t86, !tbaa !2 + %t99 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 6 + %t100 = load i32, ptr %t99, !tbaa !2 + %t104 = zext i32 %t100 to i64 + %t101 = icmp eq i64 %t104, %t87 + %t102 = add i32 %t100, 1 + %t103 = select i1 %t101, i32 %t102, i32 %t100 + store i32 %t103, ptr %t99, !tbaa !2 + %t98 = sitofp i64 %t97 to double + br label %arr.push.join16 +arr.push.slow15: + %t105 = call double @scr_arr_push_ref(ptr %t81, ptr %t85) cold + br label %arr.push.join16 +arr.push.join16: + %t106 = phi double [ %t98, %arr.push.dense14 ], [ %t105, %arr.push.slow15 ] + call void @scr_arr_release(ptr %t81) + %t107 = load ptr, ptr %sc_l_this_0 + %t108 = load ptr, ptr %sc_l_this_0 + %t109 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t108, i64 0, i32 2 + %t110 = load ptr, ptr %t109, !tbaa !170 + %t111 = call ptr @sc_bf__x25_m5_copyMw(ptr %t110) + %t112 = load i32, ptr %exc.cell + %t113 = icmp ne i32 %t112, 0 + %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false) + br i1 %t114, label %exc.u17, label %exc.k18 +exc.u17: + call void @scr_arr_release(ptr %t111) + br label %exc.cleanup19 +exc.k18: + %t115 = load ptr, ptr %sc_l_this_0 + %t116 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t115, i64 0, i32 5 + %t117 = load ptr, ptr %t116, !tbaa !172 + %t118 = call ptr @scr_closure_retain_v(ptr %t117) + %t119 = call ptr @scr_union_new_ref(i32 0, ptr %t118, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + %t120 = call ptr @sc_bf__x25_m5_compose(ptr %t111, ptr %t119) + call void @scr_arr_release(ptr %t111) + call void @scr_union_release(ptr %t119) + %t121 = call ptr @sc_bf__x25_union_narrow_0(ptr %t120) + %t122 = load i32, ptr %exc.cell + %t123 = icmp ne i32 %t122, 0 + %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false) + br i1 %t124, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_union_release(ptr %t120) + call void @scr_closure_release(ptr %t121) + br label %exc.cleanup19 +exc.k21: + call void @scr_union_release(ptr %t120) + %t125 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t107, i64 0, i32 9 + %t126 = load ptr, ptr %t125 + store ptr %t121, ptr %t125, !tbaa !180 + call void @scr_closure_release(ptr %t126) + %t127 = load ptr, ptr %sc_l_this_0 + %t128 = load ptr, ptr %s0 + %t129 = icmp ne ptr %t128, null + br i1 %t129, label %lazy.release22, label %lazy.release.j23 +lazy.release22: + call void @scr_box_release(ptr %t128) + br label %lazy.release.j23 +lazy.release.j23: + ret ptr %t127 +exc.cleanup9: + %t130 = load ptr, ptr %sc_l_prefix_0 + call void @scr_box_release(ptr %t130) + %t131 = load ptr, ptr %sc_l_wrapped_0 + call void @scr_closure_release(ptr %t131) + %t132 = load ptr, ptr %s0 + %t133 = icmp ne ptr %t132, null + br i1 %t133, label %lazy.release24, label %lazy.release.j25 +lazy.release24: + call void @scr_box_release(ptr %t132) + br label %lazy.release.j25 +lazy.release.j25: + ret ptr null +exc.cleanup19: + %t134 = load ptr, ptr %s0 + %t135 = icmp ne ptr %t134, null + br i1 %t135, label %lazy.release26, label %lazy.release.j27 +lazy.release26: + call void @scr_box_release(ptr %t134) + br label %lazy.release.j27 +lazy.release.j27: + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_use(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_App_use(ptr %p0, ptr %p1, ptr %p2) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_union_release(ptr %p1) + call void @scr_arr_release(ptr %p2) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_App_notFound(ptr %p_sc_l_this_0, ptr %p_sc_l_h_0) #0 { ; %%m5.App.notFound +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_h_0 = alloca ptr ; h + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_h_0 + %t2 = call ptr @scr_closure_retain_v(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t0, i64 0, i32 5 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !172 + call void @scr_closure_release(ptr %t4) + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = load ptr, ptr %sc_l_this_0 + %t7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t6, i64 0, i32 2 + %t8 = load ptr, ptr %t7, !tbaa !170 + %t9 = call ptr @sc_bf__x25_m5_copyMw(ptr %t8) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u0, label %exc.k1 +exc.u0: + call void @scr_arr_release(ptr %t9) + ret ptr null +exc.k1: + %t13 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t5, i64 0, i32 6 + %t14 = load ptr, ptr %t13 + store ptr %t9, ptr %t13, !tbaa !174 + call void @scr_arr_release(ptr %t14) + %t15 = load ptr, ptr %sc_l_this_0 + %t16 = load ptr, ptr %sc_l_this_0 + %t17 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t16, i64 0, i32 6 + %t18 = load ptr, ptr %t17, !tbaa !174 + %t19 = load ptr, ptr %sc_l_this_0 + %t20 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t19, i64 0, i32 5 + %t21 = load ptr, ptr %t20, !tbaa !172 + %t22 = call ptr @scr_closure_retain_v(ptr %t21) + %t23 = call ptr @scr_union_new_ref(i32 0, ptr %t22, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + %t24 = call ptr @sc_bf__x25_m5_compose(ptr %t18, ptr %t23) + call void @scr_union_release(ptr %t23) + %t25 = call ptr @sc_bf__x25_union_narrow_0(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_union_release(ptr %t24) + call void @scr_closure_release(ptr %t25) + ret ptr null +exc.k3: + call void @scr_union_release(ptr %t24) + %t29 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t15, i64 0, i32 9 + %t30 = load ptr, ptr %t29 + store ptr %t25, ptr %t29, !tbaa !180 + call void @scr_closure_release(ptr %t30) + %t31 = load ptr, ptr %sc_l_this_0 + ret ptr %t31 +} +define internal ptr @sc_f__x25__x25_m5_App_notFound(ptr %p0, ptr %p1) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_App_notFound(ptr %p0, ptr %p1) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_closure_release(ptr %p1) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_App_onError(ptr %p_sc_l_this_0, ptr %p_sc_l_h_0) #0 { ; %%m5.App.onError +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_h_0 = alloca ptr ; h + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_h_0 + %t2 = call ptr @scr_closure_retain_v(ptr %t1) + %t3 = call ptr @scr_union_new_ref(i32 0, ptr %t2, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + %t4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t0, i64 0, i32 7 + %t5 = load ptr, ptr %t4 + store ptr %t3, ptr %t4, !tbaa !176 + call void @scr_union_release(ptr %t5) + %t6 = load ptr, ptr %sc_l_this_0 + ret ptr %t6 +} +define internal ptr @sc_f__x25__x25_m5_App_onError(ptr %p0, ptr %p1) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_App_onError(ptr %p0, ptr %p1) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_closure_release(ptr %p1) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_App_route(ptr %p_sc_l_this_0, ptr %p_sc_l_prefix_0, ptr %p_sc_l_sub_0) #0 { ; %%m5.App.route +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_prefix_0 = alloca ptr ; prefix + %sc_l_sub_0 = alloca ptr ; sub + %sc_l_p_0 = alloca ptr ; p + %s11 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_p_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_prefix_0, ptr %sc_l_prefix_0 + store ptr %p_sc_l_sub_0, ptr %sc_l_sub_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_prefix_0 + %t5 = call ptr @sc_rc_retain_str(ptr %t4) + store ptr %t5, ptr %sc_l_p_0 + %t6 = load ptr, ptr %sc_l_p_0 + %t7 = call double @sc_str_utf16_len(ptr %t6) + %t9 = fptosi double %t7 to i32 + %t10 = sext i32 %t9 to i64 + %t8 = icmp sgt i64 %t10, 1 + store i1 %t8, ptr %s11 + br i1 %t8, label %log.r2, label %log.j3 +log.r2: + %t12 = load ptr, ptr %sc_l_p_0 + %t13 = load ptr, ptr %sc_l_p_0 + %t14 = call double @sc_str_utf16_len(ptr %t13) + %t16 = fptosi double %t14 to i32 + %t18 = trunc i64 1 to i32 + %t17 = sub nsw i32 %t16, %t18 + %t19 = sitofp i32 %t17 to double + %t20 = call ptr @scr_str_char_at(ptr %t12, double %t19) + %t21 = call zeroext i1 @sc_streq_2434240011052594(ptr %t20) + store i1 %t21, ptr %s11 + call void @scr_str_release(ptr %t20) + br label %log.j3 +log.j3: + %t22 = load i1, ptr %s11 + br i1 %t22, label %if.t4, label %if.j5 +if.t4: + %t23 = load ptr, ptr %sc_l_p_0 + %t24 = load ptr, ptr %sc_l_p_0 + %t25 = call double @sc_str_utf16_len(ptr %t24) + %t27 = fptosi double %t25 to i32 + %t29 = trunc i64 1 to i32 + %t28 = sub nsw i32 %t27, %t29 + %t30 = sitofp i32 %t28 to double + %t31 = call ptr @scr_str_slice(ptr %t23, double 0x0000000000000000, double %t30) + %t32 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t32) + store ptr %t31, ptr %sc_l_p_0 + br label %if.j5 +if.j5: + %t33 = load ptr, ptr %sc_l_sub_0 + %t34 = load ptr, ptr %sc_l_this_0 + %t35 = load ptr, ptr %sc_l_p_0 + %t36 = load ptr, ptr %sc_l_this_0 + %t37 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t36, i64 0, i32 2 + %t38 = load ptr, ptr %t37, !tbaa !170 + %t39 = call ptr @sc_bf__x25_m5_copyMw(ptr %t38) + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_arr_release(ptr %t39) + br label %exc.cleanup8 +exc.k7: + call void @sc_bf__x25_m5_mountRoutes(ptr %t33, ptr %t34, ptr %t35, ptr %t39) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u9, label %exc.k10 +exc.u9: + call void @scr_arr_release(ptr %t39) + br label %exc.cleanup8 +exc.k10: + call void @scr_arr_release(ptr %t39) + %t46 = load ptr, ptr %sc_l_this_0 + %t47 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t47) + ret ptr %t46 +exc.cleanup8: + %t48 = load ptr, ptr %sc_l_p_0 + call void @scr_str_release(ptr %t48) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_route(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_App_route(ptr %p0, ptr %p1, ptr %p2) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m5_App(ptr %p2) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_App_withDispatch(ptr %p_sc_l_this_0, ptr %p_sc_l_d_0) #0 { ; %%m5.App.withDispatch +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_d_0 = alloca ptr ; d + %sc_l_stamped_0 = alloca double ; stamped + %sc_l_g_0 = alloca ptr ; g + %s6 = alloca [5 x ptr] + %s7 = alloca [5 x double] + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_g_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_d_0, ptr %sc_l_d_0 + %t0 = load ptr, ptr %sc_l_d_0 + %t1 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t0, i64 0, i32 1 + %t2 = load double, ptr %t1, !tbaa !188 + store double %t2, ptr %sc_l_stamped_0 + %t3 = load double, ptr %sc_l_stamped_0 + %t4 = fcmp une double %t3, 0x4010000000000000 + br i1 %t4, label %if.t0, label %if.j1 +if.t0: + %t5 = load double, ptr %sc_l_stamped_0 + %t8 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 0 + store ptr @sc_lit_2214377447145268, ptr %t8 + %t9 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 1 + store ptr null, ptr %t9 + %t10 = getelementptr [5 x double], ptr %s7, i32 0, i32 1 + store double %t5, ptr %t10 + %t11 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 2 + store ptr @sc_lit_4475575820732057, ptr %t11 + %t12 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 3 + store ptr null, ptr %t12 + %t13 = getelementptr [5 x double], ptr %s7, i32 0, i32 3 + store double 0x4010000000000000, ptr %t13 + %t14 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 4 + store ptr @sc_lit_3865233613737149, ptr %t14 + %t15 = call ptr @scr_str_concat_mixed(ptr null, ptr %s6, ptr %s7, i64 5) + %t16 = call ptr @sc_td_0(ptr %t15) + %t18 = call ptr @scr_dyn_undefined() + %t17 = call ptr @scr_dyn_retain_v(ptr %t18) + %t19 = call ptr @scr_error_new_options(i32 0, ptr %t16, ptr %t17) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_str_release(ptr %t15) + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @scr_error_release(ptr %t19) + ret ptr null +exc.k3: + call void @scr_throw_obj(ptr %t19, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + call void @scr_str_release(ptr %t15) + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +if.j1: + %t23 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_trace__x25_m0_GenDispatch) ; let g (boxed) + store ptr %t23, ptr %sc_l_g_0 + %t24 = load ptr, ptr %sc_l_d_0 + %t25 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t24) + call void @scr_box_set_ref(ptr %t23, ptr %t25) + %t26 = load ptr, ptr %sc_l_this_0 + %t27 = call ptr @scr_closure_new(ptr @sc_f__x25_fn3, i64 1) + %t28 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 4 + store i32 4, ptr %t28 + %t29 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 7 + store ptr @sc_bf__x25_fn3, ptr %t29 + %t30 = load ptr, ptr %sc_l_g_0 + %t31 = call ptr @sc_retain_box(ptr %t30) + %t32 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps + %t33 = getelementptr inbounds ptr, ptr %t32, i64 0 ; caps[0] + store ptr %t31, ptr %t33 + %t34 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t26, i64 0, i32 15 + %t35 = load ptr, ptr %t34 + store ptr %t27, ptr %t34, !tbaa !182 + call void @scr_closure_release(ptr %t35) + %t36 = load ptr, ptr %sc_l_this_0 + %t37 = load ptr, ptr %sc_l_g_0 + call void @scr_box_release(ptr %t37) + ret ptr %t36 +} +define internal ptr @sc_f__x25__x25_m5_App_withDispatch(ptr %p0, ptr %p1) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_App_withDispatch(ptr %p0, ptr %p1) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @sc_release__x25_m0_GenDispatch(ptr %p1) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_App_withFetchDispatch(ptr %p_sc_l_this_0, ptr %p_sc_l_d_0) #0 { ; %%m5.App.withFetchDispatch +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_d_0 = alloca ptr ; d + %sc_l_stamped_0 = alloca double ; stamped + %sc_l_g_0 = alloca ptr ; g + %s6 = alloca [5 x ptr] + %s7 = alloca [5 x double] + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_g_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_d_0, ptr %sc_l_d_0 + %t0 = load ptr, ptr %sc_l_d_0 + %t1 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t0, i64 0, i32 1 + %t2 = load double, ptr %t1, !tbaa !188 + store double %t2, ptr %sc_l_stamped_0 + %t3 = load double, ptr %sc_l_stamped_0 + %t4 = fcmp une double %t3, 0x4010000000000000 + br i1 %t4, label %if.t0, label %if.j1 +if.t0: + %t5 = load double, ptr %sc_l_stamped_0 + %t8 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 0 + store ptr @sc_lit_1244221778433949, ptr %t8 + %t9 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 1 + store ptr null, ptr %t9 + %t10 = getelementptr [5 x double], ptr %s7, i32 0, i32 1 + store double %t5, ptr %t10 + %t11 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 2 + store ptr @sc_lit_4475575820732057, ptr %t11 + %t12 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 3 + store ptr null, ptr %t12 + %t13 = getelementptr [5 x double], ptr %s7, i32 0, i32 3 + store double 0x4010000000000000, ptr %t13 + %t14 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 4 + store ptr @sc_lit_1405960170658013, ptr %t14 + %t15 = call ptr @scr_str_concat_mixed(ptr null, ptr %s6, ptr %s7, i64 5) + %t16 = call ptr @sc_td_0(ptr %t15) + %t18 = call ptr @scr_dyn_undefined() + %t17 = call ptr @scr_dyn_retain_v(ptr %t18) + %t19 = call ptr @scr_error_new_options(i32 0, ptr %t16, ptr %t17) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_str_release(ptr %t15) + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @scr_error_release(ptr %t19) + ret ptr null +exc.k3: + call void @scr_throw_obj(ptr %t19, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + call void @scr_str_release(ptr %t15) + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +if.j1: + %t23 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_trace__x25_m0_GenFetch) ; let g (boxed) + store ptr %t23, ptr %sc_l_g_0 + %t24 = load ptr, ptr %sc_l_d_0 + %t25 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t24) + call void @scr_box_set_ref(ptr %t23, ptr %t25) + %t26 = load ptr, ptr %sc_l_this_0 + %t27 = call ptr @scr_closure_new(ptr @sc_f__x25_fn4, i64 1) + %t28 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 4 + store i32 4, ptr %t28 + %t29 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 7 + store ptr @sc_bf__x25_fn4, ptr %t29 + %t30 = load ptr, ptr %sc_l_g_0 + %t31 = call ptr @sc_retain_box(ptr %t30) + %t32 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps + %t33 = getelementptr inbounds ptr, ptr %t32, i64 0 ; caps[0] + store ptr %t31, ptr %t33 + %t34 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t26, i64 0, i32 16 + %t35 = load ptr, ptr %t34 + store ptr %t27, ptr %t34, !tbaa !184 + call void @scr_closure_release(ptr %t35) + %t36 = load ptr, ptr %sc_l_this_0 + %t37 = load ptr, ptr %sc_l_g_0 + call void @scr_box_release(ptr %t37) + ret ptr %t36 +} +define internal ptr @sc_f__x25__x25_m5_App_withFetchDispatch(ptr %p0, ptr %p1) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_App_withFetchDispatch(ptr %p0, ptr %p1) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @sc_release__x25_m0_GenFetch(ptr %p1) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_App_withUpgrade(ptr %p_sc_l_this_0, ptr %p_sc_l_u_0) #0 { ; %%m5.App.withUpgrade +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_u_0 = alloca ptr ; u + %sc_l_g_0 = alloca ptr ; g + store ptr null, ptr %sc_l_g_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_trace__x25_m1_UpgradeDispatch) ; let g (boxed) + store ptr %t0, ptr %sc_l_g_0 + %t1 = load ptr, ptr %sc_l_u_0 + %t2 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t1) + call void @scr_box_set_ref(ptr %t0, ptr %t2) + %t3 = load ptr, ptr %sc_l_this_0 + %t4 = call ptr @scr_closure_new(ptr @sc_f__x25_fn5, i64 1) + %t5 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 4 + store i32 4, ptr %t5 + %t6 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 7 + store ptr @sc_bf__x25_fn5, ptr %t6 + %t7 = load ptr, ptr %sc_l_g_0 + %t8 = call ptr @sc_retain_box(ptr %t7) + %t9 = getelementptr inbounds %ScrClosure, ptr %t4, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 0 ; caps[0] + store ptr %t8, ptr %t10 + %t11 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t3, i64 0, i32 17 + %t12 = load ptr, ptr %t11 + store ptr %t4, ptr %t11, !tbaa !186 + call void @scr_closure_release(ptr %t12) + %t13 = load ptr, ptr %sc_l_this_0 + %t14 = load ptr, ptr %sc_l_g_0 + call void @scr_box_release(ptr %t14) + ret ptr %t13 +} +define internal ptr @sc_f__x25__x25_m5_App_withUpgrade(ptr %p0, ptr %p1) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_App_withUpgrade(ptr %p0, ptr %p1) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %p1) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_App_upgradeHandler(ptr %p_sc_l_this_0) #0 { ; %%m5.App.upgradeHandler +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_app_0 = alloca ptr ; app + store ptr null, ptr %sc_l_app_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed) + store ptr %t0, ptr %sc_l_app_0 + %t1 = load ptr, ptr %sc_l_this_0 + %t2 = call ptr @sc_retain__x25_m5_App(ptr %t1) + call void @scr_box_set_ref(ptr %t0, ptr %t2) + %t3 = call ptr @scr_closure_new(ptr @sc_f__x25_fn6, i64 1) + %t4 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 4 + store i32 4, ptr %t4 + %t5 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 7 + store ptr @sc_bf__x25_fn6, ptr %t5 + %t6 = load ptr, ptr %sc_l_app_0 + %t7 = call ptr @sc_retain_box(ptr %t6) + %t8 = getelementptr inbounds %ScrClosure, ptr %t3, i64 1 ; caps + %t9 = getelementptr inbounds ptr, ptr %t8, i64 0 ; caps[0] + store ptr %t7, ptr %t9 + %t10 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t10) + ret ptr %t3 +} +define internal ptr @sc_f__x25__x25_m5_App_upgradeHandler(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_upgradeHandler(ptr %p0) + call void @sc_release__x25_m5_App(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_handler(ptr %p_sc_l_this_0) #0 { ; %%m5.App.handler +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_app_0 = alloca ptr ; app + store ptr null, ptr %sc_l_app_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed) + store ptr %t0, ptr %sc_l_app_0 + %t1 = load ptr, ptr %sc_l_this_0 + %t2 = call ptr @sc_retain__x25_m5_App(ptr %t1) + call void @scr_box_set_ref(ptr %t0, ptr %t2) + %t3 = call ptr @scr_closure_new(ptr @sc_f__x25_fn7, i64 1) + %t4 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 4 + store i32 4, ptr %t4 + %t5 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 7 + store ptr @sc_bf__x25_fn7, ptr %t5 + %t6 = load ptr, ptr %sc_l_app_0 + %t7 = call ptr @sc_retain_box(ptr %t6) + %t8 = getelementptr inbounds %ScrClosure, ptr %t3, i64 1 ; caps + %t9 = getelementptr inbounds ptr, ptr %t8, i64 0 ; caps[0] + store ptr %t7, ptr %t9 + %t10 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t10) + ret ptr %t3 +} +define internal ptr @sc_f__x25__x25_m5_App_handler(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_handler(ptr %p0) + call void @sc_release__x25_m5_App(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_fetchBridge(ptr %p_sc_l_this_0) #0 { ; %%m5.App.fetchBridge +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_app_0 = alloca ptr ; app + store ptr null, ptr %sc_l_app_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed) + store ptr %t0, ptr %sc_l_app_0 + %t1 = load ptr, ptr %sc_l_this_0 + %t2 = call ptr @sc_retain__x25_m5_App(ptr %t1) + call void @scr_box_set_ref(ptr %t0, ptr %t2) + %t3 = call ptr @scr_closure_new(ptr @sc_f__x25_fn8, i64 1) + %t4 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 4 + store i32 4, ptr %t4 + %t5 = load ptr, ptr %sc_l_app_0 + %t6 = call ptr @sc_retain_box(ptr %t5) + %t7 = getelementptr inbounds %ScrClosure, ptr %t3, i64 1 ; caps + %t8 = getelementptr inbounds ptr, ptr %t7, i64 0 ; caps[0] + store ptr %t6, ptr %t8 + %t9 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t9) + ret ptr %t3 +} +define internal ptr @sc_f__x25__x25_m5_App_fetchBridge(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_fetchBridge(ptr %p0) + call void @sc_release__x25_m5_App(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_serve(ptr %p_sc_l_this_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.serve +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_s_0 = alloca ptr ; s + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_s_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_2(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t26) + %t27 = call ptr @scr_dyn_call(ptr %t24, ptr null, i64 0, ptr @sc_cs_143902260791844) + call void @scr_dyn_this_pop() + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup12 +exc.k11: + %t31 = call ptr @sc_dc_73(ptr %t27, ptr null) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @scr_closure_release(ptr %t31) + br label %exc.cleanup12 +exc.k14: + %t35 = call ptr @scr_http_create_server(ptr %t31, ptr @scr_http_handler_thunk2) + store ptr %t35, ptr %sc_l_s_0 + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + %t38 = load ptr, ptr %sc_l_opts_0 + %t39 = getelementptr inbounds %sc_rs_r8, ptr %t38, i64 0, i32 1 + %t40 = load ptr, ptr %t39 + %t41 = icmp eq ptr %t40, @sc_nullable_absent + %t42 = select i1 %t41, ptr null, ptr %t40 + %t44 = icmp eq ptr %t42, null + br i1 %t44, label %if.t15, label %if.f17 +if.t15: + %t45 = load ptr, ptr %sc_l_s_0 + %t46 = call ptr @scr_net_server_retain_v(ptr %t45) + %t47 = load ptr, ptr %sc_l_opts_0 + %t48 = getelementptr inbounds %sc_rs_r8, ptr %t47, i64 0, i32 2 + %t49 = load double, ptr %t48 + call void @scr_net_listen(ptr %t46, double %t49, ptr null) + call void @scr_net_server_release(ptr %t46) + br label %if.j16 +if.f17: + %t50 = load ptr, ptr %sc_l_s_0 + %t51 = call ptr @scr_net_server_retain_v(ptr %t50) + %t52 = load ptr, ptr %sc_l_opts_0 + %t53 = getelementptr inbounds %sc_rs_r8, ptr %t52, i64 0, i32 2 + %t54 = load double, ptr %t53 + %t55 = load ptr, ptr %sc_l_opts_0 + %t56 = getelementptr inbounds %sc_rs_r8, ptr %t55, i64 0, i32 1 + %t57 = load ptr, ptr %t56 + %t58 = icmp eq ptr %t57, @sc_nullable_absent + %t59 = select i1 %t58, ptr null, ptr %t57 + %t60 = call ptr @sc_rc_retain_str(ptr %t59) + call void @scr_net_listen_opts(ptr %t51, double %t54, ptr %t60, i1 false, ptr null) + call void @scr_net_server_release(ptr %t51) + call void @scr_str_release(ptr %t60) + br label %if.j16 +if.j16: + %t61 = load ptr, ptr %sc_l_s_0 + ret ptr %t61 +exc.cleanup9: + %t62 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t62) + ret ptr null +exc.cleanup12: + %t63 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t63) + %t64 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t64) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_serve(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_serve(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_App(ptr %p0) + call void @sc_rrelease_r8(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m5_App_serveFetch(ptr %p_sc_l_this_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.serveFetch +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_s_0 = alloca ptr ; s + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_s_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_4(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t26) + %t27 = call ptr @scr_dyn_call(ptr %t24, ptr null, i64 0, ptr @sc_cs_968890379863199) + call void @scr_dyn_this_pop() + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup12 +exc.k11: + %t31 = call ptr @sc_dc_73(ptr %t27, ptr null) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + call void @scr_closure_release(ptr %t31) + br label %exc.cleanup12 +exc.k14: + %t35 = call ptr @scr_http_create_server(ptr %t31, ptr @scr_http_handler_thunk2) + store ptr %t35, ptr %sc_l_s_0 + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t27) + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + %t38 = load ptr, ptr %sc_l_opts_0 + %t39 = getelementptr inbounds %sc_rs_r8, ptr %t38, i64 0, i32 1 + %t40 = load ptr, ptr %t39 + %t41 = icmp eq ptr %t40, @sc_nullable_absent + %t42 = select i1 %t41, ptr null, ptr %t40 + %t44 = icmp eq ptr %t42, null + br i1 %t44, label %if.t15, label %if.f17 +if.t15: + %t45 = load ptr, ptr %sc_l_s_0 + %t46 = call ptr @scr_net_server_retain_v(ptr %t45) + %t47 = load ptr, ptr %sc_l_opts_0 + %t48 = getelementptr inbounds %sc_rs_r8, ptr %t47, i64 0, i32 2 + %t49 = load double, ptr %t48 + call void @scr_net_listen(ptr %t46, double %t49, ptr null) + call void @scr_net_server_release(ptr %t46) + br label %if.j16 +if.f17: + %t50 = load ptr, ptr %sc_l_s_0 + %t51 = call ptr @scr_net_server_retain_v(ptr %t50) + %t52 = load ptr, ptr %sc_l_opts_0 + %t53 = getelementptr inbounds %sc_rs_r8, ptr %t52, i64 0, i32 2 + %t54 = load double, ptr %t53 + %t55 = load ptr, ptr %sc_l_opts_0 + %t56 = getelementptr inbounds %sc_rs_r8, ptr %t55, i64 0, i32 1 + %t57 = load ptr, ptr %t56 + %t58 = icmp eq ptr %t57, @sc_nullable_absent + %t59 = select i1 %t58, ptr null, ptr %t57 + %t60 = call ptr @sc_rc_retain_str(ptr %t59) + call void @scr_net_listen_opts(ptr %t51, double %t54, ptr %t60, i1 false, ptr null) + call void @scr_net_server_release(ptr %t51) + call void @scr_str_release(ptr %t60) + br label %if.j16 +if.j16: + %t61 = load ptr, ptr %sc_l_s_0 + ret ptr %t61 +exc.cleanup9: + %t62 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t62) + ret ptr null +exc.cleanup12: + %t63 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t63) + %t64 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t64) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_serveFetch(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_serveFetch(ptr %p0, ptr %p1) + call void @sc_release__x25_m5_App(ptr %p0) + call void @sc_rrelease_r8(ptr %p1) + ret ptr %result +} + +define internal double @sc_bf__x25__x25_m5_App__regFn(ptr %p_sc_l_this_0, ptr %p_sc_l_h_0, ptr %p_sc_l_mw_0, ptr %p_sc_l_m_0, ptr %p_sc_l_body_0, ptr %p_sc_l_mp_0) #0 { ; %%m5.App._regFn +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_h_0 = alloca ptr ; h + %sc_l_mw_0 = alloca ptr ; mw + %sc_l_m_0 = alloca ptr ; m + %sc_l_body_0 = alloca ptr ; body + %sc_l_mp_0 = alloca ptr ; mp + %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget + %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue + %s22 = alloca ptr + %s102 = alloca ptr + %s242 = alloca double + %s243 = alloca i32 + %s295 = alloca ptr + store ptr null, ptr %sc_l__x25_pushTarget_0 + store ptr null, ptr %sc_l__x25_pushValue_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_mw_0, ptr %sc_l_mw_0 + store ptr %p_sc_l_m_0, ptr %sc_l_m_0 + store ptr %p_sc_l_body_0, ptr %sc_l_body_0 + store ptr %p_sc_l_mp_0, ptr %sc_l_mp_0 + %t0 = load ptr, ptr %sc_l_h_0 + %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1 + %t2 = load i32, ptr %t3 + %t1 = icmp eq i32 %t2, 1 + br i1 %t1, label %if.t0, label %if.f2 +if.t0: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !36 + %t7 = call ptr @scr_arr_retain_v(ptr %t6) + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t8, i64 0, i32 3 + %t10 = load ptr, ptr %t9, !tbaa !36 + %t11 = getelementptr inbounds %ScrArr, ptr %t10, i32 0, i32 1 + %t12 = load i64, ptr %t11, !tbaa !2, !range !{i64 0, i64 4294967296} + %t13 = sitofp i64 %t12 to double + call void @scr_arr_set_undefined(ptr %t7, double %t13) + call void @scr_arr_release(ptr %t7) + br label %if.j1 +if.f2: + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t14, i64 0, i32 3 + %t16 = load ptr, ptr %t15, !tbaa !36 + %t17 = call ptr @scr_arr_retain_v(ptr %t16) + %t18 = load ptr, ptr %sc_l_h_0 + %t21 = getelementptr inbounds %ScrUnion, ptr %t18, i64 0, i32 1 + %t20 = load i32, ptr %t21 + %t19 = icmp eq i32 %t20, 0 + br i1 %t19, label %tern.t3, label %tern.f4 +tern.t3: + %t23 = load ptr, ptr %sc_l_h_0 + %t24 = getelementptr inbounds %ScrUnion, ptr %t23, i64 0, i32 5 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @scr_closure_retain_v(ptr %t25) + store ptr %t26, ptr %s22 + br label %tern.j5 +tern.f4: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + call void @scr_arr_release(ptr %t17) + ret double 0x0000000000000000 +exc.dead6: + store ptr null, ptr %s22 + br label %tern.j5 +tern.j5: + %t27 = load ptr, ptr %s22 + %t28 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + %t29 = load i64, ptr %t28, !tbaa !2 + %t32 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2 + %t30 = load i64, ptr %t32, !tbaa !2 + %t31 = icmp ult i64 %t29, %t30 + br i1 %t31, label %arr.push.dense7, label %arr.push.slow8 +arr.push.dense7: + %t33 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8 + %t35 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9 + %t34 = load ptr, ptr %t33, !tbaa !2 + %t36 = load ptr, ptr %t35, !tbaa !2 + %t37 = getelementptr inbounds i8, ptr %t36, i64 %t29 + %t38 = getelementptr inbounds i64, ptr %t34, i64 %t29 + store ptr %t27, ptr %t38, !tbaa !6 + store i8 1, ptr %t37, !tbaa !4 + %t39 = add nuw i64 %t29, 1 + store i64 %t39, ptr %t28, !tbaa !2 + %t41 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6 + %t42 = load i32, ptr %t41, !tbaa !2 + %t46 = zext i32 %t42 to i64 + %t43 = icmp eq i64 %t46, %t29 + %t44 = add i32 %t42, 1 + %t45 = select i1 %t43, i32 %t44, i32 %t42 + store i32 %t45, ptr %t41, !tbaa !2 + %t40 = sitofp i64 %t39 to double + br label %arr.push.join9 +arr.push.slow8: + %t47 = call double @scr_arr_push_ref(ptr %t17, ptr %t27) cold + br label %arr.push.join9 +arr.push.join9: + %t48 = phi double [ %t40, %arr.push.dense7 ], [ %t47, %arr.push.slow8 ] + call void @scr_arr_release(ptr %t17) + br label %if.j1 +if.j1: + %t49 = load ptr, ptr %sc_l_this_0 + %t50 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t49, i64 0, i32 3 + %t51 = load ptr, ptr %t50, !tbaa !36 + %t52 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 1 + %t53 = load i64, ptr %t52, !tbaa !2, !range !{i64 0, i64 4294967296} + %t54 = sitofp i64 %t53 to double + %t55 = load ptr, ptr %sc_l_this_0 + %t56 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t55, i64 0, i32 4 + %t57 = load ptr, ptr %t56, !tbaa !34 + %t58 = call ptr @scr_arr_retain_v(ptr %t57) + %t59 = load ptr, ptr %sc_l_mw_0 + %t60 = call ptr @scr_arr_retain_v(ptr %t59) + %t61 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 1 + %t62 = load i64, ptr %t61, !tbaa !2 + %t65 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 2 + %t63 = load i64, ptr %t65, !tbaa !2 + %t64 = icmp ult i64 %t62, %t63 + br i1 %t64, label %arr.push.dense10, label %arr.push.slow11 +arr.push.dense10: + %t66 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 8 + %t68 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 9 + %t67 = load ptr, ptr %t66, !tbaa !2 + %t69 = load ptr, ptr %t68, !tbaa !2 + %t70 = getelementptr inbounds i8, ptr %t69, i64 %t62 + %t71 = getelementptr inbounds i64, ptr %t67, i64 %t62 + store ptr %t60, ptr %t71, !tbaa !6 + store i8 1, ptr %t70, !tbaa !4 + %t72 = add nuw i64 %t62, 1 + store i64 %t72, ptr %t61, !tbaa !2 + %t74 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 6 + %t75 = load i32, ptr %t74, !tbaa !2 + %t79 = zext i32 %t75 to i64 + %t76 = icmp eq i64 %t79, %t62 + %t77 = add i32 %t75, 1 + %t78 = select i1 %t76, i32 %t77, i32 %t75 + store i32 %t78, ptr %t74, !tbaa !2 + %t73 = sitofp i64 %t72 to double + br label %arr.push.join12 +arr.push.slow11: + %t80 = call double @scr_arr_push_ref(ptr %t58, ptr %t60) cold + br label %arr.push.join12 +arr.push.join12: + %t81 = phi double [ %t73, %arr.push.dense10 ], [ %t80, %arr.push.slow11 ] + call void @scr_arr_release(ptr %t58) + %t82 = load ptr, ptr %sc_l_this_0 + %t83 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t82, i64 0, i32 8 + %t84 = load ptr, ptr %t83, !tbaa !178 + store ptr %t84, ptr %sc_l__x25_pushTarget_0 + %t85 = load ptr, ptr %sc_l_mw_0 + %t86 = load ptr, ptr %sc_l_h_0 + %t87 = call ptr @sc_bf__x25_m5_compose(ptr %t85, ptr %t86) + store ptr %t87, ptr %sc_l__x25_pushValue_0 + %t88 = load ptr, ptr %sc_l__x25_pushValue_0 + %t91 = getelementptr inbounds %ScrUnion, ptr %t88, i64 0, i32 1 + %t90 = load i32, ptr %t91 + %t89 = icmp eq i32 %t90, 1 + br i1 %t89, label %if.t13, label %if.f15 +if.t13: + %t92 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t93 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t94 = getelementptr inbounds %ScrArr, ptr %t93, i32 0, i32 1 + %t95 = load i64, ptr %t94, !tbaa !2, !range !{i64 0, i64 4294967296} + %t96 = sitofp i64 %t95 to double + call void @scr_arr_set_undefined(ptr %t92, double %t96) + br label %if.j14 +if.f15: + %t97 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t98 = load ptr, ptr %sc_l__x25_pushValue_0 + %t101 = getelementptr inbounds %ScrUnion, ptr %t98, i64 0, i32 1 + %t100 = load i32, ptr %t101 + %t99 = icmp eq i32 %t100, 0 + br i1 %t99, label %tern.t16, label %tern.f17 +tern.t16: + %t103 = load ptr, ptr %sc_l__x25_pushValue_0 + %t104 = getelementptr inbounds %ScrUnion, ptr %t103, i64 0, i32 5 + %t105 = load ptr, ptr %t104 + %t106 = call ptr @scr_closure_retain_v(ptr %t105) + store ptr %t106, ptr %s102 + br label %tern.j18 +tern.f17: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup19 +exc.dead20: + store ptr null, ptr %s102 + br label %tern.j18 +tern.j18: + %t107 = load ptr, ptr %s102 + %t108 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 1 + %t109 = load i64, ptr %t108, !tbaa !2 + %t112 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 2 + %t110 = load i64, ptr %t112, !tbaa !2 + %t111 = icmp ult i64 %t109, %t110 + br i1 %t111, label %arr.push.dense21, label %arr.push.slow22 +arr.push.dense21: + %t113 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 8 + %t115 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 9 + %t114 = load ptr, ptr %t113, !tbaa !2 + %t116 = load ptr, ptr %t115, !tbaa !2 + %t117 = getelementptr inbounds i8, ptr %t116, i64 %t109 + %t118 = getelementptr inbounds i64, ptr %t114, i64 %t109 + store ptr %t107, ptr %t118, !tbaa !6 + store i8 1, ptr %t117, !tbaa !4 + %t119 = add nuw i64 %t109, 1 + store i64 %t119, ptr %t108, !tbaa !2 + %t121 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 6 + %t122 = load i32, ptr %t121, !tbaa !2 + %t126 = zext i32 %t122 to i64 + %t123 = icmp eq i64 %t126, %t109 + %t124 = add i32 %t122, 1 + %t125 = select i1 %t123, i32 %t124, i32 %t122 + store i32 %t125, ptr %t121, !tbaa !2 + %t120 = sitofp i64 %t119 to double + br label %arr.push.join23 +arr.push.slow22: + %t127 = call double @scr_arr_push_ref(ptr %t97, ptr %t107) cold + br label %arr.push.join23 +arr.push.join23: + %t128 = phi double [ %t120, %arr.push.dense21 ], [ %t127, %arr.push.slow22 ] + br label %if.j14 +if.j14: + %t129 = load ptr, ptr %sc_l__x25_pushTarget_0 + %t130 = getelementptr inbounds %ScrArr, ptr %t129, i32 0, i32 1 + %t131 = load i64, ptr %t130, !tbaa !2, !range !{i64 0, i64 4294967296} + %t132 = sitofp i64 %t131 to double + %t133 = load ptr, ptr %sc_l__x25_pushValue_0 + call void @scr_union_release(ptr %t133) + %t134 = load ptr, ptr %sc_l_this_0 + %t135 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t134, i64 0, i32 10 + %t136 = load ptr, ptr %t135, !tbaa !150 + %t137 = call ptr @scr_arr_retain_v(ptr %t136) + %t138 = load ptr, ptr %sc_l_m_0 + %t139 = getelementptr inbounds %sc_rs_r9, ptr %t138, i64 0, i32 2 + %t140 = load ptr, ptr %t139 + %t141 = call ptr @scr_arr_retain_v(ptr %t140) + %t142 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 1 + %t143 = load i64, ptr %t142, !tbaa !2 + %t146 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 2 + %t144 = load i64, ptr %t146, !tbaa !2 + %t145 = icmp ult i64 %t143, %t144 + br i1 %t145, label %arr.push.dense24, label %arr.push.slow25 +arr.push.dense24: + %t147 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 8 + %t149 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 9 + %t148 = load ptr, ptr %t147, !tbaa !2 + %t150 = load ptr, ptr %t149, !tbaa !2 + %t151 = getelementptr inbounds i8, ptr %t150, i64 %t143 + %t152 = getelementptr inbounds i64, ptr %t148, i64 %t143 + store ptr %t141, ptr %t152, !tbaa !6 + store i8 1, ptr %t151, !tbaa !4 + %t153 = add nuw i64 %t143, 1 + store i64 %t153, ptr %t142, !tbaa !2 + %t155 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 6 + %t156 = load i32, ptr %t155, !tbaa !2 + %t160 = zext i32 %t156 to i64 + %t157 = icmp eq i64 %t160, %t143 + %t158 = add i32 %t156, 1 + %t159 = select i1 %t157, i32 %t158, i32 %t156 + store i32 %t159, ptr %t155, !tbaa !2 + %t154 = sitofp i64 %t153 to double + br label %arr.push.join26 +arr.push.slow25: + %t161 = call double @scr_arr_push_ref(ptr %t137, ptr %t141) cold + br label %arr.push.join26 +arr.push.join26: + %t162 = phi double [ %t154, %arr.push.dense24 ], [ %t161, %arr.push.slow25 ] + call void @scr_arr_release(ptr %t137) + %t163 = load ptr, ptr %sc_l_this_0 + %t164 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t163, i64 0, i32 11 + %t165 = load ptr, ptr %t164, !tbaa !152 + %t166 = call ptr @scr_arr_retain_v(ptr %t165) + %t167 = load ptr, ptr %sc_l_m_0 + %t168 = getelementptr inbounds %sc_rs_r9, ptr %t167, i64 0, i32 1 + %t169 = load ptr, ptr %t168 + %t170 = call ptr @scr_arr_retain_v(ptr %t169) + %t171 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 1 + %t172 = load i64, ptr %t171, !tbaa !2 + %t175 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 2 + %t173 = load i64, ptr %t175, !tbaa !2 + %t174 = icmp ult i64 %t172, %t173 + br i1 %t174, label %arr.push.dense27, label %arr.push.slow28 +arr.push.dense27: + %t176 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 8 + %t178 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 9 + %t177 = load ptr, ptr %t176, !tbaa !2 + %t179 = load ptr, ptr %t178, !tbaa !2 + %t180 = getelementptr inbounds i8, ptr %t179, i64 %t172 + %t181 = getelementptr inbounds i64, ptr %t177, i64 %t172 + store ptr %t170, ptr %t181, !tbaa !6 + store i8 1, ptr %t180, !tbaa !4 + %t182 = add nuw i64 %t172, 1 + store i64 %t182, ptr %t171, !tbaa !2 + %t184 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 6 + %t185 = load i32, ptr %t184, !tbaa !2 + %t189 = zext i32 %t185 to i64 + %t186 = icmp eq i64 %t189, %t172 + %t187 = add i32 %t185, 1 + %t188 = select i1 %t186, i32 %t187, i32 %t185 + store i32 %t188, ptr %t184, !tbaa !2 + %t183 = sitofp i64 %t182 to double + br label %arr.push.join29 +arr.push.slow28: + %t190 = call double @scr_arr_push_ref(ptr %t166, ptr %t170) cold + br label %arr.push.join29 +arr.push.join29: + %t191 = phi double [ %t183, %arr.push.dense27 ], [ %t190, %arr.push.slow28 ] + call void @scr_arr_release(ptr %t166) + %t192 = load ptr, ptr %sc_l_this_0 + %t193 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t192, i64 0, i32 12 + %t194 = load ptr, ptr %t193, !tbaa !154 + %t195 = call ptr @scr_arr_retain_v(ptr %t194) + %t196 = load ptr, ptr %sc_l_m_0 + %t197 = getelementptr inbounds %sc_rs_r9, ptr %t196, i64 0, i32 3 + %t198 = load double, ptr %t197 + %t199 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 1 + %t200 = load i64, ptr %t199, !tbaa !2 + %t203 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 2 + %t201 = load i64, ptr %t203, !tbaa !2 + %t202 = icmp ult i64 %t200, %t201 + br i1 %t202, label %arr.push.dense30, label %arr.push.slow31 +arr.push.dense30: + %t204 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 8 + %t206 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 9 + %t205 = load ptr, ptr %t204, !tbaa !2 + %t207 = load ptr, ptr %t206, !tbaa !2 + %t208 = getelementptr inbounds i8, ptr %t207, i64 %t200 + %t209 = getelementptr inbounds i64, ptr %t205, i64 %t200 + store double %t198, ptr %t209, !tbaa !6 + store i8 1, ptr %t208, !tbaa !4 + %t210 = add nuw i64 %t200, 1 + store i64 %t210, ptr %t199, !tbaa !2 + %t212 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 6 + %t213 = load i32, ptr %t212, !tbaa !2 + %t217 = zext i32 %t213 to i64 + %t214 = icmp eq i64 %t217, %t200 + %t215 = add i32 %t213, 1 + %t216 = select i1 %t214, i32 %t215, i32 %t213 + store i32 %t216, ptr %t212, !tbaa !2 + %t211 = sitofp i64 %t210 to double + br label %arr.push.join32 +arr.push.slow31: + %t218 = call double @scr_arr_push_f64(ptr %t195, double %t198) cold + br label %arr.push.join32 +arr.push.join32: + %t219 = phi double [ %t211, %arr.push.dense30 ], [ %t218, %arr.push.slow31 ] + call void @scr_arr_release(ptr %t195) + %t220 = load ptr, ptr %sc_l_body_0 + %t223 = getelementptr inbounds %ScrUnion, ptr %t220, i64 0, i32 1 + %t222 = load i32, ptr %t223 + %t221 = icmp eq i32 %t222, 1 + br i1 %t221, label %if.t33, label %if.f35 +if.t33: + %t224 = load ptr, ptr %sc_l_this_0 + %t225 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t224, i64 0, i32 13 + %t226 = load ptr, ptr %t225, !tbaa !38 + %t227 = call ptr @scr_arr_retain_v(ptr %t226) + %t228 = load ptr, ptr %sc_l_this_0 + %t229 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t228, i64 0, i32 13 + %t230 = load ptr, ptr %t229, !tbaa !38 + %t231 = getelementptr inbounds %ScrArr, ptr %t230, i32 0, i32 1 + %t232 = load i64, ptr %t231, !tbaa !2, !range !{i64 0, i64 4294967296} + %t233 = sitofp i64 %t232 to double + call void @scr_arr_set_undefined(ptr %t227, double %t233) + call void @scr_arr_release(ptr %t227) + br label %if.j34 +if.f35: + %t234 = load ptr, ptr %sc_l_this_0 + %t235 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t234, i64 0, i32 13 + %t236 = load ptr, ptr %t235, !tbaa !38 + %t237 = call ptr @scr_arr_retain_v(ptr %t236) + %t238 = load ptr, ptr %sc_l_body_0 + %t241 = getelementptr inbounds %ScrUnion, ptr %t238, i64 0, i32 1 + %t240 = load i32, ptr %t241 + %t239 = icmp eq i32 %t240, 0 + br i1 %t239, label %tern.t36, label %tern.f37 +tern.t36: + %t244 = load ptr, ptr %sc_l_body_0 + %t245 = getelementptr inbounds %ScrUnion, ptr %t244, i64 0, i32 5 + %t246 = load double, ptr %t245 + store double %t246, ptr %s242 + br label %tern.j38 +tern.f37: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + call void @scr_arr_release(ptr %t237) + ret double 0x0000000000000000 +exc.dead39: + store double 0x0000000000000000, ptr %s242 + br label %tern.j38 +tern.j38: + %t247 = load double, ptr %s242 + %t248 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 1 + %t249 = load i64, ptr %t248, !tbaa !2 + %t252 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 2 + %t250 = load i64, ptr %t252, !tbaa !2 + %t251 = icmp ult i64 %t249, %t250 + br i1 %t251, label %arr.push.dense40, label %arr.push.slow41 +arr.push.dense40: + %t253 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 8 + %t255 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 9 + %t254 = load ptr, ptr %t253, !tbaa !2 + %t256 = load ptr, ptr %t255, !tbaa !2 + %t257 = getelementptr inbounds i8, ptr %t256, i64 %t249 + %t258 = getelementptr inbounds i64, ptr %t254, i64 %t249 + store double %t247, ptr %t258, !tbaa !6 + store i8 1, ptr %t257, !tbaa !4 + %t259 = add nuw i64 %t249, 1 + store i64 %t259, ptr %t248, !tbaa !2 + %t261 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 6 + %t262 = load i32, ptr %t261, !tbaa !2 + %t266 = zext i32 %t262 to i64 + %t263 = icmp eq i64 %t266, %t249 + %t264 = add i32 %t262, 1 + %t265 = select i1 %t263, i32 %t264, i32 %t262 + store i32 %t265, ptr %t261, !tbaa !2 + %t260 = sitofp i64 %t259 to double + br label %arr.push.join42 +arr.push.slow41: + %t267 = call double @scr_arr_push_f64(ptr %t237, double %t247) cold + br label %arr.push.join42 +arr.push.join42: + %t268 = phi double [ %t260, %arr.push.dense40 ], [ %t267, %arr.push.slow41 ] + call void @scr_arr_release(ptr %t237) + br label %if.j34 +if.j34: + %t269 = load ptr, ptr %sc_l_this_0 + %t270 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t269, i64 0, i32 13 + %t271 = load ptr, ptr %t270, !tbaa !38 + %t272 = getelementptr inbounds %ScrArr, ptr %t271, i32 0, i32 1 + %t273 = load i64, ptr %t272, !tbaa !2, !range !{i64 0, i64 4294967296} + %t274 = sitofp i64 %t273 to double + %t275 = load ptr, ptr %sc_l_mp_0 + %t277 = icmp eq ptr %t275, null + br i1 %t277, label %if.t43, label %if.f45 +if.t43: + %t278 = load ptr, ptr %sc_l_this_0 + %t279 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t278, i64 0, i32 14 + %t280 = load ptr, ptr %t279, !tbaa !40 + %t281 = call ptr @scr_arr_retain_v(ptr %t280) + %t282 = load ptr, ptr %sc_l_this_0 + %t283 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t282, i64 0, i32 14 + %t284 = load ptr, ptr %t283, !tbaa !40 + %t285 = getelementptr inbounds %ScrArr, ptr %t284, i32 0, i32 1 + %t286 = load i64, ptr %t285, !tbaa !2, !range !{i64 0, i64 4294967296} + %t287 = sitofp i64 %t286 to double + call void @scr_arr_set_undefined(ptr %t281, double %t287) + call void @scr_arr_release(ptr %t281) + br label %if.j44 +if.f45: + %t288 = load ptr, ptr %sc_l_this_0 + %t289 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t288, i64 0, i32 14 + %t290 = load ptr, ptr %t289, !tbaa !40 + %t291 = call ptr @scr_arr_retain_v(ptr %t290) + %t292 = load ptr, ptr %sc_l_mp_0 + %t294 = icmp ne ptr %t292, null + br i1 %t294, label %tern.t46, label %tern.f47 +tern.t46: + %t296 = load ptr, ptr %sc_l_mp_0 + %t297 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t296) + store ptr %t297, ptr %s295 + br label %tern.j48 +tern.f47: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + call void @scr_arr_release(ptr %t291) + ret double 0x0000000000000000 +exc.dead49: + store ptr null, ptr %s295 + br label %tern.j48 +tern.j48: + %t298 = load ptr, ptr %s295 + %t299 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 1 + %t300 = load i64, ptr %t299, !tbaa !2 + %t303 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 2 + %t301 = load i64, ptr %t303, !tbaa !2 + %t302 = icmp ult i64 %t300, %t301 + br i1 %t302, label %arr.push.dense50, label %arr.push.slow51 +arr.push.dense50: + %t304 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 8 + %t306 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 9 + %t305 = load ptr, ptr %t304, !tbaa !2 + %t307 = load ptr, ptr %t306, !tbaa !2 + %t308 = getelementptr inbounds i8, ptr %t307, i64 %t300 + %t309 = getelementptr inbounds i64, ptr %t305, i64 %t300 + store ptr %t298, ptr %t309, !tbaa !6 + store i8 1, ptr %t308, !tbaa !4 + %t310 = add nuw i64 %t300, 1 + store i64 %t310, ptr %t299, !tbaa !2 + %t312 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 6 + %t313 = load i32, ptr %t312, !tbaa !2 + %t317 = zext i32 %t313 to i64 + %t314 = icmp eq i64 %t317, %t300 + %t315 = add i32 %t313, 1 + %t316 = select i1 %t314, i32 %t315, i32 %t313 + store i32 %t316, ptr %t312, !tbaa !2 + %t311 = sitofp i64 %t310 to double + br label %arr.push.join52 +arr.push.slow51: + %t318 = call double @scr_arr_push_ref(ptr %t291, ptr %t298) cold + br label %arr.push.join52 +arr.push.join52: + %t319 = phi double [ %t311, %arr.push.dense50 ], [ %t318, %arr.push.slow51 ] + call void @scr_arr_release(ptr %t291) + br label %if.j44 +if.j44: + %t320 = load ptr, ptr %sc_l_this_0 + %t321 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t320, i64 0, i32 14 + %t322 = load ptr, ptr %t321, !tbaa !40 + %t323 = getelementptr inbounds %ScrArr, ptr %t322, i32 0, i32 1 + %t324 = load i64, ptr %t323, !tbaa !2, !range !{i64 0, i64 4294967296} + %t325 = sitofp i64 %t324 to double + %t326 = load ptr, ptr %sc_l_this_0 + %t327 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t326, i64 0, i32 3 + %t328 = load ptr, ptr %t327, !tbaa !36 + %t329 = getelementptr inbounds %ScrArr, ptr %t328, i32 0, i32 1 + %t330 = load i64, ptr %t329, !tbaa !2, !range !{i64 0, i64 4294967296} + %t331 = sitofp i64 %t330 to double + %t333 = fptosi double %t331 to i64 + %t334 = sub nsw i64 %t333, 1 + %t336 = trunc i64 %t334 to i32 + %t335 = sitofp i64 %t334 to double + ret double %t335 +exc.cleanup19: + %t337 = load ptr, ptr %sc_l__x25_pushValue_0 + call void @scr_union_release(ptr %t337) + ret double 0x0000000000000000 +} +define internal double @sc_f__x25__x25_m5_App__regFn(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) #0 { +entry: + %result = call double @sc_bf__x25__x25_m5_App__regFn(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_union_release(ptr %p1) + call void @scr_arr_release(ptr %p2) + call void @sc_rrelease_r9(ptr %p3) + call void @scr_union_release(ptr %p4) + call void @sc_release__x25_m5_MpCfg(ptr %p5) + ret double %result +} + +define internal ptr @sc_bf__x25__x25_m5_App__add(ptr %p_sc_l_this_0, ptr %p_sc_l_method_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App._add +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_method_0 = alloca ptr ; method + %sc_l_path_0 = alloca ptr ; path + %sc_l_h_0 = alloca ptr ; h + %sc_l_opts_0 = alloca ptr ; opts + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_idx_0 = alloca double ; idx + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s53 = alloca [5 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_method_0, ptr %sc_l_method_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_5(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t27 = load ptr, ptr %sc_l_h_0 + %t28 = call ptr @sc_dfb_4(ptr %t27, ptr @sc_cs_3002302439247642) + %t29 = load ptr, ptr %sc_l_this_0 + %t30 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t29, i64 0, i32 2 + %t31 = load ptr, ptr %t30, !tbaa !170 + %t32 = call ptr @sc_bf__x25_m5_copyMw(ptr %t31) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_arr_release(ptr %t32) + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + br label %exc.cleanup12 +exc.k11: + %t36 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t36, ptr @sc_ldr_26_materialize_ops) + %t37 = load ptr, ptr %sc_l_path_0 + %t38 = call ptr @sc_bf__x25_m5_pathMeta(ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rrelease_r9(ptr %t38) + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @scr_arr_release(ptr %t32) + call void @sc_rc_release_dyn(ptr %t36) + br label %exc.cleanup12 +exc.k14: + %t42 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t38, ptr @sc_rretain_r9, ptr @sc_rrelease_r9, ptr @sc_cs_1790505695584955, i64 9, ptr @sc_ldr_33_materialize, ptr @sc_ldr_33_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t42, ptr @sc_ldr_33_materialize_rops) + %t43 = load ptr, ptr %sc_l_opts_0 + %t44 = call i32 @sc_bf__x25_m5_bodyFlag.i32(ptr %t43) + %t45 = sitofp i32 %t44 to double + %t46 = call ptr @sc_td_2(double %t45) + %t47 = load ptr, ptr %sc_l_opts_0 + %t48 = call ptr @sc_bf__x25_m5_resolveMp(ptr %t47) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m5_MpCfg(ptr %t48) + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @scr_arr_release(ptr %t32) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rrelease_r9(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + br label %exc.cleanup12 +exc.k16: + %t52 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t48, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t52, ptr @sc_ldr_32_materialize_cops) + %t54 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 0 + store ptr %t28, ptr %t54 + %t55 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 1 + store ptr %t36, ptr %t55 + %t56 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 2 + store ptr %t42, ptr %t56 + %t57 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 3 + store ptr %t46, ptr %t57 + %t58 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 4 + store ptr %t52, ptr %t58 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t59 = call ptr @scr_dyn_call(ptr %t24, ptr %s53, i64 5, ptr @sc_cs_1951612592073524) + call void @scr_dyn_this_pop() + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @scr_arr_release(ptr %t32) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rrelease_r9(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + call void @sc_release__x25_m5_MpCfg(ptr %t48) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t59) + br label %exc.cleanup12 +exc.k18: + %t63 = call double @sc_dc_2(ptr %t59, ptr null) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u19, label %exc.k20 +exc.u19: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @scr_arr_release(ptr %t32) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rrelease_r9(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + call void @sc_release__x25_m5_MpCfg(ptr %t48) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t59) + br label %exc.cleanup12 +exc.k20: + store double %t63, ptr %sc_l_idx_0 + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @scr_arr_release(ptr %t32) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rrelease_r9(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + call void @sc_release__x25_m5_MpCfg(ptr %t48) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t59) + %t67 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t67) + %t68 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t68) + %t69 = load ptr, ptr %sc_l_this_0 + %t70 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t69, i64 0, i32 1 + %t71 = load ptr, ptr %t70, !tbaa !32 + %t72 = load ptr, ptr %sc_l_method_0 + %t73 = load ptr, ptr %sc_l_path_0 + %t74 = load double, ptr %sc_l_idx_0 + call void @sc_bf__x25_m5_addRoute(ptr %t71, ptr %t72, ptr %t73, double %t74) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u21, label %exc.k22 +exc.u21: + ret ptr null +exc.k22: + %t78 = load ptr, ptr %sc_l_this_0 + ret ptr %t78 +exc.cleanup9: + %t79 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t79) + ret ptr null +exc.cleanup12: + %t80 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t80) + %t81 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t81) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App__add(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25__x25_m5_App__add(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_App(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_closure_release(ptr %p3) + call void @sc_rrelease_r7(ptr %p4) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25__x25_m5_App_fetch(ptr %p_sc_l_this_0, ptr %p_sc_l_req_0, ptr %p_sc_l__env_0, ptr %p_sc_l__ctx_0) #0 { ; %%m5.App.fetch +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_req_0 = alloca ptr ; req + %sc_l__env_0 = alloca ptr ; _env + %sc_l__ctx_0 = alloca ptr ; _ctx + %sc_l_app_0 = alloca ptr ; app + %sc_l__x25_urlArgument_0 = alloca ptr ; %urlArgument + %sc_l__x25_urlInput_0 = alloca ptr ; %urlInput + %sc_l_parsed_0 = alloca ptr ; parsed + %sc_l_url_0 = alloca ptr ; url + %sc_l_method_0 = alloca ptr ; method + %sc_l_sink_0 = alloca ptr ; sink + %s0 = alloca ptr ; lazy box req + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_app_0 + store ptr null, ptr %sc_l__x25_urlArgument_0 + store ptr null, ptr %sc_l__x25_urlInput_0 + store ptr null, ptr %sc_l_parsed_0 + store ptr null, ptr %sc_l_url_0 + store ptr null, ptr %sc_l_method_0 + store ptr null, ptr %sc_l_sink_0 + store ptr null, ptr %s0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store ptr %p_sc_l__env_0, ptr %sc_l__env_0 + store ptr %p_sc_l__ctx_0, ptr %sc_l__ctx_0 + %t1 = call ptr @llvm.stacksave.p0() + %t2 = load ptr, ptr @scr_stack_guard + %t3 = icmp ult ptr %t1, %t2 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t5 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed) + store ptr %t5, ptr %sc_l_app_0 + %t6 = load ptr, ptr %sc_l_this_0 + %t7 = call ptr @sc_retain__x25_m5_App(ptr %t6) + call void @scr_box_set_ref(ptr %t5, ptr %t7) + %t8 = load ptr, ptr %sc_l_req_0 + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_f__x25_dyn_class_property_6(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t10) + br label %exc.cleanup5 +exc.k4: + %t14 = call ptr @sc_dc_0(ptr %t10, ptr null) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @scr_str_release(ptr %t14) + br label %exc.cleanup5 +exc.k7: + store ptr %t14, ptr %sc_l__x25_urlArgument_0 + call void @sc_rc_release_dyn(ptr %t10) + %t18 = load ptr, ptr %sc_l__x25_urlArgument_0 + store ptr %t18, ptr %sc_l__x25_urlInput_0 + %t19 = load ptr, ptr %sc_l__x25_urlInput_0 + %t20 = call ptr @sc_rc_retain_str(ptr %t19) + %t21 = call ptr @scr_url_new(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_str_release(ptr %t20) + call void @scr_url_release(ptr %t21) + br label %exc.cleanup10 +exc.k9: + store ptr %t21, ptr %sc_l_parsed_0 + call void @scr_str_release(ptr %t20) + %t25 = load ptr, ptr %sc_l__x25_urlArgument_0 + call void @scr_str_release(ptr %t25) + %t26 = call ptr @scr_box_new(i32 2) ; let url (boxed) + store ptr %t26, ptr %sc_l_url_0 + %t27 = load ptr, ptr %sc_l_parsed_0 + %t28 = call ptr @scr_url_retain_v(ptr %t27) + %t29 = call ptr @scr_url_pathname(ptr %t28) + %t30 = load ptr, ptr %sc_l_parsed_0 + %t31 = call ptr @scr_url_retain_v(ptr %t30) + %t32 = call ptr @scr_url_search(ptr %t31) + %t33 = call ptr @scr_str_concat(ptr %t29, ptr %t32) + call void @scr_box_set_ref(ptr %t26, ptr %t33) + call void @scr_url_release(ptr %t28) + call void @scr_str_release(ptr %t29) + call void @scr_url_release(ptr %t31) + call void @scr_str_release(ptr %t32) + %t34 = call ptr @scr_box_new(i32 2) ; let method (boxed) + store ptr %t34, ptr %sc_l_method_0 + %t35 = load ptr, ptr %sc_l_req_0 + %t36 = call ptr @sc_rc_retain_dyn(ptr %t35) + %t37 = call ptr @sc_f__x25_dyn_class_property_7(ptr %t36) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t37) + br label %exc.cleanup13 +exc.k12: + %t41 = call ptr @sc_dc_0(ptr %t37, ptr null) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t37) + call void @scr_str_release(ptr %t41) + br label %exc.cleanup13 +exc.k15: + call void @scr_box_set_ref(ptr %t34, ptr %t41) + call void @sc_rc_release_dyn(ptr %t37) + %t45 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) ; let sink (boxed) + store ptr %t45, ptr %sc_l_sink_0 + %t46 = call ptr @sc_new__x25_m2_FetchResponseSink() + call void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %t46) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t46) + br label %exc.cleanup18 +exc.k17: + call void @scr_box_set_ref(ptr %t45, ptr %t46) + %t50 = call ptr @scr_closure_new(ptr @sc_as__x25_fn17, i64 5) + %t51 = getelementptr inbounds %ScrClosure, ptr %t50, i64 0, i32 4 + store i32 2, ptr %t51 + %t52 = load ptr, ptr %s0 + %t53 = icmp eq ptr %t52, null + br i1 %t53, label %lazy.box19, label %lazy.box.j20 +lazy.box19: + %t54 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t55 = load ptr, ptr %sc_l_req_0 + %t56 = call ptr @sc_rc_retain_dyn(ptr %t55) + call void @scr_box_set_ref(ptr %t54, ptr %t56) + store ptr %t54, ptr %s0 + br label %lazy.box.j20 +lazy.box.j20: + %t57 = load ptr, ptr %s0 + %t58 = call ptr @sc_retain_box(ptr %t57) + %t59 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps + %t60 = getelementptr inbounds ptr, ptr %t59, i64 0 ; caps[0] + store ptr %t58, ptr %t60 + %t61 = load ptr, ptr %sc_l_method_0 + %t62 = call ptr @sc_retain_box(ptr %t61) + %t63 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps + %t64 = getelementptr inbounds ptr, ptr %t63, i64 1 ; caps[1] + store ptr %t62, ptr %t64 + %t65 = load ptr, ptr %sc_l_app_0 + %t66 = call ptr @sc_retain_box(ptr %t65) + %t67 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps + %t68 = getelementptr inbounds ptr, ptr %t67, i64 2 ; caps[2] + store ptr %t66, ptr %t68 + %t69 = load ptr, ptr %sc_l_url_0 + %t70 = call ptr @sc_retain_box(ptr %t69) + %t71 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps + %t72 = getelementptr inbounds ptr, ptr %t71, i64 3 ; caps[3] + store ptr %t70, ptr %t72 + %t73 = load ptr, ptr %sc_l_sink_0 + %t74 = call ptr @sc_retain_box(ptr %t73) + %t75 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps + %t76 = getelementptr inbounds ptr, ptr %t75, i64 4 ; caps[4] + store ptr %t74, ptr %t76 + %t77 = getelementptr inbounds %ScrClosure, ptr %t50, i64 0, i32 1 + %t78 = load ptr, ptr %t77 + call void @scr_dyn_this_push_dyn(ptr null) + %t79 = call ptr %t78(ptr %t50) + call void @scr_dyn_this_pop() + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u21, label %exc.k22 +exc.u21: + call void @scr_closure_release(ptr %t50) + call void @scr_promise_release(ptr %t79) + br label %exc.cleanup18 +exc.k22: + call void @scr_closure_release(ptr %t50) + %t83 = load ptr, ptr %s0 + %t84 = icmp ne ptr %t83, null + br i1 %t84, label %lazy.release23, label %lazy.release.j24 +lazy.release23: + call void @scr_box_release(ptr %t83) + br label %lazy.release.j24 +lazy.release.j24: + %t85 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t85) + %t86 = load ptr, ptr %sc_l_parsed_0 + call void @scr_url_release(ptr %t86) + %t87 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t87) + %t88 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t88) + %t89 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t89) + ret ptr %t79 +exc.cleanup2: + %t90 = load ptr, ptr %s0 + %t91 = icmp ne ptr %t90, null + br i1 %t91, label %lazy.release25, label %lazy.release.j26 +lazy.release25: + call void @scr_box_release(ptr %t90) + br label %lazy.release.j26 +lazy.release.j26: + ret ptr null +exc.cleanup5: + %t92 = load ptr, ptr %s0 + %t93 = icmp ne ptr %t92, null + br i1 %t93, label %lazy.release27, label %lazy.release.j28 +lazy.release27: + call void @scr_box_release(ptr %t92) + br label %lazy.release.j28 +lazy.release.j28: + %t94 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t94) + ret ptr null +exc.cleanup10: + %t95 = load ptr, ptr %sc_l__x25_urlArgument_0 + call void @scr_str_release(ptr %t95) + %t96 = load ptr, ptr %s0 + %t97 = icmp ne ptr %t96, null + br i1 %t97, label %lazy.release29, label %lazy.release.j30 +lazy.release29: + call void @scr_box_release(ptr %t96) + br label %lazy.release.j30 +lazy.release.j30: + %t98 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t98) + ret ptr null +exc.cleanup13: + %t99 = load ptr, ptr %s0 + %t100 = icmp ne ptr %t99, null + br i1 %t100, label %lazy.release31, label %lazy.release.j32 +lazy.release31: + call void @scr_box_release(ptr %t99) + br label %lazy.release.j32 +lazy.release.j32: + %t101 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t101) + %t102 = load ptr, ptr %sc_l_parsed_0 + call void @scr_url_release(ptr %t102) + %t103 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t103) + %t104 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t104) + ret ptr null +exc.cleanup18: + %t105 = load ptr, ptr %s0 + %t106 = icmp ne ptr %t105, null + br i1 %t106, label %lazy.release33, label %lazy.release.j34 +lazy.release33: + call void @scr_box_release(ptr %t105) + br label %lazy.release.j34 +lazy.release.j34: + %t107 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t107) + %t108 = load ptr, ptr %sc_l_parsed_0 + call void @scr_url_release(ptr %t108) + %t109 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t109) + %t110 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t110) + %t111 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t111) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m5_App_fetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m5_App_fetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_release__x25_m5_App(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_rc_release_dyn(ptr %p3) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m5_App_fetchShim(ptr %p_sc_l_this_0, ptr %p_sc_l_method_0, ptr %p_sc_l_url_0, ptr %p_sc_l_headers_0, ptr %p_sc_l_body_0, ptr %p_sc_l_respond_0) #0 { ; %%m5.App.fetchShim +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_method_0 = alloca ptr ; method + %sc_l_url_0 = alloca ptr ; url + %sc_l_headers_0 = alloca ptr ; headers + %sc_l_body_0 = alloca ptr ; body + %sc_l_respond_0 = alloca ptr ; respond + %sc_l_app_0 = alloca ptr ; app + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_m_0 = alloca ptr ; m + %sc_l_seeded_0 = alloca ptr ; seeded + %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver + %sc_l_p_0 = alloca ptr ; p + %sc_l_app_1 = alloca ptr ; app + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_seeded_1 = alloca ptr ; seeded + %s0 = alloca ptr ; lazy box method + %s1 = alloca ptr ; lazy box url + %s2 = alloca ptr ; lazy box headers + %s3 = alloca ptr ; lazy box respond + %exc.cell = load ptr, ptr @scr_exc_active + %s23 = alloca i1 + %s27 = alloca ptr + store ptr null, ptr %sc_l_app_0 + store ptr null, ptr %sc_l_sink_0 + store ptr null, ptr %sc_l_m_0 + store ptr null, ptr %sc_l_seeded_0 + store ptr null, ptr %sc_l__x25_callReceiver_0 + store ptr null, ptr %sc_l_p_0 + store ptr null, ptr %sc_l_app_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_seeded_1 + store ptr null, ptr %s0 + store ptr null, ptr %s1 + store ptr null, ptr %s2 + store ptr null, ptr %s3 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_method_0, ptr %sc_l_method_0 + store ptr %p_sc_l_url_0, ptr %sc_l_url_0 + store ptr %p_sc_l_headers_0, ptr %sc_l_headers_0 + store ptr %p_sc_l_body_0, ptr %sc_l_body_0 + store ptr %p_sc_l_respond_0, ptr %sc_l_respond_0 + %t4 = call ptr @llvm.stacksave.p0() + %t5 = load ptr, ptr @scr_stack_guard + %t6 = icmp ult ptr %t4, %t5 + %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false) + br i1 %t7, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t8 = load ptr, ptr %sc_l_this_0 + store ptr %t8, ptr %sc_l_app_1 + %t9 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed) + store ptr %t9, ptr %sc_l_app_0 + %t10 = load ptr, ptr %sc_l_app_1 + %t11 = call ptr @sc_retain__x25_m5_App(ptr %t10) + call void @scr_box_set_ref(ptr %t9, ptr %t11) + %t12 = call ptr @sc_new__x25_m2_FetchResponseSink() + call void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %t12) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t12) + br label %exc.cleanup5 +exc.k4: + store ptr %t12, ptr %sc_l_sink_1 + %t16 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) ; let sink (boxed) + store ptr %t16, ptr %sc_l_sink_0 + %t17 = load ptr, ptr %sc_l_sink_1 + %t18 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t17) + call void @scr_box_set_ref(ptr %t16, ptr %t18) + %t19 = load ptr, ptr %sc_l_method_0 + %t20 = call ptr @scr_str_to_upper(ptr %t19) + store ptr %t20, ptr %sc_l_m_0 + %t21 = load ptr, ptr %sc_l_m_0 + %t22 = call zeroext i1 @sc_streq_367446482893939(ptr %t21) + store i1 %t22, ptr %s23 + br i1 %t22, label %log.j7, label %log.r6 +log.r6: + %t24 = load ptr, ptr %sc_l_m_0 + %t25 = call zeroext i1 @sc_streq_3185835515143599(ptr %t24) + store i1 %t25, ptr %s23 + br label %log.j7 +log.j7: + %t26 = load i1, ptr %s23 + br i1 %t26, label %tern.t8, label %tern.f9 +tern.t8: + store ptr @sc_lit_4005573543169985, ptr %s27 + br label %tern.j10 +tern.f9: + %t28 = load ptr, ptr %sc_l_body_0 + %t29 = call ptr @sc_rc_retain_str(ptr %t28) + store ptr %t29, ptr %s27 + br label %tern.j10 +tern.j10: + %t30 = load ptr, ptr %s27 + store ptr %t30, ptr %sc_l_seeded_1 + %t31 = call ptr @scr_box_new(i32 2) ; let seeded (boxed) + store ptr %t31, ptr %sc_l_seeded_0 + %t32 = load ptr, ptr %sc_l_seeded_1 + %t33 = call ptr @sc_rc_retain_str(ptr %t32) + call void @scr_box_set_ref(ptr %t31, ptr %t33) + %t34 = load ptr, ptr %sc_l_app_1 + store ptr %t34, ptr %sc_l__x25_callReceiver_0 + %t35 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t36 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t35, i64 0, i32 16 + %t37 = load ptr, ptr %t36, !tbaa !184 + %t38 = call ptr @scr_closure_retain_v(ptr %t37) + %t39 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t40 = call ptr @sc_retain__x25_m5_App(ptr %t39) + %t41 = load ptr, ptr %sc_l_method_0 + %t42 = call ptr @sc_rc_retain_str(ptr %t41) + %t43 = load ptr, ptr %sc_l_url_0 + %t44 = call ptr @sc_rc_retain_str(ptr %t43) + %t45 = load ptr, ptr %sc_l_headers_0 + %t46 = call ptr @sc_rretain_r0(ptr %t45) + %t47 = call ptr @scr_dyn_new_null() + %t48 = load ptr, ptr %sc_l_seeded_1 + %t49 = call ptr @sc_rc_retain_str(ptr %t48) + %t50 = load ptr, ptr %sc_l_sink_1 + %t51 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t50) + %t52 = getelementptr inbounds %ScrClosure, ptr %t38, i64 0, i32 1 + %t53 = load ptr, ptr %t52 + call void @scr_dyn_this_push_typed(ptr %t40, ptr @sc_trr_0) + %t54 = call ptr %t53(ptr %t38, ptr %t42, ptr %t44, ptr %t46, ptr %t47, ptr %t49, ptr @sc_unit_2, ptr %t51) + call void @scr_dyn_this_pop() + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u11, label %exc.k12 +exc.u11: + call void @scr_closure_release(ptr %t38) + call void @sc_release__x25_m5_App(ptr %t40) + call void @scr_promise_release(ptr %t54) + br label %exc.cleanup13 +exc.k12: + store ptr %t54, ptr %sc_l_p_0 + call void @scr_closure_release(ptr %t38) + call void @sc_release__x25_m5_App(ptr %t40) + %t58 = call ptr @scr_closure_new(ptr @sc_as__x25_fn21_then, i64 0) + %t59 = getelementptr inbounds %ScrClosure, ptr %t58, i64 0, i32 4 + store i32 2, ptr %t59 + %t60 = load ptr, ptr %sc_l_p_0 + %t61 = call ptr @scr_promise_retain_v(ptr %t60) + %t62 = call ptr @scr_closure_new(ptr @sc_f__x25_fn18, i64 7) + %t63 = getelementptr inbounds %ScrClosure, ptr %t62, i64 0, i32 4 + store i32 4, ptr %t63 + %t64 = load ptr, ptr %sc_l_app_0 + %t65 = call ptr @sc_retain_box(ptr %t64) + %t66 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps + %t67 = getelementptr inbounds ptr, ptr %t66, i64 0 ; caps[0] + store ptr %t65, ptr %t67 + %t68 = load ptr, ptr %s0 + %t69 = icmp eq ptr %t68, null + br i1 %t69, label %lazy.box14, label %lazy.box.j15 +lazy.box14: + %t70 = call ptr @scr_box_new(i32 2) + %t71 = load ptr, ptr %sc_l_method_0 + %t72 = call ptr @sc_rc_retain_str(ptr %t71) + call void @scr_box_set_ref(ptr %t70, ptr %t72) + store ptr %t70, ptr %s0 + br label %lazy.box.j15 +lazy.box.j15: + %t73 = load ptr, ptr %s0 + %t74 = call ptr @sc_retain_box(ptr %t73) + %t75 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps + %t76 = getelementptr inbounds ptr, ptr %t75, i64 1 ; caps[1] + store ptr %t74, ptr %t76 + %t77 = load ptr, ptr %s1 + %t78 = icmp eq ptr %t77, null + br i1 %t78, label %lazy.box16, label %lazy.box.j17 +lazy.box16: + %t79 = call ptr @scr_box_new(i32 2) + %t80 = load ptr, ptr %sc_l_url_0 + %t81 = call ptr @sc_rc_retain_str(ptr %t80) + call void @scr_box_set_ref(ptr %t79, ptr %t81) + store ptr %t79, ptr %s1 + br label %lazy.box.j17 +lazy.box.j17: + %t82 = load ptr, ptr %s1 + %t83 = call ptr @sc_retain_box(ptr %t82) + %t84 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps + %t85 = getelementptr inbounds ptr, ptr %t84, i64 2 ; caps[2] + store ptr %t83, ptr %t85 + %t86 = load ptr, ptr %s2 + %t87 = icmp eq ptr %t86, null + br i1 %t87, label %lazy.box18, label %lazy.box.j19 +lazy.box18: + %t88 = call ptr @scr_box_new_obj(ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr null) + %t89 = load ptr, ptr %sc_l_headers_0 + %t90 = call ptr @sc_rretain_r0(ptr %t89) + call void @scr_box_set_ref(ptr %t88, ptr %t90) + store ptr %t88, ptr %s2 + br label %lazy.box.j19 +lazy.box.j19: + %t91 = load ptr, ptr %s2 + %t92 = call ptr @sc_retain_box(ptr %t91) + %t93 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps + %t94 = getelementptr inbounds ptr, ptr %t93, i64 3 ; caps[3] + store ptr %t92, ptr %t94 + %t95 = load ptr, ptr %sc_l_seeded_0 + %t96 = call ptr @sc_retain_box(ptr %t95) + %t97 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps + %t98 = getelementptr inbounds ptr, ptr %t97, i64 4 ; caps[4] + store ptr %t96, ptr %t98 + %t99 = load ptr, ptr %sc_l_sink_0 + %t100 = call ptr @sc_retain_box(ptr %t99) + %t101 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps + %t102 = getelementptr inbounds ptr, ptr %t101, i64 5 ; caps[5] + store ptr %t100, ptr %t102 + %t103 = load ptr, ptr %s3 + %t104 = icmp eq ptr %t103, null + br i1 %t104, label %lazy.box20, label %lazy.box.j21 +lazy.box20: + %t105 = call ptr @scr_box_new(i32 4) + %t106 = load ptr, ptr %sc_l_respond_0 + %t107 = call ptr @scr_closure_retain_v(ptr %t106) + call void @scr_box_set_ref(ptr %t105, ptr %t107) + store ptr %t105, ptr %s3 + br label %lazy.box.j21 +lazy.box.j21: + %t108 = load ptr, ptr %s3 + %t109 = call ptr @sc_retain_box(ptr %t108) + %t110 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps + %t111 = getelementptr inbounds ptr, ptr %t110, i64 6 ; caps[6] + store ptr %t109, ptr %t111 + %t112 = getelementptr inbounds %ScrClosure, ptr %t58, i64 0, i32 1 + %t113 = load ptr, ptr %t112 + call void @scr_dyn_this_push_dyn(ptr null) + %t114 = call ptr %t113(ptr %t58, ptr %t61, ptr %t62) + call void @scr_dyn_this_pop() + %t115 = load i32, ptr %exc.cell + %t116 = icmp ne i32 %t115, 0 + %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false) + br i1 %t117, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_closure_release(ptr %t58) + call void @scr_promise_release(ptr %t114) + br label %exc.cleanup24 +exc.k23: + call void @scr_closure_release(ptr %t58) + call void @scr_promise_release(ptr %t114) + %t118 = load ptr, ptr %s0 + %t119 = icmp ne ptr %t118, null + br i1 %t119, label %lazy.release25, label %lazy.release.j26 +lazy.release25: + call void @scr_box_release(ptr %t118) + br label %lazy.release.j26 +lazy.release.j26: + %t120 = load ptr, ptr %s1 + %t121 = icmp ne ptr %t120, null + br i1 %t121, label %lazy.release27, label %lazy.release.j28 +lazy.release27: + call void @scr_box_release(ptr %t120) + br label %lazy.release.j28 +lazy.release.j28: + %t122 = load ptr, ptr %s2 + %t123 = icmp ne ptr %t122, null + br i1 %t123, label %lazy.release29, label %lazy.release.j30 +lazy.release29: + call void @scr_box_release(ptr %t122) + br label %lazy.release.j30 +lazy.release.j30: + %t124 = load ptr, ptr %s3 + %t125 = icmp ne ptr %t124, null + br i1 %t125, label %lazy.release31, label %lazy.release.j32 +lazy.release31: + call void @scr_box_release(ptr %t124) + br label %lazy.release.j32 +lazy.release.j32: + %t126 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t126) + %t127 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t127) + %t128 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t128) + %t129 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t129) + %t130 = load ptr, ptr %sc_l_seeded_1 + call void @scr_str_release(ptr %t130) + %t131 = load ptr, ptr %sc_l_seeded_0 + call void @scr_box_release(ptr %t131) + %t132 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t132) + ret void +exc.cleanup2: + %t133 = load ptr, ptr %s0 + %t134 = icmp ne ptr %t133, null + br i1 %t134, label %lazy.release33, label %lazy.release.j34 +lazy.release33: + call void @scr_box_release(ptr %t133) + br label %lazy.release.j34 +lazy.release.j34: + %t135 = load ptr, ptr %s1 + %t136 = icmp ne ptr %t135, null + br i1 %t136, label %lazy.release35, label %lazy.release.j36 +lazy.release35: + call void @scr_box_release(ptr %t135) + br label %lazy.release.j36 +lazy.release.j36: + %t137 = load ptr, ptr %s2 + %t138 = icmp ne ptr %t137, null + br i1 %t138, label %lazy.release37, label %lazy.release.j38 +lazy.release37: + call void @scr_box_release(ptr %t137) + br label %lazy.release.j38 +lazy.release.j38: + %t139 = load ptr, ptr %s3 + %t140 = icmp ne ptr %t139, null + br i1 %t140, label %lazy.release39, label %lazy.release.j40 +lazy.release39: + call void @scr_box_release(ptr %t139) + br label %lazy.release.j40 +lazy.release.j40: + ret void +exc.cleanup5: + %t141 = load ptr, ptr %s0 + %t142 = icmp ne ptr %t141, null + br i1 %t142, label %lazy.release41, label %lazy.release.j42 +lazy.release41: + call void @scr_box_release(ptr %t141) + br label %lazy.release.j42 +lazy.release.j42: + %t143 = load ptr, ptr %s1 + %t144 = icmp ne ptr %t143, null + br i1 %t144, label %lazy.release43, label %lazy.release.j44 +lazy.release43: + call void @scr_box_release(ptr %t143) + br label %lazy.release.j44 +lazy.release.j44: + %t145 = load ptr, ptr %s2 + %t146 = icmp ne ptr %t145, null + br i1 %t146, label %lazy.release45, label %lazy.release.j46 +lazy.release45: + call void @scr_box_release(ptr %t145) + br label %lazy.release.j46 +lazy.release.j46: + %t147 = load ptr, ptr %s3 + %t148 = icmp ne ptr %t147, null + br i1 %t148, label %lazy.release47, label %lazy.release.j48 +lazy.release47: + call void @scr_box_release(ptr %t147) + br label %lazy.release.j48 +lazy.release.j48: + %t149 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t149) + ret void +exc.cleanup13: + %t150 = load ptr, ptr %s0 + %t151 = icmp ne ptr %t150, null + br i1 %t151, label %lazy.release49, label %lazy.release.j50 +lazy.release49: + call void @scr_box_release(ptr %t150) + br label %lazy.release.j50 +lazy.release.j50: + %t152 = load ptr, ptr %s1 + %t153 = icmp ne ptr %t152, null + br i1 %t153, label %lazy.release51, label %lazy.release.j52 +lazy.release51: + call void @scr_box_release(ptr %t152) + br label %lazy.release.j52 +lazy.release.j52: + %t154 = load ptr, ptr %s2 + %t155 = icmp ne ptr %t154, null + br i1 %t155, label %lazy.release53, label %lazy.release.j54 +lazy.release53: + call void @scr_box_release(ptr %t154) + br label %lazy.release.j54 +lazy.release.j54: + %t156 = load ptr, ptr %s3 + %t157 = icmp ne ptr %t156, null + br i1 %t157, label %lazy.release55, label %lazy.release.j56 +lazy.release55: + call void @scr_box_release(ptr %t156) + br label %lazy.release.j56 +lazy.release.j56: + %t158 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t158) + %t159 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t159) + %t160 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t160) + %t161 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t161) + %t162 = load ptr, ptr %sc_l_seeded_1 + call void @scr_str_release(ptr %t162) + %t163 = load ptr, ptr %sc_l_seeded_0 + call void @scr_box_release(ptr %t163) + ret void +exc.cleanup24: + %t164 = load ptr, ptr %s0 + %t165 = icmp ne ptr %t164, null + br i1 %t165, label %lazy.release57, label %lazy.release.j58 +lazy.release57: + call void @scr_box_release(ptr %t164) + br label %lazy.release.j58 +lazy.release.j58: + %t166 = load ptr, ptr %s1 + %t167 = icmp ne ptr %t166, null + br i1 %t167, label %lazy.release59, label %lazy.release.j60 +lazy.release59: + call void @scr_box_release(ptr %t166) + br label %lazy.release.j60 +lazy.release.j60: + %t168 = load ptr, ptr %s2 + %t169 = icmp ne ptr %t168, null + br i1 %t169, label %lazy.release61, label %lazy.release.j62 +lazy.release61: + call void @scr_box_release(ptr %t168) + br label %lazy.release.j62 +lazy.release.j62: + %t170 = load ptr, ptr %s3 + %t171 = icmp ne ptr %t170, null + br i1 %t171, label %lazy.release63, label %lazy.release.j64 +lazy.release63: + call void @scr_box_release(ptr %t170) + br label %lazy.release.j64 +lazy.release.j64: + %t172 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t172) + %t173 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t173) + %t174 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t174) + %t175 = load ptr, ptr %sc_l_m_0 + call void @scr_str_release(ptr %t175) + %t176 = load ptr, ptr %sc_l_seeded_1 + call void @scr_str_release(ptr %t176) + %t177 = load ptr, ptr %sc_l_seeded_0 + call void @scr_box_release(ptr %t177) + %t178 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t178) + ret void +} +define internal void @sc_f__x25__x25_m5_App_fetchShim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) #0 { +entry: + call void @sc_bf__x25__x25_m5_App_fetchShim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @sc_rrelease_r0(ptr %p3) + call void @scr_str_release(ptr %p4) + call void @scr_closure_release(ptr %p5) + ret void +} + +define internal void @sc_f__x25__x25_m5_App__dispatchPrim(ptr %p_sc_l_this_0, ptr %p_sc_l_method_0, ptr %p_sc_l_url_0, ptr %p_sc_l_webHeaders_0, ptr %p_sc_l_webReq_0, ptr %p_sc_l_body_0, ptr %p_sc_l_bodyU8_0, ptr %p_sc_l_sink_0) #0 { ; %%m5.App._dispatchPrim +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_method_0 = alloca ptr ; method + %sc_l_url_0 = alloca ptr ; url + %sc_l_webHeaders_0 = alloca ptr ; webHeaders + %sc_l_webReq_0 = alloca ptr ; webReq + %sc_l_body_0 = alloca ptr ; body + %sc_l_bodyU8_0 = alloca ptr ; bodyU8 + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_app_0 = alloca ptr ; app + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_path_0 = alloca ptr ; path + %sc_l_qs_0 = alloca ptr ; qs + %sc_l_qi_0 = alloca double ; qi + %sc_l_node_0 = alloca ptr ; node + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_idx_0 = alloca ptr ; idx + %sc_l_j_0 = alloca double ; j + %sc_l_rv_0 = alloca ptr ; rv + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_chainBody_0 = alloca ptr ; chainBody + %sc_l__x25_protocolReceiver_0 = alloca ptr ; %protocolReceiver + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l_c_0 = alloca ptr ; c + %sc_l_app_1 = alloca ptr ; app + %sc_l_node_1 = alloca ptr ; node + %s85 = alloca ptr + %s90 = alloca ptr + %s112 = alloca double + %s113 = alloca i32 + %s127 = alloca ptr + %s132 = alloca ptr + %s197 = alloca ptr + %s215 = alloca double + %s216 = alloca i32 + %s234 = alloca double + %s235 = alloca i32 + %s261 = alloca double + %s262 = alloca i32 + %s288 = alloca double + %s289 = alloca i32 + %s297 = alloca %ScrUnion + %s298 = getelementptr inbounds %ScrUnion, ptr %s297, i32 0, i32 1 + %s299 = getelementptr inbounds %ScrUnion, ptr %s297, i32 0, i32 5 + %s320 = alloca ptr + %s336 = alloca [1 x ptr] + %s370 = alloca double + %s371 = alloca i32 + %s379 = alloca i1 + %s385 = alloca i1 + %s393 = alloca i1 + %s400 = alloca i1 + %s401 = alloca ptr + %s411 = alloca double + %s412 = alloca i32 + %s419 = alloca %ScrUnion + %s420 = getelementptr inbounds %ScrUnion, ptr %s419, i32 0, i32 5 + %s421 = getelementptr inbounds %ScrUnion, ptr %s419, i32 0, i32 1 + %s454 = alloca i1 + %s459 = alloca i1 + %s494 = alloca ptr + %s511 = alloca [1 x ptr] + store ptr null, ptr %sc_l_app_0 + store ptr null, ptr %sc_l_oef_0 + store ptr null, ptr %sc_l_path_0 + store ptr null, ptr %sc_l_qs_0 + store ptr null, ptr %sc_l_node_0 + store ptr null, ptr %sc_l_chain_0 + store ptr null, ptr %sc_l_idx_0 + store ptr null, ptr %sc_l_rv_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_chainBody_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l_c_0 + store ptr null, ptr %sc_l_app_1 + store ptr null, ptr %sc_l_node_1 + %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; this (boxed param) + call void @scr_box_set_ref(ptr %t0, ptr %p_sc_l_this_0) + store ptr %t0, ptr %sc_l_this_0 + %t1 = call ptr @scr_box_new(i32 2) ; method (boxed param) + call void @scr_box_set_ref(ptr %t1, ptr %p_sc_l_method_0) + store ptr %t1, ptr %sc_l_method_0 + %t2 = call ptr @scr_box_new(i32 2) ; url (boxed param) + call void @scr_box_set_ref(ptr %t2, ptr %p_sc_l_url_0) + store ptr %t2, ptr %sc_l_url_0 + store ptr %p_sc_l_webHeaders_0, ptr %sc_l_webHeaders_0 + store ptr %p_sc_l_webReq_0, ptr %sc_l_webReq_0 + store ptr %p_sc_l_body_0, ptr %sc_l_body_0 + %t3 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr null) ; bodyU8 (boxed param) + call void @scr_box_set_ref(ptr %t3, ptr %p_sc_l_bodyU8_0) + store ptr %t3, ptr %sc_l_bodyU8_0 + %t4 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink) ; sink (boxed param) + call void @scr_box_set_ref(ptr %t4, ptr %p_sc_l_sink_0) + store ptr %t4, ptr %sc_l_sink_0 + %t5 = call ptr @llvm.stacksave.p0() + %t6 = load ptr, ptr @scr_stack_guard + %t7 = icmp ult ptr %t5, %t6 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t9 = load ptr, ptr %sc_l_this_0 + %t10 = call ptr @scr_box_get_ref(ptr %t9) + store ptr %t10, ptr %sc_l_app_1 + %t11 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed) + store ptr %t11, ptr %sc_l_app_0 + %t12 = load ptr, ptr %sc_l_app_1 + %t13 = call ptr @sc_retain__x25_m5_App(ptr %t12) + call void @scr_box_set_ref(ptr %t11, ptr %t13) + %t14 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let oef (boxed) + store ptr %t14, ptr %sc_l_oef_0 + %t15 = load ptr, ptr %sc_l_app_1 + %t16 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t15, i64 0, i32 7 + %t17 = load ptr, ptr %t16, !tbaa !176 + %t18 = call ptr @scr_union_retain_v(ptr %t17) + call void @scr_box_set_ref(ptr %t14, ptr %t18) + %t19 = load ptr, ptr %sc_l_url_0 + %t20 = call ptr @scr_box_get_ref(ptr %t19) + store ptr %t20, ptr %sc_l_path_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_qs_0 + %t21 = load ptr, ptr %sc_l_url_0 + %t22 = getelementptr inbounds %ScrBox, ptr %t21, i32 0, i32 5 + %t23 = load ptr, ptr %t22 + %t24 = call double @scr_str_index_of(ptr %t23, ptr @sc_lit_2437473434951379, double 0x0000000000000000) + store double %t24, ptr %sc_l_qi_0 + %t25 = load double, ptr %sc_l_qi_0 + %t26 = fcmp oge double %t25, 0x0000000000000000 + br i1 %t26, label %if.t3, label %if.j4 +if.t3: + %t27 = load ptr, ptr %sc_l_url_0 + %t28 = getelementptr inbounds %ScrBox, ptr %t27, i32 0, i32 5 + %t29 = load ptr, ptr %t28 + %t30 = load double, ptr %sc_l_qi_0 + %t31 = call ptr @scr_str_slice(ptr %t29, double 0x0000000000000000, double %t30) + %t32 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t32) + store ptr %t31, ptr %sc_l_path_0 + %t33 = load ptr, ptr %sc_l_url_0 + %t34 = getelementptr inbounds %ScrBox, ptr %t33, i32 0, i32 5 + %t35 = load ptr, ptr %t34 + %t36 = load double, ptr %sc_l_qi_0 + %t37 = fadd double %t36, 0x3FF0000000000000 + %t38 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t39 = call ptr @scr_str_slice(ptr %t35, double %t37, double %t38) + %t40 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t40) + store ptr %t39, ptr %sc_l_qs_0 + br label %if.j4 +if.j4: + %t41 = load ptr, ptr %sc_l_app_1 + %t42 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t41, i64 0, i32 1 + %t43 = load ptr, ptr %t42, !tbaa !32 + %t44 = load ptr, ptr %sc_l_path_0 + %t45 = call ptr @sc_bf__x25_m5_matchPath(ptr %t43, ptr %t44) + %t46 = load ptr, ptr @scr_exc_active + %t47 = load i32, ptr %t46 + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rrelease_r5(ptr %t45) + br label %exc.cleanup7 +exc.k6: + store ptr %t45, ptr %sc_l_node_1 + %t50 = call ptr @scr_box_new_obj(ptr @sc_rretain_r5, ptr @sc_rrelease_r5, ptr null) ; let node (boxed) + store ptr %t50, ptr %sc_l_node_0 + %t51 = load ptr, ptr %sc_l_node_1 + %t52 = call ptr @sc_rretain_r5(ptr %t51) + call void @scr_box_set_ref(ptr %t50, ptr %t52) + %t53 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let chain (boxed) + store ptr %t53, ptr %sc_l_chain_0 + %t54 = load ptr, ptr %sc_l_app_1 + %t55 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t54, i64 0, i32 9 + %t56 = load ptr, ptr %t55, !tbaa !180 + %t57 = call ptr @scr_closure_retain_v(ptr %t56) + %t58 = call ptr @scr_union_new_ref(i32 0, ptr %t57, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + call void @scr_box_set_ref(ptr %t53, ptr %t58) + %t59 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr null) ; let idx (boxed) + store ptr %t59, ptr %sc_l_idx_0 + %t60 = call ptr @scr_union_new_f64(i32 0, double 0xBFF0000000000000) + call void @scr_box_set_ref(ptr %t59, ptr %t60) + %t61 = load ptr, ptr %sc_l_node_1 + %t63 = icmp ne ptr %t61, @sc_nullable_null + br i1 %t63, label %if.t8, label %if.j9 +if.t8: + %t64 = load ptr, ptr %sc_l_node_1 + %t65 = call ptr @sc_bf__x25_union_retag_1(ptr %t64) ; borrowed result + %t66 = load ptr, ptr @scr_exc_active + %t67 = load i32, ptr %t66 + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u10, label %exc.k11 +exc.u10: + br label %exc.cleanup12 +exc.k11: + %t70 = load ptr, ptr %sc_l_method_0 + %t71 = getelementptr inbounds %ScrBox, ptr %t70, i32 0, i32 5 + %t72 = load ptr, ptr %t71 + %t73 = call double @sc_bf__x25_m5_findEntry(ptr %t65, ptr %t72) + %t74 = load ptr, ptr @scr_exc_active + %t75 = load i32, ptr %t74 + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u13, label %exc.k14 +exc.u13: + br label %exc.cleanup12 +exc.k14: + store double %t73, ptr %sc_l_j_0 + %t78 = load double, ptr %sc_l_j_0 + %t79 = fcmp oge double %t78, 0x0000000000000000 + br i1 %t79, label %if.t15, label %if.f17 +if.t15: + %t80 = load ptr, ptr %sc_l_node_1 + %t82 = icmp ne ptr %t80, null + %t83 = icmp ne ptr %t80, @sc_nullable_null + %t84 = and i1 %t82, %t83 + br i1 %t84, label %read.then18, label %read.else19 +read.then18: + %t86 = load ptr, ptr %sc_l_node_1 + store ptr %t86, ptr %s85 + br label %read.join20 +read.else19: + %t87 = load ptr, ptr %sc_l_node_1 + %t89 = icmp eq ptr %t87, @sc_nullable_null + br i1 %t89, label %read.then21, label %read.else22 +read.then21: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518) + br label %exc.cleanup12 +exc.dead24: + store ptr null, ptr %s90 + br label %read.join23 +read.else22: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup12 +exc.dead25: + store ptr null, ptr %s90 + br label %read.join23 +read.join23: + %t91 = load ptr, ptr %s90 + store ptr %t91, ptr %s85 + br label %read.join20 +read.join20: + %t92 = load ptr, ptr %s85 + %t93 = getelementptr inbounds %sc_rs_r5, ptr %t92, i64 0, i32 2 + %t94 = load ptr, ptr %t93 + %t95 = load double, ptr %sc_l_j_0 + %t96 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %t94, double %t95) + %t97 = extractvalue { i32, i64 } %t96, 0 + %t98 = extractvalue { i32, i64 } %t96, 1 + switch i32 %t97, label %union.box.none27 [ i32 0, label %union.box.arm28 i32 1, label %union.box.arm29 ] +union.box.arm28: + %t99 = bitcast i64 %t98 to double + %t100 = call ptr @scr_union_new_f64(i32 0, double %t99) + br label %union.box.join26 +union.box.arm29: + br label %union.box.join26 +union.box.none27: + br label %union.box.join26 +union.box.join26: + %t101 = phi ptr [ %t100, %union.box.arm28 ], [ @sc_unit_3, %union.box.arm29 ], [ null, %union.box.none27 ] + %t102 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_set_ref(ptr %t102, ptr %t101) + %t103 = load ptr, ptr %sc_l_app_1 + %t104 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t103, i64 0, i32 8 + %t105 = load ptr, ptr %t104, !tbaa !178 + %t106 = load ptr, ptr %sc_l_idx_0 + %t107 = getelementptr inbounds %ScrBox, ptr %t106, i32 0, i32 5 + %t108 = load ptr, ptr %t107 + %t111 = getelementptr inbounds %ScrUnion, ptr %t108, i64 0, i32 1 + %t110 = load i32, ptr %t111 + %t109 = icmp eq i32 %t110, 1 + br i1 %t109, label %tern.t30, label %tern.f31 +tern.t30: + store double 0x7FF8000000000000, ptr %s112 + br label %tern.j32 +tern.f31: + %t114 = load ptr, ptr %sc_l_idx_0 + %t115 = getelementptr inbounds %ScrBox, ptr %t114, i32 0, i32 5 + %t116 = load ptr, ptr %t115 + %t117 = getelementptr inbounds %ScrUnion, ptr %t116, i64 0, i32 5 + %t118 = load double, ptr %t117 + store double %t118, ptr %s112 + br label %tern.j32 +tern.j32: + %t119 = load double, ptr %s112 + %t120 = call ptr @sc_bf__x25_arr_idxOr_2(ptr %t105, double %t119) + %t121 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_set_ref(ptr %t121, ptr %t120) + br label %if.j16 +if.f17: + %t122 = load ptr, ptr %sc_l_node_1 + %t124 = icmp ne ptr %t122, null + %t125 = icmp ne ptr %t122, @sc_nullable_null + %t126 = and i1 %t124, %t125 + br i1 %t126, label %read.then33, label %read.else34 +read.then33: + %t128 = load ptr, ptr %sc_l_node_1 + store ptr %t128, ptr %s127 + br label %read.join35 +read.else34: + %t129 = load ptr, ptr %sc_l_node_1 + %t131 = icmp eq ptr %t129, @sc_nullable_null + br i1 %t131, label %read.then36, label %read.else37 +read.then36: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518) + br label %exc.cleanup12 +exc.dead39: + store ptr null, ptr %s132 + br label %read.join38 +read.else37: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup12 +exc.dead40: + store ptr null, ptr %s132 + br label %read.join38 +read.join38: + %t133 = load ptr, ptr %s132 + store ptr %t133, ptr %s127 + br label %read.join35 +read.join35: + %t134 = load ptr, ptr %s127 + %t135 = getelementptr inbounds %sc_rs_r5, ptr %t134, i64 0, i32 2 + %t136 = load ptr, ptr %t135 + %t137 = getelementptr inbounds %ScrArr, ptr %t136, i32 0, i32 1 + %t138 = load i64, ptr %t137, !tbaa !2, !range !{i64 0, i64 4294967296} + %t139 = sitofp i64 %t138 to double + %t140 = fcmp ogt double %t139, 0x0000000000000000 + br i1 %t140, label %if.t41, label %if.j42 +if.t41: + %t141 = call ptr @scr_promise_new() + %t142 = call ptr @scr_make_resolve(ptr %t141, i32 3) + %t143 = call ptr @scr_closure_new(ptr @sc_f__x25_fn22, i64 5) + %t144 = getelementptr inbounds %ScrClosure, ptr %t143, i64 0, i32 4 + store i32 4, ptr %t144 + %t145 = getelementptr inbounds %ScrClosure, ptr %t143, i64 0, i32 7 + store ptr @sc_bf__x25_fn22, ptr %t145 + %t146 = load ptr, ptr %sc_l_node_0 + %t147 = call ptr @sc_retain_box(ptr %t146) + %t148 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps + %t149 = getelementptr inbounds ptr, ptr %t148, i64 0 ; caps[0] + store ptr %t147, ptr %t149 + %t150 = load ptr, ptr %sc_l_method_0 + %t151 = call ptr @sc_retain_box(ptr %t150) + %t152 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps + %t153 = getelementptr inbounds ptr, ptr %t152, i64 1 ; caps[1] + store ptr %t151, ptr %t153 + %t154 = load ptr, ptr %sc_l_url_0 + %t155 = call ptr @sc_retain_box(ptr %t154) + %t156 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps + %t157 = getelementptr inbounds ptr, ptr %t156, i64 2 ; caps[2] + store ptr %t155, ptr %t157 + %t158 = load ptr, ptr %sc_l_sink_0 + %t159 = call ptr @sc_retain_box(ptr %t158) + %t160 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps + %t161 = getelementptr inbounds ptr, ptr %t160, i64 3 ; caps[3] + store ptr %t159, ptr %t161 + %t162 = load ptr, ptr %sc_l_oef_0 + %t163 = call ptr @sc_retain_box(ptr %t162) + %t164 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps + %t165 = getelementptr inbounds ptr, ptr %t164, i64 4 ; caps[4] + store ptr %t163, ptr %t165 + call void @scr_promise_run_executor(ptr %t141, ptr %t143, ptr %t142) + call void @scr_await_hop() + call void @scr_await_void(ptr %t141) + %t166 = load ptr, ptr @scr_exc_active + %t167 = load i32, ptr %t166 + %t168 = icmp ne i32 %t167, 0 + %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false) + br i1 %t169, label %exc.u43, label %exc.k44 +exc.u43: + call void @scr_promise_release(ptr %t141) + call void @scr_closure_release(ptr %t143) + br label %exc.cleanup12 +exc.k44: + call void @scr_promise_release(ptr %t141) + call void @scr_closure_release(ptr %t143) + %t170 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t170) + %t171 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t171) + %t172 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t172) + %t173 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t173) + %t174 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t174) + %t175 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t175) + %t176 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t176) + %t177 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t177) + %t178 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t178) + %t179 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t179) + %t180 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t180) + %t181 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t181) + %t182 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t182) + %t183 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t183) + %t184 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t184) + %t185 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t185) + %t186 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t186) + ret void +if.j42: + br label %if.j16 +if.j16: + br label %if.j9 +if.j9: + %t187 = call ptr @sc_new__x25_m5_ReqViewCore() + %t188 = load ptr, ptr %sc_l_qs_0 + %t189 = load ptr, ptr %sc_l_path_0 + %t190 = load ptr, ptr %sc_l_url_0 + %t191 = call ptr @scr_box_get_ref(ptr %t190) + %t192 = load ptr, ptr %sc_l_method_0 + %t193 = call ptr @scr_box_get_ref(ptr %t192) + %t194 = load ptr, ptr %sc_l_webHeaders_0 + %t196 = icmp eq ptr %t194, null + br i1 %t196, label %read.then45, label %read.else46 +read.then45: + store ptr null, ptr %s197 + br label %read.join47 +read.else46: + %t198 = load ptr, ptr %sc_l_webHeaders_0 + %t199 = call ptr @sc_bf__x25_union_retag_2(ptr %t198) ; borrowed result + %t200 = load ptr, ptr @scr_exc_active + %t201 = load i32, ptr %t200 + %t202 = icmp ne i32 %t201, 0 + %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false) + br i1 %t203, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_str_release(ptr %t191) + call void @scr_str_release(ptr %t193) + call void @sc_release__x25_m5_ReqViewCore(ptr %t187) + br label %exc.cleanup12 +exc.k49: + store ptr %t199, ptr %s197 + br label %read.join47 +read.join47: + %t204 = load ptr, ptr %s197 + call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %t187, ptr @sc_unit_1, ptr %t188, ptr %t189, ptr %t191, ptr %t193, ptr %t204, ptr null) + %t205 = load ptr, ptr @scr_exc_active + %t206 = load i32, ptr %t205 + %t207 = icmp ne i32 %t206, 0 + %t208 = call i1 @llvm.expect.i1(i1 %t207, i1 false) + br i1 %t208, label %exc.u50, label %exc.k51 +exc.u50: + call void @scr_str_release(ptr %t191) + call void @scr_str_release(ptr %t193) + call void @sc_release__x25_m5_ReqViewCore(ptr %t187) + br label %exc.cleanup12 +exc.k51: + call void @scr_str_release(ptr %t191) + call void @scr_str_release(ptr %t193) + store ptr %t187, ptr %sc_l_rv_0 + %t209 = load ptr, ptr %sc_l_idx_0 + %t210 = getelementptr inbounds %ScrBox, ptr %t209, i32 0, i32 5 + %t211 = load ptr, ptr %t210 + %t214 = getelementptr inbounds %ScrUnion, ptr %t211, i64 0, i32 1 + %t213 = load i32, ptr %t214 + %t212 = icmp eq i32 %t213, 1 + br i1 %t212, label %tern.t52, label %tern.f53 +tern.t52: + store double 0x7FF8000000000000, ptr %s215 + br label %tern.j54 +tern.f53: + %t217 = load ptr, ptr %sc_l_idx_0 + %t218 = getelementptr inbounds %ScrBox, ptr %t217, i32 0, i32 5 + %t219 = load ptr, ptr %t218 + %t220 = getelementptr inbounds %ScrUnion, ptr %t219, i64 0, i32 5 + %t221 = load double, ptr %t220 + store double %t221, ptr %s215 + br label %tern.j54 +tern.j54: + %t222 = load double, ptr %s215 + %t223 = fcmp oge double %t222, 0x0000000000000000 + br i1 %t223, label %if.t55, label %if.j56 +if.t55: + %t224 = load ptr, ptr %sc_l_rv_0 + %t225 = load ptr, ptr %sc_l_app_1 + %t226 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t225, i64 0, i32 10 + %t227 = load ptr, ptr %t226, !tbaa !150 + %t228 = load ptr, ptr %sc_l_idx_0 + %t229 = getelementptr inbounds %ScrBox, ptr %t228, i32 0, i32 5 + %t230 = load ptr, ptr %t229 + %t233 = getelementptr inbounds %ScrUnion, ptr %t230, i64 0, i32 1 + %t232 = load i32, ptr %t233 + %t231 = icmp eq i32 %t232, 1 + br i1 %t231, label %tern.t57, label %tern.f58 +tern.t57: + store double 0x7FF8000000000000, ptr %s234 + br label %tern.j59 +tern.f58: + %t236 = load ptr, ptr %sc_l_idx_0 + %t237 = getelementptr inbounds %ScrBox, ptr %t236, i32 0, i32 5 + %t238 = load ptr, ptr %t237 + %t239 = getelementptr inbounds %ScrUnion, ptr %t238, i64 0, i32 5 + %t240 = load double, ptr %t239 + store double %t240, ptr %s234 + br label %tern.j59 +tern.j59: + %t241 = load double, ptr %s234 + %t242 = call ptr @sc_bf__x25_arr_idxOr_3(ptr %t227, double %t241) + %t243 = call ptr @sc_bf__x25_union_narrow_4(ptr %t242) + %t244 = load ptr, ptr @scr_exc_active + %t245 = load i32, ptr %t244 + %t246 = icmp ne i32 %t245, 0 + %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false) + br i1 %t247, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_arr_release(ptr %t242) + br label %exc.cleanup62 +exc.k61: + %t248 = call ptr @scr_arr_retain_v(ptr %t243) + call void @scr_arr_release(ptr %t242) + %t249 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t224, i64 0, i32 11 + %t250 = load ptr, ptr %t249 + store ptr %t248, ptr %t249, !tbaa !150 + call void @scr_arr_release(ptr %t250) + %t251 = load ptr, ptr %sc_l_rv_0 + %t252 = load ptr, ptr %sc_l_app_1 + %t253 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t252, i64 0, i32 11 + %t254 = load ptr, ptr %t253, !tbaa !152 + %t255 = load ptr, ptr %sc_l_idx_0 + %t256 = getelementptr inbounds %ScrBox, ptr %t255, i32 0, i32 5 + %t257 = load ptr, ptr %t256 + %t260 = getelementptr inbounds %ScrUnion, ptr %t257, i64 0, i32 1 + %t259 = load i32, ptr %t260 + %t258 = icmp eq i32 %t259, 1 + br i1 %t258, label %tern.t63, label %tern.f64 +tern.t63: + store double 0x7FF8000000000000, ptr %s261 + br label %tern.j65 +tern.f64: + %t263 = load ptr, ptr %sc_l_idx_0 + %t264 = getelementptr inbounds %ScrBox, ptr %t263, i32 0, i32 5 + %t265 = load ptr, ptr %t264 + %t266 = getelementptr inbounds %ScrUnion, ptr %t265, i64 0, i32 5 + %t267 = load double, ptr %t266 + store double %t267, ptr %s261 + br label %tern.j65 +tern.j65: + %t268 = load double, ptr %s261 + %t269 = call ptr @sc_bf__x25_arr_idxOr_4(ptr %t254, double %t268) + %t270 = call ptr @sc_bf__x25_union_narrow_5(ptr %t269) + %t271 = load ptr, ptr @scr_exc_active + %t272 = load i32, ptr %t271 + %t273 = icmp ne i32 %t272, 0 + %t274 = call i1 @llvm.expect.i1(i1 %t273, i1 false) + br i1 %t274, label %exc.u66, label %exc.k67 +exc.u66: + call void @scr_arr_release(ptr %t269) + br label %exc.cleanup62 +exc.k67: + %t275 = call ptr @scr_arr_retain_v(ptr %t270) + call void @scr_arr_release(ptr %t269) + %t276 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t251, i64 0, i32 12 + %t277 = load ptr, ptr %t276 + store ptr %t275, ptr %t276, !tbaa !152 + call void @scr_arr_release(ptr %t277) + %t278 = load ptr, ptr %sc_l_rv_0 + %t279 = load ptr, ptr %sc_l_app_1 + %t280 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t279, i64 0, i32 12 + %t281 = load ptr, ptr %t280, !tbaa !154 + %t282 = load ptr, ptr %sc_l_idx_0 + %t283 = getelementptr inbounds %ScrBox, ptr %t282, i32 0, i32 5 + %t284 = load ptr, ptr %t283 + %t287 = getelementptr inbounds %ScrUnion, ptr %t284, i64 0, i32 1 + %t286 = load i32, ptr %t287 + %t285 = icmp eq i32 %t286, 1 + br i1 %t285, label %tern.t68, label %tern.f69 +tern.t68: + store double 0x7FF8000000000000, ptr %s288 + br label %tern.j70 +tern.f69: + %t290 = load ptr, ptr %sc_l_idx_0 + %t291 = getelementptr inbounds %ScrBox, ptr %t290, i32 0, i32 5 + %t292 = load ptr, ptr %t291 + %t293 = getelementptr inbounds %ScrUnion, ptr %t292, i64 0, i32 5 + %t294 = load double, ptr %t293 + store double %t294, ptr %s288 + br label %tern.j70 +tern.j70: + %t295 = load double, ptr %s288 + %t296 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %t281, double %t295) + %t300 = extractvalue { i32, i64 } %t296, 0 + %t301 = extractvalue { i32, i64 } %t296, 1 + store i32 %t300, ptr %s298 + store i64 %t301, ptr %s299 + %t302 = call double @sc_bf__x25_union_narrow_1(ptr %s297) + %t303 = load ptr, ptr @scr_exc_active + %t304 = load i32, ptr %t303 + %t305 = icmp ne i32 %t304, 0 + %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false) + br i1 %t306, label %exc.u71, label %exc.k72 +exc.u71: + br label %exc.cleanup62 +exc.k72: + %t307 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t278, i64 0, i32 13 + store double %t302, ptr %t307, !tbaa !154 + br label %if.j56 +if.j56: + %t308 = load ptr, ptr %sc_l_rv_0 + %t309 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t308) + store ptr %t309, ptr %sc_l__x25_callbackReceiver_0 + %t310 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t311 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t310) + %t312 = load ptr, ptr @scr_exc_active + %t313 = load i32, ptr %t312 + %t314 = icmp ne i32 %t313, 0 + %t315 = call i1 @llvm.expect.i1(i1 %t314, i1 false) + br i1 %t315, label %exc.u73, label %exc.k74 +exc.u73: + call void @sc_rc_release_dyn(ptr %t311) + br label %exc.cleanup75 +exc.k74: + store ptr %t311, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t316 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t317 = getelementptr inbounds i8, ptr %t316, i64 8 ; ->kind + %t318 = load i32, ptr %t317 + %t319 = icmp eq i32 %t318, 6 + br i1 %t319, label %tern.t76, label %tern.f77 +tern.t76: + %t322 = call ptr @scr_dyn_undefined() + %t321 = call ptr @scr_dyn_retain_v(ptr %t322) + store ptr %t321, ptr %s320 + br label %tern.j78 +tern.f77: + %t323 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t324 = call ptr @sc_rc_retain_dyn(ptr %t323) + %t325 = call ptr @sc_f__x25_dyn_class_property_8(ptr %t324) + %t326 = load ptr, ptr @scr_exc_active + %t327 = load i32, ptr %t326 + %t328 = icmp ne i32 %t327, 0 + %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false) + br i1 %t329, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t325) + br label %exc.cleanup81 +exc.k80: + store ptr %t325, ptr %s320 + br label %tern.j78 +tern.j78: + %t330 = load ptr, ptr %s320 + store ptr %t330, ptr %sc_l__x25_callback_0 + %t331 = load ptr, ptr %sc_l__x25_callback_0 + %t332 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t333 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t332, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t334 = load ptr, ptr %sc_l_webReq_0 + %t335 = call ptr @sc_rc_retain_dyn(ptr %t334) + %t337 = getelementptr inbounds [1 x ptr], ptr %s336, i64 0, i64 0 + store ptr %t335, ptr %t337 + call void @scr_dyn_this_push_dyn(ptr %t333) + %t338 = call ptr @scr_dyn_call(ptr %t331, ptr %s336, i64 1, ptr @sc_cs_625856284831778) + call void @scr_dyn_this_pop() + %t339 = load ptr, ptr @scr_exc_active + %t340 = load i32, ptr %t339 + %t341 = icmp ne i32 %t340, 0 + %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false) + br i1 %t342, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t333) + call void @sc_rc_release_dyn(ptr %t335) + call void @sc_rc_release_dyn(ptr %t338) + br label %exc.cleanup84 +exc.k83: + call void @sc_rc_release_dyn(ptr %t333) + call void @sc_rc_release_dyn(ptr %t335) + call void @sc_rc_release_dyn(ptr %t338) + %t343 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t343) + %t344 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t344) + %t345 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t345) + %t346 = load ptr, ptr %sc_l_webReq_0 + %t347 = getelementptr inbounds i8, ptr %t346, i64 8 ; ->kind + %t348 = load i32, ptr %t347 + %t349 = icmp eq i32 %t348, 0 + %t350 = xor i1 %t349, true + br i1 %t350, label %if.t85, label %if.j86 +if.t85: + %t351 = load ptr, ptr %sc_l_rv_0 + %t352 = load ptr, ptr %sc_l_webReq_0 + %t353 = call ptr @sc_rc_retain_dyn(ptr %t352) + %t354 = call ptr @sc_f__x25_dyn_class_protocol_0(ptr %t353) + %t355 = load ptr, ptr @scr_exc_active + %t356 = load i32, ptr %t355 + %t357 = icmp ne i32 %t356, 0 + %t358 = call i1 @llvm.expect.i1(i1 %t357, i1 false) + br i1 %t358, label %exc.u87, label %exc.k88 +exc.u87: + call void @scr_str_release(ptr %t354) + br label %exc.cleanup62 +exc.k88: + %t359 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t351, i64 0, i32 6 + %t360 = load ptr, ptr %t359 + store ptr %t354, ptr %t359, !tbaa !78 + call void @scr_str_release(ptr %t360) + br label %if.j86 +if.j86: + %t361 = call ptr @scr_box_new(i32 2) ; let chainBody (boxed) + store ptr %t361, ptr %sc_l_chainBody_0 + %t362 = load ptr, ptr %sc_l_body_0 + %t363 = call ptr @sc_rc_retain_str(ptr %t362) + call void @scr_box_set_ref(ptr %t361, ptr %t363) + %t364 = load ptr, ptr %sc_l_idx_0 + %t365 = getelementptr inbounds %ScrBox, ptr %t364, i32 0, i32 5 + %t366 = load ptr, ptr %t365 + %t369 = getelementptr inbounds %ScrUnion, ptr %t366, i64 0, i32 1 + %t368 = load i32, ptr %t369 + %t367 = icmp eq i32 %t368, 1 + br i1 %t367, label %tern.t89, label %tern.f90 +tern.t89: + store double 0x7FF8000000000000, ptr %s370 + br label %tern.j91 +tern.f90: + %t372 = load ptr, ptr %sc_l_idx_0 + %t373 = getelementptr inbounds %ScrBox, ptr %t372, i32 0, i32 5 + %t374 = load ptr, ptr %t373 + %t375 = getelementptr inbounds %ScrUnion, ptr %t374, i64 0, i32 5 + %t376 = load double, ptr %t375 + store double %t376, ptr %s370 + br label %tern.j91 +tern.j91: + %t377 = load double, ptr %s370 + %t378 = fcmp oge double %t377, 0x0000000000000000 + store i1 %t378, ptr %s379 + br i1 %t378, label %log.r92, label %log.j93 +log.r92: + %t380 = load ptr, ptr %sc_l_chainBody_0 + %t381 = getelementptr inbounds %ScrBox, ptr %t380, i32 0, i32 5 + %t382 = load ptr, ptr %t381 + %t383 = call zeroext i1 @sc_streq_4005573543169985(ptr %t382) + store i1 %t383, ptr %s379 + br label %log.j93 +log.j93: + %t384 = load i1, ptr %s379 + store i1 %t384, ptr %s385 + br i1 %t384, label %log.r94, label %log.j95 +log.r94: + %t386 = load ptr, ptr %sc_l_bodyU8_0 + %t387 = getelementptr inbounds %ScrBox, ptr %t386, i32 0, i32 5 + %t388 = load ptr, ptr %t387 + %t391 = getelementptr inbounds %ScrUnion, ptr %t388, i64 0, i32 1 + %t390 = load i32, ptr %t391 + %t389 = icmp eq i32 %t390, 1 + store i1 %t389, ptr %s385 + br label %log.j95 +log.j95: + %t392 = load i1, ptr %s385 + store i1 %t392, ptr %s393 + br i1 %t392, label %log.r96, label %log.j97 +log.r96: + %t394 = load ptr, ptr %sc_l_webReq_0 + %t395 = getelementptr inbounds i8, ptr %t394, i64 8 ; ->kind + %t396 = load i32, ptr %t395 + %t397 = icmp eq i32 %t396, 0 + %t398 = xor i1 %t397, true + store i1 %t398, ptr %s393 + br label %log.j97 +log.j97: + %t399 = load i1, ptr %s393 + store i1 %t399, ptr %s400 + br i1 %t399, label %log.r98, label %log.j99 +log.r98: + %t402 = load ptr, ptr %sc_l_app_1 + %t403 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t402, i64 0, i32 13 + %t404 = load ptr, ptr %t403, !tbaa !38 + %t405 = load ptr, ptr %sc_l_idx_0 + %t406 = getelementptr inbounds %ScrBox, ptr %t405, i32 0, i32 5 + %t407 = load ptr, ptr %t406 + %t410 = getelementptr inbounds %ScrUnion, ptr %t407, i64 0, i32 1 + %t409 = load i32, ptr %t410 + %t408 = icmp eq i32 %t409, 1 + br i1 %t408, label %tern.t100, label %tern.f101 +tern.t100: + store double 0x7FF8000000000000, ptr %s411 + br label %tern.j102 +tern.f101: + %t413 = load ptr, ptr %sc_l_idx_0 + %t414 = getelementptr inbounds %ScrBox, ptr %t413, i32 0, i32 5 + %t415 = load ptr, ptr %t414 + %t416 = getelementptr inbounds %ScrUnion, ptr %t415, i64 0, i32 5 + %t417 = load double, ptr %t416 + store double %t417, ptr %s411 + br label %tern.j102 +tern.j102: + %t418 = load double, ptr %s411 + %t422 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 2 + %t423 = load i64, ptr %t422, !tbaa !2 + %t424 = fptosi double %t418 to i64 + %t425 = freeze i64 %t424 + %t426 = sitofp i64 %t425 to double + %t427 = fcmp oeq double %t426, %t418 + %t428 = icmp ult i64 %t425, %t423 + %t429 = and i1 %t427, %t428 + br i1 %t429, label %local.array.range106, label %local.array.slow103 +local.array.range106: + br label %local.array.dense107 +local.array.dense107: + %t430 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 6 + %t431 = load i32, ptr %t430, !tbaa !2 + %t433 = zext i32 %t431 to i64 + %t432 = icmp ult i64 %t425, %t433 + br i1 %t432, label %local.array.value109, label %local.array.len108 +local.array.len108: + %t434 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 1 + %t435 = load i64, ptr %t434, !tbaa !2, !range !{i64 0, i64 4294967296} + %t436 = icmp ult i64 %t425, %t435 + br i1 %t436, label %local.array.state110, label %local.array.missing104 +local.array.state110: + %t437 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 9 + %t438 = load ptr, ptr %t437, !tbaa !2 + %t439 = getelementptr inbounds i8, ptr %t438, i64 %t425 + %t440 = load i8, ptr %t439, !tbaa !4 + %t441 = icmp eq i8 %t440, 1 + br i1 %t441, label %local.array.value109, label %local.array.missing104 +local.array.value109: + %t442 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 8 + %t443 = load ptr, ptr %t442, !tbaa !2 + %t444 = getelementptr inbounds i64, ptr %t443, i64 %t425 + %t445 = load i64, ptr %t444, !tbaa !6 + store i64 %t445, ptr %s420 + store i32 0, ptr %s421 + br label %local.array.join105 +local.array.slow103: + %t446 = call double @scr_arr_state(ptr %t404, double %t418) cold memory(read, inaccessiblemem: readwrite) + %t447 = fcmp oeq double %t446, 1.0 + br i1 %t447, label %local.array.slow.value111, label %local.array.missing104 +local.array.slow.value111: + %t448 = call double @scr_arr_get_f64(ptr %t404, double %t418) cold memory(read, inaccessiblemem: readwrite) + %t449 = bitcast double %t448 to i64 + store i64 %t449, ptr %s420 + store i32 0, ptr %s421 + br label %local.array.join105 +local.array.missing104: + store i64 0, ptr %s420 + store i32 1, ptr %s421 + br label %local.array.join105 +local.array.join105: + store ptr %s419, ptr %s401 + %t450 = load ptr, ptr %s401 + %t452 = getelementptr inbounds %ScrUnion, ptr %t450, i64 0, i32 1 + %t451 = load i32, ptr %t452 + %t453 = icmp eq i32 %t451, 0 + store i1 false, ptr %s454 + br i1 %t453, label %ueq.s112, label %ueq.j113 +ueq.s112: + %t456 = call double @scr_union_get_f64(ptr %t450) + %t455 = fcmp oeq double %t456, 0x3FF0000000000000 + store i1 %t455, ptr %s454 + br label %ueq.j113 +ueq.j113: + %t457 = load i1, ptr %s454 + store i1 %t457, ptr %s400 + br label %log.j99 +log.j99: + %t458 = load i1, ptr %s400 + store i1 %t458, ptr %s459 + br i1 %t458, label %log.r114, label %log.j115 +log.r114: + %t460 = load ptr, ptr %sc_l_method_0 + %t461 = getelementptr inbounds %ScrBox, ptr %t460, i32 0, i32 5 + %t462 = load ptr, ptr %t461 + %t463 = call i1 @sc_bf__x25_m5_bodyMethod(ptr %t462) + store i1 %t463, ptr %s459 + br label %log.j115 +log.j115: + %t464 = load i1, ptr %s459 + br i1 %t464, label %if.t116, label %if.j117 +if.t116: + %t465 = load ptr, ptr %sc_l_webReq_0 + %t466 = call ptr @sc_rc_retain_dyn(ptr %t465) + store ptr %t466, ptr %sc_l__x25_protocolReceiver_0 + %t467 = load ptr, ptr %sc_l__x25_protocolReceiver_0 + %t468 = call ptr @sc_rc_retain_dyn(ptr %t467) + %t469 = call ptr @sc_bf__x25_dyn_class_protocol_1(ptr %t468, ptr @sc_lit_4363421500237166) + %t470 = load ptr, ptr @scr_exc_active + %t471 = load i32, ptr %t470 + %t472 = icmp ne i32 %t471, 0 + %t473 = call i1 @llvm.expect.i1(i1 %t472, i1 false) + br i1 %t473, label %exc.u118, label %exc.k119 +exc.u118: + call void @scr_promise_release(ptr %t469) + br label %exc.cleanup120 +exc.k119: + %t474 = call ptr @scr_await_str(ptr %t469) + %t475 = load ptr, ptr @scr_exc_active + %t476 = load i32, ptr %t475 + %t477 = icmp ne i32 %t476, 0 + %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false) + br i1 %t478, label %exc.u121, label %exc.k122 +exc.u121: + call void @scr_promise_release(ptr %t469) + %t479 = load ptr, ptr %sc_l__x25_protocolReceiver_0 + call void @sc_rc_release_dyn(ptr %t479) + call void @scr_str_release(ptr %t474) + br label %exc.cleanup123 +exc.k122: + %t480 = load ptr, ptr %sc_l_chainBody_0 + call void @scr_box_set_ref(ptr %t480, ptr %t474) + call void @scr_promise_release(ptr %t469) + %t481 = load ptr, ptr %sc_l__x25_protocolReceiver_0 + call void @sc_rc_release_dyn(ptr %t481) + br label %if.j117 +if.j117: + %t482 = load ptr, ptr %sc_l_rv_0 + %t483 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t482) + store ptr %t483, ptr %sc_l__x25_callbackReceiver_1 + %t484 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t485 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t484) + %t486 = load ptr, ptr @scr_exc_active + %t487 = load i32, ptr %t486 + %t488 = icmp ne i32 %t487, 0 + %t489 = call i1 @llvm.expect.i1(i1 %t488, i1 false) + br i1 %t489, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t485) + br label %exc.cleanup126 +exc.k125: + store ptr %t485, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t490 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t491 = getelementptr inbounds i8, ptr %t490, i64 8 ; ->kind + %t492 = load i32, ptr %t491 + %t493 = icmp eq i32 %t492, 6 + br i1 %t493, label %tern.t127, label %tern.f128 +tern.t127: + %t496 = call ptr @scr_dyn_undefined() + %t495 = call ptr @scr_dyn_retain_v(ptr %t496) + store ptr %t495, ptr %s494 + br label %tern.j129 +tern.f128: + %t497 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t498 = call ptr @sc_rc_retain_dyn(ptr %t497) + %t499 = call ptr @sc_f__x25_dyn_class_property_9(ptr %t498) + %t500 = load ptr, ptr @scr_exc_active + %t501 = load i32, ptr %t500 + %t502 = icmp ne i32 %t501, 0 + %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false) + br i1 %t503, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t499) + br label %exc.cleanup132 +exc.k131: + store ptr %t499, ptr %s494 + br label %tern.j129 +tern.j129: + %t504 = load ptr, ptr %s494 + store ptr %t504, ptr %sc_l__x25_callback_1 + %t505 = load ptr, ptr %sc_l__x25_callback_1 + %t506 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t507 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t506, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t508 = load ptr, ptr %sc_l_chainBody_0 + %t509 = call ptr @scr_box_get_ref(ptr %t508) + %t510 = call ptr @sc_td_0(ptr %t509) + %t512 = getelementptr inbounds [1 x ptr], ptr %s511, i64 0, i64 0 + store ptr %t510, ptr %t512 + call void @scr_dyn_this_push_dyn(ptr %t507) + %t513 = call ptr @scr_dyn_call(ptr %t505, ptr %s511, i64 1, ptr @sc_cs_3779354462845077) + call void @scr_dyn_this_pop() + %t514 = load ptr, ptr @scr_exc_active + %t515 = load i32, ptr %t514 + %t516 = icmp ne i32 %t515, 0 + %t517 = call i1 @llvm.expect.i1(i1 %t516, i1 false) + br i1 %t517, label %exc.u133, label %exc.k134 +exc.u133: + call void @sc_rc_release_dyn(ptr %t507) + call void @scr_str_release(ptr %t509) + call void @sc_rc_release_dyn(ptr %t510) + call void @sc_rc_release_dyn(ptr %t513) + br label %exc.cleanup135 +exc.k134: + call void @sc_rc_release_dyn(ptr %t507) + call void @scr_str_release(ptr %t509) + call void @sc_rc_release_dyn(ptr %t510) + call void @sc_rc_release_dyn(ptr %t513) + %t518 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t518) + %t519 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t519) + %t520 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_ReqViewCore(ptr %t520) + %t521 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore) ; let c (boxed) + store ptr %t521, ptr %sc_l_c_0 + %t522 = call ptr @sc_new__x25_m5_CtxCore() + %t523 = load ptr, ptr %sc_l_rv_0 + %t524 = load ptr, ptr %sc_l_sink_0 + %t525 = call ptr @scr_box_get_ref(ptr %t524) + call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %t522, ptr %t523, ptr %t525) + %t526 = load ptr, ptr @scr_exc_active + %t527 = load i32, ptr %t526 + %t528 = icmp ne i32 %t527, 0 + %t529 = call i1 @llvm.expect.i1(i1 %t528, i1 false) + br i1 %t529, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_release__x25_m2_ResponseSink(ptr %t525) + call void @sc_release__x25_m5_CtxCore(ptr %t522) + br label %exc.cleanup138 +exc.k137: + call void @sc_release__x25_m2_ResponseSink(ptr %t525) + call void @scr_box_set_ref(ptr %t521, ptr %t522) + %t530 = call ptr @scr_promise_new() + %t531 = call ptr @scr_make_resolve(ptr %t530, i32 3) + %t532 = call ptr @scr_closure_new(ptr @sc_f__x25_fn23, i64 10) + %t533 = getelementptr inbounds %ScrClosure, ptr %t532, i64 0, i32 4 + store i32 4, ptr %t533 + %t534 = getelementptr inbounds %ScrClosure, ptr %t532, i64 0, i32 7 + store ptr @sc_bf__x25_fn23, ptr %t534 + %t535 = load ptr, ptr %sc_l_idx_0 + %t536 = call ptr @sc_retain_box(ptr %t535) + %t537 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t538 = getelementptr inbounds ptr, ptr %t537, i64 0 ; caps[0] + store ptr %t536, ptr %t538 + %t539 = load ptr, ptr %sc_l_method_0 + %t540 = call ptr @sc_retain_box(ptr %t539) + %t541 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t542 = getelementptr inbounds ptr, ptr %t541, i64 1 ; caps[1] + store ptr %t540, ptr %t542 + %t543 = load ptr, ptr %sc_l_this_0 + %t544 = call ptr @sc_retain_box(ptr %t543) + %t545 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t546 = getelementptr inbounds ptr, ptr %t545, i64 2 ; caps[2] + store ptr %t544, ptr %t546 + %t547 = load ptr, ptr %sc_l_app_0 + %t548 = call ptr @sc_retain_box(ptr %t547) + %t549 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t550 = getelementptr inbounds ptr, ptr %t549, i64 3 ; caps[3] + store ptr %t548, ptr %t550 + %t551 = load ptr, ptr %sc_l_c_0 + %t552 = call ptr @sc_retain_box(ptr %t551) + %t553 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t554 = getelementptr inbounds ptr, ptr %t553, i64 4 ; caps[4] + store ptr %t552, ptr %t554 + %t555 = load ptr, ptr %sc_l_chainBody_0 + %t556 = call ptr @sc_retain_box(ptr %t555) + %t557 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t558 = getelementptr inbounds ptr, ptr %t557, i64 5 ; caps[5] + store ptr %t556, ptr %t558 + %t559 = load ptr, ptr %sc_l_bodyU8_0 + %t560 = call ptr @sc_retain_box(ptr %t559) + %t561 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t562 = getelementptr inbounds ptr, ptr %t561, i64 6 ; caps[6] + store ptr %t560, ptr %t562 + %t563 = load ptr, ptr %sc_l_sink_0 + %t564 = call ptr @sc_retain_box(ptr %t563) + %t565 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t566 = getelementptr inbounds ptr, ptr %t565, i64 7 ; caps[7] + store ptr %t564, ptr %t566 + %t567 = load ptr, ptr %sc_l_chain_0 + %t568 = call ptr @sc_retain_box(ptr %t567) + %t569 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t570 = getelementptr inbounds ptr, ptr %t569, i64 8 ; caps[8] + store ptr %t568, ptr %t570 + %t571 = load ptr, ptr %sc_l_oef_0 + %t572 = call ptr @sc_retain_box(ptr %t571) + %t573 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps + %t574 = getelementptr inbounds ptr, ptr %t573, i64 9 ; caps[9] + store ptr %t572, ptr %t574 + call void @scr_promise_run_executor(ptr %t530, ptr %t532, ptr %t531) + call void @scr_await_hop() + call void @scr_await_void(ptr %t530) + %t575 = load ptr, ptr @scr_exc_active + %t576 = load i32, ptr %t575 + %t577 = icmp ne i32 %t576, 0 + %t578 = call i1 @llvm.expect.i1(i1 %t577, i1 false) + br i1 %t578, label %exc.u139, label %exc.k140 +exc.u139: + call void @scr_promise_release(ptr %t530) + call void @scr_closure_release(ptr %t532) + br label %exc.cleanup138 +exc.k140: + call void @scr_promise_release(ptr %t530) + call void @scr_closure_release(ptr %t532) + %t579 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t579) + %t580 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t580) + %t581 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t581) + %t582 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t582) + %t583 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t583) + %t584 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t584) + %t585 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t585) + %t586 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t586) + %t587 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t587) + %t588 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t588) + %t589 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t589) + %t590 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t590) + %t591 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t591) + %t592 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t592) + %t593 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t593) + %t594 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t594) + %t595 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t595) + %t596 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t596) + %t597 = load ptr, ptr %sc_l_chainBody_0 + call void @scr_box_release(ptr %t597) + %t598 = load ptr, ptr %sc_l_c_0 + call void @scr_box_release(ptr %t598) + ret void +exc.cleanup2: + %t599 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t599) + %t600 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t600) + %t601 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t601) + %t602 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t602) + %t603 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t603) + %t604 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t604) + %t605 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t605) + %t606 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t606) + ret void +exc.cleanup7: + %t607 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t607) + %t608 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t608) + %t609 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t609) + %t610 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t610) + %t611 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t611) + %t612 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t612) + %t613 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t613) + %t614 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t614) + %t615 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t615) + %t616 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t616) + %t617 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t617) + %t618 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t618) + %t619 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t619) + ret void +exc.cleanup12: + %t620 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t620) + %t621 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t621) + %t622 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t622) + %t623 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t623) + %t624 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t624) + %t625 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t625) + %t626 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t626) + %t627 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t627) + %t628 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t628) + %t629 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t629) + %t630 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t630) + %t631 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t631) + %t632 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t632) + %t633 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t633) + %t634 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t634) + %t635 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t635) + %t636 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t636) + ret void +exc.cleanup62: + %t637 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t637) + %t638 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t638) + %t639 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t639) + %t640 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t640) + %t641 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t641) + %t642 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t642) + %t643 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t643) + %t644 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t644) + %t645 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t645) + %t646 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t646) + %t647 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t647) + %t648 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t648) + %t649 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t649) + %t650 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t650) + %t651 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t651) + %t652 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t652) + %t653 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t653) + %t654 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t654) + ret void +exc.cleanup75: + %t655 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t655) + %t656 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t656) + %t657 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t657) + %t658 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t658) + %t659 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t659) + %t660 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t660) + %t661 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t661) + %t662 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t662) + %t663 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t663) + %t664 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t664) + %t665 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t665) + %t666 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t666) + %t667 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t667) + %t668 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t668) + %t669 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t669) + %t670 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t670) + %t671 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t671) + %t672 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t672) + %t673 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t673) + ret void +exc.cleanup81: + %t674 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t674) + %t675 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t675) + %t676 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t676) + %t677 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t677) + %t678 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t678) + %t679 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t679) + %t680 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t680) + %t681 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t681) + %t682 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t682) + %t683 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t683) + %t684 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t684) + %t685 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t685) + %t686 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t686) + %t687 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t687) + %t688 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t688) + %t689 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t689) + %t690 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t690) + %t691 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t691) + %t692 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t692) + %t693 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t693) + ret void +exc.cleanup84: + %t694 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t694) + %t695 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t695) + %t696 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t696) + %t697 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t697) + %t698 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t698) + %t699 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t699) + %t700 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t700) + %t701 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t701) + %t702 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t702) + %t703 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t703) + %t704 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t704) + %t705 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t705) + %t706 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t706) + %t707 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t707) + %t708 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t708) + %t709 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t709) + %t710 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t710) + %t711 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t711) + %t712 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t712) + %t713 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t713) + %t714 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t714) + ret void +exc.cleanup120: + %t715 = load ptr, ptr %sc_l__x25_protocolReceiver_0 + call void @sc_rc_release_dyn(ptr %t715) + %t716 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t716) + %t717 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t717) + %t718 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t718) + %t719 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t719) + %t720 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t720) + %t721 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t721) + %t722 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t722) + %t723 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t723) + %t724 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t724) + %t725 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t725) + %t726 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t726) + %t727 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t727) + %t728 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t728) + %t729 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t729) + %t730 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t730) + %t731 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t731) + %t732 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t732) + %t733 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t733) + %t734 = load ptr, ptr %sc_l_chainBody_0 + call void @scr_box_release(ptr %t734) + ret void +exc.cleanup123: + %t735 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t735) + %t736 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t736) + %t737 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t737) + %t738 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t738) + %t739 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t739) + %t740 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t740) + %t741 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t741) + %t742 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t742) + %t743 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t743) + %t744 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t744) + %t745 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t745) + %t746 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t746) + %t747 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t747) + %t748 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t748) + %t749 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t749) + %t750 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t750) + %t751 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t751) + %t752 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t752) + %t753 = load ptr, ptr %sc_l_chainBody_0 + call void @scr_box_release(ptr %t753) + ret void +exc.cleanup126: + %t754 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_ReqViewCore(ptr %t754) + %t755 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t755) + %t756 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t756) + %t757 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t757) + %t758 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t758) + %t759 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t759) + %t760 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t760) + %t761 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t761) + %t762 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t762) + %t763 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t763) + %t764 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t764) + %t765 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t765) + %t766 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t766) + %t767 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t767) + %t768 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t768) + %t769 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t769) + %t770 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t770) + %t771 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t771) + %t772 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t772) + %t773 = load ptr, ptr %sc_l_chainBody_0 + call void @scr_box_release(ptr %t773) + ret void +exc.cleanup132: + %t774 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t774) + %t775 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_ReqViewCore(ptr %t775) + %t776 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t776) + %t777 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t777) + %t778 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t778) + %t779 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t779) + %t780 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t780) + %t781 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t781) + %t782 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t782) + %t783 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t783) + %t784 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t784) + %t785 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t785) + %t786 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t786) + %t787 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t787) + %t788 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t788) + %t789 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t789) + %t790 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t790) + %t791 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t791) + %t792 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t792) + %t793 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t793) + %t794 = load ptr, ptr %sc_l_chainBody_0 + call void @scr_box_release(ptr %t794) + ret void +exc.cleanup135: + %t795 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t795) + %t796 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t796) + %t797 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_ReqViewCore(ptr %t797) + %t798 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t798) + %t799 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t799) + %t800 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t800) + %t801 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t801) + %t802 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t802) + %t803 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t803) + %t804 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t804) + %t805 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t805) + %t806 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t806) + %t807 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t807) + %t808 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t808) + %t809 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t809) + %t810 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t810) + %t811 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t811) + %t812 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t812) + %t813 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t813) + %t814 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t814) + %t815 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t815) + %t816 = load ptr, ptr %sc_l_chainBody_0 + call void @scr_box_release(ptr %t816) + ret void +exc.cleanup138: + %t817 = load ptr, ptr %sc_l_this_0 + call void @scr_box_release(ptr %t817) + %t818 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t818) + %t819 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t819) + %t820 = load ptr, ptr %sc_l_webHeaders_0 + call void @sc_rrelease_r0(ptr %t820) + %t821 = load ptr, ptr %sc_l_webReq_0 + call void @sc_rc_release_dyn(ptr %t821) + %t822 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t822) + %t823 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_box_release(ptr %t823) + %t824 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t824) + %t825 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t825) + %t826 = load ptr, ptr %sc_l_app_0 + call void @scr_box_release(ptr %t826) + %t827 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t827) + %t828 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t828) + %t829 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t829) + %t830 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t830) + %t831 = load ptr, ptr %sc_l_node_0 + call void @scr_box_release(ptr %t831) + %t832 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t832) + %t833 = load ptr, ptr %sc_l_idx_0 + call void @scr_box_release(ptr %t833) + %t834 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t834) + %t835 = load ptr, ptr %sc_l_chainBody_0 + call void @scr_box_release(ptr %t835) + %t836 = load ptr, ptr %sc_l_c_0 + call void @scr_box_release(ptr %t836) + ret void +} + +define internal void @sc_bf__x25__x25_m5_App__dispatch(ptr %p_sc_l_this_0, ptr %p_sc_l_req_0, ptr %p_sc_l_sink_0) #0 { ; %%m5.App._dispatch +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_req_0 = alloca ptr ; req + %sc_l_sink_0 = alloca ptr ; sink + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_genRes_0 = alloca ptr ; genRes + %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_method_0 = alloca ptr ; method + %sc_l_url_0 = alloca ptr ; url + %sc_l_path_0 = alloca ptr ; path + %sc_l_qs_0 = alloca ptr ; qs + %sc_l_qi_0 = alloca i32 ; qi + %sc_l_node_0 = alloca ptr ; node + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_body_0 = alloca ptr ; body + %sc_l_idx_0 = alloca ptr ; idx + %sc_l_j_0 = alloca double ; j + %sc_l_rv_0 = alloca ptr ; rv + %sc_l_c_0 = alloca ptr ; c + %sc_l_carrying_0 = alloca i1 ; carrying + %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv + %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv + %sc_l_buf_0 = alloca ptr ; buf + %sc_l_oef_1 = alloca ptr ; oef + %sc_l_rv_1 = alloca ptr ; rv + %sc_l_c_1 = alloca ptr ; c + %s0 = alloca ptr ; lazy box sink + %exc.cell = load ptr, ptr @scr_exc_active + %s16 = alloca ptr + %s43 = alloca i1 + %s77 = alloca ptr + %s85 = alloca ptr + %s129 = alloca %ScrUnion + %s130 = getelementptr inbounds %ScrUnion, ptr %s129, i32 0, i32 1 + %s131 = getelementptr inbounds %ScrUnion, ptr %s129, i32 0, i32 5 + %s132 = alloca %ScrUnion + %s133 = getelementptr inbounds %ScrUnion, ptr %s132, i32 0, i32 1 + %s134 = getelementptr inbounds %ScrUnion, ptr %s132, i32 0, i32 5 + %s139 = alloca %ScrUnion + %s140 = getelementptr inbounds %ScrUnion, ptr %s139, i32 0, i32 1 + %s141 = getelementptr inbounds %ScrUnion, ptr %s139, i32 0, i32 5 + %s142 = alloca %ScrUnion + %s143 = getelementptr inbounds %ScrUnion, ptr %s142, i32 0, i32 1 + %s144 = getelementptr inbounds %ScrUnion, ptr %s142, i32 0, i32 5 + %s164 = alloca ptr + %s170 = alloca ptr + %s175 = alloca ptr + %s181 = alloca %ScrUnion + %s182 = getelementptr inbounds %ScrUnion, ptr %s181, i32 0, i32 5 + %s183 = getelementptr inbounds %ScrUnion, ptr %s181, i32 0, i32 1 + %s224 = alloca double + %s225 = alloca i32 + %s232 = alloca ptr + %s240 = alloca double + %s241 = alloca i32 + %s246 = alloca %ScrUnion + %s247 = getelementptr inbounds %ScrUnion, ptr %s246, i32 0, i32 5 + %s248 = getelementptr inbounds %ScrUnion, ptr %s246, i32 0, i32 1 + %s287 = alloca ptr + %s292 = alloca ptr + %s337 = alloca double + %s338 = alloca i32 + %s345 = alloca ptr + %s353 = alloca double + %s354 = alloca i32 + %s394 = alloca ptr + %s402 = alloca double + %s403 = alloca i32 + %s443 = alloca ptr + %s451 = alloca double + %s452 = alloca i32 + %s457 = alloca %ScrUnion + %s458 = getelementptr inbounds %ScrUnion, ptr %s457, i32 0, i32 5 + %s459 = getelementptr inbounds %ScrUnion, ptr %s457, i32 0, i32 1 + %s509 = alloca double + %s510 = alloca i32 + %s516 = alloca i1 + %s524 = alloca double + %s525 = alloca i32 + %s561 = alloca ptr + %s570 = alloca i1 + %s576 = alloca ptr + %s584 = alloca double + %s585 = alloca i32 + %s631 = alloca i1 + %s635 = alloca i1 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_genRes_0 + store ptr null, ptr %sc_l__x25_callReceiver_0 + store ptr null, ptr %sc_l_oef_0 + store ptr null, ptr %sc_l_method_0 + store ptr null, ptr %sc_l_url_0 + store ptr null, ptr %sc_l_path_0 + store ptr null, ptr %sc_l_qs_0 + store ptr null, ptr %sc_l_node_0 + store ptr null, ptr %sc_l_chain_0 + store ptr null, ptr %sc_l_body_0 + store ptr null, ptr %sc_l_idx_0 + store ptr null, ptr %sc_l_rv_0 + store ptr null, ptr %sc_l_c_0 + store ptr null, ptr %sc_l__x25_propertyRecv_0 + store ptr null, ptr %sc_l__x25_propertyRecv_1 + store ptr null, ptr %sc_l_buf_0 + store ptr null, ptr %sc_l_oef_1 + store ptr null, ptr %sc_l_rv_1 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %s0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0 + %t1 = call ptr @llvm.stacksave.p0() + %t2 = load ptr, ptr @scr_stack_guard + %t3 = icmp ult ptr %t1, %t2 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t5 = load ptr, ptr %sc_l_sink_0 + store ptr %t5, ptr %sc_l__x25_callbackReceiver_0 + %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t8) + br label %exc.cleanup2 +exc.k4: + store ptr %t8, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t12 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t13 = getelementptr inbounds i8, ptr %t12, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 6 + br i1 %t15, label %tern.t5, label %tern.f6 +tern.t5: + %t18 = call ptr @scr_dyn_undefined() + %t17 = call ptr @scr_dyn_retain_v(ptr %t18) + store ptr %t17, ptr %s16 + br label %tern.j7 +tern.f6: + %t19 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_property_10(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t21) + br label %exc.cleanup10 +exc.k9: + store ptr %t21, ptr %s16 + br label %tern.j7 +tern.j7: + %t25 = load ptr, ptr %s16 + store ptr %t25, ptr %sc_l__x25_callback_0 + %t26 = load ptr, ptr %sc_l__x25_callback_0 + %t27 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t28 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t27, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t28) + %t29 = call ptr @scr_dyn_call(ptr %t26, ptr null, i64 0, ptr @sc_cs_2464045371370986) + call void @scr_dyn_this_pop() + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup13 +exc.k12: + %t33 = call ptr @sc_dc_14(ptr %t29, ptr null) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_union_release(ptr %t33) + br label %exc.cleanup13 +exc.k15: + store ptr %t33, ptr %sc_l_genRes_0 + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t29) + %t37 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t37) + %t38 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t38) + %t39 = load ptr, ptr %sc_l_genRes_0 + %t42 = getelementptr inbounds %ScrUnion, ptr %t39, i64 0, i32 1 + %t41 = load i32, ptr %t42 + %t40 = icmp ne i32 %t41, 1 + store i1 %t40, ptr %s43 + br i1 %t40, label %log.r16, label %log.j17 +log.r16: + %t44 = load ptr, ptr %sc_l_this_0 + store ptr %t44, ptr %sc_l__x25_callReceiver_0 + %t45 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t46 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t45, i64 0, i32 15 + %t47 = load ptr, ptr %t46, !tbaa !182 + %t48 = call ptr @scr_closure_retain_v(ptr %t47) + %t49 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t50 = call ptr @sc_retain__x25_m5_App(ptr %t49) + %t51 = load ptr, ptr %sc_l_req_0 + %t52 = call ptr @scr_http_req_retain_v(ptr %t51) + %t53 = load ptr, ptr %sc_l_genRes_0 + %t54 = getelementptr inbounds %ScrUnion, ptr %t53, i64 0, i32 5 + %t55 = load ptr, ptr %t54 + %t56 = call ptr @scr_http_res_retain_v(ptr %t55) + %t57 = getelementptr inbounds %ScrClosure, ptr %t48, i64 0, i32 1 + %t58 = load ptr, ptr %t57 + call void @scr_dyn_this_push_typed(ptr %t50, ptr @sc_trr_0) + %t59 = call i1 %t58(ptr %t48, ptr %t52, ptr %t56) + call void @scr_dyn_this_pop() + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_closure_release(ptr %t48) + call void @sc_release__x25_m5_App(ptr %t50) + br label %exc.cleanup20 +exc.k19: + store i1 %t59, ptr %s43 + call void @scr_closure_release(ptr %t48) + call void @sc_release__x25_m5_App(ptr %t50) + br label %log.j17 +log.j17: + %t63 = load i1, ptr %s43 + br i1 %t63, label %if.t21, label %if.j22 +if.t21: + %t64 = load ptr, ptr %s0 + %t65 = icmp ne ptr %t64, null + br i1 %t65, label %lazy.release23, label %lazy.release.j24 +lazy.release23: + call void @scr_box_release(ptr %t64) + br label %lazy.release.j24 +lazy.release.j24: + %t66 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t66) + ret void +if.j22: + %t67 = load ptr, ptr %sc_l_this_0 + %t68 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t67, i64 0, i32 7 + %t69 = load ptr, ptr %t68, !tbaa !176 + %t70 = call ptr @scr_union_retain_v(ptr %t69) + store ptr %t70, ptr %sc_l_oef_1 + %t71 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let oef (boxed) + store ptr %t71, ptr %sc_l_oef_0 + %t72 = load ptr, ptr %sc_l_oef_1 + %t73 = call ptr @scr_union_retain_v(ptr %t72) + call void @scr_box_set_ref(ptr %t71, ptr %t73) + %t74 = load ptr, ptr %sc_l_req_0 + %t75 = call ptr @scr_http_req_retain_v(ptr %t74) + %t76 = call ptr @scr_http_req_method(ptr %t75) + store ptr %t76, ptr %s77 + %t78 = getelementptr inbounds %ScrStr, ptr %t76, i64 0, i32 1 + %t79 = load i64, ptr %t78 + %t80 = icmp ne i64 %t79, 0 + br i1 %t80, label %log.j26, label %log.r25 +log.r25: + call void @scr_str_release(ptr %t76) + store ptr @sc_lit_4005573543169985, ptr %s77 + br label %log.j26 +log.j26: + %t81 = load ptr, ptr %s77 + store ptr %t81, ptr %sc_l_method_0 + call void @scr_http_req_release(ptr %t75) + %t82 = load ptr, ptr %sc_l_req_0 + %t83 = call ptr @scr_http_req_retain_v(ptr %t82) + %t84 = call ptr @scr_http_req_url(ptr %t83) + store ptr %t84, ptr %s85 + %t86 = getelementptr inbounds %ScrStr, ptr %t84, i64 0, i32 1 + %t87 = load i64, ptr %t86 + %t88 = icmp ne i64 %t87, 0 + br i1 %t88, label %log.j28, label %log.r27 +log.r27: + call void @scr_str_release(ptr %t84) + store ptr @sc_lit_2434240011052594, ptr %s85 + br label %log.j28 +log.j28: + %t89 = load ptr, ptr %s85 + store ptr %t89, ptr %sc_l_url_0 + call void @scr_http_req_release(ptr %t83) + %t90 = load ptr, ptr %sc_l_url_0 + %t91 = call ptr @sc_rc_retain_str(ptr %t90) + store ptr %t91, ptr %sc_l_path_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_qs_0 + %t92 = load ptr, ptr %sc_l_url_0 + %t93 = call double @scr_str_index_of(ptr %t92, ptr @sc_lit_2437473434951379, double 0x0000000000000000) + %t94 = fptosi double %t93 to i32 + store i32 %t94, ptr %sc_l_qi_0 + %t95 = load i32, ptr %sc_l_qi_0 + %t96 = sitofp i32 %t95 to double + %t98 = sext i32 %t95 to i64 + %t97 = icmp sge i64 %t98, 0 + br i1 %t97, label %if.t29, label %if.j30 +if.t29: + %t99 = load ptr, ptr %sc_l_url_0 + %t100 = load i32, ptr %sc_l_qi_0 + %t101 = sitofp i32 %t100 to double + %t102 = call ptr @scr_str_slice(ptr %t99, double 0x0000000000000000, double %t101) + %t103 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t103) + store ptr %t102, ptr %sc_l_path_0 + %t104 = load ptr, ptr %sc_l_url_0 + %t105 = load i32, ptr %sc_l_qi_0 + %t106 = sitofp i32 %t105 to double + %t108 = sext i32 %t105 to i64 + %t109 = add nsw i64 %t108, 1 + %t111 = trunc i64 %t109 to i32 + %t110 = sitofp i64 %t109 to double + %t112 = fdiv double 0x3FF0000000000000, 0x0000000000000000 + %t113 = call ptr @scr_str_slice(ptr %t104, double %t110, double %t112) + %t114 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t114) + store ptr %t113, ptr %sc_l_qs_0 + br label %if.j30 +if.j30: + %t115 = load ptr, ptr %sc_l_this_0 + %t116 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t115, i64 0, i32 1 + %t117 = load ptr, ptr %t116, !tbaa !32 + %t118 = load ptr, ptr %sc_l_path_0 + %t119 = call ptr @sc_bf__x25_m5_matchPath(ptr %t117, ptr %t118) + %t120 = load i32, ptr %exc.cell + %t121 = icmp ne i32 %t120, 0 + %t122 = call i1 @llvm.expect.i1(i1 %t121, i1 false) + br i1 %t122, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rrelease_r5(ptr %t119) + br label %exc.cleanup33 +exc.k32: + store ptr %t119, ptr %sc_l_node_0 + %t123 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let chain (boxed) + store ptr %t123, ptr %sc_l_chain_0 + %t124 = load ptr, ptr %sc_l_this_0 + %t125 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t124, i64 0, i32 9 + %t126 = load ptr, ptr %t125, !tbaa !180 + %t127 = call ptr @scr_closure_retain_v(ptr %t126) + %t128 = call ptr @scr_union_new_ref(i32 0, ptr %t127, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + call void @scr_box_set_ref(ptr %t123, ptr %t128) + store double 0x0000000000000000, ptr %s134 + store i32 0, ptr %s133 + %t136 = getelementptr inbounds %ScrUnion, ptr %s132, i64 0, i32 1 + %t135 = load i32, ptr %t136 + %t137 = getelementptr inbounds %ScrUnion, ptr %s132, i32 0, i32 5 + %t138 = load i64, ptr %t137 + store i32 %t135, ptr %s130 + store i64 %t138, ptr %s131 + store ptr %s129, ptr %sc_l_body_0 + store double 0xBFF0000000000000, ptr %s144 + store i32 0, ptr %s143 + %t146 = getelementptr inbounds %ScrUnion, ptr %s142, i64 0, i32 1 + %t145 = load i32, ptr %t146 + %t147 = getelementptr inbounds %ScrUnion, ptr %s142, i32 0, i32 5 + %t148 = load i64, ptr %t147 + store i32 %t145, ptr %s140 + store i64 %t148, ptr %s141 + store ptr %s139, ptr %sc_l_idx_0 + %t149 = load ptr, ptr %sc_l_node_0 + %t151 = icmp ne ptr %t149, @sc_nullable_null + br i1 %t151, label %if.t34, label %if.j35 +if.t34: + %t152 = load ptr, ptr %sc_l_node_0 + %t153 = call ptr @sc_bf__x25_union_retag_1(ptr %t152) ; borrowed result + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u36, label %exc.k37 +exc.u36: + br label %exc.cleanup38 +exc.k37: + %t157 = load ptr, ptr %sc_l_method_0 + %t158 = call double @sc_bf__x25_m5_findEntry(ptr %t153, ptr %t157) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u39, label %exc.k40 +exc.u39: + br label %exc.cleanup38 +exc.k40: + store double %t158, ptr %sc_l_j_0 + %t162 = load double, ptr %sc_l_j_0 + %t163 = fcmp oge double %t162, 0x0000000000000000 + br i1 %t163, label %if.t41, label %if.f43 +if.t41: + %t165 = load ptr, ptr %sc_l_node_0 + %t167 = icmp ne ptr %t165, null + %t168 = icmp ne ptr %t165, @sc_nullable_null + %t169 = and i1 %t167, %t168 + br i1 %t169, label %read.then44, label %read.else45 +read.then44: + %t171 = load ptr, ptr %sc_l_node_0 + store ptr %t171, ptr %s170 + br label %read.join46 +read.else45: + %t172 = load ptr, ptr %sc_l_node_0 + %t174 = icmp eq ptr %t172, @sc_nullable_null + br i1 %t174, label %read.then47, label %read.else48 +read.then47: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518) + br label %exc.cleanup38 +exc.dead50: + store ptr null, ptr %s175 + br label %read.join49 +read.else48: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup38 +exc.dead51: + store ptr null, ptr %s175 + br label %read.join49 +read.join49: + %t176 = load ptr, ptr %s175 + store ptr %t176, ptr %s170 + br label %read.join46 +read.join46: + %t177 = load ptr, ptr %s170 + %t178 = getelementptr inbounds %sc_rs_r5, ptr %t177, i64 0, i32 2 + %t179 = load ptr, ptr %t178 + %t180 = load double, ptr %sc_l_j_0 + %t184 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 2 + %t185 = load i64, ptr %t184, !tbaa !2 + %t186 = fptosi double %t180 to i64 + %t187 = freeze i64 %t186 + %t188 = sitofp i64 %t187 to double + %t189 = fcmp oeq double %t188, %t180 + %t190 = icmp ult i64 %t187, %t185 + %t191 = and i1 %t189, %t190 + br i1 %t191, label %local.array.range55, label %local.array.slow52 +local.array.range55: + br label %local.array.dense56 +local.array.dense56: + %t192 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 6 + %t193 = load i32, ptr %t192, !tbaa !2 + %t195 = zext i32 %t193 to i64 + %t194 = icmp ult i64 %t187, %t195 + br i1 %t194, label %local.array.value58, label %local.array.len57 +local.array.len57: + %t196 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 1 + %t197 = load i64, ptr %t196, !tbaa !2, !range !{i64 0, i64 4294967296} + %t198 = icmp ult i64 %t187, %t197 + br i1 %t198, label %local.array.state59, label %local.array.missing53 +local.array.state59: + %t199 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 9 + %t200 = load ptr, ptr %t199, !tbaa !2 + %t201 = getelementptr inbounds i8, ptr %t200, i64 %t187 + %t202 = load i8, ptr %t201, !tbaa !4 + %t203 = icmp eq i8 %t202, 1 + br i1 %t203, label %local.array.value58, label %local.array.missing53 +local.array.value58: + %t204 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 8 + %t205 = load ptr, ptr %t204, !tbaa !2 + %t206 = getelementptr inbounds i64, ptr %t205, i64 %t187 + %t207 = load i64, ptr %t206, !tbaa !6 + store i64 %t207, ptr %s182 + store i32 0, ptr %s183 + br label %local.array.join54 +local.array.slow52: + %t208 = call double @scr_arr_state(ptr %t179, double %t180) cold memory(read, inaccessiblemem: readwrite) + %t209 = fcmp oeq double %t208, 1.0 + br i1 %t209, label %local.array.slow.value60, label %local.array.missing53 +local.array.slow.value60: + %t210 = call double @scr_arr_get_f64(ptr %t179, double %t180) cold memory(read, inaccessiblemem: readwrite) + %t211 = bitcast double %t210 to i64 + store i64 %t211, ptr %s182 + store i32 0, ptr %s183 + br label %local.array.join54 +local.array.missing53: + store i64 0, ptr %s182 + store i32 1, ptr %s183 + br label %local.array.join54 +local.array.join54: + store ptr %s181, ptr %s164 + %t212 = load ptr, ptr %s164 + %t214 = getelementptr inbounds %ScrUnion, ptr %t212, i64 0, i32 1 + %t213 = load i32, ptr %t214 + %t215 = getelementptr inbounds %ScrUnion, ptr %t212, i32 0, i32 5 + %t216 = load i64, ptr %t215 + store i32 %t213, ptr %s140 + store i64 %t216, ptr %s141 + %t217 = load ptr, ptr %sc_l_this_0 + %t218 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t217, i64 0, i32 8 + %t219 = load ptr, ptr %t218, !tbaa !178 + %t220 = load ptr, ptr %sc_l_idx_0 + %t223 = getelementptr inbounds %ScrUnion, ptr %t220, i64 0, i32 1 + %t222 = load i32, ptr %t223 + %t221 = icmp eq i32 %t222, 1 + br i1 %t221, label %tern.t61, label %tern.f62 +tern.t61: + store double 0x7FF8000000000000, ptr %s224 + br label %tern.j63 +tern.f62: + %t226 = load ptr, ptr %sc_l_idx_0 + %t227 = getelementptr inbounds %ScrUnion, ptr %t226, i64 0, i32 5 + %t228 = load double, ptr %t227 + store double %t228, ptr %s224 + br label %tern.j63 +tern.j63: + %t229 = load double, ptr %s224 + %t230 = call ptr @sc_bf__x25_arr_idxOr_2(ptr %t219, double %t229) + %t231 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_set_ref(ptr %t231, ptr %t230) + %t233 = load ptr, ptr %sc_l_this_0 + %t234 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t233, i64 0, i32 13 + %t235 = load ptr, ptr %t234, !tbaa !38 + %t236 = load ptr, ptr %sc_l_idx_0 + %t239 = getelementptr inbounds %ScrUnion, ptr %t236, i64 0, i32 1 + %t238 = load i32, ptr %t239 + %t237 = icmp eq i32 %t238, 1 + br i1 %t237, label %tern.t64, label %tern.f65 +tern.t64: + store double 0x7FF8000000000000, ptr %s240 + br label %tern.j66 +tern.f65: + %t242 = load ptr, ptr %sc_l_idx_0 + %t243 = getelementptr inbounds %ScrUnion, ptr %t242, i64 0, i32 5 + %t244 = load double, ptr %t243 + store double %t244, ptr %s240 + br label %tern.j66 +tern.j66: + %t245 = load double, ptr %s240 + %t249 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 2 + %t250 = load i64, ptr %t249, !tbaa !2 + %t251 = fptosi double %t245 to i64 + %t252 = freeze i64 %t251 + %t253 = sitofp i64 %t252 to double + %t254 = fcmp oeq double %t253, %t245 + %t255 = icmp ult i64 %t252, %t250 + %t256 = and i1 %t254, %t255 + br i1 %t256, label %local.array.range70, label %local.array.slow67 +local.array.range70: + br label %local.array.dense71 +local.array.dense71: + %t257 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 6 + %t258 = load i32, ptr %t257, !tbaa !2 + %t260 = zext i32 %t258 to i64 + %t259 = icmp ult i64 %t252, %t260 + br i1 %t259, label %local.array.value73, label %local.array.len72 +local.array.len72: + %t261 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 1 + %t262 = load i64, ptr %t261, !tbaa !2, !range !{i64 0, i64 4294967296} + %t263 = icmp ult i64 %t252, %t262 + br i1 %t263, label %local.array.state74, label %local.array.missing68 +local.array.state74: + %t264 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 9 + %t265 = load ptr, ptr %t264, !tbaa !2 + %t266 = getelementptr inbounds i8, ptr %t265, i64 %t252 + %t267 = load i8, ptr %t266, !tbaa !4 + %t268 = icmp eq i8 %t267, 1 + br i1 %t268, label %local.array.value73, label %local.array.missing68 +local.array.value73: + %t269 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 8 + %t270 = load ptr, ptr %t269, !tbaa !2 + %t271 = getelementptr inbounds i64, ptr %t270, i64 %t252 + %t272 = load i64, ptr %t271, !tbaa !6 + store i64 %t272, ptr %s247 + store i32 0, ptr %s248 + br label %local.array.join69 +local.array.slow67: + %t273 = call double @scr_arr_state(ptr %t235, double %t245) cold memory(read, inaccessiblemem: readwrite) + %t274 = fcmp oeq double %t273, 1.0 + br i1 %t274, label %local.array.slow.value75, label %local.array.missing68 +local.array.slow.value75: + %t275 = call double @scr_arr_get_f64(ptr %t235, double %t245) cold memory(read, inaccessiblemem: readwrite) + %t276 = bitcast double %t275 to i64 + store i64 %t276, ptr %s247 + store i32 0, ptr %s248 + br label %local.array.join69 +local.array.missing68: + store i64 0, ptr %s247 + store i32 1, ptr %s248 + br label %local.array.join69 +local.array.join69: + store ptr %s246, ptr %s232 + %t277 = load ptr, ptr %s232 + %t279 = getelementptr inbounds %ScrUnion, ptr %t277, i64 0, i32 1 + %t278 = load i32, ptr %t279 + %t280 = getelementptr inbounds %ScrUnion, ptr %t277, i32 0, i32 5 + %t281 = load i64, ptr %t280 + store i32 %t278, ptr %s130 + store i64 %t281, ptr %s131 + br label %if.j42 +if.f43: + %t282 = load ptr, ptr %sc_l_node_0 + %t284 = icmp ne ptr %t282, null + %t285 = icmp ne ptr %t282, @sc_nullable_null + %t286 = and i1 %t284, %t285 + br i1 %t286, label %read.then76, label %read.else77 +read.then76: + %t288 = load ptr, ptr %sc_l_node_0 + store ptr %t288, ptr %s287 + br label %read.join78 +read.else77: + %t289 = load ptr, ptr %sc_l_node_0 + %t291 = icmp eq ptr %t289, @sc_nullable_null + br i1 %t291, label %read.then79, label %read.else80 +read.then79: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518) + br label %exc.cleanup38 +exc.dead82: + store ptr null, ptr %s292 + br label %read.join81 +read.else80: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup38 +exc.dead83: + store ptr null, ptr %s292 + br label %read.join81 +read.join81: + %t293 = load ptr, ptr %s292 + store ptr %t293, ptr %s287 + br label %read.join78 +read.join78: + %t294 = load ptr, ptr %s287 + %t295 = getelementptr inbounds %sc_rs_r5, ptr %t294, i64 0, i32 2 + %t296 = load ptr, ptr %t295 + %t297 = getelementptr inbounds %ScrArr, ptr %t296, i32 0, i32 1 + %t298 = load i64, ptr %t297, !tbaa !2, !range !{i64 0, i64 4294967296} + %t299 = sitofp i64 %t298 to double + %t301 = fptosi double %t299 to i64 + %t300 = icmp sgt i64 %t301, 0 + br i1 %t300, label %if.t84, label %if.j85 +if.t84: + %t302 = load ptr, ptr %sc_l_node_0 + %t303 = load ptr, ptr %sc_l_req_0 + %t304 = load ptr, ptr %sc_l_sink_0 + %t305 = load ptr, ptr %sc_l_oef_1 + call void @sc_bf__x25_m5_allow405(ptr %t302, ptr %t303, ptr %t304, ptr %t305) + %t306 = load i32, ptr %exc.cell + %t307 = icmp ne i32 %t306, 0 + %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false) + br i1 %t308, label %exc.u86, label %exc.k87 +exc.u86: + br label %exc.cleanup38 +exc.k87: + %t309 = load ptr, ptr %s0 + %t310 = icmp ne ptr %t309, null + br i1 %t310, label %lazy.release88, label %lazy.release.j89 +lazy.release88: + call void @scr_box_release(ptr %t309) + br label %lazy.release.j89 +lazy.release.j89: + %t311 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t311) + %t312 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t312) + %t313 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t313) + %t314 = load ptr, ptr %sc_l_method_0 + call void @scr_str_release(ptr %t314) + %t315 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t315) + %t316 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t316) + %t317 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t317) + %t318 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t318) + %t319 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t319) + ret void +if.j85: + br label %if.j42 +if.j42: + br label %if.j35 +if.j35: + %t320 = call ptr @sc_new__x25_m5_ReqViewCore() + %t321 = load ptr, ptr %sc_l_req_0 + %t322 = call ptr @scr_http_req_retain_v(ptr %t321) + %t323 = call ptr @scr_union_new_ref(i32 0, ptr %t322, ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) + %t324 = load ptr, ptr %sc_l_qs_0 + %t325 = load ptr, ptr %sc_l_path_0 + %t326 = load ptr, ptr %sc_l_url_0 + call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %t320, ptr %t323, ptr %t324, ptr %t325, ptr %t326, ptr null, ptr null, ptr null) + %t327 = load i32, ptr %exc.cell + %t328 = icmp ne i32 %t327, 0 + %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false) + br i1 %t329, label %exc.u90, label %exc.k91 +exc.u90: + call void @scr_union_release(ptr %t323) + call void @sc_release__x25_m5_ReqViewCore(ptr %t320) + br label %exc.cleanup38 +exc.k91: + call void @scr_union_release(ptr %t323) + store ptr %t320, ptr %sc_l_rv_1 + %t330 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_trace__x25_m5_ReqViewCore) ; let rv (boxed) + store ptr %t330, ptr %sc_l_rv_0 + %t331 = load ptr, ptr %sc_l_rv_1 + %t332 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t331) + call void @scr_box_set_ref(ptr %t330, ptr %t332) + %t333 = load ptr, ptr %sc_l_idx_0 + %t336 = getelementptr inbounds %ScrUnion, ptr %t333, i64 0, i32 1 + %t335 = load i32, ptr %t336 + %t334 = icmp eq i32 %t335, 1 + br i1 %t334, label %tern.t92, label %tern.f93 +tern.t92: + store double 0x7FF8000000000000, ptr %s337 + br label %tern.j94 +tern.f93: + %t339 = load ptr, ptr %sc_l_idx_0 + %t340 = getelementptr inbounds %ScrUnion, ptr %t339, i64 0, i32 5 + %t341 = load double, ptr %t340 + store double %t341, ptr %s337 + br label %tern.j94 +tern.j94: + %t342 = load double, ptr %s337 + %t343 = fcmp oge double %t342, 0x0000000000000000 + br i1 %t343, label %if.t95, label %if.j96 +if.t95: + %t344 = load ptr, ptr %sc_l_rv_1 + %t346 = load ptr, ptr %sc_l_this_0 + %t347 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t346, i64 0, i32 10 + %t348 = load ptr, ptr %t347, !tbaa !150 + %t349 = load ptr, ptr %sc_l_idx_0 + %t352 = getelementptr inbounds %ScrUnion, ptr %t349, i64 0, i32 1 + %t351 = load i32, ptr %t352 + %t350 = icmp eq i32 %t351, 1 + br i1 %t350, label %tern.t97, label %tern.f98 +tern.t97: + store double 0x7FF8000000000000, ptr %s353 + br label %tern.j99 +tern.f98: + %t355 = load ptr, ptr %sc_l_idx_0 + %t356 = getelementptr inbounds %ScrUnion, ptr %t355, i64 0, i32 5 + %t357 = load double, ptr %t356 + store double %t357, ptr %s353 + br label %tern.j99 +tern.j99: + %t358 = load double, ptr %s353 + %t359 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 2 + %t360 = load i64, ptr %t359, !tbaa !2 + %t361 = fptosi double %t358 to i64 + %t362 = freeze i64 %t361 + %t363 = sitofp i64 %t362 to double + %t364 = fcmp oeq double %t363, %t358 + %t365 = icmp ult i64 %t362, %t360 + %t366 = and i1 %t364, %t365 + br i1 %t366, label %local.array.range103, label %local.array.slow100 +local.array.range103: + br label %local.array.dense104 +local.array.dense104: + %t367 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 6 + %t368 = load i32, ptr %t367, !tbaa !2 + %t370 = zext i32 %t368 to i64 + %t369 = icmp ult i64 %t362, %t370 + br i1 %t369, label %local.array.value106, label %local.array.len105 +local.array.len105: + %t371 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 1 + %t372 = load i64, ptr %t371, !tbaa !2, !range !{i64 0, i64 4294967296} + %t373 = icmp ult i64 %t362, %t372 + br i1 %t373, label %local.array.state107, label %local.array.missing101 +local.array.state107: + %t374 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 9 + %t375 = load ptr, ptr %t374, !tbaa !2 + %t376 = getelementptr inbounds i8, ptr %t375, i64 %t362 + %t377 = load i8, ptr %t376, !tbaa !4 + %t378 = icmp eq i8 %t377, 1 + br i1 %t378, label %local.array.value106, label %local.array.missing101 +local.array.value106: + %t379 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 8 + %t380 = load ptr, ptr %t379, !tbaa !2 + %t381 = getelementptr inbounds i64, ptr %t380, i64 %t362 + %t382 = load ptr, ptr %t381, !tbaa !6 + store ptr %t382, ptr %s345 + br label %local.array.join102 +local.array.slow100: + %t383 = call ptr @scr_arr_peek_ref(ptr %t348, double %t358) + %t384 = icmp ne ptr %t383, null + br i1 %t384, label %local.array.slow.value108, label %local.array.missing101 +local.array.slow.value108: + store ptr %t383, ptr %s345 + br label %local.array.join102 +local.array.missing101: + store ptr null, ptr %s345 + br label %local.array.join102 +local.array.join102: + %t385 = load ptr, ptr %s345 + %t386 = call ptr @sc_bf__x25_union_narrow_4(ptr %t385) + %t387 = load i32, ptr %exc.cell + %t388 = icmp ne i32 %t387, 0 + %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false) + br i1 %t389, label %exc.u109, label %exc.k110 +exc.u109: + br label %exc.cleanup111 +exc.k110: + %t390 = call ptr @scr_arr_retain_v(ptr %t386) + %t391 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t344, i64 0, i32 11 + %t392 = load ptr, ptr %t391 + store ptr %t390, ptr %t391, !tbaa !150 + call void @scr_arr_release(ptr %t392) + %t393 = load ptr, ptr %sc_l_rv_1 + %t395 = load ptr, ptr %sc_l_this_0 + %t396 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t395, i64 0, i32 11 + %t397 = load ptr, ptr %t396, !tbaa !152 + %t398 = load ptr, ptr %sc_l_idx_0 + %t401 = getelementptr inbounds %ScrUnion, ptr %t398, i64 0, i32 1 + %t400 = load i32, ptr %t401 + %t399 = icmp eq i32 %t400, 1 + br i1 %t399, label %tern.t112, label %tern.f113 +tern.t112: + store double 0x7FF8000000000000, ptr %s402 + br label %tern.j114 +tern.f113: + %t404 = load ptr, ptr %sc_l_idx_0 + %t405 = getelementptr inbounds %ScrUnion, ptr %t404, i64 0, i32 5 + %t406 = load double, ptr %t405 + store double %t406, ptr %s402 + br label %tern.j114 +tern.j114: + %t407 = load double, ptr %s402 + %t408 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 2 + %t409 = load i64, ptr %t408, !tbaa !2 + %t410 = fptosi double %t407 to i64 + %t411 = freeze i64 %t410 + %t412 = sitofp i64 %t411 to double + %t413 = fcmp oeq double %t412, %t407 + %t414 = icmp ult i64 %t411, %t409 + %t415 = and i1 %t413, %t414 + br i1 %t415, label %local.array.range118, label %local.array.slow115 +local.array.range118: + br label %local.array.dense119 +local.array.dense119: + %t416 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 6 + %t417 = load i32, ptr %t416, !tbaa !2 + %t419 = zext i32 %t417 to i64 + %t418 = icmp ult i64 %t411, %t419 + br i1 %t418, label %local.array.value121, label %local.array.len120 +local.array.len120: + %t420 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 1 + %t421 = load i64, ptr %t420, !tbaa !2, !range !{i64 0, i64 4294967296} + %t422 = icmp ult i64 %t411, %t421 + br i1 %t422, label %local.array.state122, label %local.array.missing116 +local.array.state122: + %t423 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 9 + %t424 = load ptr, ptr %t423, !tbaa !2 + %t425 = getelementptr inbounds i8, ptr %t424, i64 %t411 + %t426 = load i8, ptr %t425, !tbaa !4 + %t427 = icmp eq i8 %t426, 1 + br i1 %t427, label %local.array.value121, label %local.array.missing116 +local.array.value121: + %t428 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 8 + %t429 = load ptr, ptr %t428, !tbaa !2 + %t430 = getelementptr inbounds i64, ptr %t429, i64 %t411 + %t431 = load ptr, ptr %t430, !tbaa !6 + store ptr %t431, ptr %s394 + br label %local.array.join117 +local.array.slow115: + %t432 = call ptr @scr_arr_peek_ref(ptr %t397, double %t407) + %t433 = icmp ne ptr %t432, null + br i1 %t433, label %local.array.slow.value123, label %local.array.missing116 +local.array.slow.value123: + store ptr %t432, ptr %s394 + br label %local.array.join117 +local.array.missing116: + store ptr null, ptr %s394 + br label %local.array.join117 +local.array.join117: + %t434 = load ptr, ptr %s394 + %t435 = call ptr @sc_bf__x25_union_narrow_5(ptr %t434) + %t436 = load i32, ptr %exc.cell + %t437 = icmp ne i32 %t436, 0 + %t438 = call i1 @llvm.expect.i1(i1 %t437, i1 false) + br i1 %t438, label %exc.u124, label %exc.k125 +exc.u124: + br label %exc.cleanup111 +exc.k125: + %t439 = call ptr @scr_arr_retain_v(ptr %t435) + %t440 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t393, i64 0, i32 12 + %t441 = load ptr, ptr %t440 + store ptr %t439, ptr %t440, !tbaa !152 + call void @scr_arr_release(ptr %t441) + %t442 = load ptr, ptr %sc_l_rv_1 + %t444 = load ptr, ptr %sc_l_this_0 + %t445 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t444, i64 0, i32 12 + %t446 = load ptr, ptr %t445, !tbaa !154 + %t447 = load ptr, ptr %sc_l_idx_0 + %t450 = getelementptr inbounds %ScrUnion, ptr %t447, i64 0, i32 1 + %t449 = load i32, ptr %t450 + %t448 = icmp eq i32 %t449, 1 + br i1 %t448, label %tern.t126, label %tern.f127 +tern.t126: + store double 0x7FF8000000000000, ptr %s451 + br label %tern.j128 +tern.f127: + %t453 = load ptr, ptr %sc_l_idx_0 + %t454 = getelementptr inbounds %ScrUnion, ptr %t453, i64 0, i32 5 + %t455 = load double, ptr %t454 + store double %t455, ptr %s451 + br label %tern.j128 +tern.j128: + %t456 = load double, ptr %s451 + %t460 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 2 + %t461 = load i64, ptr %t460, !tbaa !2 + %t462 = fptosi double %t456 to i64 + %t463 = freeze i64 %t462 + %t464 = sitofp i64 %t463 to double + %t465 = fcmp oeq double %t464, %t456 + %t466 = icmp ult i64 %t463, %t461 + %t467 = and i1 %t465, %t466 + br i1 %t467, label %local.array.range132, label %local.array.slow129 +local.array.range132: + br label %local.array.dense133 +local.array.dense133: + %t468 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 6 + %t469 = load i32, ptr %t468, !tbaa !2 + %t471 = zext i32 %t469 to i64 + %t470 = icmp ult i64 %t463, %t471 + br i1 %t470, label %local.array.value135, label %local.array.len134 +local.array.len134: + %t472 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 1 + %t473 = load i64, ptr %t472, !tbaa !2, !range !{i64 0, i64 4294967296} + %t474 = icmp ult i64 %t463, %t473 + br i1 %t474, label %local.array.state136, label %local.array.missing130 +local.array.state136: + %t475 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 9 + %t476 = load ptr, ptr %t475, !tbaa !2 + %t477 = getelementptr inbounds i8, ptr %t476, i64 %t463 + %t478 = load i8, ptr %t477, !tbaa !4 + %t479 = icmp eq i8 %t478, 1 + br i1 %t479, label %local.array.value135, label %local.array.missing130 +local.array.value135: + %t480 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 8 + %t481 = load ptr, ptr %t480, !tbaa !2 + %t482 = getelementptr inbounds i64, ptr %t481, i64 %t463 + %t483 = load i64, ptr %t482, !tbaa !6 + store i64 %t483, ptr %s458 + store i32 0, ptr %s459 + br label %local.array.join131 +local.array.slow129: + %t484 = call double @scr_arr_state(ptr %t446, double %t456) cold memory(read, inaccessiblemem: readwrite) + %t485 = fcmp oeq double %t484, 1.0 + br i1 %t485, label %local.array.slow.value137, label %local.array.missing130 +local.array.slow.value137: + %t486 = call double @scr_arr_get_f64(ptr %t446, double %t456) cold memory(read, inaccessiblemem: readwrite) + %t487 = bitcast double %t486 to i64 + store i64 %t487, ptr %s458 + store i32 0, ptr %s459 + br label %local.array.join131 +local.array.missing130: + store i64 0, ptr %s458 + store i32 1, ptr %s459 + br label %local.array.join131 +local.array.join131: + store ptr %s457, ptr %s443 + %t488 = load ptr, ptr %s443 + %t489 = call double @sc_bf__x25_union_narrow_1(ptr %t488) + %t490 = load i32, ptr %exc.cell + %t491 = icmp ne i32 %t490, 0 + %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false) + br i1 %t492, label %exc.u138, label %exc.k139 +exc.u138: + br label %exc.cleanup111 +exc.k139: + %t493 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t442, i64 0, i32 13 + store double %t489, ptr %t493, !tbaa !154 + br label %if.j96 +if.j96: + %t494 = call ptr @sc_new__x25_m5_CtxCore() + %t495 = load ptr, ptr %sc_l_rv_1 + %t496 = load ptr, ptr %sc_l_sink_0 + call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %t494, ptr %t495, ptr %t496) + %t497 = load i32, ptr %exc.cell + %t498 = icmp ne i32 %t497, 0 + %t499 = call i1 @llvm.expect.i1(i1 %t498, i1 false) + br i1 %t499, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_release__x25_m5_CtxCore(ptr %t494) + br label %exc.cleanup111 +exc.k141: + store ptr %t494, ptr %sc_l_c_1 + %t500 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore) ; let c (boxed) + store ptr %t500, ptr %sc_l_c_0 + %t501 = load ptr, ptr %sc_l_c_1 + %t502 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t501) + call void @scr_box_set_ref(ptr %t500, ptr %t502) + %t503 = load ptr, ptr %sc_l_method_0 + %t504 = call i1 @sc_bf__x25_m5_bodyMethod(ptr %t503) + store i1 %t504, ptr %sc_l_carrying_0 + %t505 = load ptr, ptr %sc_l_idx_0 + %t508 = getelementptr inbounds %ScrUnion, ptr %t505, i64 0, i32 1 + %t507 = load i32, ptr %t508 + %t506 = icmp eq i32 %t507, 1 + br i1 %t506, label %tern.t142, label %tern.f143 +tern.t142: + store double 0x7FF8000000000000, ptr %s509 + br label %tern.j144 +tern.f143: + %t511 = load ptr, ptr %sc_l_idx_0 + %t512 = getelementptr inbounds %ScrUnion, ptr %t511, i64 0, i32 5 + %t513 = load double, ptr %t512 + store double %t513, ptr %s509 + br label %tern.j144 +tern.j144: + %t514 = load double, ptr %s509 + %t515 = fcmp oge double %t514, 0x0000000000000000 + store i1 %t515, ptr %s516 + br i1 %t515, label %log.r145, label %log.j146 +log.r145: + %t517 = load ptr, ptr %sc_l_this_0 + %t518 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t517, i64 0, i32 14 + %t519 = load ptr, ptr %t518, !tbaa !40 + %t520 = load ptr, ptr %sc_l_idx_0 + %t523 = getelementptr inbounds %ScrUnion, ptr %t520, i64 0, i32 1 + %t522 = load i32, ptr %t523 + %t521 = icmp eq i32 %t522, 1 + br i1 %t521, label %tern.t147, label %tern.f148 +tern.t147: + store double 0x7FF8000000000000, ptr %s524 + br label %tern.j149 +tern.f148: + %t526 = load ptr, ptr %sc_l_idx_0 + %t527 = getelementptr inbounds %ScrUnion, ptr %t526, i64 0, i32 5 + %t528 = load double, ptr %t527 + store double %t528, ptr %s524 + br label %tern.j149 +tern.j149: + %t529 = load double, ptr %s524 + %t530 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 2 + %t531 = load i64, ptr %t530, !tbaa !2 + %t532 = fptosi double %t529 to i64 + %t533 = freeze i64 %t532 + %t534 = sitofp i64 %t533 to double + %t535 = fcmp oeq double %t534, %t529 + %t536 = icmp ult i64 %t533, %t531 + %t537 = and i1 %t535, %t536 + br i1 %t537, label %local.array.range153, label %local.array.slow150 +local.array.range153: + br label %local.array.dense154 +local.array.dense154: + %t538 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 6 + %t539 = load i32, ptr %t538, !tbaa !2 + %t541 = zext i32 %t539 to i64 + %t540 = icmp ult i64 %t533, %t541 + br i1 %t540, label %local.array.value156, label %local.array.len155 +local.array.len155: + %t542 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 1 + %t543 = load i64, ptr %t542, !tbaa !2, !range !{i64 0, i64 4294967296} + %t544 = icmp ult i64 %t533, %t543 + br i1 %t544, label %local.array.state157, label %local.array.missing151 +local.array.state157: + %t545 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 9 + %t546 = load ptr, ptr %t545, !tbaa !2 + %t547 = getelementptr inbounds i8, ptr %t546, i64 %t533 + %t548 = load i8, ptr %t547, !tbaa !4 + %t549 = icmp eq i8 %t548, 1 + br i1 %t549, label %local.array.value156, label %local.array.missing151 +local.array.value156: + %t550 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 8 + %t551 = load ptr, ptr %t550, !tbaa !2 + %t552 = getelementptr inbounds i64, ptr %t551, i64 %t533 + %t553 = load ptr, ptr %t552, !tbaa !6 + %t554 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t553) + store ptr %t554, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join152 +local.array.slow150: + %t555 = call ptr @scr_arr_peek_ref(ptr %t519, double %t529) + %t556 = icmp ne ptr %t555, null + br i1 %t556, label %local.array.slow.value158, label %local.array.missing151 +local.array.slow.value158: + %t557 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t555) + store ptr %t557, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join152 +local.array.missing151: + store ptr null, ptr %sc_l__x25_propertyRecv_1 + br label %local.array.join152 +local.array.join152: + %t558 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t560 = icmp eq ptr %t558, null + br i1 %t560, label %tern.t159, label %tern.f160 +tern.t159: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2357048268411583) + br label %exc.cleanup162 +exc.dead163: + store ptr null, ptr %s561 + br label %tern.j161 +tern.f160: + %t562 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t563 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t562) + store ptr %t563, ptr %s561 + br label %tern.j161 +tern.j161: + %t564 = load ptr, ptr %s561 + %t565 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t564, i64 0, i32 1 + %t566 = load double, ptr %t565, !tbaa !14 + %t567 = fcmp oeq double %t566, 0x3FF0000000000000 + store i1 %t567, ptr %s516 + call void @sc_release__x25_m5_MpCfg(ptr %t564) + %t568 = load ptr, ptr %sc_l__x25_propertyRecv_1 + call void @sc_release__x25_m5_MpCfg(ptr %t568) + br label %log.j146 +log.j146: + %t569 = load i1, ptr %s516 + store i1 %t569, ptr %s570 + br i1 %t569, label %log.r164, label %log.j165 +log.r164: + %t571 = load i1, ptr %sc_l_carrying_0 + store i1 %t571, ptr %s570 + br label %log.j165 +log.j165: + %t572 = load i1, ptr %s570 + br i1 %t572, label %if.t166, label %if.f168 +if.t166: + %t573 = load ptr, ptr %sc_l_req_0 + %t574 = load ptr, ptr %sc_l_sink_0 + %t575 = load ptr, ptr %sc_l_c_1 + %t577 = load ptr, ptr %sc_l_this_0 + %t578 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t577, i64 0, i32 14 + %t579 = load ptr, ptr %t578, !tbaa !40 + %t580 = load ptr, ptr %sc_l_idx_0 + %t583 = getelementptr inbounds %ScrUnion, ptr %t580, i64 0, i32 1 + %t582 = load i32, ptr %t583 + %t581 = icmp eq i32 %t582, 1 + br i1 %t581, label %tern.t169, label %tern.f170 +tern.t169: + store double 0x7FF8000000000000, ptr %s584 + br label %tern.j171 +tern.f170: + %t586 = load ptr, ptr %sc_l_idx_0 + %t587 = getelementptr inbounds %ScrUnion, ptr %t586, i64 0, i32 5 + %t588 = load double, ptr %t587 + store double %t588, ptr %s584 + br label %tern.j171 +tern.j171: + %t589 = load double, ptr %s584 + %t590 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 2 + %t591 = load i64, ptr %t590, !tbaa !2 + %t592 = fptosi double %t589 to i64 + %t593 = freeze i64 %t592 + %t594 = sitofp i64 %t593 to double + %t595 = fcmp oeq double %t594, %t589 + %t596 = icmp ult i64 %t593, %t591 + %t597 = and i1 %t595, %t596 + br i1 %t597, label %local.array.range175, label %local.array.slow172 +local.array.range175: + br label %local.array.dense176 +local.array.dense176: + %t598 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 6 + %t599 = load i32, ptr %t598, !tbaa !2 + %t601 = zext i32 %t599 to i64 + %t600 = icmp ult i64 %t593, %t601 + br i1 %t600, label %local.array.value178, label %local.array.len177 +local.array.len177: + %t602 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 1 + %t603 = load i64, ptr %t602, !tbaa !2, !range !{i64 0, i64 4294967296} + %t604 = icmp ult i64 %t593, %t603 + br i1 %t604, label %local.array.state179, label %local.array.missing173 +local.array.state179: + %t605 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 9 + %t606 = load ptr, ptr %t605, !tbaa !2 + %t607 = getelementptr inbounds i8, ptr %t606, i64 %t593 + %t608 = load i8, ptr %t607, !tbaa !4 + %t609 = icmp eq i8 %t608, 1 + br i1 %t609, label %local.array.value178, label %local.array.missing173 +local.array.value178: + %t610 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 8 + %t611 = load ptr, ptr %t610, !tbaa !2 + %t612 = getelementptr inbounds i64, ptr %t611, i64 %t593 + %t613 = load ptr, ptr %t612, !tbaa !6 + %t614 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t613) + store ptr %t614, ptr %s576 + br label %local.array.join174 +local.array.slow172: + %t615 = call ptr @scr_arr_peek_ref(ptr %t579, double %t589) + %t616 = icmp ne ptr %t615, null + br i1 %t616, label %local.array.slow.value180, label %local.array.missing173 +local.array.slow.value180: + %t617 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t615) + store ptr %t617, ptr %s576 + br label %local.array.join174 +local.array.missing173: + store ptr null, ptr %s576 + br label %local.array.join174 +local.array.join174: + %t618 = load ptr, ptr %s576 + %t619 = load ptr, ptr %sc_l_chain_0 + %t620 = call ptr @scr_box_get_ref(ptr %t619) + %t621 = load ptr, ptr %sc_l_oef_1 + call void @sc_bf__x25_m5_runMultipart(ptr %t573, ptr %t574, ptr %t575, ptr %t618, ptr %t620, ptr %t621) + %t622 = load i32, ptr %exc.cell + %t623 = icmp ne i32 %t622, 0 + %t624 = call i1 @llvm.expect.i1(i1 %t623, i1 false) + br i1 %t624, label %exc.u181, label %exc.k182 +exc.u181: + %t625 = load ptr, ptr %s576 + call void @sc_release__x25_m5_MpCfg(ptr %t625) + call void @scr_union_release(ptr %t620) + br label %exc.cleanup183 +exc.k182: + %t626 = load ptr, ptr %s576 + call void @sc_release__x25_m5_MpCfg(ptr %t626) + call void @scr_union_release(ptr %t620) + br label %if.j167 +if.f168: + %t627 = load ptr, ptr %sc_l_body_0 + %t629 = getelementptr inbounds %ScrUnion, ptr %t627, i64 0, i32 1 + %t628 = load i32, ptr %t629 + %t630 = icmp eq i32 %t628, 0 + store i1 false, ptr %s631 + br i1 %t630, label %ueq.s184, label %ueq.j185 +ueq.s184: + %t633 = call double @scr_union_get_f64(ptr %t627) + %t632 = fcmp oeq double %t633, 0x3FF0000000000000 + store i1 %t632, ptr %s631 + br label %ueq.j185 +ueq.j185: + %t634 = load i1, ptr %s631 + store i1 %t634, ptr %s635 + br i1 %t634, label %log.r186, label %log.j187 +log.r186: + %t636 = load i1, ptr %sc_l_carrying_0 + store i1 %t636, ptr %s635 + br label %log.j187 +log.j187: + %t637 = load i1, ptr %s635 + br i1 %t637, label %if.t188, label %if.f190 +if.t188: + %t638 = call ptr @scr_box_new(i32 2) ; let buf (boxed) + store ptr %t638, ptr %sc_l_buf_0 + call void @scr_box_set_ref(ptr %t638, ptr @sc_lit_4005573543169985) + %t639 = load ptr, ptr %sc_l_req_0 + %t640 = call ptr @scr_http_req_retain_v(ptr %t639) + %t641 = call ptr @scr_closure_new(ptr @sc_f__x25_fn24, i64 1) + %t642 = getelementptr inbounds %ScrClosure, ptr %t641, i64 0, i32 4 + store i32 4, ptr %t642 + %t643 = getelementptr inbounds %ScrClosure, ptr %t641, i64 0, i32 7 + store ptr @sc_bf__x25_fn24, ptr %t643 + %t644 = load ptr, ptr %sc_l_buf_0 + %t645 = call ptr @sc_retain_box(ptr %t644) + %t646 = getelementptr inbounds %ScrClosure, ptr %t641, i64 1 ; caps + %t647 = getelementptr inbounds ptr, ptr %t646, i64 0 ; caps[0] + store ptr %t645, ptr %t647 + call void @scr_http_req_on_data(ptr %t640, ptr %t641, ptr @scr_net_data_thunk_bytes, i1 false) + call void @scr_http_req_release(ptr %t640) + %t648 = load ptr, ptr %sc_l_req_0 + %t649 = call ptr @scr_http_req_retain_v(ptr %t648) + %t650 = call ptr @scr_closure_new(ptr @sc_f__x25_fn25, i64 6) + %t651 = getelementptr inbounds %ScrClosure, ptr %t650, i64 0, i32 4 + store i32 4, ptr %t651 + %t652 = load ptr, ptr %sc_l_rv_0 + %t653 = call ptr @sc_retain_box(ptr %t652) + %t654 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps + %t655 = getelementptr inbounds ptr, ptr %t654, i64 0 ; caps[0] + store ptr %t653, ptr %t655 + %t656 = load ptr, ptr %sc_l_buf_0 + %t657 = call ptr @sc_retain_box(ptr %t656) + %t658 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps + %t659 = getelementptr inbounds ptr, ptr %t658, i64 1 ; caps[1] + store ptr %t657, ptr %t659 + %t660 = load ptr, ptr %sc_l_chain_0 + %t661 = call ptr @sc_retain_box(ptr %t660) + %t662 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps + %t663 = getelementptr inbounds ptr, ptr %t662, i64 2 ; caps[2] + store ptr %t661, ptr %t663 + %t664 = load ptr, ptr %sc_l_c_0 + %t665 = call ptr @sc_retain_box(ptr %t664) + %t666 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps + %t667 = getelementptr inbounds ptr, ptr %t666, i64 3 ; caps[3] + store ptr %t665, ptr %t667 + %t668 = load ptr, ptr %s0 + %t669 = icmp eq ptr %t668, null + br i1 %t669, label %lazy.box191, label %lazy.box.j192 +lazy.box191: + %t670 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink) + %t671 = load ptr, ptr %sc_l_sink_0 + %t672 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t671) + call void @scr_box_set_ref(ptr %t670, ptr %t672) + store ptr %t670, ptr %s0 + br label %lazy.box.j192 +lazy.box.j192: + %t673 = load ptr, ptr %s0 + %t674 = call ptr @sc_retain_box(ptr %t673) + %t675 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps + %t676 = getelementptr inbounds ptr, ptr %t675, i64 4 ; caps[4] + store ptr %t674, ptr %t676 + %t677 = load ptr, ptr %sc_l_oef_0 + %t678 = call ptr @sc_retain_box(ptr %t677) + %t679 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps + %t680 = getelementptr inbounds ptr, ptr %t679, i64 5 ; caps[5] + store ptr %t678, ptr %t680 + call void @scr_http_req_on_end(ptr %t649, ptr %t650, i1 false) + call void @scr_http_req_release(ptr %t649) + %t681 = load ptr, ptr %sc_l_buf_0 + call void @scr_box_release(ptr %t681) + br label %if.j189 +if.f190: + %t682 = load ptr, ptr %sc_l_chain_0 + %t683 = call ptr @scr_box_get_ref(ptr %t682) + %t684 = load ptr, ptr %sc_l_c_1 + %t685 = load ptr, ptr %sc_l_sink_0 + %t686 = load ptr, ptr %sc_l_oef_1 + call void @sc_bf__x25_m5_runChain(ptr %t683, ptr %t684, ptr %t685, ptr %t686) + %t687 = load i32, ptr %exc.cell + %t688 = icmp ne i32 %t687, 0 + %t689 = call i1 @llvm.expect.i1(i1 %t688, i1 false) + br i1 %t689, label %exc.u193, label %exc.k194 +exc.u193: + call void @scr_union_release(ptr %t683) + br label %exc.cleanup183 +exc.k194: + call void @scr_union_release(ptr %t683) + br label %if.j189 +if.j189: + br label %if.j167 +if.j167: + %t690 = load ptr, ptr %s0 + %t691 = icmp ne ptr %t690, null + br i1 %t691, label %lazy.release195, label %lazy.release.j196 +lazy.release195: + call void @scr_box_release(ptr %t690) + br label %lazy.release.j196 +lazy.release.j196: + %t692 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t692) + %t693 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t693) + %t694 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t694) + %t695 = load ptr, ptr %sc_l_method_0 + call void @scr_str_release(ptr %t695) + %t696 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t696) + %t697 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t697) + %t698 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t698) + %t699 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t699) + %t700 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t700) + %t701 = load ptr, ptr %sc_l_rv_1 + call void @sc_release__x25_m5_ReqViewCore(ptr %t701) + %t702 = load ptr, ptr %sc_l_rv_0 + call void @scr_box_release(ptr %t702) + %t703 = load ptr, ptr %sc_l_c_1 + call void @sc_release__x25_m5_CtxCore(ptr %t703) + %t704 = load ptr, ptr %sc_l_c_0 + call void @scr_box_release(ptr %t704) + ret void +exc.cleanup2: + %t705 = load ptr, ptr %s0 + %t706 = icmp ne ptr %t705, null + br i1 %t706, label %lazy.release197, label %lazy.release.j198 +lazy.release197: + call void @scr_box_release(ptr %t705) + br label %lazy.release.j198 +lazy.release.j198: + ret void +exc.cleanup10: + %t707 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t707) + %t708 = load ptr, ptr %s0 + %t709 = icmp ne ptr %t708, null + br i1 %t709, label %lazy.release199, label %lazy.release.j200 +lazy.release199: + call void @scr_box_release(ptr %t708) + br label %lazy.release.j200 +lazy.release.j200: + ret void +exc.cleanup13: + %t710 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t710) + %t711 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t711) + %t712 = load ptr, ptr %s0 + %t713 = icmp ne ptr %t712, null + br i1 %t713, label %lazy.release201, label %lazy.release.j202 +lazy.release201: + call void @scr_box_release(ptr %t712) + br label %lazy.release.j202 +lazy.release.j202: + ret void +exc.cleanup20: + %t714 = load ptr, ptr %s0 + %t715 = icmp ne ptr %t714, null + br i1 %t715, label %lazy.release203, label %lazy.release.j204 +lazy.release203: + call void @scr_box_release(ptr %t714) + br label %lazy.release.j204 +lazy.release.j204: + %t716 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t716) + ret void +exc.cleanup33: + %t717 = load ptr, ptr %s0 + %t718 = icmp ne ptr %t717, null + br i1 %t718, label %lazy.release205, label %lazy.release.j206 +lazy.release205: + call void @scr_box_release(ptr %t717) + br label %lazy.release.j206 +lazy.release.j206: + %t719 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t719) + %t720 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t720) + %t721 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t721) + %t722 = load ptr, ptr %sc_l_method_0 + call void @scr_str_release(ptr %t722) + %t723 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t723) + %t724 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t724) + %t725 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t725) + ret void +exc.cleanup38: + %t726 = load ptr, ptr %s0 + %t727 = icmp ne ptr %t726, null + br i1 %t727, label %lazy.release207, label %lazy.release.j208 +lazy.release207: + call void @scr_box_release(ptr %t726) + br label %lazy.release.j208 +lazy.release.j208: + %t728 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t728) + %t729 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t729) + %t730 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t730) + %t731 = load ptr, ptr %sc_l_method_0 + call void @scr_str_release(ptr %t731) + %t732 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t732) + %t733 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t733) + %t734 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t734) + %t735 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t735) + %t736 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t736) + ret void +exc.cleanup111: + %t737 = load ptr, ptr %s0 + %t738 = icmp ne ptr %t737, null + br i1 %t738, label %lazy.release209, label %lazy.release.j210 +lazy.release209: + call void @scr_box_release(ptr %t737) + br label %lazy.release.j210 +lazy.release.j210: + %t739 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t739) + %t740 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t740) + %t741 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t741) + %t742 = load ptr, ptr %sc_l_method_0 + call void @scr_str_release(ptr %t742) + %t743 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t743) + %t744 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t744) + %t745 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t745) + %t746 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t746) + %t747 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t747) + %t748 = load ptr, ptr %sc_l_rv_1 + call void @sc_release__x25_m5_ReqViewCore(ptr %t748) + %t749 = load ptr, ptr %sc_l_rv_0 + call void @scr_box_release(ptr %t749) + ret void +exc.cleanup162: + %t750 = load ptr, ptr %sc_l__x25_propertyRecv_1 + call void @sc_release__x25_m5_MpCfg(ptr %t750) + %t751 = load ptr, ptr %s0 + %t752 = icmp ne ptr %t751, null + br i1 %t752, label %lazy.release211, label %lazy.release.j212 +lazy.release211: + call void @scr_box_release(ptr %t751) + br label %lazy.release.j212 +lazy.release.j212: + %t753 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t753) + %t754 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t754) + %t755 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t755) + %t756 = load ptr, ptr %sc_l_method_0 + call void @scr_str_release(ptr %t756) + %t757 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t757) + %t758 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t758) + %t759 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t759) + %t760 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t760) + %t761 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t761) + %t762 = load ptr, ptr %sc_l_rv_1 + call void @sc_release__x25_m5_ReqViewCore(ptr %t762) + %t763 = load ptr, ptr %sc_l_rv_0 + call void @scr_box_release(ptr %t763) + %t764 = load ptr, ptr %sc_l_c_1 + call void @sc_release__x25_m5_CtxCore(ptr %t764) + %t765 = load ptr, ptr %sc_l_c_0 + call void @scr_box_release(ptr %t765) + ret void +exc.cleanup183: + %t766 = load ptr, ptr %s0 + %t767 = icmp ne ptr %t766, null + br i1 %t767, label %lazy.release213, label %lazy.release.j214 +lazy.release213: + call void @scr_box_release(ptr %t766) + br label %lazy.release.j214 +lazy.release.j214: + %t768 = load ptr, ptr %sc_l_genRes_0 + call void @scr_union_release(ptr %t768) + %t769 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t769) + %t770 = load ptr, ptr %sc_l_oef_0 + call void @scr_box_release(ptr %t770) + %t771 = load ptr, ptr %sc_l_method_0 + call void @scr_str_release(ptr %t771) + %t772 = load ptr, ptr %sc_l_url_0 + call void @scr_str_release(ptr %t772) + %t773 = load ptr, ptr %sc_l_path_0 + call void @scr_str_release(ptr %t773) + %t774 = load ptr, ptr %sc_l_qs_0 + call void @scr_str_release(ptr %t774) + %t775 = load ptr, ptr %sc_l_node_0 + call void @sc_rrelease_r5(ptr %t775) + %t776 = load ptr, ptr %sc_l_chain_0 + call void @scr_box_release(ptr %t776) + %t777 = load ptr, ptr %sc_l_rv_1 + call void @sc_release__x25_m5_ReqViewCore(ptr %t777) + %t778 = load ptr, ptr %sc_l_rv_0 + call void @scr_box_release(ptr %t778) + %t779 = load ptr, ptr %sc_l_c_1 + call void @sc_release__x25_m5_CtxCore(ptr %t779) + %t780 = load ptr, ptr %sc_l_c_0 + call void @scr_box_release(ptr %t780) + ret void +} +define internal void @sc_f__x25__x25_m5_App__dispatch(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m5_App__dispatch(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m5_App(ptr %p0) + call void @scr_http_req_release(ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m6_AssetSource_constructor(ptr %p_sc_l_this_0) #0 { ; %%m6.AssetSource.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + ret void +} +define internal void @sc_f__x25__x25_m6_AssetSource_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m6_AssetSource_constructor(ptr %p0) + call void @sc_release__x25_m6_AssetSource(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25__x25_m6_AssetSource_get(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0) #0 { ; %%m6.AssetSource.get +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + ret ptr @sc_nullable_null +} +define internal ptr @sc_f__x25__x25_m6_AssetSource_get(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m6_AssetSource_get(ptr %p0, ptr %p1) + call void @sc_release__x25_m6_AssetSource(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m9_EmbeddedAssets_constructor(ptr %p_sc_l_this_0) #0 { ; %%m9.EmbeddedAssets.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store i1 false, ptr %sc_l__x25_superInitialized_0 + %t0 = load i1, ptr %sc_l__x25_superInitialized_0 + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207) + ret void +exc.dead2: + br label %if.j1 +if.j1: + %t1 = load ptr, ptr %sc_l_this_0 + call void @sc_bf__x25__x25_m6_AssetSource_constructor(ptr %t1) + store i1 true, ptr %sc_l__x25_superInitialized_0 + %t2 = load i1, ptr %sc_l__x25_superInitialized_0 + %t3 = xor i1 %t2, true + br i1 %t3, label %if.t3, label %if.j4 +if.t3: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead5: + br label %if.j4 +if.j4: + %t4 = load ptr, ptr %sc_l_this_0 + %t5 = call ptr @sc_rnew_r12() + %t6 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t4, i64 0, i32 3 + %t7 = load ptr, ptr %t6 + store ptr %t5, ptr %t6, !tbaa !190 + call void @sc_rrelease_r12(ptr %t7) + %t8 = load i1, ptr %sc_l__x25_superInitialized_0 + %t9 = xor i1 %t8, true + br i1 %t9, label %if.t6, label %if.j7 +if.t6: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead8: + br label %if.j7 +if.j7: + %t10 = load ptr, ptr %sc_l_this_0 + %t11 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.sc_rretain_r11.sc_rrelease_r11.null) + %t12 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t10, i64 0, i32 4 + %t13 = load ptr, ptr %t12 + store ptr %t11, ptr %t12, !tbaa !192 + call void @scr_arr_release(ptr %t13) + %t14 = load i1, ptr %sc_l__x25_superInitialized_0 + %t15 = xor i1 %t14, true + br i1 %t15, label %if.t9, label %if.j10 +if.t9: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead11: + br label %if.j10 +if.j10: + ret void +} +define internal void @sc_f__x25__x25_m9_EmbeddedAssets_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m9_EmbeddedAssets_constructor(ptr %p0) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0) + ret void +} + +define internal void @sc_bf__x25__x25_m9_EmbeddedAssets_add(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_asset_0) #0 { ; %%m9.EmbeddedAssets.add +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_asset_0 = alloca ptr ; asset + %sc_l_key_0 = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + %s24 = alloca double + %s27 = alloca double + store ptr null, ptr %sc_l_key_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + store ptr %p_sc_l_asset_0, ptr %sc_l_asset_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_path_0 + %t5 = call ptr @scr_str_concat(ptr @sc_lit_2434240011052594, ptr %t4) + store ptr %t5, ptr %sc_l_key_0 + %t6 = load ptr, ptr %sc_l_key_0 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t7, i64 0, i32 3 + %t9 = load ptr, ptr %t8, !tbaa !190 + %t10 = call i1 @sc_bf__x25_rec_haskey_0(ptr %t6, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + br label %exc.cleanup4 +exc.k3: + br i1 %t10, label %if.t5, label %if.f7 +if.t5: + %t14 = load ptr, ptr %sc_l_this_0 + %t15 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t14, i64 0, i32 4 + %t16 = load ptr, ptr %t15, !tbaa !192 + %t17 = call ptr @scr_arr_retain_v(ptr %t16) + %t18 = load ptr, ptr %sc_l_this_0 + %t19 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t18, i64 0, i32 3 + %t20 = load ptr, ptr %t19, !tbaa !190 + %t21 = call ptr @sc_rretain_r12(ptr %t20) + %t22 = load ptr, ptr %sc_l_key_0 + %t23 = call ptr @sc_rc_retain_str(ptr %t22) + %t25 = getelementptr inbounds %sc_rs_r12, ptr %t21, i64 0, i32 1 + %t26 = load ptr, ptr %t25 + store double 0x0000000000000000, ptr %s27 + %t28 = call zeroext i1 @scr_map_get_str_f64(ptr %t26, ptr %t23, ptr %s27) + br i1 %t28, label %rkg.h9, label %rkg.n10 +rkg.h9: + %t29 = load double, ptr %s27 + store double %t29, ptr %s24 + br label %rkg.j8 +rkg.n10: + call void @sc_bad_key() + unreachable +rkg.j8: + %t30 = load double, ptr %s24 + %t31 = load ptr, ptr %sc_l_asset_0 + %t32 = call ptr @sc_rretain_r11(ptr %t31) + %t33 = fptosi double %t30 to i64 + %t35 = freeze i64 %t33 + %t34 = sitofp i64 %t35 to double + %t36 = fcmp oeq double %t34, %t30 + %t41 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8 + %t42 = load ptr, ptr %t41, !tbaa !2 + %t45 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6 + %t46 = load i32, ptr %t45, !tbaa !2 + %t47 = zext i32 %t46 to i64 + %t48 = icmp ult i64 %t35, %t47 + %t49 = and i1 %t36, %t48 + br i1 %t49, label %arr.set.filled13, label %arr.check14 +arr.check14: + %t37 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + %t38 = load i64, ptr %t37, !tbaa !2, !range !{i64 0, i64 4294967296} + %t39 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2 + %t40 = load i64, ptr %t39, !tbaa !2 + %t43 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9 + %t44 = load ptr, ptr %t43, !tbaa !2 + %t50 = icmp ult i64 %t35, %t40 + %t51 = and i1 %t36, %t50 + br i1 %t51, label %arr.dense15, label %arr.set.slow11 +arr.dense15: + %t52 = getelementptr inbounds i8, ptr %t44, i64 %t35 + %t53 = getelementptr inbounds i64, ptr %t42, i64 %t35 + %t54 = load i8, ptr %t52, !tbaa !4 + %t55 = load ptr, ptr %t53, !tbaa !6 + store ptr %t32, ptr %t53, !tbaa !6 + store i8 1, ptr %t52, !tbaa !4 + %t56 = zext i32 %t46 to i64 + %t57 = icmp eq i64 %t35, %t56 + br i1 %t57, label %arr.set.bump16, label %arr.set.state17 +arr.set.bump16: + %t58 = trunc i64 %t35 to i32 + %t59 = add i32 %t58, 1 + %t60 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6 + store i32 %t59, ptr %t60, !tbaa !2 + br label %arr.set.state17 +arr.set.state17: + %t61 = icmp uge i64 %t35, %t38 + br i1 %t61, label %arr.set.grow18, label %arr.set.stored19 +arr.set.grow18: + %t62 = add i64 %t35, 1 + %t63 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + store i64 %t62, ptr %t63, !tbaa !2 + br label %arr.set.stored19 +arr.set.stored19: + %t64 = icmp eq i8 %t54, 1 + br i1 %t64, label %arr.set.release20, label %arr.set.join12 +arr.set.release20: + call void @sc_rrelease_r11(ptr %t55) + br label %arr.set.join12 +arr.set.filled13: + %t65 = getelementptr inbounds i64, ptr %t42, i64 %t35 + %t66 = load ptr, ptr %t65, !tbaa !6 + store ptr %t32, ptr %t65, !tbaa !6 + call void @sc_rrelease_r11(ptr %t66) + br label %arr.set.join12 +arr.set.slow11: + call void @scr_arr_set_ref(ptr %t17, double %t30, ptr %t32) cold + br label %arr.set.join12 +arr.set.join12: + call void @scr_arr_release(ptr %t17) + call void @sc_rrelease_r12(ptr %t21) + call void @scr_str_release(ptr %t23) + br label %if.j6 +if.f7: + %t67 = load ptr, ptr %sc_l_this_0 + %t68 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t67, i64 0, i32 3 + %t69 = load ptr, ptr %t68, !tbaa !190 + %t70 = call ptr @sc_rretain_r12(ptr %t69) + %t71 = load ptr, ptr %sc_l_key_0 + %t72 = call ptr @sc_rc_retain_str(ptr %t71) + %t73 = load ptr, ptr %sc_l_this_0 + %t74 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t73, i64 0, i32 4 + %t75 = load ptr, ptr %t74, !tbaa !192 + %t76 = getelementptr inbounds %ScrArr, ptr %t75, i32 0, i32 1 + %t77 = load i64, ptr %t76, !tbaa !2, !range !{i64 0, i64 4294967296} + %t78 = sitofp i64 %t77 to double + %t79 = getelementptr inbounds %sc_rs_r12, ptr %t70, i64 0, i32 1 + %t80 = load ptr, ptr %t79 + call void @scr_map_set_str_f64(ptr %t80, ptr %t72, double %t78) + br label %rks.j21 +rks.j21: + call void @sc_rrelease_r12(ptr %t70) + call void @scr_str_release(ptr %t72) + %t81 = load ptr, ptr %sc_l_this_0 + %t82 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t81, i64 0, i32 4 + %t83 = load ptr, ptr %t82, !tbaa !192 + %t84 = call ptr @scr_arr_retain_v(ptr %t83) + %t85 = load ptr, ptr %sc_l_asset_0 + %t86 = call ptr @sc_rretain_r11(ptr %t85) + %t87 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 1 + %t88 = load i64, ptr %t87, !tbaa !2 + %t91 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 2 + %t89 = load i64, ptr %t91, !tbaa !2 + %t90 = icmp ult i64 %t88, %t89 + br i1 %t90, label %arr.push.dense22, label %arr.push.slow23 +arr.push.dense22: + %t92 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 8 + %t94 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 9 + %t93 = load ptr, ptr %t92, !tbaa !2 + %t95 = load ptr, ptr %t94, !tbaa !2 + %t96 = getelementptr inbounds i8, ptr %t95, i64 %t88 + %t97 = getelementptr inbounds i64, ptr %t93, i64 %t88 + store ptr %t86, ptr %t97, !tbaa !6 + store i8 1, ptr %t96, !tbaa !4 + %t98 = add nuw i64 %t88, 1 + store i64 %t98, ptr %t87, !tbaa !2 + %t100 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 6 + %t101 = load i32, ptr %t100, !tbaa !2 + %t105 = zext i32 %t101 to i64 + %t102 = icmp eq i64 %t105, %t88 + %t103 = add i32 %t101, 1 + %t104 = select i1 %t102, i32 %t103, i32 %t101 + store i32 %t104, ptr %t100, !tbaa !2 + %t99 = sitofp i64 %t98 to double + br label %arr.push.join24 +arr.push.slow23: + %t106 = call double @scr_arr_push_ref(ptr %t84, ptr %t86) cold + br label %arr.push.join24 +arr.push.join24: + %t107 = phi double [ %t99, %arr.push.dense22 ], [ %t106, %arr.push.slow23 ] + call void @scr_arr_release(ptr %t84) + br label %if.j6 +if.j6: + %t108 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t108) + ret void +exc.cleanup4: + %t109 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t109) + ret void +} +define internal void @sc_f__x25__x25_m9_EmbeddedAssets_add(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m9_EmbeddedAssets_add(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rrelease_r11(ptr %p2) + ret void +} + +define internal void @sc_bf__x25__x25_m9_EmbeddedAssets_load(ptr %p_sc_l_this_0, ptr %p_sc_l_records_0) #0 { ; %%m9.EmbeddedAssets.load +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_records_0 = alloca ptr ; records + %sc_l_i_0 = alloca i32 ; i + %sc_l_r_0 = alloca ptr ; r + %sc_l_body_0 = alloca ptr ; body + %sc_l_asset_0 = alloca ptr ; asset + %sc_l_j_0 = alloca i32 ; j + %sc_l_e_0 = alloca ptr ; e + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %s4 = alloca i64 ; integer induction i + %s42 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s60 = alloca ptr + %s70 = alloca ptr + %s85 = alloca ptr + %s94 = alloca ptr + %s109 = alloca ptr + %s123 = alloca ptr + %s164 = alloca ptr + %s174 = alloca ptr + %s189 = alloca ptr + %s236 = alloca ptr + %s252 = alloca ptr + %s261 = alloca [2 x ptr] + store ptr null, ptr %sc_l_r_0 + store ptr null, ptr %sc_l_body_0 + store ptr null, ptr %sc_l_asset_0 + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_records_0, ptr %sc_l_records_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t5 = fptosi double 0x0000000000000000 to i64 + store i64 %t5, ptr %s4 + br label %loop.c3 +loop.c3: + %t6 = load ptr, ptr %sc_l_records_0 + %t7 = getelementptr inbounds %ScrArr, ptr %t6, i64 0, i32 1 + %t8 = load i64, ptr %t7, !tbaa !2 + %t9 = load i64, ptr %s4 + %t10 = icmp ult i64 %t9, %t8 + br i1 %t10, label %loop.b4, label %loop.e2 +loop.b4: + %t11 = load ptr, ptr %sc_l_records_0 + %t12 = load i64, ptr %s4 + %t13 = load i64, ptr %s4 + %t14 = sitofp i64 %t13 to double + %t15 = trunc i64 %t13 to i32 + %t16 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 2 + %t17 = load i64, ptr %t16, !tbaa !2 + %t18 = icmp ult i64 %t12, %t17 + br i1 %t18, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t19 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 6 + %t20 = load i32, ptr %t19, !tbaa !2 + %t22 = zext i32 %t20 to i64 + %t21 = icmp ult i64 %t12, %t22 + br i1 %t21, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t23 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 1 + %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296} + %t25 = icmp ult i64 %t12, %t24 + br i1 %t25, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t26 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 9 + %t27 = load ptr, ptr %t26, !tbaa !2 + %t28 = getelementptr inbounds i8, ptr %t27, i64 %t12 + %t29 = load i8, ptr %t28, !tbaa !4 + %t30 = icmp eq i8 %t29, 1 + br i1 %t30, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t31 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 8 + %t32 = load ptr, ptr %t31, !tbaa !2 + %t33 = getelementptr inbounds i64, ptr %t32, i64 %t12 + %t34 = load ptr, ptr %t33, !tbaa !6 + %t35 = call ptr @sc_rretain_r14(ptr %t34) + store ptr %t35, ptr %sc_l_r_0 + br label %local.array.join8 +local.array.slow6: + %t36 = call ptr @scr_arr_peek_ref(ptr %t11, double %t14) + %t37 = icmp ne ptr %t36, null + br i1 %t37, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + %t38 = call ptr @sc_rretain_r14(ptr %t36) + store ptr %t38, ptr %sc_l_r_0 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %sc_l_r_0 + br label %local.array.join8 +local.array.join8: + %t39 = load ptr, ptr %sc_l_r_0 + %t41 = icmp eq ptr %t39, null + br i1 %t41, label %read.then15, label %read.else16 +read.then15: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_857116979092563) + br label %exc.cleanup18 +exc.dead19: + store ptr null, ptr %s42 + br label %read.join17 +read.else16: + %t43 = load ptr, ptr %sc_l_r_0 + store ptr %t43, ptr %s42 + br label %read.join17 +read.join17: + %t44 = load ptr, ptr %s42 + %t45 = getelementptr inbounds %sc_rs_r14, ptr %t44, i64 0, i32 1 + %t46 = load ptr, ptr %t45 + %t47 = call ptr @sc_rc_retain_str(ptr %t46) + %t48 = call ptr @scr_buffer_from_str(ptr %t47, ptr @sc_lit_969367790913322) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_str_release(ptr %t47) + call void @scr_bytes_release(ptr %t48) + br label %exc.cleanup18 +exc.k21: + %t52 = call ptr @scr_bytes_as_buffer(ptr %t48) + store ptr %t52, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t47) + call void @scr_bytes_release(ptr %t48) + %t53 = call ptr @sc_rnew_r11() + %t54 = load ptr, ptr %sc_l_body_0 + %t55 = call ptr @scr_bytes_retain_v(ptr %t54) + %t56 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 1 + store ptr %t55, ptr %t56 + %t57 = load ptr, ptr %sc_l_r_0 + %t59 = icmp eq ptr %t57, null + br i1 %t59, label %read.then22, label %read.else23 +read.then22: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4183713241952410) + call void @sc_rrelease_r11(ptr %t53) + br label %exc.cleanup25 +exc.dead26: + store ptr null, ptr %s60 + br label %read.join24 +read.else23: + %t61 = load ptr, ptr %sc_l_r_0 + store ptr %t61, ptr %s60 + br label %read.join24 +read.join24: + %t62 = load ptr, ptr %s60 + %t63 = getelementptr inbounds %sc_rs_r14, ptr %t62, i64 0, i32 7 + %t64 = load ptr, ptr %t63 + %t65 = call ptr @sc_rc_retain_str(ptr %t64) + %t66 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 7 + store ptr %t65, ptr %t66 + %t67 = load ptr, ptr %sc_l_r_0 + %t69 = icmp eq ptr %t67, null + br i1 %t69, label %read.then27, label %read.else28 +read.then27: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3442096346492231) + call void @sc_rrelease_r11(ptr %t53) + br label %exc.cleanup25 +exc.dead30: + store ptr null, ptr %s70 + br label %read.join29 +read.else28: + %t71 = load ptr, ptr %sc_l_r_0 + store ptr %t71, ptr %s70 + br label %read.join29 +read.join29: + %t72 = load ptr, ptr %s70 + %t73 = getelementptr inbounds %sc_rs_r14, ptr %t72, i64 0, i32 3 + %t74 = load ptr, ptr %t73 + %t75 = call ptr @sc_rc_retain_str(ptr %t74) + %t76 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 3 + store ptr %t75, ptr %t76 + %t77 = load ptr, ptr %sc_l_body_0 + %t78 = getelementptr inbounds %ScrBytes, ptr %t77, i64 0, i32 1 + %t79 = load i64, ptr %t78 + %t80 = sitofp i64 %t79 to double + %t81 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 6 + store double %t80, ptr %t81 + %t82 = load ptr, ptr %sc_l_r_0 + %t84 = icmp eq ptr %t82, null + br i1 %t84, label %read.then31, label %read.else32 +read.then31: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2826121043263175) + call void @sc_rrelease_r11(ptr %t53) + br label %exc.cleanup25 +exc.dead34: + store ptr null, ptr %s85 + br label %read.join33 +read.else32: + %t86 = load ptr, ptr %sc_l_r_0 + store ptr %t86, ptr %s85 + br label %read.join33 +read.join33: + %t87 = load ptr, ptr %s85 + %t88 = getelementptr inbounds %sc_rs_r14, ptr %t87, i64 0, i32 5 + %t89 = load double, ptr %t88 + %t90 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 5 + store double %t89, ptr %t90 + %t91 = load ptr, ptr %sc_l_r_0 + %t93 = icmp eq ptr %t91, null + br i1 %t93, label %read.then35, label %read.else36 +read.then35: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_353569185054010) + call void @sc_rrelease_r11(ptr %t53) + br label %exc.cleanup25 +exc.dead38: + store ptr null, ptr %s94 + br label %read.join37 +read.else36: + %t95 = load ptr, ptr %sc_l_r_0 + store ptr %t95, ptr %s94 + br label %read.join37 +read.join37: + %t96 = load ptr, ptr %s94 + %t97 = getelementptr inbounds %sc_rs_r14, ptr %t96, i64 0, i32 4 + %t98 = load i8, ptr %t97 + %t99 = trunc i8 %t98 to i1 + %t100 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 4 + %t101 = zext i1 %t99 to i8 + store i8 %t101, ptr %t100 + %t102 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r10.sc_rrelease_r10.null, i64 0) + %t103 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 2 + store ptr %t102, ptr %t103 + store ptr %t53, ptr %sc_l_asset_0 + store i32 0, ptr %sc_l_j_0 + br label %loop.c40 +loop.c40: + %t104 = load i32, ptr %sc_l_j_0 + %t105 = uitofp i32 %t104 to double + %t106 = load ptr, ptr %sc_l_r_0 + %t108 = icmp eq ptr %t106, null + br i1 %t108, label %read.then43, label %read.else44 +read.then43: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3568813316433808) + br label %exc.cleanup46 +exc.dead47: + store ptr null, ptr %s109 + br label %read.join45 +read.else44: + %t110 = load ptr, ptr %sc_l_r_0 + store ptr %t110, ptr %s109 + br label %read.join45 +read.join45: + %t111 = load ptr, ptr %s109 + %t112 = getelementptr inbounds %sc_rs_r14, ptr %t111, i64 0, i32 2 + %t113 = load ptr, ptr %t112 + %t114 = getelementptr inbounds %ScrArr, ptr %t113, i32 0, i32 1 + %t115 = load i64, ptr %t114, !tbaa !2, !range !{i64 0, i64 4294967296} + %t116 = sitofp i64 %t115 to double + %t118 = fptosi double %t116 to i64 + %t119 = zext i32 %t104 to i64 + %t117 = icmp slt i64 %t119, %t118 + br i1 %t117, label %loop.b41, label %loop.e39 +loop.b41: + %t120 = load ptr, ptr %sc_l_r_0 + %t122 = icmp eq ptr %t120, null + br i1 %t122, label %read.then48, label %read.else49 +read.then48: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3568813316433808) + br label %exc.cleanup46 +exc.dead51: + store ptr null, ptr %s123 + br label %read.join50 +read.else49: + %t124 = load ptr, ptr %sc_l_r_0 + store ptr %t124, ptr %s123 + br label %read.join50 +read.join50: + %t125 = load ptr, ptr %s123 + %t126 = getelementptr inbounds %sc_rs_r14, ptr %t125, i64 0, i32 2 + %t127 = load ptr, ptr %t126 + %t128 = load i32, ptr %sc_l_j_0 + %t129 = uitofp i32 %t128 to double + %t130 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 2 + %t131 = load i64, ptr %t130, !tbaa !2 + %t132 = fptosi double %t129 to i64 + %t133 = freeze i64 %t132 + %t134 = sitofp i64 %t133 to double + %t135 = fcmp oeq double %t134, %t129 + %t136 = icmp ult i64 %t133, %t131 + %t137 = and i1 %t135, %t136 + br i1 %t137, label %local.array.range55, label %local.array.slow52 +local.array.range55: + br label %local.array.dense56 +local.array.dense56: + %t138 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 6 + %t139 = load i32, ptr %t138, !tbaa !2 + %t141 = zext i32 %t139 to i64 + %t140 = icmp ult i64 %t133, %t141 + br i1 %t140, label %local.array.value58, label %local.array.len57 +local.array.len57: + %t142 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 1 + %t143 = load i64, ptr %t142, !tbaa !2, !range !{i64 0, i64 4294967296} + %t144 = icmp ult i64 %t133, %t143 + br i1 %t144, label %local.array.state59, label %local.array.missing53 +local.array.state59: + %t145 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 9 + %t146 = load ptr, ptr %t145, !tbaa !2 + %t147 = getelementptr inbounds i8, ptr %t146, i64 %t133 + %t148 = load i8, ptr %t147, !tbaa !4 + %t149 = icmp eq i8 %t148, 1 + br i1 %t149, label %local.array.value58, label %local.array.missing53 +local.array.value58: + %t150 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 8 + %t151 = load ptr, ptr %t150, !tbaa !2 + %t152 = getelementptr inbounds i64, ptr %t151, i64 %t133 + %t153 = load ptr, ptr %t152, !tbaa !6 + store ptr %t153, ptr %sc_l_e_0 + br label %local.array.join54 +local.array.slow52: + %t154 = call ptr @scr_arr_peek_ref(ptr %t127, double %t129) + %t155 = icmp ne ptr %t154, null + br i1 %t155, label %local.array.slow.value60, label %local.array.missing53 +local.array.slow.value60: + store ptr %t154, ptr %sc_l_e_0 + br label %local.array.join54 +local.array.missing53: + store ptr null, ptr %sc_l_e_0 + br label %local.array.join54 +local.array.join54: + %t156 = load ptr, ptr %sc_l_asset_0 + %t157 = getelementptr inbounds %sc_rs_r11, ptr %t156, i64 0, i32 2 + %t158 = load ptr, ptr %t157 + %t159 = call ptr @scr_arr_retain_v(ptr %t158) + %t160 = call ptr @sc_rnew_r10() + %t161 = load ptr, ptr %sc_l_e_0 + %t163 = icmp eq ptr %t161, null + br i1 %t163, label %read.then61, label %read.else62 +read.then61: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1931307417657380) + call void @scr_arr_release(ptr %t159) + call void @sc_rrelease_r10(ptr %t160) + br label %exc.cleanup46 +exc.dead64: + store ptr null, ptr %s164 + br label %read.join63 +read.else62: + %t165 = load ptr, ptr %sc_l_e_0 + store ptr %t165, ptr %s164 + br label %read.join63 +read.join63: + %t166 = load ptr, ptr %s164 + %t167 = getelementptr inbounds %sc_rs_r13, ptr %t166, i64 0, i32 2 + %t168 = load ptr, ptr %t167 + %t169 = call ptr @sc_rc_retain_str(ptr %t168) + %t170 = getelementptr inbounds %sc_rs_r10, ptr %t160, i64 0, i32 2 + store ptr %t169, ptr %t170 + %t171 = load ptr, ptr %sc_l_e_0 + %t173 = icmp eq ptr %t171, null + br i1 %t173, label %read.then65, label %read.else66 +read.then65: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_857116979092563) + call void @scr_arr_release(ptr %t159) + call void @sc_rrelease_r10(ptr %t160) + br label %exc.cleanup46 +exc.dead68: + store ptr null, ptr %s174 + br label %read.join67 +read.else66: + %t175 = load ptr, ptr %sc_l_e_0 + store ptr %t175, ptr %s174 + br label %read.join67 +read.join67: + %t176 = load ptr, ptr %s174 + %t177 = getelementptr inbounds %sc_rs_r13, ptr %t176, i64 0, i32 1 + %t178 = load ptr, ptr %t177 + %t179 = call ptr @sc_rc_retain_str(ptr %t178) + %t180 = call ptr @scr_buffer_from_str(ptr %t179, ptr @sc_lit_969367790913322) + %t181 = load i32, ptr %exc.cell + %t182 = icmp ne i32 %t181, 0 + %t183 = call i1 @llvm.expect.i1(i1 %t182, i1 false) + br i1 %t183, label %exc.u69, label %exc.k70 +exc.u69: + call void @scr_arr_release(ptr %t159) + call void @sc_rrelease_r10(ptr %t160) + call void @scr_str_release(ptr %t179) + call void @scr_bytes_release(ptr %t180) + br label %exc.cleanup46 +exc.k70: + %t184 = call ptr @scr_bytes_as_buffer(ptr %t180) + %t185 = getelementptr inbounds %sc_rs_r10, ptr %t160, i64 0, i32 1 + store ptr %t184, ptr %t185 + %t186 = load ptr, ptr %sc_l_e_0 + %t188 = icmp eq ptr %t186, null + br i1 %t188, label %read.then71, label %read.else72 +read.then71: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3442096346492231) + call void @scr_arr_release(ptr %t159) + call void @sc_rrelease_r10(ptr %t160) + call void @scr_str_release(ptr %t179) + call void @scr_bytes_release(ptr %t180) + br label %exc.cleanup46 +exc.dead74: + store ptr null, ptr %s189 + br label %read.join73 +read.else72: + %t190 = load ptr, ptr %sc_l_e_0 + store ptr %t190, ptr %s189 + br label %read.join73 +read.join73: + %t191 = load ptr, ptr %s189 + %t192 = getelementptr inbounds %sc_rs_r13, ptr %t191, i64 0, i32 3 + %t193 = load ptr, ptr %t192 + %t194 = call ptr @sc_rc_retain_str(ptr %t193) + %t195 = getelementptr inbounds %sc_rs_r10, ptr %t160, i64 0, i32 3 + store ptr %t194, ptr %t195 + %t196 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 1 + %t197 = load i64, ptr %t196, !tbaa !2 + %t200 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 2 + %t198 = load i64, ptr %t200, !tbaa !2 + %t199 = icmp ult i64 %t197, %t198 + br i1 %t199, label %arr.push.dense75, label %arr.push.slow76 +arr.push.dense75: + %t201 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 8 + %t203 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 9 + %t202 = load ptr, ptr %t201, !tbaa !2 + %t204 = load ptr, ptr %t203, !tbaa !2 + %t205 = getelementptr inbounds i8, ptr %t204, i64 %t197 + %t206 = getelementptr inbounds i64, ptr %t202, i64 %t197 + store ptr %t160, ptr %t206, !tbaa !6 + store i8 1, ptr %t205, !tbaa !4 + %t207 = add nuw i64 %t197, 1 + store i64 %t207, ptr %t196, !tbaa !2 + %t209 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 6 + %t210 = load i32, ptr %t209, !tbaa !2 + %t214 = zext i32 %t210 to i64 + %t211 = icmp eq i64 %t214, %t197 + %t212 = add i32 %t210, 1 + %t213 = select i1 %t211, i32 %t212, i32 %t210 + store i32 %t213, ptr %t209, !tbaa !2 + %t208 = sitofp i64 %t207 to double + br label %arr.push.join77 +arr.push.slow76: + %t215 = call double @scr_arr_push_ref(ptr %t159, ptr %t160) cold + br label %arr.push.join77 +arr.push.join77: + %t216 = phi double [ %t208, %arr.push.dense75 ], [ %t215, %arr.push.slow76 ] + call void @scr_arr_release(ptr %t159) + call void @scr_str_release(ptr %t179) + call void @scr_bytes_release(ptr %t180) + br label %loop.u42 +loop.u42: + %t217 = load i32, ptr %sc_l_j_0 + %t218 = uitofp i32 %t217 to double + %t220 = zext i32 %t217 to i64 + %t221 = add nsw i64 %t220, 1 + %t223 = trunc i64 %t221 to i32 + %t222 = sitofp i64 %t221 to double + %t224 = trunc i64 %t221 to i32 + store i32 %t224, ptr %sc_l_j_0 + br label %loop.c40 +loop.e39: + %t225 = load ptr, ptr %sc_l_this_0 + store ptr %t225, ptr %sc_l__x25_callbackReceiver_0 + %t226 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t227 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t226, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t228 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t227) + %t229 = load i32, ptr %exc.cell + %t230 = icmp ne i32 %t229, 0 + %t231 = call i1 @llvm.expect.i1(i1 %t230, i1 false) + br i1 %t231, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t228) + br label %exc.cleanup46 +exc.k79: + store ptr %t228, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t232 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t233 = getelementptr inbounds i8, ptr %t232, i64 8 ; ->kind + %t234 = load i32, ptr %t233 + %t235 = icmp eq i32 %t234, 6 + br i1 %t235, label %tern.t80, label %tern.f81 +tern.t80: + %t238 = call ptr @scr_dyn_undefined() + %t237 = call ptr @scr_dyn_retain_v(ptr %t238) + store ptr %t237, ptr %s236 + br label %tern.j82 +tern.f81: + %t239 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t240 = call ptr @sc_rc_retain_dyn(ptr %t239) + %t241 = call ptr @sc_f__x25_dyn_class_property_18(ptr %t240) + %t242 = load i32, ptr %exc.cell + %t243 = icmp ne i32 %t242, 0 + %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false) + br i1 %t244, label %exc.u83, label %exc.k84 +exc.u83: + call void @sc_rc_release_dyn(ptr %t241) + br label %exc.cleanup85 +exc.k84: + store ptr %t241, ptr %s236 + br label %tern.j82 +tern.j82: + %t245 = load ptr, ptr %s236 + store ptr %t245, ptr %sc_l__x25_callback_0 + %t246 = load ptr, ptr %sc_l__x25_callback_0 + %t247 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t248 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t247, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t249 = load ptr, ptr %sc_l_r_0 + %t251 = icmp eq ptr %t249, null + br i1 %t251, label %read.then86, label %read.else87 +read.then86: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1717987091626096) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup89 +exc.dead90: + store ptr null, ptr %s252 + br label %read.join88 +read.else87: + %t253 = load ptr, ptr %sc_l_r_0 + store ptr %t253, ptr %s252 + br label %read.join88 +read.join88: + %t254 = load ptr, ptr %s252 + %t255 = getelementptr inbounds %sc_rs_r14, ptr %t254, i64 0, i32 6 + %t256 = load ptr, ptr %t255 + %t257 = call ptr @sc_rc_retain_str(ptr %t256) + %t258 = call ptr @sc_td_0(ptr %t257) + %t259 = load ptr, ptr %sc_l_asset_0 + %t260 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t259, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t260, ptr @sc_ldr_46_materialize_rops) + %t262 = getelementptr inbounds [2 x ptr], ptr %s261, i64 0, i64 0 + store ptr %t258, ptr %t262 + %t263 = getelementptr inbounds [2 x ptr], ptr %s261, i64 0, i64 1 + store ptr %t260, ptr %t263 + call void @scr_dyn_this_push_dyn(ptr %t248) + %t264 = call ptr @scr_dyn_call(ptr %t246, ptr %s261, i64 2, ptr @sc_cs_4488915209155319) + call void @scr_dyn_this_pop() + %t265 = load i32, ptr %exc.cell + %t266 = icmp ne i32 %t265, 0 + %t267 = call i1 @llvm.expect.i1(i1 %t266, i1 false) + br i1 %t267, label %exc.u91, label %exc.k92 +exc.u91: + call void @sc_rc_release_dyn(ptr %t248) + call void @scr_str_release(ptr %t257) + call void @sc_rc_release_dyn(ptr %t258) + call void @sc_rc_release_dyn(ptr %t260) + call void @sc_rc_release_dyn(ptr %t264) + br label %exc.cleanup89 +exc.k92: + call void @sc_rc_release_dyn(ptr %t248) + call void @scr_str_release(ptr %t257) + call void @sc_rc_release_dyn(ptr %t258) + call void @sc_rc_release_dyn(ptr %t260) + call void @sc_rc_release_dyn(ptr %t264) + %t268 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t268) + %t269 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t269) + %t270 = load ptr, ptr %sc_l_r_0 + call void @sc_rrelease_r14(ptr %t270) + %t271 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t271) + %t272 = load ptr, ptr %sc_l_asset_0 + call void @sc_rrelease_r11(ptr %t272) + br label %loop.u5 +loop.u5: + %t273 = load i64, ptr %s4 + %t274 = add nuw i64 %t273, 1 + store i64 %t274, ptr %s4 + br label %loop.c3 +loop.e2: + ret void +exc.cleanup18: + %t275 = load ptr, ptr %sc_l_r_0 + call void @sc_rrelease_r14(ptr %t275) + ret void +exc.cleanup25: + %t276 = load ptr, ptr %sc_l_r_0 + call void @sc_rrelease_r14(ptr %t276) + %t277 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t277) + ret void +exc.cleanup46: + %t278 = load ptr, ptr %sc_l_r_0 + call void @sc_rrelease_r14(ptr %t278) + %t279 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t279) + %t280 = load ptr, ptr %sc_l_asset_0 + call void @sc_rrelease_r11(ptr %t280) + ret void +exc.cleanup85: + %t281 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t281) + %t282 = load ptr, ptr %sc_l_r_0 + call void @sc_rrelease_r14(ptr %t282) + %t283 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t283) + %t284 = load ptr, ptr %sc_l_asset_0 + call void @sc_rrelease_r11(ptr %t284) + ret void +exc.cleanup89: + %t285 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t285) + %t286 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t286) + %t287 = load ptr, ptr %sc_l_r_0 + call void @sc_rrelease_r14(ptr %t287) + %t288 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t288) + %t289 = load ptr, ptr %sc_l_asset_0 + call void @sc_rrelease_r11(ptr %t289) + ret void +} +define internal void @sc_f__x25__x25_m9_EmbeddedAssets_load(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25__x25_m9_EmbeddedAssets_load(ptr %p0, ptr %p1) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0) + call void @scr_arr_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0) #0 { ; %%m9.EmbeddedAssets.get +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_key_0 = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + %s16 = alloca ptr + %s27 = alloca double + %s30 = alloca double + store ptr null, ptr %sc_l_key_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_path_0 + %t5 = call ptr @scr_str_concat(ptr @sc_lit_2434240011052594, ptr %t4) + store ptr %t5, ptr %sc_l_key_0 + %t6 = load ptr, ptr %sc_l_key_0 + %t7 = load ptr, ptr %sc_l_this_0 + %t8 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t7, i64 0, i32 3 + %t9 = load ptr, ptr %t8, !tbaa !190 + %t10 = call i1 @sc_bf__x25_rec_haskey_0(ptr %t6, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + br label %exc.cleanup4 +exc.k3: + %t14 = xor i1 %t10, true + br i1 %t14, label %if.t5, label %if.j6 +if.t5: + %t15 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t15) + ret ptr @sc_nullable_null +if.j6: + %t17 = load ptr, ptr %sc_l_this_0 + %t18 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t17, i64 0, i32 4 + %t19 = load ptr, ptr %t18, !tbaa !192 + %t20 = call ptr @scr_arr_retain_v(ptr %t19) + %t21 = load ptr, ptr %sc_l_this_0 + %t22 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t21, i64 0, i32 3 + %t23 = load ptr, ptr %t22, !tbaa !190 + %t24 = call ptr @sc_rretain_r12(ptr %t23) + %t25 = load ptr, ptr %sc_l_key_0 + %t26 = call ptr @sc_rc_retain_str(ptr %t25) + %t28 = getelementptr inbounds %sc_rs_r12, ptr %t24, i64 0, i32 1 + %t29 = load ptr, ptr %t28 + store double 0x0000000000000000, ptr %s30 + %t31 = call zeroext i1 @scr_map_get_str_f64(ptr %t29, ptr %t26, ptr %s30) + br i1 %t31, label %rkg.h8, label %rkg.n9 +rkg.h8: + %t32 = load double, ptr %s30 + store double %t32, ptr %s27 + br label %rkg.j7 +rkg.n9: + call void @sc_bad_key() + unreachable +rkg.j7: + %t33 = load double, ptr %s27 + %t34 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 2 + %t35 = load i64, ptr %t34, !tbaa !2 + %t36 = fptosi double %t33 to i64 + %t37 = freeze i64 %t36 + %t38 = sitofp i64 %t37 to double + %t39 = fcmp oeq double %t38, %t33 + %t40 = icmp ult i64 %t37, %t35 + %t41 = and i1 %t39, %t40 + br i1 %t41, label %local.array.range13, label %local.array.slow10 +local.array.range13: + br label %local.array.dense14 +local.array.dense14: + %t42 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 6 + %t43 = load i32, ptr %t42, !tbaa !2 + %t45 = zext i32 %t43 to i64 + %t44 = icmp ult i64 %t37, %t45 + br i1 %t44, label %local.array.value16, label %local.array.len15 +local.array.len15: + %t46 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 1 + %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296} + %t48 = icmp ult i64 %t37, %t47 + br i1 %t48, label %local.array.state17, label %local.array.missing11 +local.array.state17: + %t49 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 9 + %t50 = load ptr, ptr %t49, !tbaa !2 + %t51 = getelementptr inbounds i8, ptr %t50, i64 %t37 + %t52 = load i8, ptr %t51, !tbaa !4 + %t53 = icmp eq i8 %t52, 1 + br i1 %t53, label %local.array.value16, label %local.array.missing11 +local.array.value16: + %t54 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 8 + %t55 = load ptr, ptr %t54, !tbaa !2 + %t56 = getelementptr inbounds i64, ptr %t55, i64 %t37 + %t57 = load ptr, ptr %t56, !tbaa !6 + store ptr %t57, ptr %s16 + br label %local.array.join12 +local.array.slow10: + %t58 = call ptr @scr_arr_peek_ref(ptr %t20, double %t33) + %t59 = icmp ne ptr %t58, null + br i1 %t59, label %local.array.slow.value18, label %local.array.missing11 +local.array.slow.value18: + store ptr %t58, ptr %s16 + br label %local.array.join12 +local.array.missing11: + store ptr null, ptr %s16 + br label %local.array.join12 +local.array.join12: + %t60 = load ptr, ptr %s16 + %t61 = call ptr @sc_bf__x25_union_retag_4(ptr %t60) + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u19, label %exc.k20 +exc.u19: + call void @scr_arr_release(ptr %t20) + call void @sc_rrelease_r12(ptr %t24) + call void @scr_str_release(ptr %t26) + br label %exc.cleanup4 +exc.k20: + %t65 = call ptr @sc_rretain_r11(ptr %t61) + call void @scr_arr_release(ptr %t20) + call void @sc_rrelease_r12(ptr %t24) + call void @scr_str_release(ptr %t26) + %t66 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t66) + ret ptr %t65 +exc.cleanup4: + %t67 = load ptr, ptr %sc_l_key_0 + call void @scr_str_release(ptr %t67) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m9_EmbeddedAssets_get(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %p0, ptr %p1) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m11_StaticServer_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_src_0, ptr %p_sc_l_opts_0) #0 { ; %%m11.StaticServer.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_src_0 = alloca ptr ; src + %sc_l_opts_0 = alloca ptr ; opts + %s42 = alloca i1 + %s52 = alloca %ScrUnion + %s58 = alloca i1 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_src_0, ptr %sc_l_src_0 + store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0 + %t0 = load ptr, ptr %sc_l_this_0 + %t1 = load ptr, ptr %sc_l_src_0 + %t2 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1) + %t3 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t0, i64 0, i32 1 + %t4 = load ptr, ptr %t3 + store ptr %t2, ptr %t3, !tbaa !194 + call void @sc_release__x25_m6_AssetSource(ptr %t4) + %t5 = load ptr, ptr %sc_l_this_0 + %t6 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t5, i64 0, i32 2 + %t7 = zext i1 false to i8 + store i8 %t7, ptr %t6, !tbaa !196 + %t8 = load ptr, ptr %sc_l_this_0 + %t9 = call ptr @scr_arr_new(i32 2, i64 1) + %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t11 = load i64, ptr %t10, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2 + %t12 = load i64, ptr %t14, !tbaa !2 + %t13 = icmp ult i64 %t11, %t12 + br i1 %t13, label %arr.push.dense0, label %arr.push.slow1 +arr.push.dense0: + %t15 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8 + %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9 + %t16 = load ptr, ptr %t15, !tbaa !2 + %t18 = load ptr, ptr %t17, !tbaa !2 + %t19 = getelementptr inbounds i8, ptr %t18, i64 %t11 + %t20 = getelementptr inbounds i64, ptr %t16, i64 %t11 + store ptr @sc_lit_1973266751196475, ptr %t20, !tbaa !6 + store i8 1, ptr %t19, !tbaa !4 + %t21 = add nuw i64 %t11, 1 + store i64 %t21, ptr %t10, !tbaa !2 + %t23 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6 + %t24 = load i32, ptr %t23, !tbaa !2 + %t28 = zext i32 %t24 to i64 + %t25 = icmp eq i64 %t28, %t11 + %t26 = add i32 %t24, 1 + %t27 = select i1 %t25, i32 %t26, i32 %t24 + store i32 %t27, ptr %t23, !tbaa !2 + %t22 = sitofp i64 %t21 to double + br label %arr.push.join2 +arr.push.slow1: + %t29 = call double @scr_arr_push_ref(ptr %t9, ptr @sc_lit_1973266751196475) cold + br label %arr.push.join2 +arr.push.join2: + %t30 = phi double [ %t22, %arr.push.dense0 ], [ %t29, %arr.push.slow1 ] + %t31 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t8, i64 0, i32 3 + %t32 = load ptr, ptr %t31 + store ptr %t9, ptr %t31, !tbaa !198 + call void @scr_arr_release(ptr %t32) + %t33 = load ptr, ptr %sc_l_this_0 + %t34 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t33, i64 0, i32 4 + %t35 = load ptr, ptr %t34 + store ptr @sc_lit_258747939448200, ptr %t34, !tbaa !200 + call void @scr_str_release(ptr %t35) + %t36 = load ptr, ptr %sc_l_this_0 + %t37 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t36, i64 0, i32 5 + %t38 = load ptr, ptr %t37 + store ptr @sc_lit_2351619124253283, ptr %t37, !tbaa !202 + call void @scr_str_release(ptr %t38) + %t39 = load ptr, ptr %sc_l_opts_0 + %t41 = icmp ne ptr %t39, null + store i1 %t41, ptr %s42 + br i1 %t41, label %log.r3, label %log.j4 +log.r3: + store i1 true, ptr %s42 + br label %log.j4 +log.j4: + %t43 = load i1, ptr %s42 + br i1 %t43, label %if.t5, label %if.j6 +if.t5: + %t44 = load ptr, ptr %sc_l_opts_0 + %t45 = getelementptr inbounds %sc_rs_r15, ptr %t44, i64 0, i32 4 + %t46 = getelementptr inbounds { i32, i64 }, ptr %t45, i32 0, i32 0 + %t48 = load i32, ptr %t46 + %t47 = getelementptr inbounds { i32, i64 }, ptr %t45, i32 0, i32 1 + %t49 = load i64, ptr %t47 + %t50 = icmp eq i32 %t48, 1 + %t51 = select i1 %t50, i64 0, i64 %t49 + store i64 -1, ptr %s52 + %t53 = getelementptr inbounds %ScrUnion, ptr %s52, i64 0, i32 1 + store i32 %t48, ptr %t53 + %t54 = getelementptr inbounds %ScrUnion, ptr %s52, i64 0, i32 5 + store i64 %t51, ptr %t54 + %t56 = getelementptr inbounds %ScrUnion, ptr %s52, i64 0, i32 1 + %t55 = load i32, ptr %t56 + %t57 = icmp eq i32 %t55, 0 + store i1 false, ptr %s58 + br i1 %t57, label %ueq.s7, label %ueq.j8 +ueq.s7: + %t60 = call zeroext i1 @scr_union_get_bool(ptr %s52) + %t59 = icmp eq i1 %t60, true + store i1 %t59, ptr %s58 + br label %ueq.j8 +ueq.j8: + %t61 = load i1, ptr %s58 + br i1 %t61, label %if.t9, label %if.j10 +if.t9: + %t62 = load ptr, ptr %sc_l_this_0 + %t63 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t62, i64 0, i32 2 + %t64 = zext i1 true to i8 + store i8 %t64, ptr %t63, !tbaa !196 + br label %if.j10 +if.j10: + %t65 = load ptr, ptr %sc_l_opts_0 + %t66 = getelementptr inbounds %sc_rs_r15, ptr %t65, i64 0, i32 1 + %t67 = load ptr, ptr %t66 + %t68 = icmp eq ptr %t67, @sc_nullable_absent + %t69 = select i1 %t68, ptr null, ptr %t67 + %t71 = icmp ne ptr %t69, null + br i1 %t71, label %if.t11, label %if.j12 +if.t11: + %t72 = load ptr, ptr %sc_l_this_0 + %t73 = load ptr, ptr %sc_l_opts_0 + %t74 = getelementptr inbounds %sc_rs_r15, ptr %t73, i64 0, i32 1 + %t75 = load ptr, ptr %t74 + %t76 = icmp eq ptr %t75, @sc_nullable_absent + %t77 = select i1 %t76, ptr null, ptr %t75 + %t78 = call ptr @scr_arr_retain_v(ptr %t77) + %t79 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t72, i64 0, i32 3 + %t80 = load ptr, ptr %t79 + store ptr %t78, ptr %t79, !tbaa !198 + call void @scr_arr_release(ptr %t80) + br label %if.j12 +if.j12: + %t81 = load ptr, ptr %sc_l_opts_0 + %t82 = getelementptr inbounds %sc_rs_r15, ptr %t81, i64 0, i32 3 + %t83 = load ptr, ptr %t82 + %t84 = icmp eq ptr %t83, @sc_nullable_absent + %t85 = select i1 %t84, ptr null, ptr %t83 + %t87 = icmp ne ptr %t85, null + br i1 %t87, label %if.t13, label %if.j14 +if.t13: + %t88 = load ptr, ptr %sc_l_this_0 + %t89 = load ptr, ptr %sc_l_opts_0 + %t90 = getelementptr inbounds %sc_rs_r15, ptr %t89, i64 0, i32 3 + %t91 = load ptr, ptr %t90 + %t92 = icmp eq ptr %t91, @sc_nullable_absent + %t93 = select i1 %t92, ptr null, ptr %t91 + %t94 = call ptr @sc_rc_retain_str(ptr %t93) + %t95 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t88, i64 0, i32 4 + %t96 = load ptr, ptr %t95 + store ptr %t94, ptr %t95, !tbaa !200 + call void @scr_str_release(ptr %t96) + br label %if.j14 +if.j14: + %t97 = load ptr, ptr %sc_l_opts_0 + %t98 = getelementptr inbounds %sc_rs_r15, ptr %t97, i64 0, i32 2 + %t99 = load ptr, ptr %t98 + %t100 = icmp eq ptr %t99, @sc_nullable_absent + %t101 = select i1 %t100, ptr null, ptr %t99 + %t103 = icmp ne ptr %t101, null + br i1 %t103, label %if.t15, label %if.j16 +if.t15: + %t104 = load ptr, ptr %sc_l_this_0 + %t105 = load ptr, ptr %sc_l_opts_0 + %t106 = getelementptr inbounds %sc_rs_r15, ptr %t105, i64 0, i32 2 + %t107 = load ptr, ptr %t106 + %t108 = icmp eq ptr %t107, @sc_nullable_absent + %t109 = select i1 %t108, ptr null, ptr %t107 + %t110 = call ptr @sc_rc_retain_str(ptr %t109) + %t111 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t104, i64 0, i32 5 + %t112 = load ptr, ptr %t111 + store ptr %t110, ptr %t111, !tbaa !202 + call void @scr_str_release(ptr %t112) + br label %if.j16 +if.j16: + br label %if.j6 +if.j6: + ret void +} +define internal void @sc_f__x25__x25_m11_StaticServer_constructor(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25__x25_m11_StaticServer_constructor(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m11_StaticServer(ptr %p0) + call void @sc_release__x25_m6_AssetSource(ptr %p1) + call void @sc_rrelease_r15(ptr %p2) + ret void +} + +define internal i1 @sc_bf__x25__x25_m11_StaticServer_isApi(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0) #0 { ; %%m11.StaticServer.isApi +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_path_0 = alloca ptr ; path + %sc_l_i_0 = alloca i32 ; i + %sc_l_p_0 = alloca ptr ; p + %s48 = alloca i1 + %s57 = alloca i1 + %s60 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_p_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + store i32 0, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t4 = load i32, ptr %sc_l_i_0 + %t5 = uitofp i32 %t4 to double + %t6 = load ptr, ptr %sc_l_this_0 + %t7 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t6, i64 0, i32 3 + %t8 = load ptr, ptr %t7, !tbaa !198 + %t9 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 1 + %t10 = load i64, ptr %t9, !tbaa !2, !range !{i64 0, i64 4294967296} + %t11 = sitofp i64 %t10 to double + %t13 = fptosi double %t11 to i64 + %t14 = zext i32 %t4 to i64 + %t12 = icmp slt i64 %t14, %t13 + br i1 %t12, label %loop.b4, label %loop.e2 +loop.b4: + %t15 = load ptr, ptr %sc_l_this_0 + %t16 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t15, i64 0, i32 3 + %t17 = load ptr, ptr %t16, !tbaa !198 + %t18 = load i32, ptr %sc_l_i_0 + %t19 = uitofp i32 %t18 to double + %t20 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2 + %t21 = load i64, ptr %t20, !tbaa !2 + %t22 = fptosi double %t19 to i64 + %t23 = freeze i64 %t22 + %t24 = sitofp i64 %t23 to double + %t25 = fcmp oeq double %t24, %t19 + %t26 = icmp ult i64 %t23, %t21 + %t27 = and i1 %t25, %t26 + br i1 %t27, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t28 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6 + %t29 = load i32, ptr %t28, !tbaa !2 + %t31 = zext i32 %t29 to i64 + %t30 = icmp ult i64 %t23, %t31 + br i1 %t30, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t32 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + %t33 = load i64, ptr %t32, !tbaa !2, !range !{i64 0, i64 4294967296} + %t34 = icmp ult i64 %t23, %t33 + br i1 %t34, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t35 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9 + %t36 = load ptr, ptr %t35, !tbaa !2 + %t37 = getelementptr inbounds i8, ptr %t36, i64 %t23 + %t38 = load i8, ptr %t37, !tbaa !4 + %t39 = icmp eq i8 %t38, 1 + br i1 %t39, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t40 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t42 = getelementptr inbounds i64, ptr %t41, i64 %t23 + %t43 = load ptr, ptr %t42, !tbaa !6 + store ptr %t43, ptr %sc_l_p_0 + br label %local.array.join8 +local.array.slow6: + %t44 = call ptr @scr_arr_peek_ref(ptr %t17, double %t19) + %t45 = icmp ne ptr %t44, null + br i1 %t45, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + store ptr %t44, ptr %sc_l_p_0 + br label %local.array.join8 +local.array.missing7: + store ptr null, ptr %sc_l_p_0 + br label %local.array.join8 +local.array.join8: + %t46 = load ptr, ptr %sc_l_path_0 + %t47 = load ptr, ptr %sc_l_p_0 + %t49 = icmp eq ptr %t46, %t47 + %t51 = icmp ne ptr %t46, null + %t52 = icmp ne ptr %t47, null + %t50 = and i1 %t51, %t52 + store i1 %t49, ptr %s48 + %t53 = xor i1 %t49, true + %t54 = and i1 %t53, %t50 + br i1 %t54, label %ues.b15, label %ues.j16 +ues.b15: + %t55 = call zeroext i1 @sc_str_eq(ptr %t46, ptr %t47) + store i1 %t55, ptr %s48 + br label %ues.j16 +ues.j16: + %t56 = load i1, ptr %s48 + store i1 %t56, ptr %s57 + br i1 %t56, label %log.j18, label %log.r17 +log.r17: + %t58 = load ptr, ptr %sc_l_path_0 + %t59 = load ptr, ptr %sc_l_p_0 + %t62 = icmp eq ptr %t59, null + %t61 = select i1 %t62, i32 1, i32 0 + switch i32 %t61, label %u.bad20 [ i32 0, label %u.a21 i32 1, label %u.a22 ] +u.a21: + %t63 = call ptr @sc_rc_retain_str(ptr %t59) + store ptr %t63, ptr %s60 + br label %us.j19 +u.a22: + store ptr @sc_lit_4134463689533233, ptr %s60 + br label %us.j19 +u.bad20: + call void @sc_bad_tag() + unreachable +us.j19: + %t64 = load ptr, ptr %s60 + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u23, label %exc.k24 +exc.u23: + call void @scr_str_release(ptr %t64) + ret i1 false +exc.k24: + %t68 = call ptr @scr_str_concat(ptr %t64, ptr @sc_lit_2434240011052594) + %t69 = call i1 @scr_str_starts_with(ptr %t58, ptr %t68) + store i1 %t69, ptr %s57 + call void @scr_str_release(ptr %t64) + call void @scr_str_release(ptr %t68) + br label %log.j18 +log.j18: + %t70 = load i1, ptr %s57 + br i1 %t70, label %if.t25, label %if.j26 +if.t25: + ret i1 true +if.j26: + br label %loop.u5 +loop.u5: + %t71 = load i32, ptr %sc_l_i_0 + %t72 = uitofp i32 %t71 to double + %t74 = zext i32 %t71 to i64 + %t75 = add nsw i64 %t74, 1 + %t77 = trunc i64 %t75 to i32 + %t76 = sitofp i64 %t75 to double + %t78 = trunc i64 %t75 to i32 + store i32 %t78, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + ret i1 false +} +define internal i1 @sc_f__x25__x25_m11_StaticServer_isApi(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25__x25_m11_StaticServer_isApi(ptr %p0, ptr %p1) + call void @sc_release__x25_m11_StaticServer(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_bf__x25__x25_m11_StaticServer_handle(ptr %p_sc_l_this_0, ptr %p_sc_l_c_0) #0 { ; %%m11.StaticServer.handle +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_c_0 = alloca ptr ; c + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_protocolReceiver_0 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolReceiver_1 = alloca ptr ; %protocolReceiver + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_dynCallReceiver_0 = alloca ptr ; %dynCallReceiver + %sc_l__x25_dynCallCallee_0 = alloca ptr ; %dynCallCallee + %sc_l_raw_0 = alloca ptr ; raw + %sc_l_rel_0 = alloca ptr ; rel + %sc_l__x25_protocolReceiver_2 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolReceiver_3 = alloca ptr ; %protocolReceiver + %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_2 = alloca ptr ; %callback + %sc_l__x25_protocolReceiver_4 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolReceiver_5 = alloca ptr ; %protocolReceiver + %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_3 = alloca ptr ; %callback + %sc_l_ext_0 = alloca ptr ; ext + %sc_l_a_0 = alloca ptr ; a + %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_4 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_5 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_6 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_6 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_6 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_6 = alloca ptr ; %callback + %sc_l__x25_dynCallReceiver_1 = alloca ptr ; %dynCallReceiver + %sc_l__x25_dynCallCallee_1 = alloca ptr ; %dynCallCallee + %sc_l_acc_0 = alloca ptr ; acc + %sc_l__x25_callbackReceiver_7 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_7 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_7 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_7 = alloca ptr ; %callback + %sc_l__x25_protocolReceiver_6 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolReceiver_7 = alloca ptr ; %protocolReceiver + %sc_l__x25_callbackReceiver_8 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_8 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_8 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_8 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_9 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_9 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_9 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_9 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s41 = alloca [1 x ptr] + %s69 = alloca ptr + %s85 = alloca [1 x ptr] + %s114 = alloca [1 x ptr] + %s131 = alloca ptr + %s153 = alloca ptr + %s167 = alloca [1 x ptr] + %s204 = alloca ptr + %s218 = alloca [1 x ptr] + %s238 = alloca i1 + %s264 = alloca ptr + %s284 = alloca [1 x ptr] + %s312 = alloca ptr + %s327 = alloca [1 x ptr] + %s344 = alloca i1 + %s362 = alloca ptr + %s379 = alloca [3 x ptr] + %s385 = alloca [1 x ptr] + %s402 = alloca i1 + %s408 = alloca i1 + %s427 = alloca [1 x ptr] + %s444 = alloca i1 + %s465 = alloca ptr + %s483 = alloca [1 x ptr] + %s517 = alloca ptr + %s531 = alloca [1 x ptr] + %s559 = alloca ptr + %s576 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_1 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_dynCallReceiver_0 + store ptr null, ptr %sc_l__x25_dynCallCallee_0 + store ptr null, ptr %sc_l_raw_0 + store ptr null, ptr %sc_l_rel_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_2 + store ptr null, ptr %sc_l__x25_protocolReceiver_3 + store ptr null, ptr %sc_l__x25_callbackReceiver_2 + store ptr null, ptr %sc_l__x25_callbackBag_2 + store ptr null, ptr %sc_l__x25_callback_2 + store ptr null, ptr %sc_l__x25_protocolReceiver_4 + store ptr null, ptr %sc_l__x25_protocolReceiver_5 + store ptr null, ptr %sc_l__x25_callbackReceiver_3 + store ptr null, ptr %sc_l__x25_callbackBag_3 + store ptr null, ptr %sc_l__x25_callback_3 + store ptr null, ptr %sc_l_ext_0 + store ptr null, ptr %sc_l_a_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_4 + store ptr null, ptr %sc_l__x25_callbackBag_4 + store ptr null, ptr %sc_l__x25_callback_4 + store ptr null, ptr %sc_l__x25_callbackReceiver_5 + store ptr null, ptr %sc_l__x25_callbackBag_5 + store ptr null, ptr %sc_l__x25_callback_5 + store ptr null, ptr %sc_l__x25_callbackReceiver_6 + store ptr null, ptr %sc_l__x25_callbackBag_6 + store ptr null, ptr %sc_l__x25_callback_6 + store ptr null, ptr %sc_l__x25_dynCallReceiver_1 + store ptr null, ptr %sc_l__x25_dynCallCallee_1 + store ptr null, ptr %sc_l_acc_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_7 + store ptr null, ptr %sc_l__x25_callbackBag_7 + store ptr null, ptr %sc_l__x25_callback_7 + store ptr null, ptr %sc_l__x25_protocolReceiver_6 + store ptr null, ptr %sc_l__x25_protocolReceiver_7 + store ptr null, ptr %sc_l__x25_callbackReceiver_8 + store ptr null, ptr %sc_l__x25_callbackBag_8 + store ptr null, ptr %sc_l__x25_callback_8 + store ptr null, ptr %sc_l__x25_callbackReceiver_9 + store ptr null, ptr %sc_l__x25_callbackBag_9 + store ptr null, ptr %sc_l__x25_callback_9 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_29(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t27 = load ptr, ptr %sc_l_c_0 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t28) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t26) + br label %exc.cleanup12 +exc.k11: + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %t29) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_release__x25_m5_ReqViewCore(ptr %t33) + call void @sc_rc_release_dyn(ptr %t26) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t29) + %t37 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t33, i64 0, i32 7 + %t38 = load ptr, ptr %t37, !tbaa !96 + %t39 = call ptr @sc_rc_retain_str(ptr %t38) + %t40 = call ptr @sc_td_0(ptr %t39) + %t42 = getelementptr inbounds [1 x ptr], ptr %s41, i64 0, i64 0 + store ptr %t40, ptr %t42 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t43 = call ptr @scr_dyn_call(ptr %t24, ptr %s41, i64 1, ptr @sc_cs_3198879891697343) + call void @scr_dyn_this_pop() + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_release__x25_m5_ReqViewCore(ptr %t33) + call void @scr_str_release(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t43) + br label %exc.cleanup12 +exc.k16: + %t47 = call zeroext i1 @sc_dc_3(ptr %t43, ptr null) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_release__x25_m5_ReqViewCore(ptr %t33) + call void @scr_str_release(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t43) + br label %exc.cleanup12 +exc.k18: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_release__x25_m5_ReqViewCore(ptr %t33) + call void @scr_str_release(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t43) + %t51 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t51) + %t52 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t52) + br i1 %t47, label %if.t19, label %if.j20 +if.t19: + %t53 = load ptr, ptr %sc_l_c_0 + store ptr %t53, ptr %sc_l__x25_protocolReceiver_1 + %t54 = load ptr, ptr %sc_l__x25_protocolReceiver_1 + %t55 = call ptr @sc_rc_retain_dyn(ptr %t54) + %t56 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t55, i32 404, ptr @sc_lit_1113611553843547) + %t57 = load i32, ptr %exc.cell + %t58 = icmp ne i32 %t57, 0 + %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false) + br i1 %t59, label %exc.u21, label %exc.k22 +exc.u21: + call void @sc_release__x25_m5_CtxCore(ptr %t56) + ret ptr null +exc.k22: + store ptr %t56, ptr %sc_l__x25_callbackReceiver_1 + %t60 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t61 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t60) + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u23, label %exc.k24 +exc.u23: + call void @sc_rc_release_dyn(ptr %t61) + br label %exc.cleanup25 +exc.k24: + store ptr %t61, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t65 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t66 = getelementptr inbounds i8, ptr %t65, i64 8 ; ->kind + %t67 = load i32, ptr %t66 + %t68 = icmp eq i32 %t67, 6 + br i1 %t68, label %tern.t26, label %tern.f27 +tern.t26: + %t71 = call ptr @scr_dyn_undefined() + %t70 = call ptr @scr_dyn_retain_v(ptr %t71) + store ptr %t70, ptr %s69 + br label %tern.j28 +tern.f27: + %t72 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + %t74 = call ptr @sc_f__x25_dyn_class_property_31(ptr %t73) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t74) + br label %exc.cleanup31 +exc.k30: + store ptr %t74, ptr %s69 + br label %tern.j28 +tern.j28: + %t78 = load ptr, ptr %s69 + store ptr %t78, ptr %sc_l__x25_callback_1 + %t79 = load ptr, ptr %sc_l__x25_callback_1 + %t80 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t81 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t80, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t82 = call ptr @sc_rnew_r33() + %t83 = getelementptr inbounds %sc_rs_r33, ptr %t82, i64 0, i32 1 + store ptr @sc_lit_2461881476274202, ptr %t83 + %t84 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t82, ptr @sc_rretain_r33, ptr @sc_rrelease_r33, ptr @sc_cs_1825930128146299, i64 10, ptr @sc_ldr_52_materialize, ptr @sc_ldr_52_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t84, ptr @sc_ldr_52_materialize_rops) + %t86 = getelementptr inbounds [1 x ptr], ptr %s85, i64 0, i64 0 + store ptr %t84, ptr %t86 + call void @scr_dyn_this_push_dyn(ptr %t81) + %t87 = call ptr @scr_dyn_call(ptr %t79, ptr %s85, i64 1, ptr @sc_cs_2345038701066310) + call void @scr_dyn_this_pop() + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t81) + call void @sc_rrelease_r33(ptr %t82) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t87) + br label %exc.cleanup34 +exc.k33: + %t91 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t87) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t81) + call void @sc_rrelease_r33(ptr %t82) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_release__x25_m5_CtxCore(ptr %t91) + br label %exc.cleanup34 +exc.k36: + call void @sc_rc_release_dyn(ptr %t81) + call void @sc_rrelease_r33(ptr %t82) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t87) + %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t91, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @sc_release__x25_m5_CtxCore(ptr %t91) + %t96 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t96) + %t97 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t97) + %t98 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_CtxCore(ptr %t98) + ret ptr %t95 +if.j20: + %t99 = load ptr, ptr %sc_l_c_0 + %t100 = call ptr @sc_rc_retain_dyn(ptr %t99) + %t101 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t100) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rc_release_dyn(ptr %t101) + ret ptr null +exc.k38: + store ptr %t101, ptr %sc_l__x25_dynCallReceiver_0 + %t105 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + %t106 = call ptr @sc_rc_retain_dyn(ptr %t105) + %t107 = call ptr @sc_f__x25_dyn_class_property_32(ptr %t106) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_rc_release_dyn(ptr %t107) + br label %exc.cleanup41 +exc.k40: + store ptr %t107, ptr %sc_l__x25_dynCallCallee_0 + %t111 = load ptr, ptr %sc_l__x25_dynCallCallee_0 + %t112 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + %t113 = call ptr @sc_td_0(ptr @sc_lit_1834571860458263) + %t115 = getelementptr inbounds [1 x ptr], ptr %s114, i64 0, i64 0 + store ptr %t113, ptr %t115 + call void @scr_dyn_this_push_dyn(ptr %t112) + %t116 = call ptr @scr_dyn_call(ptr %t111, ptr %s114, i64 1, ptr @sc_cs_89252900281981) + call void @scr_dyn_this_pop() + %t117 = load i32, ptr %exc.cell + %t118 = icmp ne i32 %t117, 0 + %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false) + br i1 %t119, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t113) + call void @sc_rc_release_dyn(ptr %t116) + br label %exc.cleanup44 +exc.k43: + %t120 = call ptr @sc_dc_22(ptr %t116, ptr null) + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u45, label %exc.k46 +exc.u45: + call void @sc_rc_release_dyn(ptr %t113) + call void @sc_rc_release_dyn(ptr %t116) + %t124 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + call void @sc_rc_release_dyn(ptr %t124) + %t125 = load ptr, ptr %sc_l__x25_dynCallCallee_0 + call void @sc_rc_release_dyn(ptr %t125) + call void @scr_str_release(ptr %t120) + ret ptr null +exc.k46: + store ptr %t120, ptr %sc_l_raw_0 + call void @sc_rc_release_dyn(ptr %t113) + call void @sc_rc_release_dyn(ptr %t116) + %t126 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + call void @sc_rc_release_dyn(ptr %t126) + %t127 = load ptr, ptr %sc_l__x25_dynCallCallee_0 + call void @sc_rc_release_dyn(ptr %t127) + %t128 = load ptr, ptr %sc_l_raw_0 + %t130 = icmp eq ptr %t128, null + br i1 %t130, label %tern.t47, label %tern.f48 +tern.t47: + store ptr @sc_lit_4005573543169985, ptr %s131 + br label %tern.j49 +tern.f48: + %t132 = load ptr, ptr %sc_l_raw_0 + %t133 = call ptr @sc_rc_retain_str(ptr %t132) + store ptr %t133, ptr %s131 + br label %tern.j49 +tern.j49: + %t134 = load ptr, ptr %s131 + store ptr %t134, ptr %sc_l_rel_0 + %t135 = load ptr, ptr %sc_l_rel_0 + %t136 = call i1 @sc_bf__x25_m11_traversal(ptr %t135) + br i1 %t136, label %if.t50, label %if.j51 +if.t50: + %t137 = load ptr, ptr %sc_l_c_0 + store ptr %t137, ptr %sc_l__x25_protocolReceiver_3 + %t138 = load ptr, ptr %sc_l__x25_protocolReceiver_3 + %t139 = call ptr @sc_rc_retain_dyn(ptr %t138) + %t140 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t139, i32 403, ptr @sc_lit_1113611553843547) + %t141 = load i32, ptr %exc.cell + %t142 = icmp ne i32 %t141, 0 + %t143 = call i1 @llvm.expect.i1(i1 %t142, i1 false) + br i1 %t143, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_release__x25_m5_CtxCore(ptr %t140) + br label %exc.cleanup54 +exc.k53: + store ptr %t140, ptr %sc_l__x25_callbackReceiver_2 + %t144 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t145 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t144) + %t146 = load i32, ptr %exc.cell + %t147 = icmp ne i32 %t146, 0 + %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false) + br i1 %t148, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t145) + br label %exc.cleanup57 +exc.k56: + store ptr %t145, ptr %sc_l__x25_callbackBag_2 + store i1 true, ptr %sc_l__x25_callbackPresent_2 + %t149 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t150 = getelementptr inbounds i8, ptr %t149, i64 8 ; ->kind + %t151 = load i32, ptr %t150 + %t152 = icmp eq i32 %t151, 6 + br i1 %t152, label %tern.t58, label %tern.f59 +tern.t58: + %t155 = call ptr @scr_dyn_undefined() + %t154 = call ptr @scr_dyn_retain_v(ptr %t155) + store ptr %t154, ptr %s153 + br label %tern.j60 +tern.f59: + %t156 = load ptr, ptr %sc_l__x25_callbackBag_2 + %t157 = call ptr @sc_rc_retain_dyn(ptr %t156) + %t158 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t157) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u61, label %exc.k62 +exc.u61: + call void @sc_rc_release_dyn(ptr %t158) + br label %exc.cleanup63 +exc.k62: + store ptr %t158, ptr %s153 + br label %tern.j60 +tern.j60: + %t162 = load ptr, ptr %s153 + store ptr %t162, ptr %sc_l__x25_callback_2 + %t163 = load ptr, ptr %sc_l__x25_callback_2 + %t164 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + %t165 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t164, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t166 = call ptr @sc_td_0(ptr @sc_lit_2114647021869682) + %t168 = getelementptr inbounds [1 x ptr], ptr %s167, i64 0, i64 0 + store ptr %t166, ptr %t168 + call void @scr_dyn_this_push_dyn(ptr %t165) + %t169 = call ptr @scr_dyn_call(ptr %t163, ptr %s167, i64 1, ptr @sc_cs_4405409442699003) + call void @scr_dyn_this_pop() + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t165) + call void @sc_rc_release_dyn(ptr %t166) + call void @sc_rc_release_dyn(ptr %t169) + br label %exc.cleanup66 +exc.k65: + %t173 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t169) + %t174 = load i32, ptr %exc.cell + %t175 = icmp ne i32 %t174, 0 + %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false) + br i1 %t176, label %exc.u67, label %exc.k68 +exc.u67: + call void @sc_rc_release_dyn(ptr %t165) + call void @sc_rc_release_dyn(ptr %t166) + call void @sc_rc_release_dyn(ptr %t169) + call void @sc_release__x25_m5_CtxCore(ptr %t173) + br label %exc.cleanup66 +exc.k68: + call void @sc_rc_release_dyn(ptr %t165) + call void @sc_rc_release_dyn(ptr %t166) + call void @sc_rc_release_dyn(ptr %t169) + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t173, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @sc_release__x25_m5_CtxCore(ptr %t173) + %t178 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t178) + %t179 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t179) + %t180 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m5_CtxCore(ptr %t180) + %t181 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t181) + %t182 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t182) + ret ptr %t177 +if.j51: + %t183 = load ptr, ptr %sc_l_rel_0 + %t184 = call i1 @sc_bf__x25_m11_hidden(ptr %t183) + %t185 = load i32, ptr %exc.cell + %t186 = icmp ne i32 %t185, 0 + %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false) + br i1 %t187, label %exc.u69, label %exc.k70 +exc.u69: + br label %exc.cleanup54 +exc.k70: + br i1 %t184, label %if.t71, label %if.j72 +if.t71: + %t188 = load ptr, ptr %sc_l_c_0 + store ptr %t188, ptr %sc_l__x25_protocolReceiver_5 + %t189 = load ptr, ptr %sc_l__x25_protocolReceiver_5 + %t190 = call ptr @sc_rc_retain_dyn(ptr %t189) + %t191 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t190, i32 404, ptr @sc_lit_1113611553843547) + %t192 = load i32, ptr %exc.cell + %t193 = icmp ne i32 %t192, 0 + %t194 = call i1 @llvm.expect.i1(i1 %t193, i1 false) + br i1 %t194, label %exc.u73, label %exc.k74 +exc.u73: + call void @sc_release__x25_m5_CtxCore(ptr %t191) + br label %exc.cleanup54 +exc.k74: + store ptr %t191, ptr %sc_l__x25_callbackReceiver_3 + %t195 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t196 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t195) + %t197 = load i32, ptr %exc.cell + %t198 = icmp ne i32 %t197, 0 + %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false) + br i1 %t199, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t196) + br label %exc.cleanup77 +exc.k76: + store ptr %t196, ptr %sc_l__x25_callbackBag_3 + store i1 true, ptr %sc_l__x25_callbackPresent_3 + %t200 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t201 = getelementptr inbounds i8, ptr %t200, i64 8 ; ->kind + %t202 = load i32, ptr %t201 + %t203 = icmp eq i32 %t202, 6 + br i1 %t203, label %tern.t78, label %tern.f79 +tern.t78: + %t206 = call ptr @scr_dyn_undefined() + %t205 = call ptr @scr_dyn_retain_v(ptr %t206) + store ptr %t205, ptr %s204 + br label %tern.j80 +tern.f79: + %t207 = load ptr, ptr %sc_l__x25_callbackBag_3 + %t208 = call ptr @sc_rc_retain_dyn(ptr %t207) + %t209 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t208) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u81, label %exc.k82 +exc.u81: + call void @sc_rc_release_dyn(ptr %t209) + br label %exc.cleanup83 +exc.k82: + store ptr %t209, ptr %s204 + br label %tern.j80 +tern.j80: + %t213 = load ptr, ptr %s204 + store ptr %t213, ptr %sc_l__x25_callback_3 + %t214 = load ptr, ptr %sc_l__x25_callback_3 + %t215 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + %t216 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t215, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t217 = call ptr @sc_td_0(ptr @sc_lit_1778054279894) + %t219 = getelementptr inbounds [1 x ptr], ptr %s218, i64 0, i64 0 + store ptr %t217, ptr %t219 + call void @scr_dyn_this_push_dyn(ptr %t216) + %t220 = call ptr @scr_dyn_call(ptr %t214, ptr %s218, i64 1, ptr @sc_cs_1776008808819361) + call void @scr_dyn_this_pop() + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t216) + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t220) + br label %exc.cleanup86 +exc.k85: + %t224 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t220) + %t225 = load i32, ptr %exc.cell + %t226 = icmp ne i32 %t225, 0 + %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false) + br i1 %t227, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t216) + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t220) + call void @sc_release__x25_m5_CtxCore(ptr %t224) + br label %exc.cleanup86 +exc.k88: + call void @sc_rc_release_dyn(ptr %t216) + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t220) + %t228 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @sc_release__x25_m5_CtxCore(ptr %t224) + %t229 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t229) + %t230 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t230) + %t231 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + call void @sc_release__x25_m5_CtxCore(ptr %t231) + %t232 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t232) + %t233 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t233) + ret ptr %t228 +if.j72: + %t234 = load ptr, ptr %sc_l_rel_0 + %t235 = call ptr @sc_bf__x25_m7_extOf(ptr %t234) + store ptr %t235, ptr %sc_l_ext_0 + store ptr @sc_nullable_null, ptr %sc_l_a_0 + %t236 = load ptr, ptr %sc_l_rel_0 + %t237 = call zeroext i1 @sc_streq_4005573543169985(ptr %t236) + store i1 %t237, ptr %s238 + br i1 %t237, label %log.j90, label %log.r89 +log.r89: + %t239 = load ptr, ptr %sc_l_rel_0 + %t240 = load ptr, ptr %sc_l_rel_0 + %t241 = call double @sc_str_utf16_len(ptr %t240) + %t243 = fptosi double %t241 to i32 + %t245 = trunc i64 1 to i32 + %t244 = sub nsw i32 %t243, %t245 + %t246 = sitofp i32 %t244 to double + %t247 = call ptr @scr_str_char_at(ptr %t239, double %t246) + %t248 = call zeroext i1 @sc_streq_2434240011052594(ptr %t247) + store i1 %t248, ptr %s238 + call void @scr_str_release(ptr %t247) + br label %log.j90 +log.j90: + %t249 = load i1, ptr %s238 + br i1 %t249, label %if.t91, label %if.f93 +if.t91: + %t250 = load ptr, ptr %sc_l_this_0 + %t251 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t250, i64 0, i32 1 + %t252 = load ptr, ptr %t251, !tbaa !194 + %t253 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t252) + store ptr %t253, ptr %sc_l__x25_callbackReceiver_4 + %t254 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t255 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t254, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t256 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t255) + %t257 = load i32, ptr %exc.cell + %t258 = icmp ne i32 %t257, 0 + %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false) + br i1 %t259, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t256) + br label %exc.cleanup96 +exc.k95: + store ptr %t256, ptr %sc_l__x25_callbackBag_4 + store i1 true, ptr %sc_l__x25_callbackPresent_4 + %t260 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t261 = getelementptr inbounds i8, ptr %t260, i64 8 ; ->kind + %t262 = load i32, ptr %t261 + %t263 = icmp eq i32 %t262, 6 + br i1 %t263, label %tern.t97, label %tern.f98 +tern.t97: + %t266 = call ptr @scr_dyn_undefined() + %t265 = call ptr @scr_dyn_retain_v(ptr %t266) + store ptr %t265, ptr %s264 + br label %tern.j99 +tern.f98: + %t267 = load ptr, ptr %sc_l__x25_callbackBag_4 + %t268 = call ptr @sc_rc_retain_dyn(ptr %t267) + %t269 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t268) + %t270 = load i32, ptr %exc.cell + %t271 = icmp ne i32 %t270, 0 + %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false) + br i1 %t272, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t269) + br label %exc.cleanup102 +exc.k101: + store ptr %t269, ptr %s264 + br label %tern.j99 +tern.j99: + %t273 = load ptr, ptr %s264 + store ptr %t273, ptr %sc_l__x25_callback_4 + %t274 = load ptr, ptr %sc_l__x25_callback_4 + %t275 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t277 = load ptr, ptr %sc_l_rel_0 + %t278 = call ptr @sc_rc_retain_str(ptr %t277) + %t279 = load ptr, ptr %sc_l_this_0 + %t280 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t279, i64 0, i32 4 + %t281 = load ptr, ptr %t280, !tbaa !200 + %t282 = call ptr @scr_str_concat(ptr %t278, ptr %t281) + %t283 = call ptr @sc_td_0(ptr %t282) + %t285 = getelementptr inbounds [1 x ptr], ptr %s284, i64 0, i64 0 + store ptr %t283, ptr %t285 + call void @scr_dyn_this_push_dyn(ptr %t276) + %t286 = call ptr @scr_dyn_call(ptr %t274, ptr %s284, i64 1, ptr @sc_cs_1751115912570399) + call void @scr_dyn_this_pop() + %t287 = load i32, ptr %exc.cell + %t288 = icmp ne i32 %t287, 0 + %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false) + br i1 %t289, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t276) + call void @scr_str_release(ptr %t278) + call void @scr_str_release(ptr %t282) + call void @sc_rc_release_dyn(ptr %t283) + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup105 +exc.k104: + %t290 = call ptr @sc_dc_81(ptr %t286, ptr null) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t276) + call void @scr_str_release(ptr %t278) + call void @scr_str_release(ptr %t282) + call void @sc_rc_release_dyn(ptr %t283) + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_rrelease_r11(ptr %t290) + br label %exc.cleanup105 +exc.k107: + %t294 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t294) + store ptr %t290, ptr %sc_l_a_0 + call void @sc_rc_release_dyn(ptr %t276) + call void @scr_str_release(ptr %t278) + call void @scr_str_release(ptr %t282) + call void @sc_rc_release_dyn(ptr %t283) + call void @sc_rc_release_dyn(ptr %t286) + %t295 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t295) + %t296 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t296) + %t297 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + call void @sc_release__x25_m6_AssetSource(ptr %t297) + br label %if.j92 +if.f93: + %t298 = load ptr, ptr %sc_l_this_0 + %t299 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t298, i64 0, i32 1 + %t300 = load ptr, ptr %t299, !tbaa !194 + %t301 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t300) + store ptr %t301, ptr %sc_l__x25_callbackReceiver_5 + %t302 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup110 +exc.k109: + store ptr %t304, ptr %sc_l__x25_callbackBag_5 + store i1 true, ptr %sc_l__x25_callbackPresent_5 + %t308 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t309 = getelementptr inbounds i8, ptr %t308, i64 8 ; ->kind + %t310 = load i32, ptr %t309 + %t311 = icmp eq i32 %t310, 6 + br i1 %t311, label %tern.t111, label %tern.f112 +tern.t111: + %t314 = call ptr @scr_dyn_undefined() + %t313 = call ptr @scr_dyn_retain_v(ptr %t314) + store ptr %t313, ptr %s312 + br label %tern.j113 +tern.f112: + %t315 = load ptr, ptr %sc_l__x25_callbackBag_5 + %t316 = call ptr @sc_rc_retain_dyn(ptr %t315) + %t317 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t316) + %t318 = load i32, ptr %exc.cell + %t319 = icmp ne i32 %t318, 0 + %t320 = call i1 @llvm.expect.i1(i1 %t319, i1 false) + br i1 %t320, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t317) + br label %exc.cleanup116 +exc.k115: + store ptr %t317, ptr %s312 + br label %tern.j113 +tern.j113: + %t321 = load ptr, ptr %s312 + store ptr %t321, ptr %sc_l__x25_callback_5 + %t322 = load ptr, ptr %sc_l__x25_callback_5 + %t323 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + %t324 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t323, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t325 = load ptr, ptr %sc_l_rel_0 + %t326 = call ptr @sc_td_0(ptr %t325) + %t328 = getelementptr inbounds [1 x ptr], ptr %s327, i64 0, i64 0 + store ptr %t326, ptr %t328 + call void @scr_dyn_this_push_dyn(ptr %t324) + %t329 = call ptr @scr_dyn_call(ptr %t322, ptr %s327, i64 1, ptr @sc_cs_1751115912570399) + call void @scr_dyn_this_pop() + %t330 = load i32, ptr %exc.cell + %t331 = icmp ne i32 %t330, 0 + %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false) + br i1 %t332, label %exc.u117, label %exc.k118 +exc.u117: + call void @sc_rc_release_dyn(ptr %t324) + call void @sc_rc_release_dyn(ptr %t326) + call void @sc_rc_release_dyn(ptr %t329) + br label %exc.cleanup119 +exc.k118: + %t333 = call ptr @sc_dc_81(ptr %t329, ptr null) + %t334 = load i32, ptr %exc.cell + %t335 = icmp ne i32 %t334, 0 + %t336 = call i1 @llvm.expect.i1(i1 %t335, i1 false) + br i1 %t336, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t324) + call void @sc_rc_release_dyn(ptr %t326) + call void @sc_rc_release_dyn(ptr %t329) + call void @sc_rrelease_r11(ptr %t333) + br label %exc.cleanup119 +exc.k121: + %t337 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t337) + store ptr %t333, ptr %sc_l_a_0 + call void @sc_rc_release_dyn(ptr %t324) + call void @sc_rc_release_dyn(ptr %t326) + call void @sc_rc_release_dyn(ptr %t329) + %t338 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t338) + %t339 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t339) + %t340 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + call void @sc_release__x25_m6_AssetSource(ptr %t340) + %t341 = load ptr, ptr %sc_l_a_0 + %t343 = icmp eq ptr %t341, @sc_nullable_null + store i1 %t343, ptr %s344 + br i1 %t343, label %log.r122, label %log.j123 +log.r122: + %t345 = load ptr, ptr %sc_l_ext_0 + %t346 = call zeroext i1 @sc_streq_4005573543169985(ptr %t345) + store i1 %t346, ptr %s344 + br label %log.j123 +log.j123: + %t347 = load i1, ptr %s344 + br i1 %t347, label %if.t124, label %if.j125 +if.t124: + %t348 = load ptr, ptr %sc_l_this_0 + %t349 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t348, i64 0, i32 1 + %t350 = load ptr, ptr %t349, !tbaa !194 + %t351 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t350) + store ptr %t351, ptr %sc_l__x25_callbackReceiver_6 + %t352 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t354 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup128 +exc.k127: + store ptr %t354, ptr %sc_l__x25_callbackBag_6 + store i1 true, ptr %sc_l__x25_callbackPresent_6 + %t358 = load ptr, ptr %sc_l__x25_callbackBag_6 + %t359 = getelementptr inbounds i8, ptr %t358, i64 8 ; ->kind + %t360 = load i32, ptr %t359 + %t361 = icmp eq i32 %t360, 6 + br i1 %t361, label %tern.t129, label %tern.f130 +tern.t129: + %t364 = call ptr @scr_dyn_undefined() + %t363 = call ptr @scr_dyn_retain_v(ptr %t364) + store ptr %t363, ptr %s362 + br label %tern.j131 +tern.f130: + %t365 = load ptr, ptr %sc_l__x25_callbackBag_6 + %t366 = call ptr @sc_rc_retain_dyn(ptr %t365) + %t367 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t366) + %t368 = load i32, ptr %exc.cell + %t369 = icmp ne i32 %t368, 0 + %t370 = call i1 @llvm.expect.i1(i1 %t369, i1 false) + br i1 %t370, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t367) + br label %exc.cleanup134 +exc.k133: + store ptr %t367, ptr %s362 + br label %tern.j131 +tern.j131: + %t371 = load ptr, ptr %s362 + store ptr %t371, ptr %sc_l__x25_callback_6 + %t372 = load ptr, ptr %sc_l__x25_callback_6 + %t373 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + %t374 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t373, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t375 = load ptr, ptr %sc_l_rel_0 + %t376 = load ptr, ptr %sc_l_this_0 + %t377 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t376, i64 0, i32 4 + %t378 = load ptr, ptr %t377, !tbaa !200 + %t380 = getelementptr [3 x ptr], ptr %s379, i32 0, i32 0 + store ptr %t375, ptr %t380 + %t381 = getelementptr [3 x ptr], ptr %s379, i32 0, i32 1 + store ptr @sc_lit_2434240011052594, ptr %t381 + %t382 = getelementptr [3 x ptr], ptr %s379, i32 0, i32 2 + store ptr %t378, ptr %t382 + %t383 = call ptr @scr_str_concat_parts(ptr %s379, i64 3) + %t384 = call ptr @sc_td_0(ptr %t383) + %t386 = getelementptr inbounds [1 x ptr], ptr %s385, i64 0, i64 0 + store ptr %t384, ptr %t386 + call void @scr_dyn_this_push_dyn(ptr %t374) + %t387 = call ptr @scr_dyn_call(ptr %t372, ptr %s385, i64 1, ptr @sc_cs_1751115912570399) + call void @scr_dyn_this_pop() + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u135, label %exc.k136 +exc.u135: + call void @sc_rc_release_dyn(ptr %t374) + call void @scr_str_release(ptr %t383) + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup137 +exc.k136: + %t391 = call ptr @sc_dc_81(ptr %t387, ptr null) + %t392 = load i32, ptr %exc.cell + %t393 = icmp ne i32 %t392, 0 + %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false) + br i1 %t394, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t374) + call void @scr_str_release(ptr %t383) + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t387) + call void @sc_rrelease_r11(ptr %t391) + br label %exc.cleanup137 +exc.k139: + %t395 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t395) + store ptr %t391, ptr %sc_l_a_0 + call void @sc_rc_release_dyn(ptr %t374) + call void @scr_str_release(ptr %t383) + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t387) + %t396 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t396) + %t397 = load ptr, ptr %sc_l__x25_callback_6 + call void @sc_rc_release_dyn(ptr %t397) + %t398 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + call void @sc_release__x25_m6_AssetSource(ptr %t398) + br label %if.j125 +if.j125: + br label %if.j92 +if.j92: + %t399 = load ptr, ptr %sc_l_a_0 + %t401 = icmp eq ptr %t399, @sc_nullable_null + store i1 %t401, ptr %s402 + br i1 %t401, label %log.r140, label %log.j141 +log.r140: + %t403 = load ptr, ptr %sc_l_this_0 + %t404 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t403, i64 0, i32 2 + %t405 = load i8, ptr %t404, !tbaa !196 + %t406 = trunc i8 %t405 to i1 + store i1 %t406, ptr %s402 + br label %log.j141 +log.j141: + %t407 = load i1, ptr %s402 + store i1 %t407, ptr %s408 + br i1 %t407, label %log.r142, label %log.j143 +log.r142: + %t409 = load ptr, ptr %sc_l_ext_0 + %t410 = call zeroext i1 @sc_streq_4005573543169985(ptr %t409) + store i1 %t410, ptr %s408 + br label %log.j143 +log.j143: + %t411 = load i1, ptr %s408 + br i1 %t411, label %if.t144, label %if.j145 +if.t144: + %t412 = load ptr, ptr %sc_l_c_0 + %t413 = call ptr @sc_rc_retain_dyn(ptr %t412) + %t414 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t413) + %t415 = load i32, ptr %exc.cell + %t416 = icmp ne i32 %t415, 0 + %t417 = call i1 @llvm.expect.i1(i1 %t416, i1 false) + br i1 %t417, label %exc.u146, label %exc.k147 +exc.u146: + call void @sc_rc_release_dyn(ptr %t414) + br label %exc.cleanup148 +exc.k147: + store ptr %t414, ptr %sc_l__x25_dynCallReceiver_1 + %t418 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + %t419 = call ptr @sc_rc_retain_dyn(ptr %t418) + %t420 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t419) + %t421 = load i32, ptr %exc.cell + %t422 = icmp ne i32 %t421, 0 + %t423 = call i1 @llvm.expect.i1(i1 %t422, i1 false) + br i1 %t423, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t420) + br label %exc.cleanup151 +exc.k150: + store ptr %t420, ptr %sc_l__x25_dynCallCallee_1 + %t424 = load ptr, ptr %sc_l__x25_dynCallCallee_1 + %t425 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + %t426 = call ptr @sc_td_0(ptr @sc_lit_3397890422060549) + %t428 = getelementptr inbounds [1 x ptr], ptr %s427, i64 0, i64 0 + store ptr %t426, ptr %t428 + call void @scr_dyn_this_push_dyn(ptr %t425) + %t429 = call ptr @scr_dyn_call(ptr %t424, ptr %s427, i64 1, ptr @sc_cs_28105939436950) + call void @scr_dyn_this_pop() + %t430 = load i32, ptr %exc.cell + %t431 = icmp ne i32 %t430, 0 + %t432 = call i1 @llvm.expect.i1(i1 %t431, i1 false) + br i1 %t432, label %exc.u152, label %exc.k153 +exc.u152: + call void @sc_rc_release_dyn(ptr %t426) + call void @sc_rc_release_dyn(ptr %t429) + br label %exc.cleanup154 +exc.k153: + %t433 = call ptr @sc_dc_22(ptr %t429, ptr null) + %t434 = load i32, ptr %exc.cell + %t435 = icmp ne i32 %t434, 0 + %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false) + br i1 %t436, label %exc.u155, label %exc.k156 +exc.u155: + call void @sc_rc_release_dyn(ptr %t426) + call void @sc_rc_release_dyn(ptr %t429) + %t437 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + call void @sc_rc_release_dyn(ptr %t437) + %t438 = load ptr, ptr %sc_l__x25_dynCallCallee_1 + call void @sc_rc_release_dyn(ptr %t438) + call void @scr_str_release(ptr %t433) + br label %exc.cleanup148 +exc.k156: + store ptr %t433, ptr %sc_l_acc_0 + call void @sc_rc_release_dyn(ptr %t426) + call void @sc_rc_release_dyn(ptr %t429) + %t439 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + call void @sc_rc_release_dyn(ptr %t439) + %t440 = load ptr, ptr %sc_l__x25_dynCallCallee_1 + call void @sc_rc_release_dyn(ptr %t440) + %t441 = load ptr, ptr %sc_l_acc_0 + %t443 = icmp ne ptr %t441, null + store i1 %t443, ptr %s444 + br i1 %t443, label %log.r157, label %log.j158 +log.r157: + %t445 = load ptr, ptr %sc_l_acc_0 + %t446 = call double @scr_str_index_of(ptr %t445, ptr @sc_lit_3294648205618267, double 0x0000000000000000) + %t448 = fptosi double %t446 to i32 + %t449 = sext i32 %t448 to i64 + %t447 = icmp ne i64 %t449, -1 + store i1 %t447, ptr %s444 + br label %log.j158 +log.j158: + %t450 = load i1, ptr %s444 + br i1 %t450, label %if.t159, label %if.j160 +if.t159: + %t451 = load ptr, ptr %sc_l_this_0 + %t452 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t451, i64 0, i32 1 + %t453 = load ptr, ptr %t452, !tbaa !194 + %t454 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t453) + store ptr %t454, ptr %sc_l__x25_callbackReceiver_7 + %t455 = load ptr, ptr %sc_l__x25_callbackReceiver_7 + %t456 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t455, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t457 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t456) + %t458 = load i32, ptr %exc.cell + %t459 = icmp ne i32 %t458, 0 + %t460 = call i1 @llvm.expect.i1(i1 %t459, i1 false) + br i1 %t460, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t457) + br label %exc.cleanup163 +exc.k162: + store ptr %t457, ptr %sc_l__x25_callbackBag_7 + store i1 true, ptr %sc_l__x25_callbackPresent_7 + %t461 = load ptr, ptr %sc_l__x25_callbackBag_7 + %t462 = getelementptr inbounds i8, ptr %t461, i64 8 ; ->kind + %t463 = load i32, ptr %t462 + %t464 = icmp eq i32 %t463, 6 + br i1 %t464, label %tern.t164, label %tern.f165 +tern.t164: + %t467 = call ptr @scr_dyn_undefined() + %t466 = call ptr @scr_dyn_retain_v(ptr %t467) + store ptr %t466, ptr %s465 + br label %tern.j166 +tern.f165: + %t468 = load ptr, ptr %sc_l__x25_callbackBag_7 + %t469 = call ptr @sc_rc_retain_dyn(ptr %t468) + %t470 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t469) + %t471 = load i32, ptr %exc.cell + %t472 = icmp ne i32 %t471, 0 + %t473 = call i1 @llvm.expect.i1(i1 %t472, i1 false) + br i1 %t473, label %exc.u167, label %exc.k168 +exc.u167: + call void @sc_rc_release_dyn(ptr %t470) + br label %exc.cleanup169 +exc.k168: + store ptr %t470, ptr %s465 + br label %tern.j166 +tern.j166: + %t474 = load ptr, ptr %s465 + store ptr %t474, ptr %sc_l__x25_callback_7 + %t475 = load ptr, ptr %sc_l__x25_callback_7 + %t476 = load ptr, ptr %sc_l__x25_callbackReceiver_7 + %t477 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t476, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t478 = load ptr, ptr %sc_l_this_0 + %t479 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t478, i64 0, i32 4 + %t480 = load ptr, ptr %t479, !tbaa !200 + %t481 = call ptr @sc_rc_retain_str(ptr %t480) + %t482 = call ptr @sc_td_0(ptr %t481) + %t484 = getelementptr inbounds [1 x ptr], ptr %s483, i64 0, i64 0 + store ptr %t482, ptr %t484 + call void @scr_dyn_this_push_dyn(ptr %t477) + %t485 = call ptr @scr_dyn_call(ptr %t475, ptr %s483, i64 1, ptr @sc_cs_1751115912570399) + call void @scr_dyn_this_pop() + %t486 = load i32, ptr %exc.cell + %t487 = icmp ne i32 %t486, 0 + %t488 = call i1 @llvm.expect.i1(i1 %t487, i1 false) + br i1 %t488, label %exc.u170, label %exc.k171 +exc.u170: + call void @sc_rc_release_dyn(ptr %t477) + call void @scr_str_release(ptr %t481) + call void @sc_rc_release_dyn(ptr %t482) + call void @sc_rc_release_dyn(ptr %t485) + br label %exc.cleanup172 +exc.k171: + %t489 = call ptr @sc_dc_81(ptr %t485, ptr null) + %t490 = load i32, ptr %exc.cell + %t491 = icmp ne i32 %t490, 0 + %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false) + br i1 %t492, label %exc.u173, label %exc.k174 +exc.u173: + call void @sc_rc_release_dyn(ptr %t477) + call void @scr_str_release(ptr %t481) + call void @sc_rc_release_dyn(ptr %t482) + call void @sc_rc_release_dyn(ptr %t485) + call void @sc_rrelease_r11(ptr %t489) + br label %exc.cleanup172 +exc.k174: + %t493 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t493) + store ptr %t489, ptr %sc_l_a_0 + call void @sc_rc_release_dyn(ptr %t477) + call void @scr_str_release(ptr %t481) + call void @sc_rc_release_dyn(ptr %t482) + call void @sc_rc_release_dyn(ptr %t485) + %t494 = load ptr, ptr %sc_l__x25_callbackBag_7 + call void @sc_rc_release_dyn(ptr %t494) + %t495 = load ptr, ptr %sc_l__x25_callback_7 + call void @sc_rc_release_dyn(ptr %t495) + %t496 = load ptr, ptr %sc_l__x25_callbackReceiver_7 + call void @sc_release__x25_m6_AssetSource(ptr %t496) + br label %if.j160 +if.j160: + %t497 = load ptr, ptr %sc_l_acc_0 + call void @scr_str_release(ptr %t497) + br label %if.j145 +if.j145: + %t498 = load ptr, ptr %sc_l_a_0 + %t500 = icmp eq ptr %t498, @sc_nullable_null + br i1 %t500, label %if.t175, label %if.j176 +if.t175: + %t501 = load ptr, ptr %sc_l_c_0 + store ptr %t501, ptr %sc_l__x25_protocolReceiver_7 + %t502 = load ptr, ptr %sc_l__x25_protocolReceiver_7 + %t503 = call ptr @sc_rc_retain_dyn(ptr %t502) + %t504 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t503, i32 404, ptr @sc_lit_1113611553843547) + %t505 = load i32, ptr %exc.cell + %t506 = icmp ne i32 %t505, 0 + %t507 = call i1 @llvm.expect.i1(i1 %t506, i1 false) + br i1 %t507, label %exc.u177, label %exc.k178 +exc.u177: + call void @sc_release__x25_m5_CtxCore(ptr %t504) + br label %exc.cleanup148 +exc.k178: + store ptr %t504, ptr %sc_l__x25_callbackReceiver_8 + %t508 = load ptr, ptr %sc_l__x25_callbackReceiver_8 + %t509 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t508) + %t510 = load i32, ptr %exc.cell + %t511 = icmp ne i32 %t510, 0 + %t512 = call i1 @llvm.expect.i1(i1 %t511, i1 false) + br i1 %t512, label %exc.u179, label %exc.k180 +exc.u179: + call void @sc_rc_release_dyn(ptr %t509) + br label %exc.cleanup181 +exc.k180: + store ptr %t509, ptr %sc_l__x25_callbackBag_8 + store i1 true, ptr %sc_l__x25_callbackPresent_8 + %t513 = load ptr, ptr %sc_l__x25_callbackBag_8 + %t514 = getelementptr inbounds i8, ptr %t513, i64 8 ; ->kind + %t515 = load i32, ptr %t514 + %t516 = icmp eq i32 %t515, 6 + br i1 %t516, label %tern.t182, label %tern.f183 +tern.t182: + %t519 = call ptr @scr_dyn_undefined() + %t518 = call ptr @scr_dyn_retain_v(ptr %t519) + store ptr %t518, ptr %s517 + br label %tern.j184 +tern.f183: + %t520 = load ptr, ptr %sc_l__x25_callbackBag_8 + %t521 = call ptr @sc_rc_retain_dyn(ptr %t520) + %t522 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t521) + %t523 = load i32, ptr %exc.cell + %t524 = icmp ne i32 %t523, 0 + %t525 = call i1 @llvm.expect.i1(i1 %t524, i1 false) + br i1 %t525, label %exc.u185, label %exc.k186 +exc.u185: + call void @sc_rc_release_dyn(ptr %t522) + br label %exc.cleanup187 +exc.k186: + store ptr %t522, ptr %s517 + br label %tern.j184 +tern.j184: + %t526 = load ptr, ptr %s517 + store ptr %t526, ptr %sc_l__x25_callback_8 + %t527 = load ptr, ptr %sc_l__x25_callback_8 + %t528 = load ptr, ptr %sc_l__x25_callbackReceiver_8 + %t529 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t528, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t530 = call ptr @sc_td_0(ptr @sc_lit_1778054279894) + %t532 = getelementptr inbounds [1 x ptr], ptr %s531, i64 0, i64 0 + store ptr %t530, ptr %t532 + call void @scr_dyn_this_push_dyn(ptr %t529) + %t533 = call ptr @scr_dyn_call(ptr %t527, ptr %s531, i64 1, ptr @sc_cs_1776008808819361) + call void @scr_dyn_this_pop() + %t534 = load i32, ptr %exc.cell + %t535 = icmp ne i32 %t534, 0 + %t536 = call i1 @llvm.expect.i1(i1 %t535, i1 false) + br i1 %t536, label %exc.u188, label %exc.k189 +exc.u188: + call void @sc_rc_release_dyn(ptr %t529) + call void @sc_rc_release_dyn(ptr %t530) + call void @sc_rc_release_dyn(ptr %t533) + br label %exc.cleanup190 +exc.k189: + %t537 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t533) + %t538 = load i32, ptr %exc.cell + %t539 = icmp ne i32 %t538, 0 + %t540 = call i1 @llvm.expect.i1(i1 %t539, i1 false) + br i1 %t540, label %exc.u191, label %exc.k192 +exc.u191: + call void @sc_rc_release_dyn(ptr %t529) + call void @sc_rc_release_dyn(ptr %t530) + call void @sc_rc_release_dyn(ptr %t533) + call void @sc_release__x25_m5_CtxCore(ptr %t537) + br label %exc.cleanup190 +exc.k192: + call void @sc_rc_release_dyn(ptr %t529) + call void @sc_rc_release_dyn(ptr %t530) + call void @sc_rc_release_dyn(ptr %t533) + %t541 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t537, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @sc_release__x25_m5_CtxCore(ptr %t537) + %t542 = load ptr, ptr %sc_l__x25_callbackBag_8 + call void @sc_rc_release_dyn(ptr %t542) + %t543 = load ptr, ptr %sc_l__x25_callback_8 + call void @sc_rc_release_dyn(ptr %t543) + %t544 = load ptr, ptr %sc_l__x25_callbackReceiver_8 + call void @sc_release__x25_m5_CtxCore(ptr %t544) + %t545 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t545) + %t546 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t546) + %t547 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t547) + %t548 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t548) + ret ptr %t541 +if.j176: + %t549 = load ptr, ptr %sc_l_this_0 + store ptr %t549, ptr %sc_l__x25_callbackReceiver_9 + %t550 = load ptr, ptr %sc_l__x25_callbackReceiver_9 + %t551 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t550) + %t552 = load i32, ptr %exc.cell + %t553 = icmp ne i32 %t552, 0 + %t554 = call i1 @llvm.expect.i1(i1 %t553, i1 false) + br i1 %t554, label %exc.u193, label %exc.k194 +exc.u193: + call void @sc_rc_release_dyn(ptr %t551) + br label %exc.cleanup148 +exc.k194: + store ptr %t551, ptr %sc_l__x25_callbackBag_9 + store i1 true, ptr %sc_l__x25_callbackPresent_9 + %t555 = load ptr, ptr %sc_l__x25_callbackBag_9 + %t556 = getelementptr inbounds i8, ptr %t555, i64 8 ; ->kind + %t557 = load i32, ptr %t556 + %t558 = icmp eq i32 %t557, 6 + br i1 %t558, label %tern.t195, label %tern.f196 +tern.t195: + %t561 = call ptr @scr_dyn_undefined() + %t560 = call ptr @scr_dyn_retain_v(ptr %t561) + store ptr %t560, ptr %s559 + br label %tern.j197 +tern.f196: + %t562 = load ptr, ptr %sc_l__x25_callbackBag_9 + %t563 = call ptr @sc_rc_retain_dyn(ptr %t562) + %t564 = call ptr @sc_f__x25_dyn_class_property_34(ptr %t563) + %t565 = load i32, ptr %exc.cell + %t566 = icmp ne i32 %t565, 0 + %t567 = call i1 @llvm.expect.i1(i1 %t566, i1 false) + br i1 %t567, label %exc.u198, label %exc.k199 +exc.u198: + call void @sc_rc_release_dyn(ptr %t564) + br label %exc.cleanup200 +exc.k199: + store ptr %t564, ptr %s559 + br label %tern.j197 +tern.j197: + %t568 = load ptr, ptr %s559 + store ptr %t568, ptr %sc_l__x25_callback_9 + %t569 = load ptr, ptr %sc_l__x25_callback_9 + %t570 = load ptr, ptr %sc_l__x25_callbackReceiver_9 + %t571 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t570, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t572 = load ptr, ptr %sc_l_c_0 + %t573 = load ptr, ptr %sc_l_a_0 + %t574 = call ptr @sc_rretain_r11(ptr %t573) + %t575 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t574, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t575, ptr @sc_ldr_46_materialize_rops) + %t577 = getelementptr inbounds [2 x ptr], ptr %s576, i64 0, i64 0 + store ptr %t572, ptr %t577 + %t578 = getelementptr inbounds [2 x ptr], ptr %s576, i64 0, i64 1 + store ptr %t575, ptr %t578 + call void @scr_dyn_this_push_dyn(ptr %t571) + %t579 = call ptr @scr_dyn_call(ptr %t569, ptr %s576, i64 2, ptr @sc_cs_4063458104305799) + call void @scr_dyn_this_pop() + %t580 = load i32, ptr %exc.cell + %t581 = icmp ne i32 %t580, 0 + %t582 = call i1 @llvm.expect.i1(i1 %t581, i1 false) + br i1 %t582, label %exc.u201, label %exc.k202 +exc.u201: + call void @sc_rc_release_dyn(ptr %t571) + call void @sc_rrelease_r11(ptr %t574) + call void @sc_rc_release_dyn(ptr %t575) + call void @sc_rc_release_dyn(ptr %t579) + br label %exc.cleanup203 +exc.k202: + call void @sc_rc_release_dyn(ptr %t571) + call void @sc_rrelease_r11(ptr %t574) + call void @sc_rc_release_dyn(ptr %t575) + %t583 = load ptr, ptr %sc_l__x25_callbackBag_9 + call void @sc_rc_release_dyn(ptr %t583) + %t584 = load ptr, ptr %sc_l__x25_callback_9 + call void @sc_rc_release_dyn(ptr %t584) + %t585 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t585) + %t586 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t586) + %t587 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t587) + %t588 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t588) + ret ptr %t579 +exc.cleanup9: + %t589 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t589) + ret ptr null +exc.cleanup12: + %t590 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t590) + %t591 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t591) + ret ptr null +exc.cleanup25: + %t592 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_CtxCore(ptr %t592) + ret ptr null +exc.cleanup31: + %t593 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t593) + %t594 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_CtxCore(ptr %t594) + ret ptr null +exc.cleanup34: + %t595 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t595) + %t596 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t596) + %t597 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_CtxCore(ptr %t597) + ret ptr null +exc.cleanup41: + %t598 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + call void @sc_rc_release_dyn(ptr %t598) + ret ptr null +exc.cleanup44: + %t599 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + call void @sc_rc_release_dyn(ptr %t599) + %t600 = load ptr, ptr %sc_l__x25_dynCallCallee_0 + call void @sc_rc_release_dyn(ptr %t600) + ret ptr null +exc.cleanup54: + %t601 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t601) + %t602 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t602) + ret ptr null +exc.cleanup57: + %t603 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m5_CtxCore(ptr %t603) + %t604 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t604) + %t605 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t605) + ret ptr null +exc.cleanup63: + %t606 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t606) + %t607 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m5_CtxCore(ptr %t607) + %t608 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t608) + %t609 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t609) + ret ptr null +exc.cleanup66: + %t610 = load ptr, ptr %sc_l__x25_callbackBag_2 + call void @sc_rc_release_dyn(ptr %t610) + %t611 = load ptr, ptr %sc_l__x25_callback_2 + call void @sc_rc_release_dyn(ptr %t611) + %t612 = load ptr, ptr %sc_l__x25_callbackReceiver_2 + call void @sc_release__x25_m5_CtxCore(ptr %t612) + %t613 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t613) + %t614 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t614) + ret ptr null +exc.cleanup77: + %t615 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + call void @sc_release__x25_m5_CtxCore(ptr %t615) + %t616 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t616) + %t617 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t617) + ret ptr null +exc.cleanup83: + %t618 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t618) + %t619 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + call void @sc_release__x25_m5_CtxCore(ptr %t619) + %t620 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t620) + %t621 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t621) + ret ptr null +exc.cleanup86: + %t622 = load ptr, ptr %sc_l__x25_callbackBag_3 + call void @sc_rc_release_dyn(ptr %t622) + %t623 = load ptr, ptr %sc_l__x25_callback_3 + call void @sc_rc_release_dyn(ptr %t623) + %t624 = load ptr, ptr %sc_l__x25_callbackReceiver_3 + call void @sc_release__x25_m5_CtxCore(ptr %t624) + %t625 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t625) + %t626 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t626) + ret ptr null +exc.cleanup96: + %t627 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + call void @sc_release__x25_m6_AssetSource(ptr %t627) + %t628 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t628) + %t629 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t629) + %t630 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t630) + %t631 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t631) + ret ptr null +exc.cleanup102: + %t632 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t632) + %t633 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + call void @sc_release__x25_m6_AssetSource(ptr %t633) + %t634 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t634) + %t635 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t635) + %t636 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t636) + %t637 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t637) + ret ptr null +exc.cleanup105: + %t638 = load ptr, ptr %sc_l__x25_callbackBag_4 + call void @sc_rc_release_dyn(ptr %t638) + %t639 = load ptr, ptr %sc_l__x25_callback_4 + call void @sc_rc_release_dyn(ptr %t639) + %t640 = load ptr, ptr %sc_l__x25_callbackReceiver_4 + call void @sc_release__x25_m6_AssetSource(ptr %t640) + %t641 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t641) + %t642 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t642) + %t643 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t643) + %t644 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t644) + ret ptr null +exc.cleanup110: + %t645 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + call void @sc_release__x25_m6_AssetSource(ptr %t645) + %t646 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t646) + %t647 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t647) + %t648 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t648) + %t649 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t649) + ret ptr null +exc.cleanup116: + %t650 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t650) + %t651 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + call void @sc_release__x25_m6_AssetSource(ptr %t651) + %t652 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t652) + %t653 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t653) + %t654 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t654) + %t655 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t655) + ret ptr null +exc.cleanup119: + %t656 = load ptr, ptr %sc_l__x25_callbackBag_5 + call void @sc_rc_release_dyn(ptr %t656) + %t657 = load ptr, ptr %sc_l__x25_callback_5 + call void @sc_rc_release_dyn(ptr %t657) + %t658 = load ptr, ptr %sc_l__x25_callbackReceiver_5 + call void @sc_release__x25_m6_AssetSource(ptr %t658) + %t659 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t659) + %t660 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t660) + %t661 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t661) + %t662 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t662) + ret ptr null +exc.cleanup128: + %t663 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + call void @sc_release__x25_m6_AssetSource(ptr %t663) + %t664 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t664) + %t665 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t665) + %t666 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t666) + %t667 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t667) + ret ptr null +exc.cleanup134: + %t668 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t668) + %t669 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + call void @sc_release__x25_m6_AssetSource(ptr %t669) + %t670 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t670) + %t671 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t671) + %t672 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t672) + %t673 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t673) + ret ptr null +exc.cleanup137: + %t674 = load ptr, ptr %sc_l__x25_callbackBag_6 + call void @sc_rc_release_dyn(ptr %t674) + %t675 = load ptr, ptr %sc_l__x25_callback_6 + call void @sc_rc_release_dyn(ptr %t675) + %t676 = load ptr, ptr %sc_l__x25_callbackReceiver_6 + call void @sc_release__x25_m6_AssetSource(ptr %t676) + %t677 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t677) + %t678 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t678) + %t679 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t679) + %t680 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t680) + ret ptr null +exc.cleanup148: + %t681 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t681) + %t682 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t682) + %t683 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t683) + %t684 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t684) + ret ptr null +exc.cleanup151: + %t685 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + call void @sc_rc_release_dyn(ptr %t685) + %t686 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t686) + %t687 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t687) + %t688 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t688) + %t689 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t689) + ret ptr null +exc.cleanup154: + %t690 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + call void @sc_rc_release_dyn(ptr %t690) + %t691 = load ptr, ptr %sc_l__x25_dynCallCallee_1 + call void @sc_rc_release_dyn(ptr %t691) + %t692 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t692) + %t693 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t693) + %t694 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t694) + %t695 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t695) + ret ptr null +exc.cleanup163: + %t696 = load ptr, ptr %sc_l__x25_callbackReceiver_7 + call void @sc_release__x25_m6_AssetSource(ptr %t696) + %t697 = load ptr, ptr %sc_l_acc_0 + call void @scr_str_release(ptr %t697) + %t698 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t698) + %t699 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t699) + %t700 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t700) + %t701 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t701) + ret ptr null +exc.cleanup169: + %t702 = load ptr, ptr %sc_l__x25_callbackBag_7 + call void @sc_rc_release_dyn(ptr %t702) + %t703 = load ptr, ptr %sc_l__x25_callbackReceiver_7 + call void @sc_release__x25_m6_AssetSource(ptr %t703) + %t704 = load ptr, ptr %sc_l_acc_0 + call void @scr_str_release(ptr %t704) + %t705 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t705) + %t706 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t706) + %t707 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t707) + %t708 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t708) + ret ptr null +exc.cleanup172: + %t709 = load ptr, ptr %sc_l__x25_callbackBag_7 + call void @sc_rc_release_dyn(ptr %t709) + %t710 = load ptr, ptr %sc_l__x25_callback_7 + call void @sc_rc_release_dyn(ptr %t710) + %t711 = load ptr, ptr %sc_l__x25_callbackReceiver_7 + call void @sc_release__x25_m6_AssetSource(ptr %t711) + %t712 = load ptr, ptr %sc_l_acc_0 + call void @scr_str_release(ptr %t712) + %t713 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t713) + %t714 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t714) + %t715 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t715) + %t716 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t716) + ret ptr null +exc.cleanup181: + %t717 = load ptr, ptr %sc_l__x25_callbackReceiver_8 + call void @sc_release__x25_m5_CtxCore(ptr %t717) + %t718 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t718) + %t719 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t719) + %t720 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t720) + %t721 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t721) + ret ptr null +exc.cleanup187: + %t722 = load ptr, ptr %sc_l__x25_callbackBag_8 + call void @sc_rc_release_dyn(ptr %t722) + %t723 = load ptr, ptr %sc_l__x25_callbackReceiver_8 + call void @sc_release__x25_m5_CtxCore(ptr %t723) + %t724 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t724) + %t725 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t725) + %t726 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t726) + %t727 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t727) + ret ptr null +exc.cleanup190: + %t728 = load ptr, ptr %sc_l__x25_callbackBag_8 + call void @sc_rc_release_dyn(ptr %t728) + %t729 = load ptr, ptr %sc_l__x25_callback_8 + call void @sc_rc_release_dyn(ptr %t729) + %t730 = load ptr, ptr %sc_l__x25_callbackReceiver_8 + call void @sc_release__x25_m5_CtxCore(ptr %t730) + %t731 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t731) + %t732 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t732) + %t733 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t733) + %t734 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t734) + ret ptr null +exc.cleanup200: + %t735 = load ptr, ptr %sc_l__x25_callbackBag_9 + call void @sc_rc_release_dyn(ptr %t735) + %t736 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t736) + %t737 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t737) + %t738 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t738) + %t739 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t739) + ret ptr null +exc.cleanup203: + %t740 = load ptr, ptr %sc_l__x25_callbackBag_9 + call void @sc_rc_release_dyn(ptr %t740) + %t741 = load ptr, ptr %sc_l__x25_callback_9 + call void @sc_rc_release_dyn(ptr %t741) + %t742 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t742) + %t743 = load ptr, ptr %sc_l_rel_0 + call void @scr_str_release(ptr %t743) + %t744 = load ptr, ptr %sc_l_ext_0 + call void @scr_str_release(ptr %t744) + %t745 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r11(ptr %t745) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m11_StaticServer_handle(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m11_StaticServer_handle(ptr %p0, ptr %p1) + call void @sc_release__x25_m11_StaticServer(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m11_StaticServer_send(ptr %p_sc_l_this_0, ptr %p_sc_l_c_0, ptr %p_sc_l_a_0) #0 { ; %%m11.StaticServer.send +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_c_0 = alloca ptr ; c + %sc_l_a_0 = alloca ptr ; a + %sc_l_body_0 = alloca ptr ; body + %sc_l_etag_0 = alloca ptr ; etag + %sc_l__x25_protocolReceiver_0 = alloca ptr ; %protocolReceiver + %sc_l__x25_dynCallReceiver_0 = alloca ptr ; %dynCallReceiver + %sc_l__x25_dynCallCallee_0 = alloca ptr ; %dynCallCallee + %sc_l_ae_0 = alloca ptr ; ae + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_v_0 = alloca ptr ; v + %sc_l__x25_protocolReceiver_1 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolCallee_0 = alloca ptr ; %protocolCallee + %sc_l_tag_0 = alloca ptr ; tag + %sc_l__x25_protocolReceiver_2 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolReceiver_3 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolReceiver_4 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolReceiver_5 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolCallee_1 = alloca ptr ; %protocolCallee + %sc_l__x25_protocolReceiver_6 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolCallee_2 = alloca ptr ; %protocolCallee + %sc_l__x25_dynCallReceiver_1 = alloca ptr ; %dynCallReceiver + %sc_l__x25_dynCallCallee_1 = alloca ptr ; %dynCallCallee + %sc_l_inm_0 = alloca ptr ; inm + %sc_l__x25_protocolReceiver_7 = alloca ptr ; %protocolReceiver + %sc_l_rs_0 = alloca ptr ; rs + %sc_l__x25_protocolReceiver_8 = alloca ptr ; %protocolReceiver + %sc_l__x25_protocolCallee_3 = alloca ptr ; %protocolCallee + %s7 = alloca ptr + %s16 = alloca ptr + %s25 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s57 = alloca [1 x ptr] + %s84 = alloca ptr + %s101 = alloca [2 x ptr] + %s122 = alloca ptr + %s127 = alloca ptr + %s139 = alloca ptr + %s144 = alloca ptr + %s166 = alloca ptr + %s171 = alloca ptr + %s185 = alloca [3 x ptr] + %s201 = alloca ptr + %s248 = alloca ptr + %s291 = alloca [1 x ptr] + %s308 = alloca i1 + %s365 = alloca ptr + store ptr null, ptr %sc_l_body_0 + store ptr null, ptr %sc_l_etag_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_0 + store ptr null, ptr %sc_l__x25_dynCallReceiver_0 + store ptr null, ptr %sc_l__x25_dynCallCallee_0 + store ptr null, ptr %sc_l_ae_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_v_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_1 + store ptr null, ptr %sc_l__x25_protocolCallee_0 + store ptr null, ptr %sc_l_tag_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_2 + store ptr null, ptr %sc_l__x25_protocolReceiver_3 + store ptr null, ptr %sc_l__x25_protocolReceiver_4 + store ptr null, ptr %sc_l__x25_protocolReceiver_5 + store ptr null, ptr %sc_l__x25_protocolCallee_1 + store ptr null, ptr %sc_l__x25_protocolReceiver_6 + store ptr null, ptr %sc_l__x25_protocolCallee_2 + store ptr null, ptr %sc_l__x25_dynCallReceiver_1 + store ptr null, ptr %sc_l__x25_dynCallCallee_1 + store ptr null, ptr %sc_l_inm_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_7 + store ptr null, ptr %sc_l_rs_0 + store ptr null, ptr %sc_l__x25_protocolReceiver_8 + store ptr null, ptr %sc_l__x25_protocolCallee_3 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_a_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %read.then2, label %read.else3 +read.then2: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4492336914082182) + ret ptr null +exc.dead5: + store ptr null, ptr %s7 + br label %read.join4 +read.else3: + %t8 = load ptr, ptr %sc_l_a_0 + store ptr %t8, ptr %s7 + br label %read.join4 +read.join4: + %t9 = load ptr, ptr %s7 + %t10 = getelementptr inbounds %sc_rs_r11, ptr %t9, i64 0, i32 1 + %t11 = load ptr, ptr %t10 + %t12 = call ptr @scr_bytes_retain_v(ptr %t11) + store ptr %t12, ptr %sc_l_body_0 + %t13 = load ptr, ptr %sc_l_a_0 + %t15 = icmp eq ptr %t13, null + br i1 %t15, label %read.then6, label %read.else7 +read.then6: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3442096346492231) + br label %exc.cleanup9 +exc.dead10: + store ptr null, ptr %s16 + br label %read.join8 +read.else7: + %t17 = load ptr, ptr %sc_l_a_0 + store ptr %t17, ptr %s16 + br label %read.join8 +read.join8: + %t18 = load ptr, ptr %s16 + %t19 = getelementptr inbounds %sc_rs_r11, ptr %t18, i64 0, i32 3 + %t20 = load ptr, ptr %t19 + %t21 = call ptr @sc_rc_retain_str(ptr %t20) + store ptr %t21, ptr %sc_l_etag_0 + %t22 = load ptr, ptr %sc_l_a_0 + %t24 = icmp eq ptr %t22, null + br i1 %t24, label %read.then11, label %read.else12 +read.then11: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4362671655600605) + br label %exc.cleanup14 +exc.dead15: + store ptr null, ptr %s25 + br label %read.join13 +read.else12: + %t26 = load ptr, ptr %sc_l_a_0 + store ptr %t26, ptr %s25 + br label %read.join13 +read.join13: + %t27 = load ptr, ptr %s25 + %t28 = getelementptr inbounds %sc_rs_r11, ptr %t27, i64 0, i32 2 + %t29 = load ptr, ptr %t28 + %t30 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 1 + %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296} + %t32 = sitofp i64 %t31 to double + %t34 = fptosi double %t32 to i64 + %t33 = icmp sgt i64 %t34, 0 + br i1 %t33, label %if.t16, label %if.j17 +if.t16: + %t35 = load ptr, ptr %sc_l_c_0 + store ptr %t35, ptr %sc_l__x25_protocolReceiver_0 + %t36 = load ptr, ptr %sc_l__x25_protocolReceiver_0 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %t37, ptr @sc_lit_2518473127799707, ptr @sc_lit_978543277017983, ptr @sc_lit_1338885626691992) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_release__x25_m5_CtxCore(ptr %t38) + br label %exc.cleanup14 +exc.k19: + call void @sc_release__x25_m5_CtxCore(ptr %t38) + %t42 = load ptr, ptr %sc_l_c_0 + %t43 = call ptr @sc_rc_retain_dyn(ptr %t42) + %t44 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t43) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t44) + br label %exc.cleanup14 +exc.k21: + store ptr %t44, ptr %sc_l__x25_dynCallReceiver_0 + %t48 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t50 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t49) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t50) + br label %exc.cleanup24 +exc.k23: + store ptr %t50, ptr %sc_l__x25_dynCallCallee_0 + %t54 = load ptr, ptr %sc_l__x25_dynCallCallee_0 + %t55 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + %t56 = call ptr @sc_td_0(ptr @sc_lit_978543277017983) + %t58 = getelementptr inbounds [1 x ptr], ptr %s57, i64 0, i64 0 + store ptr %t56, ptr %t58 + call void @scr_dyn_this_push_dyn(ptr %t55) + %t59 = call ptr @scr_dyn_call(ptr %t54, ptr %s57, i64 1, ptr @sc_cs_28105939436950) + call void @scr_dyn_this_pop() + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u25, label %exc.k26 +exc.u25: + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_rc_release_dyn(ptr %t59) + br label %exc.cleanup27 +exc.k26: + %t63 = call ptr @sc_dc_22(ptr %t59, ptr null) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_rc_release_dyn(ptr %t59) + %t67 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + call void @sc_rc_release_dyn(ptr %t67) + %t68 = load ptr, ptr %sc_l__x25_dynCallCallee_0 + call void @sc_rc_release_dyn(ptr %t68) + call void @scr_str_release(ptr %t63) + br label %exc.cleanup14 +exc.k29: + store ptr %t63, ptr %sc_l_ae_0 + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_rc_release_dyn(ptr %t59) + %t69 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + call void @sc_rc_release_dyn(ptr %t69) + %t70 = load ptr, ptr %sc_l__x25_dynCallCallee_0 + call void @sc_rc_release_dyn(ptr %t70) + %t71 = load ptr, ptr %sc_l_ae_0 + %t73 = icmp ne ptr %t71, null + br i1 %t73, label %if.t30, label %if.j31 +if.t30: + %t74 = load ptr, ptr %sc_l_this_0 + store ptr %t74, ptr %sc_l__x25_callbackReceiver_0 + %t75 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t76 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t75) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t76) + br label %exc.cleanup34 +exc.k33: + store ptr %t76, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t80 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t81 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind + %t82 = load i32, ptr %t81 + %t83 = icmp eq i32 %t82, 6 + br i1 %t83, label %tern.t35, label %tern.f36 +tern.t35: + %t86 = call ptr @scr_dyn_undefined() + %t85 = call ptr @scr_dyn_retain_v(ptr %t86) + store ptr %t85, ptr %s84 + br label %tern.j37 +tern.f36: + %t87 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t88 = call ptr @sc_rc_retain_dyn(ptr %t87) + %t89 = call ptr @sc_f__x25_dyn_class_property_35(ptr %t88) + %t90 = load i32, ptr %exc.cell + %t91 = icmp ne i32 %t90, 0 + %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false) + br i1 %t92, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t89) + br label %exc.cleanup40 +exc.k39: + store ptr %t89, ptr %s84 + br label %tern.j37 +tern.j37: + %t93 = load ptr, ptr %s84 + store ptr %t93, ptr %sc_l__x25_callback_0 + %t94 = load ptr, ptr %sc_l__x25_callback_0 + %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t97 = load ptr, ptr %sc_l_a_0 + %t98 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t97, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t98, ptr @sc_ldr_46_materialize_rops) + %t99 = load ptr, ptr %sc_l_ae_0 + %t100 = call ptr @sc_td_0(ptr %t99) + %t102 = getelementptr inbounds [2 x ptr], ptr %s101, i64 0, i64 0 + store ptr %t98, ptr %t102 + %t103 = getelementptr inbounds [2 x ptr], ptr %s101, i64 0, i64 1 + store ptr %t100, ptr %t103 + call void @scr_dyn_this_push_dyn(ptr %t96) + %t104 = call ptr @scr_dyn_call(ptr %t94, ptr %s101, i64 2, ptr @sc_cs_857144462468593) + call void @scr_dyn_this_pop() + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u41, label %exc.k42 +exc.u41: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t98) + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t104) + br label %exc.cleanup43 +exc.k42: + %t108 = call ptr @sc_dc_82(ptr %t104, ptr null) + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t98) + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t104) + call void @sc_rrelease_r10(ptr %t108) + br label %exc.cleanup43 +exc.k45: + store ptr %t108, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t98) + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t104) + %t112 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t112) + %t113 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t113) + %t114 = load ptr, ptr %sc_l_v_0 + %t116 = icmp ne ptr %t114, @sc_nullable_null + br i1 %t116, label %if.t46, label %if.j47 +if.t46: + %t117 = load ptr, ptr %sc_l_v_0 + %t119 = icmp ne ptr %t117, null + %t120 = icmp ne ptr %t117, @sc_nullable_null + %t121 = and i1 %t119, %t120 + br i1 %t121, label %read.then48, label %read.else49 +read.then48: + %t123 = load ptr, ptr %sc_l_v_0 + store ptr %t123, ptr %s122 + br label %read.join50 +read.else49: + %t124 = load ptr, ptr %sc_l_v_0 + %t126 = icmp eq ptr %t124, @sc_nullable_null + br i1 %t126, label %read.then51, label %read.else52 +read.then51: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518) + br label %exc.cleanup54 +exc.dead55: + store ptr null, ptr %s127 + br label %read.join53 +read.else52: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup54 +exc.dead56: + store ptr null, ptr %s127 + br label %read.join53 +read.join53: + %t128 = load ptr, ptr %s127 + store ptr %t128, ptr %s122 + br label %read.join50 +read.join50: + %t129 = load ptr, ptr %s122 + %t130 = getelementptr inbounds %sc_rs_r10, ptr %t129, i64 0, i32 1 + %t131 = load ptr, ptr %t130 + %t132 = call ptr @scr_bytes_retain_v(ptr %t131) + %t133 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t133) + store ptr %t132, ptr %sc_l_body_0 + %t134 = load ptr, ptr %sc_l_v_0 + %t136 = icmp ne ptr %t134, null + %t137 = icmp ne ptr %t134, @sc_nullable_null + %t138 = and i1 %t136, %t137 + br i1 %t138, label %read.then57, label %read.else58 +read.then57: + %t140 = load ptr, ptr %sc_l_v_0 + store ptr %t140, ptr %s139 + br label %read.join59 +read.else58: + %t141 = load ptr, ptr %sc_l_v_0 + %t143 = icmp eq ptr %t141, @sc_nullable_null + br i1 %t143, label %read.then60, label %read.else61 +read.then60: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518) + br label %exc.cleanup54 +exc.dead63: + store ptr null, ptr %s144 + br label %read.join62 +read.else61: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup54 +exc.dead64: + store ptr null, ptr %s144 + br label %read.join62 +read.join62: + %t145 = load ptr, ptr %s144 + store ptr %t145, ptr %s139 + br label %read.join59 +read.join59: + %t146 = load ptr, ptr %s139 + %t147 = getelementptr inbounds %sc_rs_r10, ptr %t146, i64 0, i32 3 + %t148 = load ptr, ptr %t147 + %t149 = call ptr @sc_rc_retain_str(ptr %t148) + %t150 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t150) + store ptr %t149, ptr %sc_l_etag_0 + %t151 = load ptr, ptr %sc_l_c_0 + store ptr %t151, ptr %sc_l__x25_protocolReceiver_1 + %t152 = load ptr, ptr %sc_l__x25_protocolReceiver_1 + %t153 = call ptr @sc_rc_retain_dyn(ptr %t152) + %t154 = call ptr @sc_f__x25_dyn_class_protocol_callee_5(ptr %t153) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u65, label %exc.k66 +exc.u65: + call void @sc_rc_release_dyn(ptr %t154) + br label %exc.cleanup54 +exc.k66: + store ptr %t154, ptr %sc_l__x25_protocolCallee_0 + %t158 = load ptr, ptr %sc_l__x25_protocolReceiver_1 + %t159 = call ptr @sc_rc_retain_dyn(ptr %t158) + %t160 = load ptr, ptr %sc_l__x25_protocolCallee_0 + %t161 = load ptr, ptr %sc_l_v_0 + %t163 = icmp ne ptr %t161, null + %t164 = icmp ne ptr %t161, @sc_nullable_null + %t165 = and i1 %t163, %t164 + br i1 %t165, label %read.then67, label %read.else68 +read.then67: + %t167 = load ptr, ptr %sc_l_v_0 + store ptr %t167, ptr %s166 + br label %read.join69 +read.else68: + %t168 = load ptr, ptr %sc_l_v_0 + %t170 = icmp eq ptr %t168, @sc_nullable_null + br i1 %t170, label %read.then70, label %read.else71 +read.then70: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518) + call void @sc_rc_release_dyn(ptr %t159) + br label %exc.cleanup73 +exc.dead74: + store ptr null, ptr %s171 + br label %read.join72 +read.else71: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + call void @sc_rc_release_dyn(ptr %t159) + br label %exc.cleanup73 +exc.dead75: + store ptr null, ptr %s171 + br label %read.join72 +read.join72: + %t172 = load ptr, ptr %s171 + store ptr %t172, ptr %s166 + br label %read.join69 +read.join69: + %t173 = load ptr, ptr %s166 + %t174 = getelementptr inbounds %sc_rs_r10, ptr %t173, i64 0, i32 2 + %t175 = load ptr, ptr %t174 + %t176 = call ptr @sc_rc_retain_str(ptr %t175) + %t177 = call ptr @sc_bf__x25_dyn_class_protocol_5(ptr %t159, ptr %t160, ptr @sc_lit_1574667939558669, ptr %t176, ptr @sc_lit_1338885626691992) + %t178 = load i32, ptr %exc.cell + %t179 = icmp ne i32 %t178, 0 + %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false) + br i1 %t180, label %exc.u76, label %exc.k77 +exc.u76: + call void @scr_str_release(ptr %t176) + call void @sc_release__x25_m5_CtxCore(ptr %t177) + br label %exc.cleanup73 +exc.k77: + call void @scr_str_release(ptr %t176) + call void @sc_release__x25_m5_CtxCore(ptr %t177) + %t181 = load ptr, ptr %sc_l__x25_protocolCallee_0 + call void @sc_rc_release_dyn(ptr %t181) + br label %if.j47 +if.j47: + %t182 = load ptr, ptr %sc_l_v_0 + call void @sc_rrelease_r10(ptr %t182) + br label %if.j31 +if.j31: + %t183 = load ptr, ptr %sc_l_ae_0 + call void @scr_str_release(ptr %t183) + br label %if.j17 +if.j17: + %t184 = load ptr, ptr %sc_l_etag_0 + %t186 = getelementptr [3 x ptr], ptr %s185, i32 0, i32 0 + store ptr @sc_lit_2431234921623602, ptr %t186 + %t187 = getelementptr [3 x ptr], ptr %s185, i32 0, i32 1 + store ptr %t184, ptr %t187 + %t188 = getelementptr [3 x ptr], ptr %s185, i32 0, i32 2 + store ptr @sc_lit_2431234921623602, ptr %t188 + %t189 = call ptr @scr_str_concat_parts(ptr %s185, i64 3) + store ptr %t189, ptr %sc_l_tag_0 + %t190 = load ptr, ptr %sc_l_c_0 + store ptr %t190, ptr %sc_l__x25_protocolReceiver_2 + %t191 = load ptr, ptr %sc_l__x25_protocolReceiver_2 + %t192 = call ptr @sc_rc_retain_dyn(ptr %t191) + %t193 = load ptr, ptr %sc_l_tag_0 + %t194 = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %t192, ptr @sc_lit_4445240590403708, ptr %t193, ptr @sc_lit_1338885626691992) + %t195 = load i32, ptr %exc.cell + %t196 = icmp ne i32 %t195, 0 + %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false) + br i1 %t197, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_release__x25_m5_CtxCore(ptr %t194) + br label %exc.cleanup80 +exc.k79: + call void @sc_release__x25_m5_CtxCore(ptr %t194) + %t198 = load ptr, ptr %sc_l_a_0 + %t200 = icmp eq ptr %t198, null + br i1 %t200, label %read.then81, label %read.else82 +read.then81: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_353569185054010) + br label %exc.cleanup80 +exc.dead84: + store ptr null, ptr %s201 + br label %read.join83 +read.else82: + %t202 = load ptr, ptr %sc_l_a_0 + store ptr %t202, ptr %s201 + br label %read.join83 +read.join83: + %t203 = load ptr, ptr %s201 + %t204 = getelementptr inbounds %sc_rs_r11, ptr %t203, i64 0, i32 4 + %t205 = load i8, ptr %t204 + %t206 = trunc i8 %t205 to i1 + br i1 %t206, label %if.t85, label %if.f87 +if.t85: + %t207 = load ptr, ptr %sc_l_c_0 + store ptr %t207, ptr %sc_l__x25_protocolReceiver_3 + %t208 = load ptr, ptr %sc_l__x25_protocolReceiver_3 + %t209 = call ptr @sc_rc_retain_dyn(ptr %t208) + %t210 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC + %t211 = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %t209, ptr @sc_lit_2035483511006422, ptr %t210, ptr @sc_lit_1338885626691992) + %t212 = load i32, ptr %exc.cell + %t213 = icmp ne i32 %t212, 0 + %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false) + br i1 %t214, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_release__x25_m5_CtxCore(ptr %t211) + br label %exc.cleanup80 +exc.k89: + call void @sc_release__x25_m5_CtxCore(ptr %t211) + br label %if.j86 +if.f87: + %t215 = load ptr, ptr %sc_l_a_0 + %t216 = getelementptr inbounds %sc_rs_r11, ptr %t215, i64 0, i32 7 + %t217 = load ptr, ptr %t216 + %t218 = call i1 @scr_str_starts_with(ptr %t217, ptr @sc_lit_3294648205618267) + br i1 %t218, label %if.t90, label %if.f92 +if.t90: + %t219 = load ptr, ptr %sc_l_c_0 + store ptr %t219, ptr %sc_l__x25_protocolReceiver_4 + %t220 = load ptr, ptr %sc_l__x25_protocolReceiver_4 + %t221 = call ptr @sc_rc_retain_dyn(ptr %t220) + %t222 = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %t221, ptr @sc_lit_2035483511006422, ptr @sc_lit_2351619124253283, ptr @sc_lit_1338885626691992) + %t223 = load i32, ptr %exc.cell + %t224 = icmp ne i32 %t223, 0 + %t225 = call i1 @llvm.expect.i1(i1 %t224, i1 false) + br i1 %t225, label %exc.u93, label %exc.k94 +exc.u93: + call void @sc_release__x25_m5_CtxCore(ptr %t222) + br label %exc.cleanup80 +exc.k94: + call void @sc_release__x25_m5_CtxCore(ptr %t222) + br label %if.j91 +if.f92: + %t226 = load ptr, ptr %sc_l_c_0 + store ptr %t226, ptr %sc_l__x25_protocolReceiver_5 + %t227 = load ptr, ptr %sc_l__x25_protocolReceiver_5 + %t228 = call ptr @sc_rc_retain_dyn(ptr %t227) + %t229 = call ptr @sc_f__x25_dyn_class_protocol_callee_5(ptr %t228) + %t230 = load i32, ptr %exc.cell + %t231 = icmp ne i32 %t230, 0 + %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false) + br i1 %t232, label %exc.u95, label %exc.k96 +exc.u95: + call void @sc_rc_release_dyn(ptr %t229) + br label %exc.cleanup80 +exc.k96: + store ptr %t229, ptr %sc_l__x25_protocolCallee_1 + %t233 = load ptr, ptr %sc_l__x25_protocolReceiver_5 + %t234 = call ptr @sc_rc_retain_dyn(ptr %t233) + %t235 = load ptr, ptr %sc_l__x25_protocolCallee_1 + %t236 = load ptr, ptr %sc_l_this_0 + %t237 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t236, i64 0, i32 5 + %t238 = load ptr, ptr %t237, !tbaa !202 + %t239 = call ptr @sc_rc_retain_str(ptr %t238) + %t240 = call ptr @sc_bf__x25_dyn_class_protocol_5(ptr %t234, ptr %t235, ptr @sc_lit_2035483511006422, ptr %t239, ptr @sc_lit_1338885626691992) + %t241 = load i32, ptr %exc.cell + %t242 = icmp ne i32 %t241, 0 + %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false) + br i1 %t243, label %exc.u97, label %exc.k98 +exc.u97: + call void @scr_str_release(ptr %t239) + call void @sc_release__x25_m5_CtxCore(ptr %t240) + br label %exc.cleanup99 +exc.k98: + call void @scr_str_release(ptr %t239) + call void @sc_release__x25_m5_CtxCore(ptr %t240) + %t244 = load ptr, ptr %sc_l__x25_protocolCallee_1 + call void @sc_rc_release_dyn(ptr %t244) + br label %if.j91 +if.j91: + br label %if.j86 +if.j86: + %t245 = load ptr, ptr %sc_l_a_0 + %t247 = icmp eq ptr %t245, null + br i1 %t247, label %read.then100, label %read.else101 +read.then100: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2826121043263175) + br label %exc.cleanup80 +exc.dead103: + store ptr null, ptr %s248 + br label %read.join102 +read.else101: + %t249 = load ptr, ptr %sc_l_a_0 + store ptr %t249, ptr %s248 + br label %read.join102 +read.join102: + %t250 = load ptr, ptr %s248 + %t251 = getelementptr inbounds %sc_rs_r11, ptr %t250, i64 0, i32 5 + %t252 = load double, ptr %t251 + %t253 = fcmp ogt double %t252, 0x0000000000000000 + br i1 %t253, label %if.t104, label %if.j105 +if.t104: + %t254 = load ptr, ptr %sc_l_c_0 + store ptr %t254, ptr %sc_l__x25_protocolReceiver_6 + %t255 = load ptr, ptr %sc_l__x25_protocolReceiver_6 + %t256 = call ptr @sc_rc_retain_dyn(ptr %t255) + %t257 = call ptr @sc_f__x25_dyn_class_protocol_callee_5(ptr %t256) + %t258 = load i32, ptr %exc.cell + %t259 = icmp ne i32 %t258, 0 + %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false) + br i1 %t260, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t257) + br label %exc.cleanup80 +exc.k107: + store ptr %t257, ptr %sc_l__x25_protocolCallee_2 + %t261 = load ptr, ptr %sc_l__x25_protocolReceiver_6 + %t262 = call ptr @sc_rc_retain_dyn(ptr %t261) + %t263 = load ptr, ptr %sc_l__x25_protocolCallee_2 + %t264 = load ptr, ptr %sc_l_a_0 + %t265 = getelementptr inbounds %sc_rs_r11, ptr %t264, i64 0, i32 5 + %t266 = load double, ptr %t265 + %t267 = call ptr @sc_f__x25_m10_httpDate(double %t266) + %t268 = load i32, ptr %exc.cell + %t269 = icmp ne i32 %t268, 0 + %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false) + br i1 %t270, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t262) + call void @scr_str_release(ptr %t267) + br label %exc.cleanup110 +exc.k109: + %t271 = call ptr @sc_bf__x25_dyn_class_protocol_5(ptr %t262, ptr %t263, ptr @sc_lit_2740571518511302, ptr %t267, ptr @sc_lit_1338885626691992) + %t272 = load i32, ptr %exc.cell + %t273 = icmp ne i32 %t272, 0 + %t274 = call i1 @llvm.expect.i1(i1 %t273, i1 false) + br i1 %t274, label %exc.u111, label %exc.k112 +exc.u111: + call void @scr_str_release(ptr %t267) + call void @sc_release__x25_m5_CtxCore(ptr %t271) + br label %exc.cleanup110 +exc.k112: + call void @scr_str_release(ptr %t267) + call void @sc_release__x25_m5_CtxCore(ptr %t271) + %t275 = load ptr, ptr %sc_l__x25_protocolCallee_2 + call void @sc_rc_release_dyn(ptr %t275) + br label %if.j105 +if.j105: + %t276 = load ptr, ptr %sc_l_c_0 + %t277 = call ptr @sc_rc_retain_dyn(ptr %t276) + %t278 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t277) + %t279 = load i32, ptr %exc.cell + %t280 = icmp ne i32 %t279, 0 + %t281 = call i1 @llvm.expect.i1(i1 %t280, i1 false) + br i1 %t281, label %exc.u113, label %exc.k114 +exc.u113: + call void @sc_rc_release_dyn(ptr %t278) + br label %exc.cleanup80 +exc.k114: + store ptr %t278, ptr %sc_l__x25_dynCallReceiver_1 + %t282 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + %t283 = call ptr @sc_rc_retain_dyn(ptr %t282) + %t284 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t283) + %t285 = load i32, ptr %exc.cell + %t286 = icmp ne i32 %t285, 0 + %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false) + br i1 %t287, label %exc.u115, label %exc.k116 +exc.u115: + call void @sc_rc_release_dyn(ptr %t284) + br label %exc.cleanup117 +exc.k116: + store ptr %t284, ptr %sc_l__x25_dynCallCallee_1 + %t288 = load ptr, ptr %sc_l__x25_dynCallCallee_1 + %t289 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + %t290 = call ptr @sc_td_0(ptr @sc_lit_2869691414151891) + %t292 = getelementptr inbounds [1 x ptr], ptr %s291, i64 0, i64 0 + store ptr %t290, ptr %t292 + call void @scr_dyn_this_push_dyn(ptr %t289) + %t293 = call ptr @scr_dyn_call(ptr %t288, ptr %s291, i64 1, ptr @sc_cs_28105939436950) + call void @scr_dyn_this_pop() + %t294 = load i32, ptr %exc.cell + %t295 = icmp ne i32 %t294, 0 + %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false) + br i1 %t296, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t290) + call void @sc_rc_release_dyn(ptr %t293) + br label %exc.cleanup120 +exc.k119: + %t297 = call ptr @sc_dc_22(ptr %t293, ptr null) + %t298 = load i32, ptr %exc.cell + %t299 = icmp ne i32 %t298, 0 + %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false) + br i1 %t300, label %exc.u121, label %exc.k122 +exc.u121: + call void @sc_rc_release_dyn(ptr %t290) + call void @sc_rc_release_dyn(ptr %t293) + %t301 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + call void @sc_rc_release_dyn(ptr %t301) + %t302 = load ptr, ptr %sc_l__x25_dynCallCallee_1 + call void @sc_rc_release_dyn(ptr %t302) + call void @scr_str_release(ptr %t297) + br label %exc.cleanup80 +exc.k122: + store ptr %t297, ptr %sc_l_inm_0 + call void @sc_rc_release_dyn(ptr %t290) + call void @sc_rc_release_dyn(ptr %t293) + %t303 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + call void @sc_rc_release_dyn(ptr %t303) + %t304 = load ptr, ptr %sc_l__x25_dynCallCallee_1 + call void @sc_rc_release_dyn(ptr %t304) + %t305 = load ptr, ptr %sc_l_inm_0 + %t307 = icmp ne ptr %t305, null + store i1 %t307, ptr %s308 + br i1 %t307, label %log.r123, label %log.j124 +log.r123: + %t309 = load ptr, ptr %sc_l_inm_0 + %t310 = load ptr, ptr %sc_l_tag_0 + %t311 = call i1 @sc_bf__x25_m11_etagMatches(ptr %t309, ptr %t310) + %t312 = load i32, ptr %exc.cell + %t313 = icmp ne i32 %t312, 0 + %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false) + br i1 %t314, label %exc.u125, label %exc.k126 +exc.u125: + br label %exc.cleanup127 +exc.k126: + store i1 %t311, ptr %s308 + br label %log.j124 +log.j124: + %t315 = load i1, ptr %s308 + br i1 %t315, label %if.t128, label %if.j129 +if.t128: + %t316 = load ptr, ptr %sc_l_c_0 + store ptr %t316, ptr %sc_l__x25_protocolReceiver_7 + %t317 = load ptr, ptr %sc_l__x25_protocolReceiver_7 + %t318 = call ptr @sc_rc_retain_dyn(ptr %t317) + %t319 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t318, i32 304, ptr @sc_lit_1113611553843547) + %t320 = load i32, ptr %exc.cell + %t321 = icmp ne i32 %t320, 0 + %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false) + br i1 %t322, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_release__x25_m5_CtxCore(ptr %t319) + br label %exc.cleanup127 +exc.k131: + call void @sc_release__x25_m5_CtxCore(ptr %t319) + %t323 = load ptr, ptr %sc_l_c_0 + %t324 = call ptr @sc_rc_retain_dyn(ptr %t323) + %t325 = call ptr @sc_f__x25_dyn_class_property_36(ptr %t324) + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t325) + br label %exc.cleanup127 +exc.k133: + %t329 = call ptr @sc_dc_11(ptr %t325, ptr null) + %t330 = load i32, ptr %exc.cell + %t331 = icmp ne i32 %t330, 0 + %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false) + br i1 %t332, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t325) + call void @scr_http_res_release(ptr %t329) + br label %exc.cleanup127 +exc.k135: + store ptr %t329, ptr %sc_l_rs_0 + call void @sc_rc_release_dyn(ptr %t325) + %t333 = load ptr, ptr %sc_l_rs_0 + %t334 = call ptr @scr_http_res_retain_v(ptr %t333) + call void @scr_http_res_end(ptr %t334) + %t335 = load i32, ptr %exc.cell + %t336 = icmp ne i32 %t335, 0 + %t337 = call i1 @llvm.expect.i1(i1 %t336, i1 false) + br i1 %t337, label %exc.u136, label %exc.k137 +exc.u136: + call void @scr_http_res_release(ptr %t334) + br label %exc.cleanup138 +exc.k137: + call void @scr_http_res_release(ptr %t334) + %t338 = load ptr, ptr %sc_l_c_0 + %t339 = call ptr @sc_rc_retain_dyn(ptr %t338) + %t340 = call ptr @sc_td_3(i1 true) + call void @sc_bf__x25_dyn_class_property_37(ptr %t339, ptr %t340) + %t341 = load i32, ptr %exc.cell + %t342 = icmp ne i32 %t341, 0 + %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false) + br i1 %t343, label %exc.u139, label %exc.k140 +exc.u139: + call void @sc_rc_release_dyn(ptr %t340) + br label %exc.cleanup138 +exc.k140: + call void @sc_rc_release_dyn(ptr %t340) + %t344 = load ptr, ptr %sc_l_c_0 + %t345 = call ptr @sc_rc_retain_dyn(ptr %t344) + %t346 = load ptr, ptr %sc_l_rs_0 + call void @scr_http_res_release(ptr %t346) + %t347 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t347) + %t348 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t348) + %t349 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t349) + %t350 = load ptr, ptr %sc_l_inm_0 + call void @scr_str_release(ptr %t350) + ret ptr %t345 +if.j129: + %t351 = load ptr, ptr %sc_l_c_0 + store ptr %t351, ptr %sc_l__x25_protocolReceiver_8 + %t352 = load ptr, ptr %sc_l__x25_protocolReceiver_8 + %t353 = call ptr @sc_rc_retain_dyn(ptr %t352) + %t354 = call ptr @sc_f__x25_dyn_class_protocol_callee_6(ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u141, label %exc.k142 +exc.u141: + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup127 +exc.k142: + store ptr %t354, ptr %sc_l__x25_protocolCallee_3 + %t358 = load ptr, ptr %sc_l__x25_protocolReceiver_8 + %t359 = call ptr @sc_rc_retain_dyn(ptr %t358) + %t360 = load ptr, ptr %sc_l__x25_protocolCallee_3 + %t361 = load ptr, ptr %sc_l_body_0 + %t362 = load ptr, ptr %sc_l_a_0 + %t364 = icmp eq ptr %t362, null + br i1 %t364, label %read.then143, label %read.else144 +read.then143: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4183713241952410) + call void @sc_rc_release_dyn(ptr %t359) + br label %exc.cleanup146 +exc.dead147: + store ptr null, ptr %s365 + br label %read.join145 +read.else144: + %t366 = load ptr, ptr %sc_l_a_0 + store ptr %t366, ptr %s365 + br label %read.join145 +read.join145: + %t367 = load ptr, ptr %s365 + %t368 = getelementptr inbounds %sc_rs_r11, ptr %t367, i64 0, i32 7 + %t369 = load ptr, ptr %t368 + %t370 = call ptr @sc_rc_retain_str(ptr %t369) + %t371 = call ptr @sc_bf__x25_dyn_class_protocol_6(ptr %t359, ptr %t360, ptr %t361, ptr %t370, ptr @sc_lit_100328930987147) + %t372 = load i32, ptr %exc.cell + %t373 = icmp ne i32 %t372, 0 + %t374 = call i1 @llvm.expect.i1(i1 %t373, i1 false) + br i1 %t374, label %exc.u148, label %exc.k149 +exc.u148: + call void @scr_str_release(ptr %t370) + call void @sc_release__x25_m5_CtxCore(ptr %t371) + br label %exc.cleanup146 +exc.k149: + call void @scr_str_release(ptr %t370) + %t375 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t371, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @sc_release__x25_m5_CtxCore(ptr %t371) + %t376 = load ptr, ptr %sc_l__x25_protocolCallee_3 + call void @sc_rc_release_dyn(ptr %t376) + %t377 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t377) + %t378 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t378) + %t379 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t379) + %t380 = load ptr, ptr %sc_l_inm_0 + call void @scr_str_release(ptr %t380) + ret ptr %t375 +exc.cleanup9: + %t381 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t381) + ret ptr null +exc.cleanup14: + %t382 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t382) + %t383 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t383) + ret ptr null +exc.cleanup24: + %t384 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + call void @sc_rc_release_dyn(ptr %t384) + %t385 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t385) + %t386 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t386) + ret ptr null +exc.cleanup27: + %t387 = load ptr, ptr %sc_l__x25_dynCallReceiver_0 + call void @sc_rc_release_dyn(ptr %t387) + %t388 = load ptr, ptr %sc_l__x25_dynCallCallee_0 + call void @sc_rc_release_dyn(ptr %t388) + %t389 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t389) + %t390 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t390) + ret ptr null +exc.cleanup34: + %t391 = load ptr, ptr %sc_l_ae_0 + call void @scr_str_release(ptr %t391) + %t392 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t392) + %t393 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t393) + ret ptr null +exc.cleanup40: + %t394 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t394) + %t395 = load ptr, ptr %sc_l_ae_0 + call void @scr_str_release(ptr %t395) + %t396 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t396) + %t397 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t397) + ret ptr null +exc.cleanup43: + %t398 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t398) + %t399 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t399) + %t400 = load ptr, ptr %sc_l_ae_0 + call void @scr_str_release(ptr %t400) + %t401 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t401) + %t402 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t402) + ret ptr null +exc.cleanup54: + %t403 = load ptr, ptr %sc_l_v_0 + call void @sc_rrelease_r10(ptr %t403) + %t404 = load ptr, ptr %sc_l_ae_0 + call void @scr_str_release(ptr %t404) + %t405 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t405) + %t406 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t406) + ret ptr null +exc.cleanup73: + %t407 = load ptr, ptr %sc_l__x25_protocolCallee_0 + call void @sc_rc_release_dyn(ptr %t407) + %t408 = load ptr, ptr %sc_l_v_0 + call void @sc_rrelease_r10(ptr %t408) + %t409 = load ptr, ptr %sc_l_ae_0 + call void @scr_str_release(ptr %t409) + %t410 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t410) + %t411 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t411) + ret ptr null +exc.cleanup80: + %t412 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t412) + %t413 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t413) + %t414 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t414) + ret ptr null +exc.cleanup99: + %t415 = load ptr, ptr %sc_l__x25_protocolCallee_1 + call void @sc_rc_release_dyn(ptr %t415) + %t416 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t416) + %t417 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t417) + %t418 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t418) + ret ptr null +exc.cleanup110: + %t419 = load ptr, ptr %sc_l__x25_protocolCallee_2 + call void @sc_rc_release_dyn(ptr %t419) + %t420 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t420) + %t421 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t421) + %t422 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t422) + ret ptr null +exc.cleanup117: + %t423 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + call void @sc_rc_release_dyn(ptr %t423) + %t424 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t424) + %t425 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t425) + %t426 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t426) + ret ptr null +exc.cleanup120: + %t427 = load ptr, ptr %sc_l__x25_dynCallReceiver_1 + call void @sc_rc_release_dyn(ptr %t427) + %t428 = load ptr, ptr %sc_l__x25_dynCallCallee_1 + call void @sc_rc_release_dyn(ptr %t428) + %t429 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t429) + %t430 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t430) + %t431 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t431) + ret ptr null +exc.cleanup127: + %t432 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t432) + %t433 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t433) + %t434 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t434) + %t435 = load ptr, ptr %sc_l_inm_0 + call void @scr_str_release(ptr %t435) + ret ptr null +exc.cleanup138: + %t436 = load ptr, ptr %sc_l_rs_0 + call void @scr_http_res_release(ptr %t436) + %t437 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t437) + %t438 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t438) + %t439 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t439) + %t440 = load ptr, ptr %sc_l_inm_0 + call void @scr_str_release(ptr %t440) + ret ptr null +exc.cleanup146: + %t441 = load ptr, ptr %sc_l__x25_protocolCallee_3 + call void @sc_rc_release_dyn(ptr %t441) + %t442 = load ptr, ptr %sc_l_body_0 + call void @scr_bytes_release(ptr %t442) + %t443 = load ptr, ptr %sc_l_etag_0 + call void @scr_str_release(ptr %t443) + %t444 = load ptr, ptr %sc_l_tag_0 + call void @scr_str_release(ptr %t444) + %t445 = load ptr, ptr %sc_l_inm_0 + call void @scr_str_release(ptr %t445) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m11_StaticServer_send(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m11_StaticServer_send(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m11_StaticServer(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rrelease_r11(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25__x25_m11_StaticServer_pick(ptr %p_sc_l_this_0, ptr %p_sc_l_a_0, ptr %p_sc_l_ae_0) #0 { ; %%m11.StaticServer.pick +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_a_0 = alloca ptr ; a + %sc_l_ae_0 = alloca ptr ; ae + %sc_l_order_0 = alloca ptr ; order + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_arrayLit_0 = alloca ptr ; %arrayLit + %sc_l__x25_arrayValue_0 = alloca ptr ; %arrayValue + %sc_l_j_0 = alloca i32 ; j + %t1 = alloca [2 x i64] + %s7 = alloca i64 ; integer induction i + %s60 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s115 = alloca ptr + %s157 = alloca ptr + %s187 = alloca i1 + %s197 = alloca ptr + store ptr null, ptr %sc_l_order_0 + store ptr null, ptr %sc_l__x25_arrayLit_0 + store ptr null, ptr %sc_l__x25_arrayValue_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store ptr %p_sc_l_ae_0, ptr %sc_l_ae_0 + %t0 = call ptr @scr_arr_new(i32 2, i64 2) + %t2 = ptrtoint ptr @sc_lit_2398049524360159 to i64 + %t3 = getelementptr inbounds i64, ptr %t1, i64 0 + store i64 %t2, ptr %t3 + %t4 = ptrtoint ptr @sc_lit_3533245170682650 to i64 + %t5 = getelementptr inbounds i64, ptr %t1, i64 1 + store i64 %t4, ptr %t5 + %t6 = call double @scr_arr_push_many(ptr %t0, i64 2, ptr %t1) + store ptr %t0, ptr %sc_l_order_0 + %t8 = fptosi double 0x0000000000000000 to i64 + store i64 %t8, ptr %s7 + br label %loop.c1 +loop.c1: + %t9 = load ptr, ptr %sc_l_order_0 + %t10 = getelementptr inbounds %ScrArr, ptr %t9, i64 0, i32 1 + %t11 = load i64, ptr %t10, !tbaa !2 + %t12 = load i64, ptr %s7 + %t13 = icmp ult i64 %t12, %t11 + br i1 %t13, label %loop.b2, label %loop.e0 +loop.b2: + %t14 = load ptr, ptr %sc_l_ae_0 + %t15 = call ptr @scr_arr_new(i32 2, i64 1) + store ptr %t15, ptr %sc_l__x25_arrayLit_0 + %t16 = load ptr, ptr %sc_l_order_0 + %t17 = load i64, ptr %s7 + %t18 = load i64, ptr %s7 + %t19 = sitofp i64 %t18 to double + %t20 = trunc i64 %t18 to i32 + %t21 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 2 + %t22 = load i64, ptr %t21, !tbaa !2 + %t23 = icmp ult i64 %t17, %t22 + br i1 %t23, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t24 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 6 + %t25 = load i32, ptr %t24, !tbaa !2 + %t27 = zext i32 %t25 to i64 + %t26 = icmp ult i64 %t17, %t27 + br i1 %t26, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t28 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1 + %t29 = load i64, ptr %t28, !tbaa !2, !range !{i64 0, i64 4294967296} + %t30 = icmp ult i64 %t17, %t29 + br i1 %t30, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t31 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 9 + %t32 = load ptr, ptr %t31, !tbaa !2 + %t33 = getelementptr inbounds i8, ptr %t32, i64 %t17 + %t34 = load i8, ptr %t33, !tbaa !4 + %t35 = icmp eq i8 %t34, 1 + br i1 %t35, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t36 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 8 + %t37 = load ptr, ptr %t36, !tbaa !2 + %t38 = getelementptr inbounds i64, ptr %t37, i64 %t17 + %t39 = load ptr, ptr %t38, !tbaa !6 + %t40 = call ptr @sc_rc_retain_str(ptr %t39) + store ptr %t40, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join6 +local.array.slow4: + %t41 = call ptr @scr_arr_peek_ref(ptr %t16, double %t19) + %t42 = icmp ne ptr %t41, null + br i1 %t42, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + %t43 = call ptr @sc_rc_retain_str(ptr %t41) + store ptr %t43, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join6 +local.array.join6: + %t44 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t46 = icmp eq ptr %t44, null + br i1 %t46, label %if.t13, label %if.f15 +if.t13: + %t47 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t48 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t49 = getelementptr inbounds %ScrArr, ptr %t48, i32 0, i32 1 + %t50 = load i64, ptr %t49, !tbaa !2, !range !{i64 0, i64 4294967296} + %t51 = sitofp i64 %t50 to double + call void @scr_arr_set_undefined(ptr %t47, double %t51) + br label %if.j14 +if.f15: + %t52 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t53 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t54 = getelementptr inbounds %ScrArr, ptr %t53, i32 0, i32 1 + %t55 = load i64, ptr %t54, !tbaa !2, !range !{i64 0, i64 4294967296} + %t56 = sitofp i64 %t55 to double + %t57 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t59 = icmp ne ptr %t57, null + br i1 %t59, label %tern.t16, label %tern.f17 +tern.t16: + %t61 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t62 = call ptr @sc_rc_retain_str(ptr %t61) + store ptr %t62, ptr %s60 + br label %tern.j18 +tern.f17: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup19 +exc.dead20: + store ptr null, ptr %s60 + br label %tern.j18 +tern.j18: + %t63 = load ptr, ptr %s60 + %t64 = fptosi double %t56 to i64 + %t69 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 8 + %t70 = load ptr, ptr %t69, !tbaa !2 + %t73 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 6 + %t74 = load i32, ptr %t73, !tbaa !2 + %t75 = zext i32 %t74 to i64 + %t76 = icmp ult i64 %t64, %t75 + br i1 %t76, label %arr.set.filled23, label %arr.check24 +arr.check24: + %t65 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 1 + %t66 = load i64, ptr %t65, !tbaa !2, !range !{i64 0, i64 4294967296} + %t67 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 2 + %t68 = load i64, ptr %t67, !tbaa !2 + %t71 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 9 + %t72 = load ptr, ptr %t71, !tbaa !2 + %t77 = icmp ult i64 %t64, %t68 + br i1 %t77, label %arr.dense25, label %arr.set.slow21 +arr.dense25: + %t78 = getelementptr inbounds i8, ptr %t72, i64 %t64 + %t79 = getelementptr inbounds i64, ptr %t70, i64 %t64 + %t80 = load i8, ptr %t78, !tbaa !4 + %t81 = load ptr, ptr %t79, !tbaa !6 + store ptr %t63, ptr %t79, !tbaa !6 + store i8 1, ptr %t78, !tbaa !4 + %t82 = zext i32 %t74 to i64 + %t83 = icmp eq i64 %t64, %t82 + br i1 %t83, label %arr.set.bump26, label %arr.set.state27 +arr.set.bump26: + %t84 = trunc i64 %t64 to i32 + %t85 = add i32 %t84, 1 + %t86 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 6 + store i32 %t85, ptr %t86, !tbaa !2 + br label %arr.set.state27 +arr.set.state27: + %t87 = icmp uge i64 %t64, %t66 + br i1 %t87, label %arr.set.grow28, label %arr.set.stored29 +arr.set.grow28: + %t88 = add i64 %t64, 1 + %t89 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 1 + store i64 %t88, ptr %t89, !tbaa !2 + br label %arr.set.stored29 +arr.set.stored29: + %t90 = icmp eq i8 %t80, 1 + br i1 %t90, label %arr.set.release30, label %arr.set.join22 +arr.set.release30: + call void @scr_str_release(ptr %t81) + br label %arr.set.join22 +arr.set.filled23: + %t91 = getelementptr inbounds i64, ptr %t70, i64 %t64 + %t92 = load ptr, ptr %t91, !tbaa !6 + store ptr %t63, ptr %t91, !tbaa !6 + call void @scr_str_release(ptr %t92) + br label %arr.set.join22 +arr.set.slow21: + call void @scr_arr_set_ref(ptr %t52, double %t56, ptr %t63) cold + br label %arr.set.join22 +arr.set.join22: + br label %if.j14 +if.j14: + %t93 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t94 = call ptr @scr_arr_retain_v(ptr %t93) + %t95 = call i1 @sc_bf__x25_m11_acceptable(ptr %t14, ptr %t94) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u31, label %exc.k32 +exc.u31: + call void @scr_arr_release(ptr %t94) + %t99 = load ptr, ptr %sc_l__x25_arrayLit_0 + call void @scr_arr_release(ptr %t99) + %t100 = load ptr, ptr %sc_l__x25_arrayValue_0 + call void @scr_str_release(ptr %t100) + br label %exc.cleanup33 +exc.k32: + call void @scr_arr_release(ptr %t94) + %t101 = load ptr, ptr %sc_l__x25_arrayLit_0 + call void @scr_arr_release(ptr %t101) + %t102 = load ptr, ptr %sc_l__x25_arrayValue_0 + call void @scr_str_release(ptr %t102) + %t103 = xor i1 %t95, true + br i1 %t103, label %if.t34, label %if.j35 +if.t34: + br label %loop.u3 +if.j35: + store i32 0, ptr %sc_l_j_0 + br label %loop.c37 +loop.c37: + %t104 = load i32, ptr %sc_l_j_0 + %t105 = uitofp i32 %t104 to double + %t106 = load ptr, ptr %sc_l_a_0 + %t107 = getelementptr inbounds %sc_rs_r11, ptr %t106, i64 0, i32 2 + %t108 = load ptr, ptr %t107 + %t109 = getelementptr inbounds %ScrArr, ptr %t108, i32 0, i32 1 + %t110 = load i64, ptr %t109, !tbaa !2, !range !{i64 0, i64 4294967296} + %t111 = sitofp i64 %t110 to double + %t113 = fptosi double %t111 to i64 + %t114 = zext i32 %t104 to i64 + %t112 = icmp slt i64 %t114, %t113 + br i1 %t112, label %loop.b38, label %loop.e36 +loop.b38: + %t116 = load ptr, ptr %sc_l_a_0 + %t117 = getelementptr inbounds %sc_rs_r11, ptr %t116, i64 0, i32 2 + %t118 = load ptr, ptr %t117 + %t119 = load i32, ptr %sc_l_j_0 + %t120 = uitofp i32 %t119 to double + %t121 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 2 + %t122 = load i64, ptr %t121, !tbaa !2 + %t123 = fptosi double %t120 to i64 + %t124 = freeze i64 %t123 + %t125 = sitofp i64 %t124 to double + %t126 = fcmp oeq double %t125, %t120 + %t127 = icmp ult i64 %t124, %t122 + %t128 = and i1 %t126, %t127 + br i1 %t128, label %local.array.range43, label %local.array.slow40 +local.array.range43: + br label %local.array.dense44 +local.array.dense44: + %t129 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 6 + %t130 = load i32, ptr %t129, !tbaa !2 + %t132 = zext i32 %t130 to i64 + %t131 = icmp ult i64 %t124, %t132 + br i1 %t131, label %local.array.value46, label %local.array.len45 +local.array.len45: + %t133 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 1 + %t134 = load i64, ptr %t133, !tbaa !2, !range !{i64 0, i64 4294967296} + %t135 = icmp ult i64 %t124, %t134 + br i1 %t135, label %local.array.state47, label %local.array.missing41 +local.array.state47: + %t136 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 9 + %t137 = load ptr, ptr %t136, !tbaa !2 + %t138 = getelementptr inbounds i8, ptr %t137, i64 %t124 + %t139 = load i8, ptr %t138, !tbaa !4 + %t140 = icmp eq i8 %t139, 1 + br i1 %t140, label %local.array.value46, label %local.array.missing41 +local.array.value46: + %t141 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 8 + %t142 = load ptr, ptr %t141, !tbaa !2 + %t143 = getelementptr inbounds i64, ptr %t142, i64 %t124 + %t144 = load ptr, ptr %t143, !tbaa !6 + store ptr %t144, ptr %s115 + br label %local.array.join42 +local.array.slow40: + %t145 = call ptr @scr_arr_peek_ref(ptr %t118, double %t120) + %t146 = icmp ne ptr %t145, null + br i1 %t146, label %local.array.slow.value48, label %local.array.missing41 +local.array.slow.value48: + store ptr %t145, ptr %s115 + br label %local.array.join42 +local.array.missing41: + store ptr null, ptr %s115 + br label %local.array.join42 +local.array.join42: + %t147 = load ptr, ptr %s115 + %t149 = icmp eq ptr %t147, null + %t148 = select i1 %t149, i32 1, i32 0 + %t150 = icmp eq i32 %t148, 0 + br i1 %t150, label %narrow.present49, label %narrow.other50 +narrow.other50: + call ptr @sc_bf__x25_union_narrow_11(ptr %t147) + %t151 = load i32, ptr %exc.cell + %t152 = icmp ne i32 %t151, 0 + %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false) + br i1 %t153, label %exc.u51, label %exc.k52 +exc.u51: + br label %exc.cleanup33 +exc.k52: + unreachable +narrow.present49: + %t154 = getelementptr inbounds %sc_rs_r10, ptr %t147, i64 0, i32 2 + %t155 = load ptr, ptr %t154 + %t156 = call ptr @sc_rc_retain_str(ptr %t155) + %t158 = load ptr, ptr %sc_l_order_0 + %t159 = load i64, ptr %s7 + %t160 = load i64, ptr %s7 + %t161 = sitofp i64 %t160 to double + %t162 = trunc i64 %t160 to i32 + %t163 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 2 + %t164 = load i64, ptr %t163, !tbaa !2 + %t165 = icmp ult i64 %t159, %t164 + br i1 %t165, label %local.array.range56, label %local.array.slow53 +local.array.range56: + br label %local.array.dense57 +local.array.dense57: + %t166 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 6 + %t167 = load i32, ptr %t166, !tbaa !2 + %t169 = zext i32 %t167 to i64 + %t168 = icmp ult i64 %t159, %t169 + br i1 %t168, label %local.array.value59, label %local.array.len58 +local.array.len58: + %t170 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 1 + %t171 = load i64, ptr %t170, !tbaa !2, !range !{i64 0, i64 4294967296} + %t172 = icmp ult i64 %t159, %t171 + br i1 %t172, label %local.array.state60, label %local.array.missing54 +local.array.state60: + %t173 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 9 + %t174 = load ptr, ptr %t173, !tbaa !2 + %t175 = getelementptr inbounds i8, ptr %t174, i64 %t159 + %t176 = load i8, ptr %t175, !tbaa !4 + %t177 = icmp eq i8 %t176, 1 + br i1 %t177, label %local.array.value59, label %local.array.missing54 +local.array.value59: + %t178 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 8 + %t179 = load ptr, ptr %t178, !tbaa !2 + %t180 = getelementptr inbounds i64, ptr %t179, i64 %t159 + %t181 = load ptr, ptr %t180, !tbaa !6 + %t182 = call ptr @sc_rc_retain_str(ptr %t181) + store ptr %t182, ptr %s157 + br label %local.array.join55 +local.array.slow53: + %t183 = call ptr @scr_arr_peek_ref(ptr %t158, double %t161) + %t184 = icmp ne ptr %t183, null + br i1 %t184, label %local.array.slow.value61, label %local.array.missing54 +local.array.slow.value61: + %t185 = call ptr @sc_rc_retain_str(ptr %t183) + store ptr %t185, ptr %s157 + br label %local.array.join55 +local.array.missing54: + store ptr null, ptr %s157 + br label %local.array.join55 +local.array.join55: + %t186 = load ptr, ptr %s157 + %t188 = icmp eq ptr %t156, %t186 + %t190 = icmp ne ptr %t156, null + %t191 = icmp ne ptr %t186, null + %t189 = and i1 %t190, %t191 + store i1 %t188, ptr %s187 + %t192 = xor i1 %t188, true + %t193 = and i1 %t192, %t189 + br i1 %t193, label %ues.b62, label %ues.j63 +ues.b62: + %t194 = call zeroext i1 @sc_str_eq(ptr %t156, ptr %t186) + store i1 %t194, ptr %s187 + br label %ues.j63 +ues.j63: + %t195 = load i1, ptr %s187 + call void @scr_str_release(ptr %t156) + %t196 = load ptr, ptr %s157 + call void @scr_str_release(ptr %t196) + br i1 %t195, label %if.t64, label %if.j65 +if.t64: + %t198 = load ptr, ptr %sc_l_a_0 + %t199 = getelementptr inbounds %sc_rs_r11, ptr %t198, i64 0, i32 2 + %t200 = load ptr, ptr %t199 + %t201 = load i32, ptr %sc_l_j_0 + %t202 = uitofp i32 %t201 to double + %t203 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 2 + %t204 = load i64, ptr %t203, !tbaa !2 + %t205 = fptosi double %t202 to i64 + %t206 = freeze i64 %t205 + %t207 = sitofp i64 %t206 to double + %t208 = fcmp oeq double %t207, %t202 + %t209 = icmp ult i64 %t206, %t204 + %t210 = and i1 %t208, %t209 + br i1 %t210, label %local.array.range69, label %local.array.slow66 +local.array.range69: + br label %local.array.dense70 +local.array.dense70: + %t211 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 6 + %t212 = load i32, ptr %t211, !tbaa !2 + %t214 = zext i32 %t212 to i64 + %t213 = icmp ult i64 %t206, %t214 + br i1 %t213, label %local.array.value72, label %local.array.len71 +local.array.len71: + %t215 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 1 + %t216 = load i64, ptr %t215, !tbaa !2, !range !{i64 0, i64 4294967296} + %t217 = icmp ult i64 %t206, %t216 + br i1 %t217, label %local.array.state73, label %local.array.missing67 +local.array.state73: + %t218 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 9 + %t219 = load ptr, ptr %t218, !tbaa !2 + %t220 = getelementptr inbounds i8, ptr %t219, i64 %t206 + %t221 = load i8, ptr %t220, !tbaa !4 + %t222 = icmp eq i8 %t221, 1 + br i1 %t222, label %local.array.value72, label %local.array.missing67 +local.array.value72: + %t223 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 8 + %t224 = load ptr, ptr %t223, !tbaa !2 + %t225 = getelementptr inbounds i64, ptr %t224, i64 %t206 + %t226 = load ptr, ptr %t225, !tbaa !6 + store ptr %t226, ptr %s197 + br label %local.array.join68 +local.array.slow66: + %t227 = call ptr @scr_arr_peek_ref(ptr %t200, double %t202) + %t228 = icmp ne ptr %t227, null + br i1 %t228, label %local.array.slow.value74, label %local.array.missing67 +local.array.slow.value74: + store ptr %t227, ptr %s197 + br label %local.array.join68 +local.array.missing67: + store ptr null, ptr %s197 + br label %local.array.join68 +local.array.join68: + %t229 = load ptr, ptr %s197 + %t230 = call ptr @sc_bf__x25_union_retag_13(ptr %t229) + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u75, label %exc.k76 +exc.u75: + br label %exc.cleanup33 +exc.k76: + %t234 = call ptr @sc_rretain_r10(ptr %t230) + %t235 = load ptr, ptr %sc_l_order_0 + call void @scr_arr_release(ptr %t235) + ret ptr %t234 +if.j65: + br label %loop.u39 +loop.u39: + %t236 = load i32, ptr %sc_l_j_0 + %t237 = uitofp i32 %t236 to double + %t239 = zext i32 %t236 to i64 + %t240 = add nsw i64 %t239, 1 + %t242 = trunc i64 %t240 to i32 + %t241 = sitofp i64 %t240 to double + %t243 = trunc i64 %t240 to i32 + store i32 %t243, ptr %sc_l_j_0 + br label %loop.c37 +loop.e36: + br label %loop.u3 +loop.u3: + %t244 = load i64, ptr %s7 + %t245 = add nuw i64 %t244, 1 + store i64 %t245, ptr %s7 + br label %loop.c1 +loop.e0: + %t246 = load ptr, ptr %sc_l_order_0 + call void @scr_arr_release(ptr %t246) + ret ptr @sc_nullable_null +exc.cleanup19: + %t247 = load ptr, ptr %sc_l__x25_arrayLit_0 + call void @scr_arr_release(ptr %t247) + %t248 = load ptr, ptr %sc_l__x25_arrayValue_0 + call void @scr_str_release(ptr %t248) + %t249 = load ptr, ptr %sc_l_order_0 + call void @scr_arr_release(ptr %t249) + ret ptr null +exc.cleanup33: + %t250 = load ptr, ptr %sc_l_order_0 + call void @scr_arr_release(ptr %t250) + ret ptr null +} +define internal ptr @sc_f__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1, ptr %p2) + call void @sc_release__x25_m11_StaticServer(ptr %p0) + call void @sc_rrelease_r11(ptr %p1) + call void @scr_str_release(ptr %p2) + ret ptr %result +} + +define internal void @sc_bf__x25__x25_m14_BakedAssets_constructor(ptr %p_sc_l_this_0) #0 { ; %%m14.BakedAssets.constructor +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s17 = alloca ptr + %s32 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + store i1 false, ptr %sc_l__x25_superInitialized_0 + %t0 = load i1, ptr %sc_l__x25_superInitialized_0 + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207) + ret void +exc.dead2: + br label %if.j1 +if.j1: + %t1 = load ptr, ptr %sc_l_this_0 + call void @sc_bf__x25__x25_m9_EmbeddedAssets_constructor(ptr %t1) + %t2 = load i32, ptr %exc.cell + %t3 = icmp ne i32 %t2, 0 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %exc.u3, label %exc.k4 +exc.u3: + ret void +exc.k4: + store i1 true, ptr %sc_l__x25_superInitialized_0 + %t5 = load i1, ptr %sc_l__x25_superInitialized_0 + %t6 = xor i1 %t5, true + br i1 %t6, label %if.t5, label %if.j6 +if.t5: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead7: + br label %if.j6 +if.j6: + %t7 = load ptr, ptr %sc_l_this_0 + store ptr %t7, ptr %sc_l__x25_callbackReceiver_0 + %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t9 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m14_BakedAssets(ptr %t8) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + ret void +exc.k9: + store ptr %t9, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t13 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t14 = getelementptr inbounds i8, ptr %t13, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t16 = icmp eq i32 %t15, 6 + br i1 %t16, label %tern.t10, label %tern.f11 +tern.t10: + %t19 = call ptr @scr_dyn_undefined() + %t18 = call ptr @scr_dyn_retain_v(ptr %t19) + store ptr %t18, ptr %s17 + br label %tern.j12 +tern.f11: + %t20 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + %t22 = call ptr @sc_f__x25_dyn_class_property_1(ptr %t21) + %t23 = load i32, ptr %exc.cell + %t24 = icmp ne i32 %t23, 0 + %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false) + br i1 %t25, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup15 +exc.k14: + store ptr %t22, ptr %s17 + br label %tern.j12 +tern.j12: + %t26 = load ptr, ptr %s17 + store ptr %t26, ptr %sc_l__x25_callback_0 + %t27 = load ptr, ptr %sc_l__x25_callback_0 + %t28 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t29 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t28, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t30 = load ptr, ptr @sc_g_m14_RECORDS + %t31 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t30, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2766961976368107, i64 17, ptr @sc_ldr_53_materialize, ptr @sc_ldr_53_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t31, ptr @sc_ldr_53_materialize_ops) + %t33 = getelementptr inbounds [1 x ptr], ptr %s32, i64 0, i64 0 + store ptr %t31, ptr %t33 + call void @scr_dyn_this_push_dyn(ptr %t29) + %t34 = call ptr @scr_dyn_call(ptr %t27, ptr %s32, i64 1, ptr @sc_cs_1759114556739847) + call void @scr_dyn_this_pop() + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t34) + br label %exc.cleanup18 +exc.k17: + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t34) + %t38 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t38) + %t39 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load i1, ptr %sc_l__x25_superInitialized_0 + %t41 = xor i1 %t40, true + br i1 %t41, label %if.t19, label %if.j20 +if.t19: + call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911) + ret void +exc.dead21: + br label %if.j20 +if.j20: + ret void +exc.cleanup15: + %t42 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t42) + ret void +exc.cleanup18: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t44) + ret void +} +define internal void @sc_f__x25__x25_m14_BakedAssets_constructor(ptr %p0) #0 { +entry: + call void @sc_bf__x25__x25_m14_BakedAssets_constructor(ptr %p0) + call void @sc_release__x25_m14_BakedAssets(ptr %p0) + ret void +} + +define internal void @sc_f__x25_init_0() #0 { ; %init.0 +entry: + %sc_l__x25_g_m0_ROUTE_CONTRACT_VERSION = alloca i32 ; ROUTE_CONTRACT_VERSION + store i32 0, ptr %sc_l__x25_g_m0_ROUTE_CONTRACT_VERSION + %t0 = load i1, ptr @sc_g_m0__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m0__x25_loaded + store i32 4, ptr %sc_l__x25_g_m0_ROUTE_CONTRACT_VERSION + ret void +} + +define internal void @sc_f__x25_init_1() #0 { ; %init.1 +entry: + %t0 = load i1, ptr @sc_g_m1__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m1__x25_loaded + ret void +} + +define internal void @sc_f__x25_init_2() #0 { ; %init.2 +entry: + %t0 = load i1, ptr @sc_g_m2__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m2__x25_loaded + ret void +} + +define internal void @sc_f__x25_init_3() #0 { ; %init.3 +entry: + %t0 = load i1, ptr @sc_g_m3__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m3__x25_loaded + call void @sc_f__x25_init_2() + ret void +} + +define internal void @sc_f__x25_init_4() #0 { ; %init.4 +entry: + %sc_l__x25_g_m4_MP_BOUNDARY = alloca i32 ; MP_BOUNDARY + %sc_l__x25_g_m4_MP_AFTER = alloca i32 ; MP_AFTER + %sc_l__x25_g_m4_MP_HEADERS = alloca i32 ; MP_HEADERS + %sc_l__x25_g_m4_MP_CONTENT = alloca i32 ; MP_CONTENT + %sc_l__x25_g_m4_MP_DONE = alloca i32 ; MP_DONE + %sc_l__x25_g_m4_MP_ERR_MALFORMED = alloca i32 ; MP_ERR_MALFORMED + %sc_l__x25_g_m4_MP_ERR_LIMIT = alloca i32 ; MP_ERR_LIMIT + %sc_l__x25_g_m4_MP_MAX_HEADER = alloca i32 ; MP_MAX_HEADER + %exc.cell = load ptr, ptr @scr_exc_active + store i32 0, ptr %sc_l__x25_g_m4_MP_BOUNDARY + store i32 0, ptr %sc_l__x25_g_m4_MP_AFTER + store i32 0, ptr %sc_l__x25_g_m4_MP_HEADERS + store i32 0, ptr %sc_l__x25_g_m4_MP_CONTENT + store i32 0, ptr %sc_l__x25_g_m4_MP_DONE + store i32 0, ptr %sc_l__x25_g_m4_MP_ERR_MALFORMED + store i32 0, ptr %sc_l__x25_g_m4_MP_ERR_LIMIT + store i32 0, ptr %sc_l__x25_g_m4_MP_MAX_HEADER + %t0 = load i1, ptr @sc_g_m4__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m4__x25_loaded + %t1 = call ptr @scr_bytes_new(i32 0, double 0x0000000000000000) + %t2 = load i32, ptr %exc.cell + %t3 = icmp ne i32 %t2, 0 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_bytes_release(ptr %t1) + ret void +exc.k3: + %t5 = load ptr, ptr @sc_g_m4_EMPTY_U8 + call void @scr_bytes_release(ptr %t5) + store ptr %t1, ptr @sc_g_m4_EMPTY_U8 + store i32 0, ptr %sc_l__x25_g_m4_MP_BOUNDARY + store i32 1, ptr %sc_l__x25_g_m4_MP_AFTER + store i32 2, ptr %sc_l__x25_g_m4_MP_HEADERS + store i32 3, ptr %sc_l__x25_g_m4_MP_CONTENT + store i32 4, ptr %sc_l__x25_g_m4_MP_DONE + store i32 1, ptr %sc_l__x25_g_m4_MP_ERR_MALFORMED + store i32 2, ptr %sc_l__x25_g_m4_MP_ERR_LIMIT + store i32 16384, ptr %sc_l__x25_g_m4_MP_MAX_HEADER + ret void +} + +define internal void @sc_f__x25_init_5() #0 { ; %init.5 +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = load i1, ptr @sc_g_m5__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m5__x25_loaded + call void @sc_f__x25_init_0() + call void @sc_f__x25_init_1() + call void @sc_f__x25_init_2() + call void @sc_f__x25_init_3() + call void @sc_f__x25_init_4() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u2, label %exc.k3 +exc.u2: + ret void +exc.k3: + call void @sc_f__x25_init_4() + %t4 = load i32, ptr %exc.cell + %t5 = icmp ne i32 %t4, 0 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %exc.u4, label %exc.k5 +exc.u4: + ret void +exc.k5: + %t7 = call ptr @scr_arr_new(i32 2, i64 0) + %t8 = load ptr, ptr @sc_g_m5_EMPTY_S + call void @scr_arr_release(ptr %t8) + store ptr %t7, ptr @sc_g_m5_EMPTY_S + %t9 = call ptr @scr_arr_new(i32 0, i64 0) + %t10 = load ptr, ptr @sc_g_m5_EMPTY_N + call void @scr_arr_release(ptr %t10) + store ptr %t9, ptr @sc_g_m5_EMPTY_N + %t11 = call ptr @sc_new__x25_m4_MemoryStorage() + call void @sc_bf__x25__x25_m4_MemoryStorage_constructor(ptr %t11) + %t12 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + call void @sc_release__x25_m4_MemoryStorage(ptr %t12) + store ptr %t11, ptr @sc_g_m5_MP_SHARED_MEM + ret void +} + +define internal void @sc_f__x25_init_6() #0 { ; %init.6 +entry: + %t0 = load i1, ptr @sc_g_m6__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m6__x25_loaded + ret void +} + +define internal void @sc_f__x25_init_7() #0 { ; %init.7 +entry: + %t0 = load i1, ptr @sc_g_m7__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m7__x25_loaded + ret void +} + +define internal void @sc_f__x25_init_8() #0 { ; %init.8 +entry: + %t0 = load i1, ptr @sc_g_m8__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m8__x25_loaded + call void @sc_f__x25_init_6() + call void @sc_f__x25_init_7() + ret void +} + +define internal void @sc_f__x25_init_9() #0 { ; %init.9 +entry: + %t0 = load i1, ptr @sc_g_m9__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m9__x25_loaded + call void @sc_f__x25_init_6() + ret void +} + +define internal void @sc_f__x25_init_10() #0 { ; %init.10 +entry: + %t0 = load i1, ptr @sc_g_m10__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m10__x25_loaded + %t1 = load ptr, ptr @sc_g_m10_DAYS + call void @scr_str_release(ptr %t1) + store ptr @sc_lit_957191718306074, ptr @sc_g_m10_DAYS + %t2 = load ptr, ptr @sc_g_m10_MONTHS + call void @scr_str_release(ptr %t2) + store ptr @sc_lit_2120526926710519, ptr @sc_g_m10_MONTHS + ret void +} + +define internal void @sc_f__x25_init_11() #0 { ; %init.11 +entry: + %t0 = load i1, ptr @sc_g_m11__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m11__x25_loaded + call void @sc_f__x25_init_7() + call void @sc_f__x25_init_10() + %t1 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC + call void @scr_str_release(ptr %t1) + store ptr @sc_lit_291619741538004, ptr @sc_g_m11_IMMUTABLE_CC + ret void +} + +define internal void @sc_f__x25_init_12() #0 { ; %init.12 +entry: + %t0 = load i1, ptr @sc_g_m12__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m12__x25_loaded + call void @sc_f__x25_init_6() + call void @sc_f__x25_init_8() + call void @sc_f__x25_init_9() + call void @sc_f__x25_init_10() + call void @sc_f__x25_init_7() + call void @sc_f__x25_init_11() + ret void +} + +define internal void @sc_f__x25_init_13() #0 { ; %init.13 +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = load i1, ptr @sc_g_m13__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m13__x25_loaded + call void @sc_f__x25_init_5() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u2, label %exc.k3 +exc.u2: + ret void +exc.k3: + call void @sc_f__x25_init_12() + ret void +} + +define internal void @sc_f__x25_init_14() #0 { ; %init.14 +entry: + %t32 = alloca [3 x i64] + %t0 = load i1, ptr @sc_g_m14__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_m14__x25_loaded + call void @sc_f__x25_init_12() + %t1 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r14.sc_rrelease_r14.null, i64 3) + %t2 = call ptr @sc_rnew_r14() + %t3 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 6 + store ptr @sc_lit_300426198248490, ptr %t3 + %t4 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 7 + store ptr @sc_lit_1698807508669189, ptr %t4 + %t5 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 1 + store ptr @sc_lit_840587331166583, ptr %t5 + %t6 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 3 + store ptr @sc_lit_3371793288775401, ptr %t6 + %t7 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 5 + store double 0x427A154819A2B000, ptr %t7 + %t8 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 4 + %t9 = zext i1 true to i8 + store i8 %t9, ptr %t8 + %t10 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r13.sc_rrelease_r13.null, i64 0) + %t11 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 2 + store ptr %t10, ptr %t11 + %t12 = call ptr @sc_rnew_r14() + %t13 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 6 + store ptr @sc_lit_4437836837228547, ptr %t13 + %t14 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 7 + store ptr @sc_lit_3506423068082710, ptr %t14 + %t15 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 1 + store ptr @sc_lit_3782952502569504, ptr %t15 + %t16 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 3 + store ptr @sc_lit_1463982050217829, ptr %t16 + %t17 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 5 + store double 0x427A154819A2A000, ptr %t17 + %t18 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 4 + %t19 = zext i1 false to i8 + store i8 %t19, ptr %t18 + %t20 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r13.sc_rrelease_r13.null, i64 0) + %t21 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 2 + store ptr %t20, ptr %t21 + %t22 = call ptr @sc_rnew_r14() + %t23 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 6 + store ptr @sc_lit_258747939448200, ptr %t23 + %t24 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 7 + store ptr @sc_lit_1657010753210616, ptr %t24 + %t25 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 1 + store ptr @sc_lit_2088695026021282, ptr %t25 + %t26 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 3 + store ptr @sc_lit_2698600211138329, ptr %t26 + %t27 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 5 + store double 0x427A154819A2A000, ptr %t27 + %t28 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 4 + %t29 = zext i1 false to i8 + store i8 %t29, ptr %t28 + %t30 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r13.sc_rrelease_r13.null, i64 0) + %t31 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 2 + store ptr %t30, ptr %t31 + %t33 = ptrtoint ptr %t2 to i64 + %t34 = getelementptr inbounds i64, ptr %t32, i64 0 + store i64 %t33, ptr %t34 + %t35 = ptrtoint ptr %t12 to i64 + %t36 = getelementptr inbounds i64, ptr %t32, i64 1 + store i64 %t35, ptr %t36 + %t37 = ptrtoint ptr %t22 to i64 + %t38 = getelementptr inbounds i64, ptr %t32, i64 2 + store i64 %t37, ptr %t38 + %t39 = call double @scr_arr_push_many(ptr %t1, i64 3, ptr %t32) + %t40 = load ptr, ptr @sc_g_m14_RECORDS + call void @scr_arr_release(ptr %t40) + store ptr %t1, ptr @sc_g_m14_RECORDS + ret void +} + +define internal void @sc_f__x25_init_15() #0 { ; %init.15 +entry: + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s21 = alloca ptr + %s37 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + %t0 = load i1, ptr @sc_g_e__x25_loaded + br i1 %t0, label %if.t0, label %if.j1 +if.t0: + ret void +if.j1: + store i1 true, ptr @sc_g_e__x25_loaded + call void @sc_f__x25_init_13() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u2, label %exc.k3 +exc.u2: + ret void +exc.k3: + call void @sc_f__x25_init_14() + %t4 = call ptr @sc_new__x25_m14_BakedAssets() + call void @sc_bf__x25__x25_m14_BakedAssets_constructor(ptr %t4) + %t5 = load i32, ptr %exc.cell + %t6 = icmp ne i32 %t5, 0 + %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false) + br i1 %t7, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m14_BakedAssets(ptr %t4) + ret void +exc.k5: + %t8 = call ptr @sc_bf__x25_m13_buildApp(ptr %t4) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_release__x25_m6_AssetSource(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t8) + ret void +exc.k7: + call void @sc_release__x25_m6_AssetSource(ptr %t4) + store ptr %t8, ptr %sc_l__x25_callbackReceiver_0 + %t12 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t13 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t12) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t13) + br label %exc.cleanup10 +exc.k9: + store ptr %t13, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = getelementptr inbounds i8, ptr %t17, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 6 + br i1 %t20, label %tern.t11, label %tern.f12 +tern.t11: + %t23 = call ptr @scr_dyn_undefined() + %t22 = call ptr @scr_dyn_retain_v(ptr %t23) + store ptr %t22, ptr %s21 + br label %tern.j13 +tern.f12: + %t24 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t25 = call ptr @sc_rc_retain_dyn(ptr %t24) + %t26 = call ptr @sc_f__x25_dyn_class_property_53(ptr %t25) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t26) + br label %exc.cleanup16 +exc.k15: + store ptr %t26, ptr %s21 + br label %tern.j13 +tern.j13: + %t30 = load ptr, ptr %s21 + store ptr %t30, ptr %sc_l__x25_callback_0 + %t31 = load ptr, ptr %sc_l__x25_callback_0 + %t32 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t34 = call ptr @sc_rnew_r20() + %t35 = getelementptr inbounds %sc_rs_r20, ptr %t34, i64 0, i32 1 + store double 0x40A7700000000000, ptr %t35 + %t36 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t34, ptr @sc_rretain_r20, ptr @sc_rrelease_r20, ptr @sc_cs_452564808083842, i64 10, ptr @sc_ldr_57_materialize, ptr @sc_ldr_57_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t36, ptr @sc_ldr_57_materialize_rops) + %t38 = getelementptr inbounds [1 x ptr], ptr %s37, i64 0, i64 0 + store ptr %t36, ptr %t38 + call void @scr_dyn_this_push_dyn(ptr %t33) + %t39 = call ptr @scr_dyn_call(ptr %t31, ptr %s37, i64 1, ptr @sc_cs_4357071885712774) + call void @scr_dyn_this_pop() + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rrelease_r20(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup19 +exc.k18: + %t43 = call ptr @sc_dc_88(ptr %t39, ptr null) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rrelease_r20(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_net_server_release(ptr %t43) + br label %exc.cleanup19 +exc.k21: + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rrelease_r20(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_net_server_release(ptr %t43) + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + %t48 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t48) + %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t49) + ret void +exc.cleanup10: + %t50 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t50) + ret void +exc.cleanup16: + %t51 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t51) + %t52 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t52) + ret void +exc.cleanup19: + %t53 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t53) + %t54 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t54) + %t55 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t55) + ret void +} + +define internal void @sc_f__x25_main() #0 { ; %main +entry: + %exc.cell = load ptr, ptr @scr_exc_active + call void @sc_f__x25_init_15() + %t0 = load i32, ptr %exc.cell + %t1 = icmp ne i32 %t0, 0 + %t2 = call i1 @llvm.expect.i1(i1 %t1, i1 false) + br i1 %t2, label %exc.u0, label %exc.k1 +exc.u0: + ret void +exc.k1: + ret void +} + +define internal ptr @sc_f__x25_prototype_data__x25_m5_App() #0 { ; %prototype.data.%m5.App +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m5_App_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + call void @scr_dyn_release(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m5_App + store i1 true, ptr @sc_g__x25_prototype_data__x25_m5_App_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_731773075116702) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get) + %t13 = call ptr @sc_dfb_13(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + call void @scr_dyn_release(ptr %t25) + ret ptr null +exc.k11: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + call void @scr_dyn_release(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_2007918756741504) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post) + %t34 = call ptr @sc_dfb_13(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + call void @scr_dyn_release(ptr %t46) + ret ptr null +exc.k19: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + call void @scr_dyn_release(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_971741391048674) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put) + %t55 = call ptr @sc_dfb_13(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + call void @scr_dyn_release(ptr %t67) + ret ptr null +exc.k27: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + call void @scr_dyn_release(ptr %t67) + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = call ptr @sc_td_0(ptr @sc_lit_1716842667196161) + %t74 = call ptr @scr_dyn_new_obj() + %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete) + %t76 = call ptr @sc_dfb_13(ptr %t75, ptr null) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u28, label %exc.k29 +exc.u28: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + ret ptr null +exc.k29: + %t80 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + ret ptr null +exc.k31: + %t84 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + ret ptr null +exc.k33: + %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u34, label %exc.k35 +exc.u34: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + call void @scr_dyn_release(ptr %t88) + ret ptr null +exc.k35: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + call void @scr_dyn_release(ptr %t88) + %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + %t94 = call ptr @sc_td_0(ptr @sc_lit_2894558501580739) + %t95 = call ptr @scr_dyn_new_obj() + %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch) + %t97 = call ptr @sc_dfb_13(ptr %t96, ptr null) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + ret ptr null +exc.k37: + %t101 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + ret ptr null +exc.k39: + %t105 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + ret ptr null +exc.k41: + %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + call void @scr_dyn_release(ptr %t109) + ret ptr null +exc.k43: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + call void @scr_dyn_release(ptr %t109) + %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t114 = call ptr @sc_rc_retain_dyn(ptr %t113) + %t115 = call ptr @sc_td_0(ptr @sc_lit_2800347990603543) + %t116 = call ptr @scr_dyn_new_obj() + %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head) + %t118 = call ptr @sc_dfb_13(ptr %t117, ptr null) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118) + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + ret ptr null +exc.k45: + %t122 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + ret ptr null +exc.k47: + %t126 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126) + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + ret ptr null +exc.k49: + %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u50, label %exc.k51 +exc.u50: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + call void @scr_dyn_release(ptr %t130) + ret ptr null +exc.k51: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + call void @scr_dyn_release(ptr %t130) + %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t135 = call ptr @sc_rc_retain_dyn(ptr %t134) + %t136 = call ptr @sc_td_0(ptr @sc_lit_2948042885743279) + %t137 = call ptr @scr_dyn_new_obj() + %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options) + %t139 = call ptr @sc_dfb_13(ptr %t138, ptr null) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + ret ptr null +exc.k53: + %t143 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + ret ptr null +exc.k55: + %t147 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + ret ptr null +exc.k57: + %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + call void @scr_dyn_release(ptr %t151) + ret ptr null +exc.k59: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + call void @scr_dyn_release(ptr %t151) + %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t156 = call ptr @sc_rc_retain_dyn(ptr %t155) + %t157 = call ptr @sc_td_0(ptr @sc_lit_1670565919607657) + %t158 = call ptr @scr_dyn_new_obj() + %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all) + %t160 = call ptr @sc_dfb_13(ptr %t159, ptr null) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160) + %t161 = load i32, ptr %exc.cell + %t162 = icmp ne i32 %t161, 0 + %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false) + br i1 %t163, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + ret ptr null +exc.k61: + %t164 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164) + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + ret ptr null +exc.k63: + %t168 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u64, label %exc.k65 +exc.u64: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + ret ptr null +exc.k65: + %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u66, label %exc.k67 +exc.u66: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + call void @scr_dyn_release(ptr %t172) + ret ptr null +exc.k67: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + call void @scr_dyn_release(ptr %t172) + %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t177 = call ptr @sc_rc_retain_dyn(ptr %t176) + %t178 = call ptr @sc_td_0(ptr @sc_lit_3251470234448474) + %t179 = call ptr @scr_dyn_new_obj() + %t180 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on) + %t181 = call ptr @sc_dfb_14(ptr %t180, ptr null) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3610950885518037, ptr %t181) + %t182 = load i32, ptr %exc.cell + %t183 = icmp ne i32 %t182, 0 + %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false) + br i1 %t184, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + ret ptr null +exc.k69: + %t185 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_1948131179100861, ptr %t185) + %t186 = load i32, ptr %exc.cell + %t187 = icmp ne i32 %t186, 0 + %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false) + br i1 %t188, label %exc.u70, label %exc.k71 +exc.u70: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + ret ptr null +exc.k71: + %t189 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3198935257758645, ptr %t189) + %t190 = load i32, ptr %exc.cell + %t191 = icmp ne i32 %t190, 0 + %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false) + br i1 %t192, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + ret ptr null +exc.k73: + %t193 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t177, ptr %t178, ptr %t179) + %t194 = load i32, ptr %exc.cell + %t195 = icmp ne i32 %t194, 0 + %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false) + br i1 %t196, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + call void @scr_dyn_release(ptr %t193) + ret ptr null +exc.k75: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + call void @scr_dyn_release(ptr %t193) + %t197 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t199 = call ptr @sc_td_0(ptr @sc_lit_2879707573315964) + %t200 = call ptr @scr_dyn_new_obj() + %t201 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use) + %t202 = call ptr @sc_dfb_15(ptr %t201, ptr null) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3610950885518037, ptr %t202) + %t203 = load i32, ptr %exc.cell + %t204 = icmp ne i32 %t203, 0 + %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false) + br i1 %t205, label %exc.u76, label %exc.k77 +exc.u76: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + ret ptr null +exc.k77: + %t206 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_1948131179100861, ptr %t206) + %t207 = load i32, ptr %exc.cell + %t208 = icmp ne i32 %t207, 0 + %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false) + br i1 %t209, label %exc.u78, label %exc.k79 +exc.u78: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + ret ptr null +exc.k79: + %t210 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3198935257758645, ptr %t210) + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u80, label %exc.k81 +exc.u80: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + ret ptr null +exc.k81: + %t214 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t198, ptr %t199, ptr %t200) + %t215 = load i32, ptr %exc.cell + %t216 = icmp ne i32 %t215, 0 + %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false) + br i1 %t217, label %exc.u82, label %exc.k83 +exc.u82: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + call void @scr_dyn_release(ptr %t214) + ret ptr null +exc.k83: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + call void @scr_dyn_release(ptr %t214) + %t218 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t219 = call ptr @sc_rc_retain_dyn(ptr %t218) + %t220 = call ptr @sc_td_0(ptr @sc_lit_3111096729023658) + %t221 = call ptr @scr_dyn_new_obj() + %t222 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound) + %t223 = call ptr @sc_dfb_16(ptr %t222, ptr null) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3610950885518037, ptr %t223) + %t224 = load i32, ptr %exc.cell + %t225 = icmp ne i32 %t224, 0 + %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false) + br i1 %t226, label %exc.u84, label %exc.k85 +exc.u84: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + ret ptr null +exc.k85: + %t227 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_1948131179100861, ptr %t227) + %t228 = load i32, ptr %exc.cell + %t229 = icmp ne i32 %t228, 0 + %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false) + br i1 %t230, label %exc.u86, label %exc.k87 +exc.u86: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + ret ptr null +exc.k87: + %t231 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3198935257758645, ptr %t231) + %t232 = load i32, ptr %exc.cell + %t233 = icmp ne i32 %t232, 0 + %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false) + br i1 %t234, label %exc.u88, label %exc.k89 +exc.u88: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + ret ptr null +exc.k89: + %t235 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t219, ptr %t220, ptr %t221) + %t236 = load i32, ptr %exc.cell + %t237 = icmp ne i32 %t236, 0 + %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false) + br i1 %t238, label %exc.u90, label %exc.k91 +exc.u90: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + call void @scr_dyn_release(ptr %t235) + ret ptr null +exc.k91: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + call void @scr_dyn_release(ptr %t235) + %t239 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t240 = call ptr @sc_rc_retain_dyn(ptr %t239) + %t241 = call ptr @sc_td_0(ptr @sc_lit_668712189700762) + %t242 = call ptr @scr_dyn_new_obj() + %t243 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError) + %t244 = call ptr @sc_dfb_17(ptr %t243, ptr null) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3610950885518037, ptr %t244) + %t245 = load i32, ptr %exc.cell + %t246 = icmp ne i32 %t245, 0 + %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false) + br i1 %t247, label %exc.u92, label %exc.k93 +exc.u92: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + ret ptr null +exc.k93: + %t248 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_1948131179100861, ptr %t248) + %t249 = load i32, ptr %exc.cell + %t250 = icmp ne i32 %t249, 0 + %t251 = call i1 @llvm.expect.i1(i1 %t250, i1 false) + br i1 %t251, label %exc.u94, label %exc.k95 +exc.u94: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + ret ptr null +exc.k95: + %t252 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3198935257758645, ptr %t252) + %t253 = load i32, ptr %exc.cell + %t254 = icmp ne i32 %t253, 0 + %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false) + br i1 %t255, label %exc.u96, label %exc.k97 +exc.u96: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + ret ptr null +exc.k97: + %t256 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t240, ptr %t241, ptr %t242) + %t257 = load i32, ptr %exc.cell + %t258 = icmp ne i32 %t257, 0 + %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false) + br i1 %t259, label %exc.u98, label %exc.k99 +exc.u98: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + call void @scr_dyn_release(ptr %t256) + ret ptr null +exc.k99: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + call void @scr_dyn_release(ptr %t256) + %t260 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t261 = call ptr @sc_rc_retain_dyn(ptr %t260) + %t262 = call ptr @sc_td_0(ptr @sc_lit_2436853855422636) + %t263 = call ptr @scr_dyn_new_obj() + %t264 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route) + %t265 = call ptr @sc_dfb_18(ptr %t264, ptr null) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3610950885518037, ptr %t265) + %t266 = load i32, ptr %exc.cell + %t267 = icmp ne i32 %t266, 0 + %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false) + br i1 %t268, label %exc.u100, label %exc.k101 +exc.u100: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + ret ptr null +exc.k101: + %t269 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_1948131179100861, ptr %t269) + %t270 = load i32, ptr %exc.cell + %t271 = icmp ne i32 %t270, 0 + %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false) + br i1 %t272, label %exc.u102, label %exc.k103 +exc.u102: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + ret ptr null +exc.k103: + %t273 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3198935257758645, ptr %t273) + %t274 = load i32, ptr %exc.cell + %t275 = icmp ne i32 %t274, 0 + %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false) + br i1 %t276, label %exc.u104, label %exc.k105 +exc.u104: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + ret ptr null +exc.k105: + %t277 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t261, ptr %t262, ptr %t263) + %t278 = load i32, ptr %exc.cell + %t279 = icmp ne i32 %t278, 0 + %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false) + br i1 %t280, label %exc.u106, label %exc.k107 +exc.u106: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + call void @scr_dyn_release(ptr %t277) + ret ptr null +exc.k107: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + call void @scr_dyn_release(ptr %t277) + %t281 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t282 = call ptr @sc_rc_retain_dyn(ptr %t281) + %t283 = call ptr @sc_td_0(ptr @sc_lit_2466306126986778) + %t284 = call ptr @scr_dyn_new_obj() + %t285 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch) + %t286 = call ptr @sc_dfb_19(ptr %t285, ptr null) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3610950885518037, ptr %t286) + %t287 = load i32, ptr %exc.cell + %t288 = icmp ne i32 %t287, 0 + %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false) + br i1 %t289, label %exc.u108, label %exc.k109 +exc.u108: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + ret ptr null +exc.k109: + %t290 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_1948131179100861, ptr %t290) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u110, label %exc.k111 +exc.u110: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + ret ptr null +exc.k111: + %t294 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3198935257758645, ptr %t294) + %t295 = load i32, ptr %exc.cell + %t296 = icmp ne i32 %t295, 0 + %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false) + br i1 %t297, label %exc.u112, label %exc.k113 +exc.u112: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + ret ptr null +exc.k113: + %t298 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t282, ptr %t283, ptr %t284) + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u114, label %exc.k115 +exc.u114: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + call void @scr_dyn_release(ptr %t298) + ret ptr null +exc.k115: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + call void @scr_dyn_release(ptr %t298) + %t302 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t303 = call ptr @sc_rc_retain_dyn(ptr %t302) + %t304 = call ptr @sc_td_0(ptr @sc_lit_1389753027152399) + %t305 = call ptr @scr_dyn_new_obj() + %t306 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch) + %t307 = call ptr @sc_dfb_20(ptr %t306, ptr null) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3610950885518037, ptr %t307) + %t308 = load i32, ptr %exc.cell + %t309 = icmp ne i32 %t308, 0 + %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false) + br i1 %t310, label %exc.u116, label %exc.k117 +exc.u116: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + ret ptr null +exc.k117: + %t311 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_1948131179100861, ptr %t311) + %t312 = load i32, ptr %exc.cell + %t313 = icmp ne i32 %t312, 0 + %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false) + br i1 %t314, label %exc.u118, label %exc.k119 +exc.u118: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + ret ptr null +exc.k119: + %t315 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3198935257758645, ptr %t315) + %t316 = load i32, ptr %exc.cell + %t317 = icmp ne i32 %t316, 0 + %t318 = call i1 @llvm.expect.i1(i1 %t317, i1 false) + br i1 %t318, label %exc.u120, label %exc.k121 +exc.u120: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + ret ptr null +exc.k121: + %t319 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t303, ptr %t304, ptr %t305) + %t320 = load i32, ptr %exc.cell + %t321 = icmp ne i32 %t320, 0 + %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false) + br i1 %t322, label %exc.u122, label %exc.k123 +exc.u122: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + call void @scr_dyn_release(ptr %t319) + ret ptr null +exc.k123: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + call void @scr_dyn_release(ptr %t319) + %t323 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t324 = call ptr @sc_rc_retain_dyn(ptr %t323) + %t325 = call ptr @sc_td_0(ptr @sc_lit_1148437194389594) + %t326 = call ptr @scr_dyn_new_obj() + %t327 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade) + %t328 = call ptr @sc_dfb_21(ptr %t327, ptr null) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3610950885518037, ptr %t328) + %t329 = load i32, ptr %exc.cell + %t330 = icmp ne i32 %t329, 0 + %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false) + br i1 %t331, label %exc.u124, label %exc.k125 +exc.u124: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + ret ptr null +exc.k125: + %t332 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_1948131179100861, ptr %t332) + %t333 = load i32, ptr %exc.cell + %t334 = icmp ne i32 %t333, 0 + %t335 = call i1 @llvm.expect.i1(i1 %t334, i1 false) + br i1 %t335, label %exc.u126, label %exc.k127 +exc.u126: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + ret ptr null +exc.k127: + %t336 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3198935257758645, ptr %t336) + %t337 = load i32, ptr %exc.cell + %t338 = icmp ne i32 %t337, 0 + %t339 = call i1 @llvm.expect.i1(i1 %t338, i1 false) + br i1 %t339, label %exc.u128, label %exc.k129 +exc.u128: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + ret ptr null +exc.k129: + %t340 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t324, ptr %t325, ptr %t326) + %t341 = load i32, ptr %exc.cell + %t342 = icmp ne i32 %t341, 0 + %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false) + br i1 %t343, label %exc.u130, label %exc.k131 +exc.u130: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + call void @scr_dyn_release(ptr %t340) + ret ptr null +exc.k131: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + call void @scr_dyn_release(ptr %t340) + %t344 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t345 = call ptr @sc_rc_retain_dyn(ptr %t344) + %t346 = call ptr @sc_td_0(ptr @sc_lit_4192469624085056) + %t347 = call ptr @scr_dyn_new_obj() + %t348 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler) + %t349 = call ptr @sc_dfb_22(ptr %t348, ptr null) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3610950885518037, ptr %t349) + %t350 = load i32, ptr %exc.cell + %t351 = icmp ne i32 %t350, 0 + %t352 = call i1 @llvm.expect.i1(i1 %t351, i1 false) + br i1 %t352, label %exc.u132, label %exc.k133 +exc.u132: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + ret ptr null +exc.k133: + %t353 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_1948131179100861, ptr %t353) + %t354 = load i32, ptr %exc.cell + %t355 = icmp ne i32 %t354, 0 + %t356 = call i1 @llvm.expect.i1(i1 %t355, i1 false) + br i1 %t356, label %exc.u134, label %exc.k135 +exc.u134: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + ret ptr null +exc.k135: + %t357 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3198935257758645, ptr %t357) + %t358 = load i32, ptr %exc.cell + %t359 = icmp ne i32 %t358, 0 + %t360 = call i1 @llvm.expect.i1(i1 %t359, i1 false) + br i1 %t360, label %exc.u136, label %exc.k137 +exc.u136: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + ret ptr null +exc.k137: + %t361 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t345, ptr %t346, ptr %t347) + %t362 = load i32, ptr %exc.cell + %t363 = icmp ne i32 %t362, 0 + %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false) + br i1 %t364, label %exc.u138, label %exc.k139 +exc.u138: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + call void @scr_dyn_release(ptr %t361) + ret ptr null +exc.k139: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + call void @scr_dyn_release(ptr %t361) + %t365 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t366 = call ptr @sc_rc_retain_dyn(ptr %t365) + %t367 = call ptr @sc_td_0(ptr @sc_lit_864781090888737) + %t368 = call ptr @scr_dyn_new_obj() + %t369 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler) + %t370 = call ptr @sc_dfb_24(ptr %t369, ptr null) + call void @scr_dyn_key_set(ptr %t368, ptr @sc_lit_3610950885518037, ptr %t370) + %t371 = load i32, ptr %exc.cell + %t372 = icmp ne i32 %t371, 0 + %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false) + br i1 %t373, label %exc.u140, label %exc.k141 +exc.u140: + call void @scr_dyn_release(ptr %t366) + call void @scr_dyn_release(ptr %t367) + call void @scr_dyn_release(ptr %t368) + call void @scr_closure_release(ptr %t369) + call void @scr_dyn_release(ptr %t370) + ret ptr null +exc.k141: + %t374 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t368, ptr @sc_lit_1948131179100861, ptr %t374) + %t375 = load i32, ptr %exc.cell + %t376 = icmp ne i32 %t375, 0 + %t377 = call i1 @llvm.expect.i1(i1 %t376, i1 false) + br i1 %t377, label %exc.u142, label %exc.k143 +exc.u142: + call void @scr_dyn_release(ptr %t366) + call void @scr_dyn_release(ptr %t367) + call void @scr_dyn_release(ptr %t368) + call void @scr_closure_release(ptr %t369) + call void @scr_dyn_release(ptr %t370) + call void @scr_dyn_release(ptr %t374) + ret ptr null +exc.k143: + %t378 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t368, ptr @sc_lit_3198935257758645, ptr %t378) + %t379 = load i32, ptr %exc.cell + %t380 = icmp ne i32 %t379, 0 + %t381 = call i1 @llvm.expect.i1(i1 %t380, i1 false) + br i1 %t381, label %exc.u144, label %exc.k145 +exc.u144: + call void @scr_dyn_release(ptr %t366) + call void @scr_dyn_release(ptr %t367) + call void @scr_dyn_release(ptr %t368) + call void @scr_closure_release(ptr %t369) + call void @scr_dyn_release(ptr %t370) + call void @scr_dyn_release(ptr %t374) + call void @scr_dyn_release(ptr %t378) + ret ptr null +exc.k145: + %t382 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t366, ptr %t367, ptr %t368) + %t383 = load i32, ptr %exc.cell + %t384 = icmp ne i32 %t383, 0 + %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false) + br i1 %t385, label %exc.u146, label %exc.k147 +exc.u146: + call void @scr_dyn_release(ptr %t366) + call void @scr_dyn_release(ptr %t367) + call void @scr_dyn_release(ptr %t368) + call void @scr_closure_release(ptr %t369) + call void @scr_dyn_release(ptr %t370) + call void @scr_dyn_release(ptr %t374) + call void @scr_dyn_release(ptr %t378) + call void @scr_dyn_release(ptr %t382) + ret ptr null +exc.k147: + call void @scr_dyn_release(ptr %t366) + call void @scr_dyn_release(ptr %t367) + call void @scr_dyn_release(ptr %t368) + call void @scr_closure_release(ptr %t369) + call void @scr_dyn_release(ptr %t370) + call void @scr_dyn_release(ptr %t374) + call void @scr_dyn_release(ptr %t378) + call void @scr_dyn_release(ptr %t382) + %t386 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t387 = call ptr @sc_rc_retain_dyn(ptr %t386) + %t388 = call ptr @sc_td_0(ptr @sc_lit_603267670272610) + %t389 = call ptr @scr_dyn_new_obj() + %t390 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge) + %t391 = call ptr @sc_dfb_24(ptr %t390, ptr null) + call void @scr_dyn_key_set(ptr %t389, ptr @sc_lit_3610950885518037, ptr %t391) + %t392 = load i32, ptr %exc.cell + %t393 = icmp ne i32 %t392, 0 + %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false) + br i1 %t394, label %exc.u148, label %exc.k149 +exc.u148: + call void @scr_dyn_release(ptr %t387) + call void @scr_dyn_release(ptr %t388) + call void @scr_dyn_release(ptr %t389) + call void @scr_closure_release(ptr %t390) + call void @scr_dyn_release(ptr %t391) + ret ptr null +exc.k149: + %t395 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t389, ptr @sc_lit_1948131179100861, ptr %t395) + %t396 = load i32, ptr %exc.cell + %t397 = icmp ne i32 %t396, 0 + %t398 = call i1 @llvm.expect.i1(i1 %t397, i1 false) + br i1 %t398, label %exc.u150, label %exc.k151 +exc.u150: + call void @scr_dyn_release(ptr %t387) + call void @scr_dyn_release(ptr %t388) + call void @scr_dyn_release(ptr %t389) + call void @scr_closure_release(ptr %t390) + call void @scr_dyn_release(ptr %t391) + call void @scr_dyn_release(ptr %t395) + ret ptr null +exc.k151: + %t399 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t389, ptr @sc_lit_3198935257758645, ptr %t399) + %t400 = load i32, ptr %exc.cell + %t401 = icmp ne i32 %t400, 0 + %t402 = call i1 @llvm.expect.i1(i1 %t401, i1 false) + br i1 %t402, label %exc.u152, label %exc.k153 +exc.u152: + call void @scr_dyn_release(ptr %t387) + call void @scr_dyn_release(ptr %t388) + call void @scr_dyn_release(ptr %t389) + call void @scr_closure_release(ptr %t390) + call void @scr_dyn_release(ptr %t391) + call void @scr_dyn_release(ptr %t395) + call void @scr_dyn_release(ptr %t399) + ret ptr null +exc.k153: + %t403 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t387, ptr %t388, ptr %t389) + %t404 = load i32, ptr %exc.cell + %t405 = icmp ne i32 %t404, 0 + %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false) + br i1 %t406, label %exc.u154, label %exc.k155 +exc.u154: + call void @scr_dyn_release(ptr %t387) + call void @scr_dyn_release(ptr %t388) + call void @scr_dyn_release(ptr %t389) + call void @scr_closure_release(ptr %t390) + call void @scr_dyn_release(ptr %t391) + call void @scr_dyn_release(ptr %t395) + call void @scr_dyn_release(ptr %t399) + call void @scr_dyn_release(ptr %t403) + ret ptr null +exc.k155: + call void @scr_dyn_release(ptr %t387) + call void @scr_dyn_release(ptr %t388) + call void @scr_dyn_release(ptr %t389) + call void @scr_closure_release(ptr %t390) + call void @scr_dyn_release(ptr %t391) + call void @scr_dyn_release(ptr %t395) + call void @scr_dyn_release(ptr %t399) + call void @scr_dyn_release(ptr %t403) + %t407 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t408 = call ptr @sc_rc_retain_dyn(ptr %t407) + %t409 = call ptr @sc_td_0(ptr @sc_lit_646811555153625) + %t410 = call ptr @scr_dyn_new_obj() + %t411 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve) + %t412 = call ptr @sc_dfb_26(ptr %t411, ptr null) + call void @scr_dyn_key_set(ptr %t410, ptr @sc_lit_3610950885518037, ptr %t412) + %t413 = load i32, ptr %exc.cell + %t414 = icmp ne i32 %t413, 0 + %t415 = call i1 @llvm.expect.i1(i1 %t414, i1 false) + br i1 %t415, label %exc.u156, label %exc.k157 +exc.u156: + call void @scr_dyn_release(ptr %t408) + call void @scr_dyn_release(ptr %t409) + call void @scr_dyn_release(ptr %t410) + call void @scr_closure_release(ptr %t411) + call void @scr_dyn_release(ptr %t412) + ret ptr null +exc.k157: + %t416 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t410, ptr @sc_lit_1948131179100861, ptr %t416) + %t417 = load i32, ptr %exc.cell + %t418 = icmp ne i32 %t417, 0 + %t419 = call i1 @llvm.expect.i1(i1 %t418, i1 false) + br i1 %t419, label %exc.u158, label %exc.k159 +exc.u158: + call void @scr_dyn_release(ptr %t408) + call void @scr_dyn_release(ptr %t409) + call void @scr_dyn_release(ptr %t410) + call void @scr_closure_release(ptr %t411) + call void @scr_dyn_release(ptr %t412) + call void @scr_dyn_release(ptr %t416) + ret ptr null +exc.k159: + %t420 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t410, ptr @sc_lit_3198935257758645, ptr %t420) + %t421 = load i32, ptr %exc.cell + %t422 = icmp ne i32 %t421, 0 + %t423 = call i1 @llvm.expect.i1(i1 %t422, i1 false) + br i1 %t423, label %exc.u160, label %exc.k161 +exc.u160: + call void @scr_dyn_release(ptr %t408) + call void @scr_dyn_release(ptr %t409) + call void @scr_dyn_release(ptr %t410) + call void @scr_closure_release(ptr %t411) + call void @scr_dyn_release(ptr %t412) + call void @scr_dyn_release(ptr %t416) + call void @scr_dyn_release(ptr %t420) + ret ptr null +exc.k161: + %t424 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t408, ptr %t409, ptr %t410) + %t425 = load i32, ptr %exc.cell + %t426 = icmp ne i32 %t425, 0 + %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false) + br i1 %t427, label %exc.u162, label %exc.k163 +exc.u162: + call void @scr_dyn_release(ptr %t408) + call void @scr_dyn_release(ptr %t409) + call void @scr_dyn_release(ptr %t410) + call void @scr_closure_release(ptr %t411) + call void @scr_dyn_release(ptr %t412) + call void @scr_dyn_release(ptr %t416) + call void @scr_dyn_release(ptr %t420) + call void @scr_dyn_release(ptr %t424) + ret ptr null +exc.k163: + call void @scr_dyn_release(ptr %t408) + call void @scr_dyn_release(ptr %t409) + call void @scr_dyn_release(ptr %t410) + call void @scr_closure_release(ptr %t411) + call void @scr_dyn_release(ptr %t412) + call void @scr_dyn_release(ptr %t416) + call void @scr_dyn_release(ptr %t420) + call void @scr_dyn_release(ptr %t424) + %t428 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t429 = call ptr @sc_rc_retain_dyn(ptr %t428) + %t430 = call ptr @sc_td_0(ptr @sc_lit_4391217941138845) + %t431 = call ptr @scr_dyn_new_obj() + %t432 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch) + %t433 = call ptr @sc_dfb_26(ptr %t432, ptr null) + call void @scr_dyn_key_set(ptr %t431, ptr @sc_lit_3610950885518037, ptr %t433) + %t434 = load i32, ptr %exc.cell + %t435 = icmp ne i32 %t434, 0 + %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false) + br i1 %t436, label %exc.u164, label %exc.k165 +exc.u164: + call void @scr_dyn_release(ptr %t429) + call void @scr_dyn_release(ptr %t430) + call void @scr_dyn_release(ptr %t431) + call void @scr_closure_release(ptr %t432) + call void @scr_dyn_release(ptr %t433) + ret ptr null +exc.k165: + %t437 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t431, ptr @sc_lit_1948131179100861, ptr %t437) + %t438 = load i32, ptr %exc.cell + %t439 = icmp ne i32 %t438, 0 + %t440 = call i1 @llvm.expect.i1(i1 %t439, i1 false) + br i1 %t440, label %exc.u166, label %exc.k167 +exc.u166: + call void @scr_dyn_release(ptr %t429) + call void @scr_dyn_release(ptr %t430) + call void @scr_dyn_release(ptr %t431) + call void @scr_closure_release(ptr %t432) + call void @scr_dyn_release(ptr %t433) + call void @scr_dyn_release(ptr %t437) + ret ptr null +exc.k167: + %t441 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t431, ptr @sc_lit_3198935257758645, ptr %t441) + %t442 = load i32, ptr %exc.cell + %t443 = icmp ne i32 %t442, 0 + %t444 = call i1 @llvm.expect.i1(i1 %t443, i1 false) + br i1 %t444, label %exc.u168, label %exc.k169 +exc.u168: + call void @scr_dyn_release(ptr %t429) + call void @scr_dyn_release(ptr %t430) + call void @scr_dyn_release(ptr %t431) + call void @scr_closure_release(ptr %t432) + call void @scr_dyn_release(ptr %t433) + call void @scr_dyn_release(ptr %t437) + call void @scr_dyn_release(ptr %t441) + ret ptr null +exc.k169: + %t445 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t429, ptr %t430, ptr %t431) + %t446 = load i32, ptr %exc.cell + %t447 = icmp ne i32 %t446, 0 + %t448 = call i1 @llvm.expect.i1(i1 %t447, i1 false) + br i1 %t448, label %exc.u170, label %exc.k171 +exc.u170: + call void @scr_dyn_release(ptr %t429) + call void @scr_dyn_release(ptr %t430) + call void @scr_dyn_release(ptr %t431) + call void @scr_closure_release(ptr %t432) + call void @scr_dyn_release(ptr %t433) + call void @scr_dyn_release(ptr %t437) + call void @scr_dyn_release(ptr %t441) + call void @scr_dyn_release(ptr %t445) + ret ptr null +exc.k171: + call void @scr_dyn_release(ptr %t429) + call void @scr_dyn_release(ptr %t430) + call void @scr_dyn_release(ptr %t431) + call void @scr_closure_release(ptr %t432) + call void @scr_dyn_release(ptr %t433) + call void @scr_dyn_release(ptr %t437) + call void @scr_dyn_release(ptr %t441) + call void @scr_dyn_release(ptr %t445) + %t449 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t450 = call ptr @sc_rc_retain_dyn(ptr %t449) + %t451 = call ptr @sc_td_0(ptr @sc_lit_2014847608589337) + %t452 = call ptr @scr_dyn_new_obj() + %t453 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn) + %t454 = call ptr @sc_dfb_27(ptr %t453, ptr null) + call void @scr_dyn_key_set(ptr %t452, ptr @sc_lit_3610950885518037, ptr %t454) + %t455 = load i32, ptr %exc.cell + %t456 = icmp ne i32 %t455, 0 + %t457 = call i1 @llvm.expect.i1(i1 %t456, i1 false) + br i1 %t457, label %exc.u172, label %exc.k173 +exc.u172: + call void @scr_dyn_release(ptr %t450) + call void @scr_dyn_release(ptr %t451) + call void @scr_dyn_release(ptr %t452) + call void @scr_closure_release(ptr %t453) + call void @scr_dyn_release(ptr %t454) + ret ptr null +exc.k173: + %t458 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t452, ptr @sc_lit_1948131179100861, ptr %t458) + %t459 = load i32, ptr %exc.cell + %t460 = icmp ne i32 %t459, 0 + %t461 = call i1 @llvm.expect.i1(i1 %t460, i1 false) + br i1 %t461, label %exc.u174, label %exc.k175 +exc.u174: + call void @scr_dyn_release(ptr %t450) + call void @scr_dyn_release(ptr %t451) + call void @scr_dyn_release(ptr %t452) + call void @scr_closure_release(ptr %t453) + call void @scr_dyn_release(ptr %t454) + call void @scr_dyn_release(ptr %t458) + ret ptr null +exc.k175: + %t462 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t452, ptr @sc_lit_3198935257758645, ptr %t462) + %t463 = load i32, ptr %exc.cell + %t464 = icmp ne i32 %t463, 0 + %t465 = call i1 @llvm.expect.i1(i1 %t464, i1 false) + br i1 %t465, label %exc.u176, label %exc.k177 +exc.u176: + call void @scr_dyn_release(ptr %t450) + call void @scr_dyn_release(ptr %t451) + call void @scr_dyn_release(ptr %t452) + call void @scr_closure_release(ptr %t453) + call void @scr_dyn_release(ptr %t454) + call void @scr_dyn_release(ptr %t458) + call void @scr_dyn_release(ptr %t462) + ret ptr null +exc.k177: + %t466 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t450, ptr %t451, ptr %t452) + %t467 = load i32, ptr %exc.cell + %t468 = icmp ne i32 %t467, 0 + %t469 = call i1 @llvm.expect.i1(i1 %t468, i1 false) + br i1 %t469, label %exc.u178, label %exc.k179 +exc.u178: + call void @scr_dyn_release(ptr %t450) + call void @scr_dyn_release(ptr %t451) + call void @scr_dyn_release(ptr %t452) + call void @scr_closure_release(ptr %t453) + call void @scr_dyn_release(ptr %t454) + call void @scr_dyn_release(ptr %t458) + call void @scr_dyn_release(ptr %t462) + call void @scr_dyn_release(ptr %t466) + ret ptr null +exc.k179: + call void @scr_dyn_release(ptr %t450) + call void @scr_dyn_release(ptr %t451) + call void @scr_dyn_release(ptr %t452) + call void @scr_closure_release(ptr %t453) + call void @scr_dyn_release(ptr %t454) + call void @scr_dyn_release(ptr %t458) + call void @scr_dyn_release(ptr %t462) + call void @scr_dyn_release(ptr %t466) + %t470 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t471 = call ptr @sc_rc_retain_dyn(ptr %t470) + %t472 = call ptr @sc_td_0(ptr @sc_lit_405767859507088) + %t473 = call ptr @scr_dyn_new_obj() + %t474 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add) + %t475 = call ptr @sc_dfb_14(ptr %t474, ptr null) + call void @scr_dyn_key_set(ptr %t473, ptr @sc_lit_3610950885518037, ptr %t475) + %t476 = load i32, ptr %exc.cell + %t477 = icmp ne i32 %t476, 0 + %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false) + br i1 %t478, label %exc.u180, label %exc.k181 +exc.u180: + call void @scr_dyn_release(ptr %t471) + call void @scr_dyn_release(ptr %t472) + call void @scr_dyn_release(ptr %t473) + call void @scr_closure_release(ptr %t474) + call void @scr_dyn_release(ptr %t475) + ret ptr null +exc.k181: + %t479 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t473, ptr @sc_lit_1948131179100861, ptr %t479) + %t480 = load i32, ptr %exc.cell + %t481 = icmp ne i32 %t480, 0 + %t482 = call i1 @llvm.expect.i1(i1 %t481, i1 false) + br i1 %t482, label %exc.u182, label %exc.k183 +exc.u182: + call void @scr_dyn_release(ptr %t471) + call void @scr_dyn_release(ptr %t472) + call void @scr_dyn_release(ptr %t473) + call void @scr_closure_release(ptr %t474) + call void @scr_dyn_release(ptr %t475) + call void @scr_dyn_release(ptr %t479) + ret ptr null +exc.k183: + %t483 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t473, ptr @sc_lit_3198935257758645, ptr %t483) + %t484 = load i32, ptr %exc.cell + %t485 = icmp ne i32 %t484, 0 + %t486 = call i1 @llvm.expect.i1(i1 %t485, i1 false) + br i1 %t486, label %exc.u184, label %exc.k185 +exc.u184: + call void @scr_dyn_release(ptr %t471) + call void @scr_dyn_release(ptr %t472) + call void @scr_dyn_release(ptr %t473) + call void @scr_closure_release(ptr %t474) + call void @scr_dyn_release(ptr %t475) + call void @scr_dyn_release(ptr %t479) + call void @scr_dyn_release(ptr %t483) + ret ptr null +exc.k185: + %t487 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t471, ptr %t472, ptr %t473) + %t488 = load i32, ptr %exc.cell + %t489 = icmp ne i32 %t488, 0 + %t490 = call i1 @llvm.expect.i1(i1 %t489, i1 false) + br i1 %t490, label %exc.u186, label %exc.k187 +exc.u186: + call void @scr_dyn_release(ptr %t471) + call void @scr_dyn_release(ptr %t472) + call void @scr_dyn_release(ptr %t473) + call void @scr_closure_release(ptr %t474) + call void @scr_dyn_release(ptr %t475) + call void @scr_dyn_release(ptr %t479) + call void @scr_dyn_release(ptr %t483) + call void @scr_dyn_release(ptr %t487) + ret ptr null +exc.k187: + call void @scr_dyn_release(ptr %t471) + call void @scr_dyn_release(ptr %t472) + call void @scr_dyn_release(ptr %t473) + call void @scr_closure_release(ptr %t474) + call void @scr_dyn_release(ptr %t475) + call void @scr_dyn_release(ptr %t479) + call void @scr_dyn_release(ptr %t483) + call void @scr_dyn_release(ptr %t487) + %t491 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t492 = call ptr @sc_rc_retain_dyn(ptr %t491) + %t493 = call ptr @sc_td_0(ptr @sc_lit_4078327433052319) + %t494 = call ptr @scr_dyn_new_obj() + %t495 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch) + %t496 = call ptr @sc_dfb_28(ptr %t495, ptr null) + call void @scr_dyn_key_set(ptr %t494, ptr @sc_lit_3610950885518037, ptr %t496) + %t497 = load i32, ptr %exc.cell + %t498 = icmp ne i32 %t497, 0 + %t499 = call i1 @llvm.expect.i1(i1 %t498, i1 false) + br i1 %t499, label %exc.u188, label %exc.k189 +exc.u188: + call void @scr_dyn_release(ptr %t492) + call void @scr_dyn_release(ptr %t493) + call void @scr_dyn_release(ptr %t494) + call void @scr_closure_release(ptr %t495) + call void @scr_dyn_release(ptr %t496) + ret ptr null +exc.k189: + %t500 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t494, ptr @sc_lit_1948131179100861, ptr %t500) + %t501 = load i32, ptr %exc.cell + %t502 = icmp ne i32 %t501, 0 + %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false) + br i1 %t503, label %exc.u190, label %exc.k191 +exc.u190: + call void @scr_dyn_release(ptr %t492) + call void @scr_dyn_release(ptr %t493) + call void @scr_dyn_release(ptr %t494) + call void @scr_closure_release(ptr %t495) + call void @scr_dyn_release(ptr %t496) + call void @scr_dyn_release(ptr %t500) + ret ptr null +exc.k191: + %t504 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t494, ptr @sc_lit_3198935257758645, ptr %t504) + %t505 = load i32, ptr %exc.cell + %t506 = icmp ne i32 %t505, 0 + %t507 = call i1 @llvm.expect.i1(i1 %t506, i1 false) + br i1 %t507, label %exc.u192, label %exc.k193 +exc.u192: + call void @scr_dyn_release(ptr %t492) + call void @scr_dyn_release(ptr %t493) + call void @scr_dyn_release(ptr %t494) + call void @scr_closure_release(ptr %t495) + call void @scr_dyn_release(ptr %t496) + call void @scr_dyn_release(ptr %t500) + call void @scr_dyn_release(ptr %t504) + ret ptr null +exc.k193: + %t508 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t492, ptr %t493, ptr %t494) + %t509 = load i32, ptr %exc.cell + %t510 = icmp ne i32 %t509, 0 + %t511 = call i1 @llvm.expect.i1(i1 %t510, i1 false) + br i1 %t511, label %exc.u194, label %exc.k195 +exc.u194: + call void @scr_dyn_release(ptr %t492) + call void @scr_dyn_release(ptr %t493) + call void @scr_dyn_release(ptr %t494) + call void @scr_closure_release(ptr %t495) + call void @scr_dyn_release(ptr %t496) + call void @scr_dyn_release(ptr %t500) + call void @scr_dyn_release(ptr %t504) + call void @scr_dyn_release(ptr %t508) + ret ptr null +exc.k195: + call void @scr_dyn_release(ptr %t492) + call void @scr_dyn_release(ptr %t493) + call void @scr_dyn_release(ptr %t494) + call void @scr_closure_release(ptr %t495) + call void @scr_dyn_release(ptr %t496) + call void @scr_dyn_release(ptr %t500) + call void @scr_dyn_release(ptr %t504) + call void @scr_dyn_release(ptr %t508) + %t512 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t513 = call ptr @sc_rc_retain_dyn(ptr %t512) + %t514 = call ptr @sc_td_0(ptr @sc_lit_156708963710691) + %t515 = call ptr @scr_dyn_new_obj() + %t516 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim) + %t517 = call ptr @sc_dfb_29(ptr %t516, ptr null) + call void @scr_dyn_key_set(ptr %t515, ptr @sc_lit_3610950885518037, ptr %t517) + %t518 = load i32, ptr %exc.cell + %t519 = icmp ne i32 %t518, 0 + %t520 = call i1 @llvm.expect.i1(i1 %t519, i1 false) + br i1 %t520, label %exc.u196, label %exc.k197 +exc.u196: + call void @scr_dyn_release(ptr %t513) + call void @scr_dyn_release(ptr %t514) + call void @scr_dyn_release(ptr %t515) + call void @scr_closure_release(ptr %t516) + call void @scr_dyn_release(ptr %t517) + ret ptr null +exc.k197: + %t521 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t515, ptr @sc_lit_1948131179100861, ptr %t521) + %t522 = load i32, ptr %exc.cell + %t523 = icmp ne i32 %t522, 0 + %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false) + br i1 %t524, label %exc.u198, label %exc.k199 +exc.u198: + call void @scr_dyn_release(ptr %t513) + call void @scr_dyn_release(ptr %t514) + call void @scr_dyn_release(ptr %t515) + call void @scr_closure_release(ptr %t516) + call void @scr_dyn_release(ptr %t517) + call void @scr_dyn_release(ptr %t521) + ret ptr null +exc.k199: + %t525 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t515, ptr @sc_lit_3198935257758645, ptr %t525) + %t526 = load i32, ptr %exc.cell + %t527 = icmp ne i32 %t526, 0 + %t528 = call i1 @llvm.expect.i1(i1 %t527, i1 false) + br i1 %t528, label %exc.u200, label %exc.k201 +exc.u200: + call void @scr_dyn_release(ptr %t513) + call void @scr_dyn_release(ptr %t514) + call void @scr_dyn_release(ptr %t515) + call void @scr_closure_release(ptr %t516) + call void @scr_dyn_release(ptr %t517) + call void @scr_dyn_release(ptr %t521) + call void @scr_dyn_release(ptr %t525) + ret ptr null +exc.k201: + %t529 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t513, ptr %t514, ptr %t515) + %t530 = load i32, ptr %exc.cell + %t531 = icmp ne i32 %t530, 0 + %t532 = call i1 @llvm.expect.i1(i1 %t531, i1 false) + br i1 %t532, label %exc.u202, label %exc.k203 +exc.u202: + call void @scr_dyn_release(ptr %t513) + call void @scr_dyn_release(ptr %t514) + call void @scr_dyn_release(ptr %t515) + call void @scr_closure_release(ptr %t516) + call void @scr_dyn_release(ptr %t517) + call void @scr_dyn_release(ptr %t521) + call void @scr_dyn_release(ptr %t525) + call void @scr_dyn_release(ptr %t529) + ret ptr null +exc.k203: + call void @scr_dyn_release(ptr %t513) + call void @scr_dyn_release(ptr %t514) + call void @scr_dyn_release(ptr %t515) + call void @scr_closure_release(ptr %t516) + call void @scr_dyn_release(ptr %t517) + call void @scr_dyn_release(ptr %t521) + call void @scr_dyn_release(ptr %t525) + call void @scr_dyn_release(ptr %t529) + %t533 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t534 = call ptr @sc_rc_retain_dyn(ptr %t533) + %t535 = call ptr @sc_td_0(ptr @sc_lit_1093190805819680) + %t536 = call ptr @scr_dyn_new_obj() + %t537 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim) + %t538 = call ptr @sc_dfb_30(ptr %t537, ptr null) + call void @scr_dyn_key_set(ptr %t536, ptr @sc_lit_3610950885518037, ptr %t538) + %t539 = load i32, ptr %exc.cell + %t540 = icmp ne i32 %t539, 0 + %t541 = call i1 @llvm.expect.i1(i1 %t540, i1 false) + br i1 %t541, label %exc.u204, label %exc.k205 +exc.u204: + call void @scr_dyn_release(ptr %t534) + call void @scr_dyn_release(ptr %t535) + call void @scr_dyn_release(ptr %t536) + call void @scr_closure_release(ptr %t537) + call void @scr_dyn_release(ptr %t538) + ret ptr null +exc.k205: + %t542 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t536, ptr @sc_lit_1948131179100861, ptr %t542) + %t543 = load i32, ptr %exc.cell + %t544 = icmp ne i32 %t543, 0 + %t545 = call i1 @llvm.expect.i1(i1 %t544, i1 false) + br i1 %t545, label %exc.u206, label %exc.k207 +exc.u206: + call void @scr_dyn_release(ptr %t534) + call void @scr_dyn_release(ptr %t535) + call void @scr_dyn_release(ptr %t536) + call void @scr_closure_release(ptr %t537) + call void @scr_dyn_release(ptr %t538) + call void @scr_dyn_release(ptr %t542) + ret ptr null +exc.k207: + %t546 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t536, ptr @sc_lit_3198935257758645, ptr %t546) + %t547 = load i32, ptr %exc.cell + %t548 = icmp ne i32 %t547, 0 + %t549 = call i1 @llvm.expect.i1(i1 %t548, i1 false) + br i1 %t549, label %exc.u208, label %exc.k209 +exc.u208: + call void @scr_dyn_release(ptr %t534) + call void @scr_dyn_release(ptr %t535) + call void @scr_dyn_release(ptr %t536) + call void @scr_closure_release(ptr %t537) + call void @scr_dyn_release(ptr %t538) + call void @scr_dyn_release(ptr %t542) + call void @scr_dyn_release(ptr %t546) + ret ptr null +exc.k209: + %t550 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t534, ptr %t535, ptr %t536) + %t551 = load i32, ptr %exc.cell + %t552 = icmp ne i32 %t551, 0 + %t553 = call i1 @llvm.expect.i1(i1 %t552, i1 false) + br i1 %t553, label %exc.u210, label %exc.k211 +exc.u210: + call void @scr_dyn_release(ptr %t534) + call void @scr_dyn_release(ptr %t535) + call void @scr_dyn_release(ptr %t536) + call void @scr_closure_release(ptr %t537) + call void @scr_dyn_release(ptr %t538) + call void @scr_dyn_release(ptr %t542) + call void @scr_dyn_release(ptr %t546) + call void @scr_dyn_release(ptr %t550) + ret ptr null +exc.k211: + call void @scr_dyn_release(ptr %t534) + call void @scr_dyn_release(ptr %t535) + call void @scr_dyn_release(ptr %t536) + call void @scr_closure_release(ptr %t537) + call void @scr_dyn_release(ptr %t538) + call void @scr_dyn_release(ptr %t542) + call void @scr_dyn_release(ptr %t546) + call void @scr_dyn_release(ptr %t550) + %t554 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t555 = call ptr @sc_rc_retain_dyn(ptr %t554) + %t556 = call ptr @sc_td_0(ptr @sc_lit_3899522094323235) + %t557 = call ptr @scr_dyn_new_obj() + %t558 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch) + %t559 = call ptr @sc_dfb_31(ptr %t558, ptr null) + call void @scr_dyn_key_set(ptr %t557, ptr @sc_lit_3610950885518037, ptr %t559) + %t560 = load i32, ptr %exc.cell + %t561 = icmp ne i32 %t560, 0 + %t562 = call i1 @llvm.expect.i1(i1 %t561, i1 false) + br i1 %t562, label %exc.u212, label %exc.k213 +exc.u212: + call void @scr_dyn_release(ptr %t555) + call void @scr_dyn_release(ptr %t556) + call void @scr_dyn_release(ptr %t557) + call void @scr_closure_release(ptr %t558) + call void @scr_dyn_release(ptr %t559) + ret ptr null +exc.k213: + %t563 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t557, ptr @sc_lit_1948131179100861, ptr %t563) + %t564 = load i32, ptr %exc.cell + %t565 = icmp ne i32 %t564, 0 + %t566 = call i1 @llvm.expect.i1(i1 %t565, i1 false) + br i1 %t566, label %exc.u214, label %exc.k215 +exc.u214: + call void @scr_dyn_release(ptr %t555) + call void @scr_dyn_release(ptr %t556) + call void @scr_dyn_release(ptr %t557) + call void @scr_closure_release(ptr %t558) + call void @scr_dyn_release(ptr %t559) + call void @scr_dyn_release(ptr %t563) + ret ptr null +exc.k215: + %t567 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t557, ptr @sc_lit_3198935257758645, ptr %t567) + %t568 = load i32, ptr %exc.cell + %t569 = icmp ne i32 %t568, 0 + %t570 = call i1 @llvm.expect.i1(i1 %t569, i1 false) + br i1 %t570, label %exc.u216, label %exc.k217 +exc.u216: + call void @scr_dyn_release(ptr %t555) + call void @scr_dyn_release(ptr %t556) + call void @scr_dyn_release(ptr %t557) + call void @scr_closure_release(ptr %t558) + call void @scr_dyn_release(ptr %t559) + call void @scr_dyn_release(ptr %t563) + call void @scr_dyn_release(ptr %t567) + ret ptr null +exc.k217: + %t571 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t555, ptr %t556, ptr %t557) + %t572 = load i32, ptr %exc.cell + %t573 = icmp ne i32 %t572, 0 + %t574 = call i1 @llvm.expect.i1(i1 %t573, i1 false) + br i1 %t574, label %exc.u218, label %exc.k219 +exc.u218: + call void @scr_dyn_release(ptr %t555) + call void @scr_dyn_release(ptr %t556) + call void @scr_dyn_release(ptr %t557) + call void @scr_closure_release(ptr %t558) + call void @scr_dyn_release(ptr %t559) + call void @scr_dyn_release(ptr %t563) + call void @scr_dyn_release(ptr %t567) + call void @scr_dyn_release(ptr %t571) + ret ptr null +exc.k219: + call void @scr_dyn_release(ptr %t555) + call void @scr_dyn_release(ptr %t556) + call void @scr_dyn_release(ptr %t557) + call void @scr_closure_release(ptr %t558) + call void @scr_dyn_release(ptr %t559) + call void @scr_dyn_release(ptr %t563) + call void @scr_dyn_release(ptr %t567) + call void @scr_dyn_release(ptr %t571) + br label %if.j3 +if.j3: + %t575 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + %t576 = call ptr @sc_rc_retain_dyn(ptr %t575) + ret ptr %t576 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m5.App +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_21424698936986 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_21424698936986) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_21424698936986 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m5_App(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_91(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m5_App(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m5_App(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_get(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.get +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_get(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_get(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_get(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_closure_release(ptr %p1) + call void @sc_rrelease_r7(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_post(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.post +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_post(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_post(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_post(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_closure_release(ptr %p1) + call void @sc_rrelease_r7(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_put(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.put +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_put(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_put(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_put(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_closure_release(ptr %p1) + call void @sc_rrelease_r7(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.delete +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_delete(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_closure_release(ptr %p1) + call void @sc_rrelease_r7(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.patch +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_patch(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_closure_release(ptr %p1) + call void @sc_rrelease_r7(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_head(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.head +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_head(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_head(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_head(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_closure_release(ptr %p1) + call void @sc_rrelease_r7(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_options(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.options +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_options(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_options(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_options(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_closure_release(ptr %p1) + call void @sc_rrelease_r7(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_all(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.all +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_all(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_all(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_all(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_closure_release(ptr %p1) + call void @sc_rrelease_r7(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_on(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3) #0 { ; %method.value:%%m5.App.on +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_3 = alloca ptr ; p3 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_3, ptr %sc_l_p_3 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = load ptr, ptr %sc_l_p_3 + %t13 = call ptr @sc_bf__x25__x25_m5_App_on(ptr %t5, ptr %t9, ptr %t10, ptr %t11, ptr %t12) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t13) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t13 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_on(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_on(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_use(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.App.use +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = call ptr @sc_bf__x25__x25_m5_App_use(ptr %t5, ptr %t9, ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k5: + %t15 = call ptr @sc_retain__x25_m5_App(ptr %t11) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t15 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_use(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_use(ptr %p0, ptr %p1) + call void @scr_union_release(ptr %p0) + call void @scr_arr_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.notFound +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_App_notFound(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k5: + %t14 = call ptr @sc_retain__x25_m5_App(ptr %t10) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t14 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %p0) + call void @scr_closure_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.onError +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_App_onError(ptr %t5, ptr %t9) + %t11 = call ptr @sc_retain__x25_m5_App(ptr %t10) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t11 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %p0) + call void @scr_closure_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_route(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.App.route +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = call ptr @sc_bf__x25__x25_m5_App_route(ptr %t5, ptr %t9, ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k5: + %t15 = call ptr @sc_retain__x25_m5_App(ptr %t11) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t15 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_route(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_route(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @sc_release__x25_m5_App(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.withDispatch +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_App_withDispatch(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k5: + %t14 = call ptr @sc_retain__x25_m5_App(ptr %t10) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t14 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %p0) + call void @sc_release__x25_m0_GenDispatch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.withFetchDispatch +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_App_withFetchDispatch(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k5: + %t14 = call ptr @sc_retain__x25_m5_App(ptr %t10) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t14 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %p0) + call void @sc_release__x25_m0_GenFetch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.withUpgrade +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_App_withUpgrade(ptr %t5, ptr %t9) + %t11 = call ptr @sc_retain__x25_m5_App(ptr %t10) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t11 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %p0) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler() #0 { ; %method.value:%%m5.App.upgradeHandler +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_App_upgradeHandler(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_handler() #0 { ; %method.value:%%m5.App.handler +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_App_handler(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetchBridge() #0 { ; %method.value:%%m5.App.fetchBridge +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_App_fetchBridge(ptr %t5) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.serve +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_App_serve(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @scr_net_server_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %p0) + call void @sc_rrelease_r8(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.serveFetch +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_App_serveFetch(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @scr_net_server_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %p0) + call void @sc_rrelease_r8(ptr %p0) + ret ptr %result +} + +define internal double @sc_bf__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3, ptr %p_sc_l_p_4) #0 { ; %method.value:%%m5.App._regFn +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_3 = alloca ptr ; p3 + %sc_l_p_4 = alloca ptr ; p4 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_3, ptr %sc_l_p_3 + store ptr %p_sc_l_p_4, ptr %sc_l_p_4 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret double 0x0000000000000000 +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret double 0x0000000000000000 +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = load ptr, ptr %sc_l_p_3 + %t13 = load ptr, ptr %sc_l_p_4 + %t14 = call double @sc_bf__x25__x25_m5_App__regFn(ptr %t5, ptr %t9, ptr %t10, ptr %t11, ptr %t12, ptr %t13) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret double %t14 +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret double %t14 +} +define internal double @sc_f__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + %result = call double @sc_bf__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @scr_union_release(ptr %p0) + call void @scr_arr_release(ptr %p1) + call void @sc_rrelease_r9(ptr %p2) + call void @scr_union_release(ptr %p3) + call void @sc_release__x25_m5_MpCfg(ptr %p4) + ret double %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__add(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3) #0 { ; %method.value:%%m5.App._add +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_3 = alloca ptr ; p3 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_3, ptr %sc_l_p_3 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = load ptr, ptr %sc_l_p_3 + %t13 = call ptr @sc_bf__x25__x25_m5_App__add(ptr %t5, ptr %t9, ptr %t10, ptr %t11, ptr %t12) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k5: + %t17 = call ptr @sc_retain__x25_m5_App(ptr %t13) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t17 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App__add(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__add(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @sc_rrelease_r7(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.fetch +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_App_fetch(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + call void @scr_promise_release(ptr %t12) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr %t12 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3, ptr %p_sc_l_p_4) #0 { ; %method.value:%%m5.App.fetchShim +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_3 = alloca ptr ; p3 + %sc_l_p_4 = alloca ptr ; p4 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_3, ptr %sc_l_p_3 + store ptr %p_sc_l_p_4, ptr %sc_l_p_4 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = load ptr, ptr %sc_l_p_3 + %t13 = load ptr, ptr %sc_l_p_4 + call void @sc_bf__x25__x25_m5_App_fetchShim(ptr %t5, ptr %t9, ptr %t10, ptr %t11, ptr %t12, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rrelease_r0(ptr %p2) + call void @scr_str_release(ptr %p3) + call void @scr_closure_release(ptr %p4) + ret void +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3, ptr %p_sc_l_p_4, ptr %p_sc_l_p_5, ptr %p_sc_l_p_6) #0 { ; %method.value:%%m5.App._dispatchPrim +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_3 = alloca ptr ; p3 + %sc_l_p_4 = alloca ptr ; p4 + %sc_l_p_5 = alloca ptr ; p5 + %sc_l_p_6 = alloca ptr ; p6 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_3, ptr %sc_l_p_3 + store ptr %p_sc_l_p_4, ptr %sc_l_p_4 + store ptr %p_sc_l_p_5, ptr %sc_l_p_5 + store ptr %p_sc_l_p_6, ptr %sc_l_p_6 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_rc_retain_str(ptr %t9) + %t11 = load ptr, ptr %sc_l_p_1 + %t12 = call ptr @sc_rc_retain_str(ptr %t11) + %t13 = load ptr, ptr %sc_l_p_2 + %t14 = call ptr @sc_rretain_r0(ptr %t13) + %t15 = load ptr, ptr %sc_l_p_3 + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + %t17 = load ptr, ptr %sc_l_p_4 + %t18 = call ptr @sc_rc_retain_str(ptr %t17) + %t19 = load ptr, ptr %sc_l_p_5 + %t20 = call ptr @scr_union_retain_v(ptr %t19) + %t21 = load ptr, ptr %sc_l_p_6 + %t22 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t21) + %t23 = call ptr @sc_as__x25__x25_m5_App__dispatchPrim(ptr %t5, ptr %t10, ptr %t12, ptr %t14, ptr %t16, ptr %t18, ptr %t20, ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_promise_release(ptr %t23) + ret ptr null +exc.k5: + ret ptr %t23 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rrelease_r0(ptr %p2) + call void @sc_rc_release_dyn(ptr %p3) + call void @scr_str_release(ptr %p4) + call void @scr_union_release(ptr %p5) + call void @sc_release__x25_m2_ResponseSink(ptr %p6) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.App._dispatch +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_App(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m5_App__dispatch(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_App(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m5_App(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %p0, ptr %p1) + call void @scr_http_req_release(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p1) + ret void +} + +define internal ptr @sc_f__x25_dyn_class_properties(ptr %p_sc_l_p_0) #0 { ; %dyn.class.properties +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s46 = alloca ptr + %s74 = alloca ptr + %s95 = alloca i1 + %s107 = alloca ptr + %s130 = alloca ptr + %s158 = alloca ptr + %s179 = alloca i1 + %s191 = alloca ptr + %s214 = alloca ptr + %s242 = alloca ptr + %s263 = alloca i1 + %s275 = alloca ptr + %s298 = alloca ptr + %s326 = alloca ptr + %s347 = alloca i1 + %s359 = alloca ptr + %s382 = alloca ptr + %s410 = alloca ptr + %s431 = alloca i1 + %s443 = alloca ptr + %s466 = alloca ptr + %s494 = alloca ptr + %s515 = alloca i1 + %s527 = alloca ptr + %s550 = alloca ptr + %s578 = alloca ptr + %s599 = alloca i1 + %s611 = alloca ptr + %s634 = alloca ptr + %s662 = alloca ptr + %s683 = alloca i1 + %s693 = alloca i1 + %s696 = alloca ptr + %s722 = alloca ptr + %s745 = alloca ptr + %s773 = alloca ptr + %s794 = alloca i1 + %s806 = alloca ptr + %s829 = alloca ptr + %s847 = alloca ptr + %s870 = alloca ptr + %s888 = alloca ptr + %s909 = alloca i1 + %s919 = alloca i1 + %s922 = alloca ptr + %s948 = alloca ptr + %s971 = alloca ptr + %s999 = alloca ptr + %s1020 = alloca i1 + %s1030 = alloca i1 + %s1033 = alloca ptr + %s1059 = alloca ptr + %s1082 = alloca ptr + %s1100 = alloca ptr + %s1123 = alloca ptr + %s1141 = alloca ptr + %s1162 = alloca i1 + %s1174 = alloca ptr + %s1197 = alloca ptr + %s1215 = alloca ptr + %s1238 = alloca ptr + %s1241 = alloca ptr + %s1264 = alloca ptr + %s1287 = alloca ptr + %s1308 = alloca i1 + %s1320 = alloca ptr + %s1343 = alloca ptr + %s1371 = alloca ptr + %s1392 = alloca i1 + %s1404 = alloca ptr + %s1427 = alloca ptr + %s1455 = alloca ptr + %s1476 = alloca i1 + %s1488 = alloca ptr + %s1511 = alloca ptr + %s1532 = alloca ptr + %s1553 = alloca i1 + %s1565 = alloca ptr + %s1588 = alloca ptr + %s1616 = alloca ptr + %s1637 = alloca i1 + %s1649 = alloca ptr + %s1672 = alloca ptr + %s1693 = alloca ptr + %s1714 = alloca i1 + %s1724 = alloca i1 + %s1727 = alloca ptr + %s1753 = alloca ptr + %s1776 = alloca ptr + %s1804 = alloca ptr + %s1825 = alloca i1 + %s1837 = alloca ptr + %s1860 = alloca ptr + %s1878 = alloca ptr + %s1901 = alloca ptr + %s1919 = alloca ptr + %s1940 = alloca i1 + %s1952 = alloca ptr + %s1975 = alloca ptr + %s2003 = alloca ptr + %s2024 = alloca i1 + %s2034 = alloca i1 + %s2037 = alloca ptr + %s2063 = alloca ptr + %s2086 = alloca ptr + %s2114 = alloca ptr + %s2135 = alloca i1 + %s2147 = alloca ptr + %s2170 = alloca ptr + %s2188 = alloca ptr + %s2211 = alloca ptr + %s2229 = alloca ptr + %s2250 = alloca i1 + %s2260 = alloca i1 + %s2263 = alloca ptr + %s2289 = alloca ptr + %s2312 = alloca ptr + %s2340 = alloca ptr + %s2361 = alloca i1 + %s2371 = alloca i1 + %s2374 = alloca ptr + %s2400 = alloca ptr + %s2423 = alloca ptr + %s2441 = alloca ptr + %s2464 = alloca ptr + %s2482 = alloca ptr + %s2503 = alloca i1 + %s2513 = alloca i1 + %s2516 = alloca ptr + %s2542 = alloca ptr + %s2565 = alloca ptr + %s2593 = alloca ptr + %s2614 = alloca i1 + %s2626 = alloca ptr + %s2649 = alloca ptr + %s2667 = alloca ptr + %s2690 = alloca ptr + %s2693 = alloca ptr + %s2716 = alloca ptr + %s2728 = alloca ptr + %s2751 = alloca ptr + %s2770 = alloca ptr + %s2791 = alloca i1 + %s2803 = alloca ptr + %s2826 = alloca ptr + %s2854 = alloca ptr + %s2875 = alloca i1 + %s2887 = alloca ptr + %s2910 = alloca ptr + %s2931 = alloca ptr + %s2952 = alloca i1 + %s2962 = alloca i1 + %s2965 = alloca ptr + %s2991 = alloca ptr + %s3014 = alloca ptr + %s3042 = alloca ptr + %s3063 = alloca i1 + %s3075 = alloca ptr + %s3098 = alloca ptr + %s3116 = alloca ptr + %s3139 = alloca ptr + %s3157 = alloca ptr + %s3178 = alloca i1 + %s3190 = alloca ptr + %s3213 = alloca ptr + %s3241 = alloca ptr + %s3262 = alloca i1 + %s3274 = alloca ptr + %s3297 = alloca ptr + %s3325 = alloca ptr + %s3346 = alloca i1 + %s3358 = alloca ptr + %s3381 = alloca ptr + %s3409 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @scr_dyn_release(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_30(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t38, i64 0, i32 2 + %t40 = load ptr, ptr %t39, !tbaa !204 + %t41 = getelementptr inbounds i8, ptr %t40, i64 8 ; ->kind + %t42 = load i32, ptr %t41 + %t43 = icmp eq i32 %t42, 6 + call void @scr_dyn_release(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + br i1 %t43, label %if.t18, label %if.j19 +if.t18: + %t44 = load ptr, ptr %sc_l_p_0 + %t45 = call ptr @sc_rc_retain_dyn(ptr %t44) + %t47 = icmp ne ptr %t45, null + br i1 %t47, label %dc.inspect20, label %dc.checked23 +dc.inspect20: + %t52 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind + %t53 = load i32, ptr %t52 + %t48 = icmp eq i32 %t53, 12 + br i1 %t48, label %dc.capsule21, label %dc.checked23 +dc.capsule21: + %t49 = getelementptr inbounds i8, ptr %t45, i64 40 ; ->v.typed_ref.type_key + %t50 = load ptr, ptr %t49 + %t51 = icmp eq ptr %t50, @sc_cs_1746033898805369 + br i1 %t51, label %dc.exact22, label %dc.checked23 +dc.exact22: + %t54 = getelementptr inbounds i8, ptr %t45, i64 16 ; ->v.typed_ref.ptr + %t55 = load ptr, ptr %t54 + %t56 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t55) + store ptr %t56, ptr %s46 + br label %dc.done24 +dc.checked23: + %t57 = call ptr @sc_dc_30(ptr %t45, ptr null) + store ptr %t57, ptr %s46 + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u25, label %exc.k26 +exc.u25: + call void @scr_dyn_release(ptr %t45) + br label %exc.cleanup2 +exc.k26: + br label %dc.done24 +dc.done24: + %t61 = load ptr, ptr %s46 + %t62 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore() + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u27, label %exc.k28 +exc.u27: + call void @scr_dyn_release(ptr %t45) + call void @sc_release__x25_m5_CtxResCore(ptr %t61) + call void @scr_dyn_release(ptr %t62) + br label %exc.cleanup2 +exc.k28: + %t66 = call ptr @scr_dyn_obj_create(ptr %t62) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u29, label %exc.k30 +exc.u29: + call void @scr_dyn_release(ptr %t45) + call void @sc_release__x25_m5_CtxResCore(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + br label %exc.cleanup2 +exc.k30: + %t70 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t61, i64 0, i32 2 + %t71 = load ptr, ptr %t70 + store ptr %t66, ptr %t70, !tbaa !204 + call void @scr_dyn_release(ptr %t71) + call void @scr_dyn_release(ptr %t45) + call void @sc_release__x25_m5_CtxResCore(ptr %t61) + call void @scr_dyn_release(ptr %t62) + br label %if.j19 +if.j19: + %t72 = load ptr, ptr %sc_l_p_0 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + %t75 = icmp ne ptr %t73, null + br i1 %t75, label %dc.inspect31, label %dc.checked34 +dc.inspect31: + %t80 = getelementptr inbounds i8, ptr %t73, i64 8 ; ->kind + %t81 = load i32, ptr %t80 + %t76 = icmp eq i32 %t81, 12 + br i1 %t76, label %dc.capsule32, label %dc.checked34 +dc.capsule32: + %t77 = getelementptr inbounds i8, ptr %t73, i64 40 ; ->v.typed_ref.type_key + %t78 = load ptr, ptr %t77 + %t79 = icmp eq ptr %t78, @sc_cs_1746033898805369 + br i1 %t79, label %dc.exact33, label %dc.checked34 +dc.exact33: + %t82 = getelementptr inbounds i8, ptr %t73, i64 16 ; ->v.typed_ref.ptr + %t83 = load ptr, ptr %t82 + %t84 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t83) + store ptr %t84, ptr %s74 + br label %dc.done35 +dc.checked34: + %t85 = call ptr @sc_dc_30(ptr %t73, ptr null) + store ptr %t85, ptr %s74 + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_dyn_release(ptr %t73) + br label %exc.cleanup2 +exc.k37: + br label %dc.done35 +dc.done35: + %t89 = load ptr, ptr %s74 + %t90 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t89, i64 0, i32 2 + %t91 = load ptr, ptr %t90, !tbaa !204 + %t92 = call ptr @sc_rc_retain_dyn(ptr %t91) + call void @scr_dyn_release(ptr %t73) + call void @sc_release__x25_m5_CtxResCore(ptr %t89) + %t93 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t93) + ret ptr %t92 +if.j10: + %t94 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s95 + %t96 = icmp ne ptr %t94, null + br i1 %t96, label %brand.inspect38, label %brand.done40 +brand.inspect38: + %t97 = getelementptr inbounds i8, ptr %t94, i64 8 ; ->kind + %t98 = load i32, ptr %t97 + %t99 = icmp eq i32 %t98, 12 + br i1 %t99, label %brand.capsule39, label %brand.done40 +brand.capsule39: + %t100 = getelementptr inbounds i8, ptr %t94, i64 40 ; ->v.typed_ref.type_key + %t101 = load ptr, ptr %t100 + %t102 = icmp eq ptr %t101, @sc_cs_3456310594719780 + store i1 true, ptr %s95 + br i1 %t102, label %brand.done40, label %brand.compare41 +brand.compare41: + %t103 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t94, ptr @sc_lit_3456310594719780) + store i1 %t103, ptr %s95 + br label %brand.done40 +brand.done40: + %t104 = load i1, ptr %s95 + br i1 %t104, label %if.t42, label %if.j43 +if.t42: + %t105 = load ptr, ptr %sc_l_p_0 + %t106 = call ptr @sc_rc_retain_dyn(ptr %t105) + %t108 = icmp ne ptr %t106, null + br i1 %t108, label %dc.inspect44, label %dc.checked47 +dc.inspect44: + %t113 = getelementptr inbounds i8, ptr %t106, i64 8 ; ->kind + %t114 = load i32, ptr %t113 + %t109 = icmp eq i32 %t114, 12 + br i1 %t109, label %dc.capsule45, label %dc.checked47 +dc.capsule45: + %t110 = getelementptr inbounds i8, ptr %t106, i64 40 ; ->v.typed_ref.type_key + %t111 = load ptr, ptr %t110 + %t112 = icmp eq ptr %t111, @sc_cs_3456310594719780 + br i1 %t112, label %dc.exact46, label %dc.checked47 +dc.exact46: + %t115 = getelementptr inbounds i8, ptr %t106, i64 16 ; ->v.typed_ref.ptr + %t116 = load ptr, ptr %t115 + %t117 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t116) + store ptr %t117, ptr %s107 + br label %dc.done48 +dc.checked47: + %t118 = call ptr @sc_dc_99(ptr %t106, ptr null) + store ptr %t118, ptr %s107 + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u49, label %exc.k50 +exc.u49: + call void @scr_dyn_release(ptr %t106) + br label %exc.cleanup2 +exc.k50: + br label %dc.done48 +dc.done48: + %t122 = load ptr, ptr %s107 + %t123 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t122, i64 0, i32 2 + %t124 = load ptr, ptr %t123, !tbaa !204 + %t125 = getelementptr inbounds i8, ptr %t124, i64 8 ; ->kind + %t126 = load i32, ptr %t125 + %t127 = icmp eq i32 %t126, 6 + call void @scr_dyn_release(ptr %t106) + call void @sc_release__x25_m4_MemoryStorage(ptr %t122) + br i1 %t127, label %if.t51, label %if.j52 +if.t51: + %t128 = load ptr, ptr %sc_l_p_0 + %t129 = call ptr @sc_rc_retain_dyn(ptr %t128) + %t131 = icmp ne ptr %t129, null + br i1 %t131, label %dc.inspect53, label %dc.checked56 +dc.inspect53: + %t136 = getelementptr inbounds i8, ptr %t129, i64 8 ; ->kind + %t137 = load i32, ptr %t136 + %t132 = icmp eq i32 %t137, 12 + br i1 %t132, label %dc.capsule54, label %dc.checked56 +dc.capsule54: + %t133 = getelementptr inbounds i8, ptr %t129, i64 40 ; ->v.typed_ref.type_key + %t134 = load ptr, ptr %t133 + %t135 = icmp eq ptr %t134, @sc_cs_3456310594719780 + br i1 %t135, label %dc.exact55, label %dc.checked56 +dc.exact55: + %t138 = getelementptr inbounds i8, ptr %t129, i64 16 ; ->v.typed_ref.ptr + %t139 = load ptr, ptr %t138 + %t140 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t139) + store ptr %t140, ptr %s130 + br label %dc.done57 +dc.checked56: + %t141 = call ptr @sc_dc_99(ptr %t129, ptr null) + store ptr %t141, ptr %s130 + %t142 = load i32, ptr %exc.cell + %t143 = icmp ne i32 %t142, 0 + %t144 = call i1 @llvm.expect.i1(i1 %t143, i1 false) + br i1 %t144, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_dyn_release(ptr %t129) + br label %exc.cleanup2 +exc.k59: + br label %dc.done57 +dc.done57: + %t145 = load ptr, ptr %s130 + %t146 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_dyn_release(ptr %t129) + call void @sc_release__x25_m4_MemoryStorage(ptr %t145) + call void @scr_dyn_release(ptr %t146) + br label %exc.cleanup2 +exc.k61: + %t150 = call ptr @scr_dyn_obj_create(ptr %t146) + %t151 = load i32, ptr %exc.cell + %t152 = icmp ne i32 %t151, 0 + %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false) + br i1 %t153, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_dyn_release(ptr %t129) + call void @sc_release__x25_m4_MemoryStorage(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + br label %exc.cleanup2 +exc.k63: + %t154 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t145, i64 0, i32 2 + %t155 = load ptr, ptr %t154 + store ptr %t150, ptr %t154, !tbaa !204 + call void @scr_dyn_release(ptr %t155) + call void @scr_dyn_release(ptr %t129) + call void @sc_release__x25_m4_MemoryStorage(ptr %t145) + call void @scr_dyn_release(ptr %t146) + br label %if.j52 +if.j52: + %t156 = load ptr, ptr %sc_l_p_0 + %t157 = call ptr @sc_rc_retain_dyn(ptr %t156) + %t159 = icmp ne ptr %t157, null + br i1 %t159, label %dc.inspect64, label %dc.checked67 +dc.inspect64: + %t164 = getelementptr inbounds i8, ptr %t157, i64 8 ; ->kind + %t165 = load i32, ptr %t164 + %t160 = icmp eq i32 %t165, 12 + br i1 %t160, label %dc.capsule65, label %dc.checked67 +dc.capsule65: + %t161 = getelementptr inbounds i8, ptr %t157, i64 40 ; ->v.typed_ref.type_key + %t162 = load ptr, ptr %t161 + %t163 = icmp eq ptr %t162, @sc_cs_3456310594719780 + br i1 %t163, label %dc.exact66, label %dc.checked67 +dc.exact66: + %t166 = getelementptr inbounds i8, ptr %t157, i64 16 ; ->v.typed_ref.ptr + %t167 = load ptr, ptr %t166 + %t168 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t167) + store ptr %t168, ptr %s158 + br label %dc.done68 +dc.checked67: + %t169 = call ptr @sc_dc_99(ptr %t157, ptr null) + store ptr %t169, ptr %s158 + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u69, label %exc.k70 +exc.u69: + call void @scr_dyn_release(ptr %t157) + br label %exc.cleanup2 +exc.k70: + br label %dc.done68 +dc.done68: + %t173 = load ptr, ptr %s158 + %t174 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t173, i64 0, i32 2 + %t175 = load ptr, ptr %t174, !tbaa !204 + %t176 = call ptr @sc_rc_retain_dyn(ptr %t175) + call void @scr_dyn_release(ptr %t157) + call void @sc_release__x25_m4_MemoryStorage(ptr %t173) + %t177 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t177) + ret ptr %t176 +if.j43: + %t178 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s179 + %t180 = icmp ne ptr %t178, null + br i1 %t180, label %brand.inspect71, label %brand.done73 +brand.inspect71: + %t181 = getelementptr inbounds i8, ptr %t178, i64 8 ; ->kind + %t182 = load i32, ptr %t181 + %t183 = icmp eq i32 %t182, 12 + br i1 %t183, label %brand.capsule72, label %brand.done73 +brand.capsule72: + %t184 = getelementptr inbounds i8, ptr %t178, i64 40 ; ->v.typed_ref.type_key + %t185 = load ptr, ptr %t184 + %t186 = icmp eq ptr %t185, @sc_cs_3728566007289652 + store i1 true, ptr %s179 + br i1 %t186, label %brand.done73, label %brand.compare74 +brand.compare74: + %t187 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t178, ptr @sc_lit_3728566007289652) + store i1 %t187, ptr %s179 + br label %brand.done73 +brand.done73: + %t188 = load i1, ptr %s179 + br i1 %t188, label %if.t75, label %if.j76 +if.t75: + %t189 = load ptr, ptr %sc_l_p_0 + %t190 = call ptr @sc_rc_retain_dyn(ptr %t189) + %t192 = icmp ne ptr %t190, null + br i1 %t192, label %dc.inspect77, label %dc.checked80 +dc.inspect77: + %t197 = getelementptr inbounds i8, ptr %t190, i64 8 ; ->kind + %t198 = load i32, ptr %t197 + %t193 = icmp eq i32 %t198, 12 + br i1 %t193, label %dc.capsule78, label %dc.checked80 +dc.capsule78: + %t194 = getelementptr inbounds i8, ptr %t190, i64 40 ; ->v.typed_ref.type_key + %t195 = load ptr, ptr %t194 + %t196 = icmp eq ptr %t195, @sc_cs_3728566007289652 + br i1 %t196, label %dc.exact79, label %dc.checked80 +dc.exact79: + %t199 = getelementptr inbounds i8, ptr %t190, i64 16 ; ->v.typed_ref.ptr + %t200 = load ptr, ptr %t199 + %t201 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t200) + store ptr %t201, ptr %s191 + br label %dc.done81 +dc.checked80: + %t202 = call ptr @sc_dc_100(ptr %t190, ptr null) + store ptr %t202, ptr %s191 + %t203 = load i32, ptr %exc.cell + %t204 = icmp ne i32 %t203, 0 + %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false) + br i1 %t205, label %exc.u82, label %exc.k83 +exc.u82: + call void @scr_dyn_release(ptr %t190) + br label %exc.cleanup2 +exc.k83: + br label %dc.done81 +dc.done81: + %t206 = load ptr, ptr %s191 + %t207 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t206, i64 0, i32 2 + %t208 = load ptr, ptr %t207, !tbaa !204 + %t209 = getelementptr inbounds i8, ptr %t208, i64 8 ; ->kind + %t210 = load i32, ptr %t209 + %t211 = icmp eq i32 %t210, 6 + call void @scr_dyn_release(ptr %t190) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t206) + br i1 %t211, label %if.t84, label %if.j85 +if.t84: + %t212 = load ptr, ptr %sc_l_p_0 + %t213 = call ptr @sc_rc_retain_dyn(ptr %t212) + %t215 = icmp ne ptr %t213, null + br i1 %t215, label %dc.inspect86, label %dc.checked89 +dc.inspect86: + %t220 = getelementptr inbounds i8, ptr %t213, i64 8 ; ->kind + %t221 = load i32, ptr %t220 + %t216 = icmp eq i32 %t221, 12 + br i1 %t216, label %dc.capsule87, label %dc.checked89 +dc.capsule87: + %t217 = getelementptr inbounds i8, ptr %t213, i64 40 ; ->v.typed_ref.type_key + %t218 = load ptr, ptr %t217 + %t219 = icmp eq ptr %t218, @sc_cs_3728566007289652 + br i1 %t219, label %dc.exact88, label %dc.checked89 +dc.exact88: + %t222 = getelementptr inbounds i8, ptr %t213, i64 16 ; ->v.typed_ref.ptr + %t223 = load ptr, ptr %t222 + %t224 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t223) + store ptr %t224, ptr %s214 + br label %dc.done90 +dc.checked89: + %t225 = call ptr @sc_dc_100(ptr %t213, ptr null) + store ptr %t225, ptr %s214 + %t226 = load i32, ptr %exc.cell + %t227 = icmp ne i32 %t226, 0 + %t228 = call i1 @llvm.expect.i1(i1 %t227, i1 false) + br i1 %t228, label %exc.u91, label %exc.k92 +exc.u91: + call void @scr_dyn_release(ptr %t213) + br label %exc.cleanup2 +exc.k92: + br label %dc.done90 +dc.done90: + %t229 = load ptr, ptr %s214 + %t230 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u93, label %exc.k94 +exc.u93: + call void @scr_dyn_release(ptr %t213) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t229) + call void @scr_dyn_release(ptr %t230) + br label %exc.cleanup2 +exc.k94: + %t234 = call ptr @scr_dyn_obj_create(ptr %t230) + %t235 = load i32, ptr %exc.cell + %t236 = icmp ne i32 %t235, 0 + %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false) + br i1 %t237, label %exc.u95, label %exc.k96 +exc.u95: + call void @scr_dyn_release(ptr %t213) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + br label %exc.cleanup2 +exc.k96: + %t238 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t229, i64 0, i32 2 + %t239 = load ptr, ptr %t238 + store ptr %t234, ptr %t238, !tbaa !204 + call void @scr_dyn_release(ptr %t239) + call void @scr_dyn_release(ptr %t213) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t229) + call void @scr_dyn_release(ptr %t230) + br label %if.j85 +if.j85: + %t240 = load ptr, ptr %sc_l_p_0 + %t241 = call ptr @sc_rc_retain_dyn(ptr %t240) + %t243 = icmp ne ptr %t241, null + br i1 %t243, label %dc.inspect97, label %dc.checked100 +dc.inspect97: + %t248 = getelementptr inbounds i8, ptr %t241, i64 8 ; ->kind + %t249 = load i32, ptr %t248 + %t244 = icmp eq i32 %t249, 12 + br i1 %t244, label %dc.capsule98, label %dc.checked100 +dc.capsule98: + %t245 = getelementptr inbounds i8, ptr %t241, i64 40 ; ->v.typed_ref.type_key + %t246 = load ptr, ptr %t245 + %t247 = icmp eq ptr %t246, @sc_cs_3728566007289652 + br i1 %t247, label %dc.exact99, label %dc.checked100 +dc.exact99: + %t250 = getelementptr inbounds i8, ptr %t241, i64 16 ; ->v.typed_ref.ptr + %t251 = load ptr, ptr %t250 + %t252 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t251) + store ptr %t252, ptr %s242 + br label %dc.done101 +dc.checked100: + %t253 = call ptr @sc_dc_100(ptr %t241, ptr null) + store ptr %t253, ptr %s242 + %t254 = load i32, ptr %exc.cell + %t255 = icmp ne i32 %t254, 0 + %t256 = call i1 @llvm.expect.i1(i1 %t255, i1 false) + br i1 %t256, label %exc.u102, label %exc.k103 +exc.u102: + call void @scr_dyn_release(ptr %t241) + br label %exc.cleanup2 +exc.k103: + br label %dc.done101 +dc.done101: + %t257 = load ptr, ptr %s242 + %t258 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t257, i64 0, i32 2 + %t259 = load ptr, ptr %t258, !tbaa !204 + %t260 = call ptr @sc_rc_retain_dyn(ptr %t259) + call void @scr_dyn_release(ptr %t241) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t257) + %t261 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t261) + ret ptr %t260 +if.j76: + %t262 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s263 + %t264 = icmp ne ptr %t262, null + br i1 %t264, label %brand.inspect104, label %brand.done106 +brand.inspect104: + %t265 = getelementptr inbounds i8, ptr %t262, i64 8 ; ->kind + %t266 = load i32, ptr %t265 + %t267 = icmp eq i32 %t266, 12 + br i1 %t267, label %brand.capsule105, label %brand.done106 +brand.capsule105: + %t268 = getelementptr inbounds i8, ptr %t262, i64 40 ; ->v.typed_ref.type_key + %t269 = load ptr, ptr %t268 + %t270 = icmp eq ptr %t269, @sc_cs_4041255434968695 + store i1 true, ptr %s263 + br i1 %t270, label %brand.done106, label %brand.compare107 +brand.compare107: + %t271 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t262, ptr @sc_lit_4041255434968695) + store i1 %t271, ptr %s263 + br label %brand.done106 +brand.done106: + %t272 = load i1, ptr %s263 + br i1 %t272, label %if.t108, label %if.j109 +if.t108: + %t273 = load ptr, ptr %sc_l_p_0 + %t274 = call ptr @sc_rc_retain_dyn(ptr %t273) + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %dc.inspect110, label %dc.checked113 +dc.inspect110: + %t281 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t282 = load i32, ptr %t281 + %t277 = icmp eq i32 %t282, 12 + br i1 %t277, label %dc.capsule111, label %dc.checked113 +dc.capsule111: + %t278 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t279 = load ptr, ptr %t278 + %t280 = icmp eq ptr %t279, @sc_cs_4041255434968695 + br i1 %t280, label %dc.exact112, label %dc.checked113 +dc.exact112: + %t283 = getelementptr inbounds i8, ptr %t274, i64 16 ; ->v.typed_ref.ptr + %t284 = load ptr, ptr %t283 + %t285 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t284) + store ptr %t285, ptr %s275 + br label %dc.done114 +dc.checked113: + %t286 = call ptr @sc_dc_101(ptr %t274, ptr null) + store ptr %t286, ptr %s275 + %t287 = load i32, ptr %exc.cell + %t288 = icmp ne i32 %t287, 0 + %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false) + br i1 %t289, label %exc.u115, label %exc.k116 +exc.u115: + call void @scr_dyn_release(ptr %t274) + br label %exc.cleanup2 +exc.k116: + br label %dc.done114 +dc.done114: + %t290 = load ptr, ptr %s275 + %t291 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t290, i64 0, i32 9 + %t292 = load ptr, ptr %t291, !tbaa !204 + %t293 = getelementptr inbounds i8, ptr %t292, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t295 = icmp eq i32 %t294, 6 + call void @scr_dyn_release(ptr %t274) + call void @sc_release__x25_m3_LiteRequest(ptr %t290) + br i1 %t295, label %if.t117, label %if.j118 +if.t117: + %t296 = load ptr, ptr %sc_l_p_0 + %t297 = call ptr @sc_rc_retain_dyn(ptr %t296) + %t299 = icmp ne ptr %t297, null + br i1 %t299, label %dc.inspect119, label %dc.checked122 +dc.inspect119: + %t304 = getelementptr inbounds i8, ptr %t297, i64 8 ; ->kind + %t305 = load i32, ptr %t304 + %t300 = icmp eq i32 %t305, 12 + br i1 %t300, label %dc.capsule120, label %dc.checked122 +dc.capsule120: + %t301 = getelementptr inbounds i8, ptr %t297, i64 40 ; ->v.typed_ref.type_key + %t302 = load ptr, ptr %t301 + %t303 = icmp eq ptr %t302, @sc_cs_4041255434968695 + br i1 %t303, label %dc.exact121, label %dc.checked122 +dc.exact121: + %t306 = getelementptr inbounds i8, ptr %t297, i64 16 ; ->v.typed_ref.ptr + %t307 = load ptr, ptr %t306 + %t308 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t307) + store ptr %t308, ptr %s298 + br label %dc.done123 +dc.checked122: + %t309 = call ptr @sc_dc_101(ptr %t297, ptr null) + store ptr %t309, ptr %s298 + %t310 = load i32, ptr %exc.cell + %t311 = icmp ne i32 %t310, 0 + %t312 = call i1 @llvm.expect.i1(i1 %t311, i1 false) + br i1 %t312, label %exc.u124, label %exc.k125 +exc.u124: + call void @scr_dyn_release(ptr %t297) + br label %exc.cleanup2 +exc.k125: + br label %dc.done123 +dc.done123: + %t313 = load ptr, ptr %s298 + %t314 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest() + %t315 = load i32, ptr %exc.cell + %t316 = icmp ne i32 %t315, 0 + %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false) + br i1 %t317, label %exc.u126, label %exc.k127 +exc.u126: + call void @scr_dyn_release(ptr %t297) + call void @sc_release__x25_m3_LiteRequest(ptr %t313) + call void @scr_dyn_release(ptr %t314) + br label %exc.cleanup2 +exc.k127: + %t318 = call ptr @scr_dyn_obj_create(ptr %t314) + %t319 = load i32, ptr %exc.cell + %t320 = icmp ne i32 %t319, 0 + %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false) + br i1 %t321, label %exc.u128, label %exc.k129 +exc.u128: + call void @scr_dyn_release(ptr %t297) + call void @sc_release__x25_m3_LiteRequest(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + br label %exc.cleanup2 +exc.k129: + %t322 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t313, i64 0, i32 9 + %t323 = load ptr, ptr %t322 + store ptr %t318, ptr %t322, !tbaa !204 + call void @scr_dyn_release(ptr %t323) + call void @scr_dyn_release(ptr %t297) + call void @sc_release__x25_m3_LiteRequest(ptr %t313) + call void @scr_dyn_release(ptr %t314) + br label %if.j118 +if.j118: + %t324 = load ptr, ptr %sc_l_p_0 + %t325 = call ptr @sc_rc_retain_dyn(ptr %t324) + %t327 = icmp ne ptr %t325, null + br i1 %t327, label %dc.inspect130, label %dc.checked133 +dc.inspect130: + %t332 = getelementptr inbounds i8, ptr %t325, i64 8 ; ->kind + %t333 = load i32, ptr %t332 + %t328 = icmp eq i32 %t333, 12 + br i1 %t328, label %dc.capsule131, label %dc.checked133 +dc.capsule131: + %t329 = getelementptr inbounds i8, ptr %t325, i64 40 ; ->v.typed_ref.type_key + %t330 = load ptr, ptr %t329 + %t331 = icmp eq ptr %t330, @sc_cs_4041255434968695 + br i1 %t331, label %dc.exact132, label %dc.checked133 +dc.exact132: + %t334 = getelementptr inbounds i8, ptr %t325, i64 16 ; ->v.typed_ref.ptr + %t335 = load ptr, ptr %t334 + %t336 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t335) + store ptr %t336, ptr %s326 + br label %dc.done134 +dc.checked133: + %t337 = call ptr @sc_dc_101(ptr %t325, ptr null) + store ptr %t337, ptr %s326 + %t338 = load i32, ptr %exc.cell + %t339 = icmp ne i32 %t338, 0 + %t340 = call i1 @llvm.expect.i1(i1 %t339, i1 false) + br i1 %t340, label %exc.u135, label %exc.k136 +exc.u135: + call void @scr_dyn_release(ptr %t325) + br label %exc.cleanup2 +exc.k136: + br label %dc.done134 +dc.done134: + %t341 = load ptr, ptr %s326 + %t342 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t341, i64 0, i32 9 + %t343 = load ptr, ptr %t342, !tbaa !204 + %t344 = call ptr @sc_rc_retain_dyn(ptr %t343) + call void @scr_dyn_release(ptr %t325) + call void @sc_release__x25_m3_LiteRequest(ptr %t341) + %t345 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t345) + ret ptr %t344 +if.j109: + %t346 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s347 + %t348 = icmp ne ptr %t346, null + br i1 %t348, label %brand.inspect137, label %brand.done139 +brand.inspect137: + %t349 = getelementptr inbounds i8, ptr %t346, i64 8 ; ->kind + %t350 = load i32, ptr %t349 + %t351 = icmp eq i32 %t350, 12 + br i1 %t351, label %brand.capsule138, label %brand.done139 +brand.capsule138: + %t352 = getelementptr inbounds i8, ptr %t346, i64 40 ; ->v.typed_ref.type_key + %t353 = load ptr, ptr %t352 + %t354 = icmp eq ptr %t353, @sc_cs_3326437563644705 + store i1 true, ptr %s347 + br i1 %t354, label %brand.done139, label %brand.compare140 +brand.compare140: + %t355 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t346, ptr @sc_lit_3326437563644705) + store i1 %t355, ptr %s347 + br label %brand.done139 +brand.done139: + %t356 = load i1, ptr %s347 + br i1 %t356, label %if.t141, label %if.j142 +if.t141: + %t357 = load ptr, ptr %sc_l_p_0 + %t358 = call ptr @sc_rc_retain_dyn(ptr %t357) + %t360 = icmp ne ptr %t358, null + br i1 %t360, label %dc.inspect143, label %dc.checked146 +dc.inspect143: + %t365 = getelementptr inbounds i8, ptr %t358, i64 8 ; ->kind + %t366 = load i32, ptr %t365 + %t361 = icmp eq i32 %t366, 12 + br i1 %t361, label %dc.capsule144, label %dc.checked146 +dc.capsule144: + %t362 = getelementptr inbounds i8, ptr %t358, i64 40 ; ->v.typed_ref.type_key + %t363 = load ptr, ptr %t362 + %t364 = icmp eq ptr %t363, @sc_cs_3326437563644705 + br i1 %t364, label %dc.exact145, label %dc.checked146 +dc.exact145: + %t367 = getelementptr inbounds i8, ptr %t358, i64 16 ; ->v.typed_ref.ptr + %t368 = load ptr, ptr %t367 + %t369 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t368) + store ptr %t369, ptr %s359 + br label %dc.done147 +dc.checked146: + %t370 = call ptr @sc_dc_102(ptr %t358, ptr null) + store ptr %t370, ptr %s359 + %t371 = load i32, ptr %exc.cell + %t372 = icmp ne i32 %t371, 0 + %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false) + br i1 %t373, label %exc.u148, label %exc.k149 +exc.u148: + call void @scr_dyn_release(ptr %t358) + br label %exc.cleanup2 +exc.k149: + br label %dc.done147 +dc.done147: + %t374 = load ptr, ptr %s359 + %t375 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t374, i64 0, i32 2 + %t376 = load ptr, ptr %t375, !tbaa !204 + %t377 = getelementptr inbounds i8, ptr %t376, i64 8 ; ->kind + %t378 = load i32, ptr %t377 + %t379 = icmp eq i32 %t378, 6 + call void @scr_dyn_release(ptr %t358) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t374) + br i1 %t379, label %if.t150, label %if.j151 +if.t150: + %t380 = load ptr, ptr %sc_l_p_0 + %t381 = call ptr @sc_rc_retain_dyn(ptr %t380) + %t383 = icmp ne ptr %t381, null + br i1 %t383, label %dc.inspect152, label %dc.checked155 +dc.inspect152: + %t388 = getelementptr inbounds i8, ptr %t381, i64 8 ; ->kind + %t389 = load i32, ptr %t388 + %t384 = icmp eq i32 %t389, 12 + br i1 %t384, label %dc.capsule153, label %dc.checked155 +dc.capsule153: + %t385 = getelementptr inbounds i8, ptr %t381, i64 40 ; ->v.typed_ref.type_key + %t386 = load ptr, ptr %t385 + %t387 = icmp eq ptr %t386, @sc_cs_3326437563644705 + br i1 %t387, label %dc.exact154, label %dc.checked155 +dc.exact154: + %t390 = getelementptr inbounds i8, ptr %t381, i64 16 ; ->v.typed_ref.ptr + %t391 = load ptr, ptr %t390 + %t392 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t391) + store ptr %t392, ptr %s382 + br label %dc.done156 +dc.checked155: + %t393 = call ptr @sc_dc_102(ptr %t381, ptr null) + store ptr %t393, ptr %s382 + %t394 = load i32, ptr %exc.cell + %t395 = icmp ne i32 %t394, 0 + %t396 = call i1 @llvm.expect.i1(i1 %t395, i1 false) + br i1 %t396, label %exc.u157, label %exc.k158 +exc.u157: + call void @scr_dyn_release(ptr %t381) + br label %exc.cleanup2 +exc.k158: + br label %dc.done156 +dc.done156: + %t397 = load ptr, ptr %s382 + %t398 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t399 = load i32, ptr %exc.cell + %t400 = icmp ne i32 %t399, 0 + %t401 = call i1 @llvm.expect.i1(i1 %t400, i1 false) + br i1 %t401, label %exc.u159, label %exc.k160 +exc.u159: + call void @scr_dyn_release(ptr %t381) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t397) + call void @scr_dyn_release(ptr %t398) + br label %exc.cleanup2 +exc.k160: + %t402 = call ptr @scr_dyn_obj_create(ptr %t398) + %t403 = load i32, ptr %exc.cell + %t404 = icmp ne i32 %t403, 0 + %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false) + br i1 %t405, label %exc.u161, label %exc.k162 +exc.u161: + call void @scr_dyn_release(ptr %t381) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t397) + call void @scr_dyn_release(ptr %t398) + call void @scr_dyn_release(ptr %t402) + br label %exc.cleanup2 +exc.k162: + %t406 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t397, i64 0, i32 2 + %t407 = load ptr, ptr %t406 + store ptr %t402, ptr %t406, !tbaa !204 + call void @scr_dyn_release(ptr %t407) + call void @scr_dyn_release(ptr %t381) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t397) + call void @scr_dyn_release(ptr %t398) + br label %if.j151 +if.j151: + %t408 = load ptr, ptr %sc_l_p_0 + %t409 = call ptr @sc_rc_retain_dyn(ptr %t408) + %t411 = icmp ne ptr %t409, null + br i1 %t411, label %dc.inspect163, label %dc.checked166 +dc.inspect163: + %t416 = getelementptr inbounds i8, ptr %t409, i64 8 ; ->kind + %t417 = load i32, ptr %t416 + %t412 = icmp eq i32 %t417, 12 + br i1 %t412, label %dc.capsule164, label %dc.checked166 +dc.capsule164: + %t413 = getelementptr inbounds i8, ptr %t409, i64 40 ; ->v.typed_ref.type_key + %t414 = load ptr, ptr %t413 + %t415 = icmp eq ptr %t414, @sc_cs_3326437563644705 + br i1 %t415, label %dc.exact165, label %dc.checked166 +dc.exact165: + %t418 = getelementptr inbounds i8, ptr %t409, i64 16 ; ->v.typed_ref.ptr + %t419 = load ptr, ptr %t418 + %t420 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t419) + store ptr %t420, ptr %s410 + br label %dc.done167 +dc.checked166: + %t421 = call ptr @sc_dc_102(ptr %t409, ptr null) + store ptr %t421, ptr %s410 + %t422 = load i32, ptr %exc.cell + %t423 = icmp ne i32 %t422, 0 + %t424 = call i1 @llvm.expect.i1(i1 %t423, i1 false) + br i1 %t424, label %exc.u168, label %exc.k169 +exc.u168: + call void @scr_dyn_release(ptr %t409) + br label %exc.cleanup2 +exc.k169: + br label %dc.done167 +dc.done167: + %t425 = load ptr, ptr %s410 + %t426 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t425, i64 0, i32 2 + %t427 = load ptr, ptr %t426, !tbaa !204 + %t428 = call ptr @sc_rc_retain_dyn(ptr %t427) + call void @scr_dyn_release(ptr %t409) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t425) + %t429 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t429) + ret ptr %t428 +if.j142: + %t430 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s431 + %t432 = icmp ne ptr %t430, null + br i1 %t432, label %brand.inspect170, label %brand.done172 +brand.inspect170: + %t433 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind + %t434 = load i32, ptr %t433 + %t435 = icmp eq i32 %t434, 12 + br i1 %t435, label %brand.capsule171, label %brand.done172 +brand.capsule171: + %t436 = getelementptr inbounds i8, ptr %t430, i64 40 ; ->v.typed_ref.type_key + %t437 = load ptr, ptr %t436 + %t438 = icmp eq ptr %t437, @sc_cs_3870085012327510 + store i1 true, ptr %s431 + br i1 %t438, label %brand.done172, label %brand.compare173 +brand.compare173: + %t439 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t430, ptr @sc_lit_3870085012327510) + store i1 %t439, ptr %s431 + br label %brand.done172 +brand.done172: + %t440 = load i1, ptr %s431 + br i1 %t440, label %if.t174, label %if.j175 +if.t174: + %t441 = load ptr, ptr %sc_l_p_0 + %t442 = call ptr @sc_rc_retain_dyn(ptr %t441) + %t444 = icmp ne ptr %t442, null + br i1 %t444, label %dc.inspect176, label %dc.checked179 +dc.inspect176: + %t449 = getelementptr inbounds i8, ptr %t442, i64 8 ; ->kind + %t450 = load i32, ptr %t449 + %t445 = icmp eq i32 %t450, 12 + br i1 %t445, label %dc.capsule177, label %dc.checked179 +dc.capsule177: + %t446 = getelementptr inbounds i8, ptr %t442, i64 40 ; ->v.typed_ref.type_key + %t447 = load ptr, ptr %t446 + %t448 = icmp eq ptr %t447, @sc_cs_3870085012327510 + br i1 %t448, label %dc.exact178, label %dc.checked179 +dc.exact178: + %t451 = getelementptr inbounds i8, ptr %t442, i64 16 ; ->v.typed_ref.ptr + %t452 = load ptr, ptr %t451 + %t453 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t452) + store ptr %t453, ptr %s443 + br label %dc.done180 +dc.checked179: + %t454 = call ptr @sc_dc_94(ptr %t442, ptr null) + store ptr %t454, ptr %s443 + %t455 = load i32, ptr %exc.cell + %t456 = icmp ne i32 %t455, 0 + %t457 = call i1 @llvm.expect.i1(i1 %t456, i1 false) + br i1 %t457, label %exc.u181, label %exc.k182 +exc.u181: + call void @scr_dyn_release(ptr %t442) + br label %exc.cleanup2 +exc.k182: + br label %dc.done180 +dc.done180: + %t458 = load ptr, ptr %s443 + %t459 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t458, i64 0, i32 1 + %t460 = load ptr, ptr %t459, !tbaa !204 + %t461 = getelementptr inbounds i8, ptr %t460, i64 8 ; ->kind + %t462 = load i32, ptr %t461 + %t463 = icmp eq i32 %t462, 6 + call void @scr_dyn_release(ptr %t442) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t458) + br i1 %t463, label %if.t183, label %if.j184 +if.t183: + %t464 = load ptr, ptr %sc_l_p_0 + %t465 = call ptr @sc_rc_retain_dyn(ptr %t464) + %t467 = icmp ne ptr %t465, null + br i1 %t467, label %dc.inspect185, label %dc.checked188 +dc.inspect185: + %t472 = getelementptr inbounds i8, ptr %t465, i64 8 ; ->kind + %t473 = load i32, ptr %t472 + %t468 = icmp eq i32 %t473, 12 + br i1 %t468, label %dc.capsule186, label %dc.checked188 +dc.capsule186: + %t469 = getelementptr inbounds i8, ptr %t465, i64 40 ; ->v.typed_ref.type_key + %t470 = load ptr, ptr %t469 + %t471 = icmp eq ptr %t470, @sc_cs_3870085012327510 + br i1 %t471, label %dc.exact187, label %dc.checked188 +dc.exact187: + %t474 = getelementptr inbounds i8, ptr %t465, i64 16 ; ->v.typed_ref.ptr + %t475 = load ptr, ptr %t474 + %t476 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t475) + store ptr %t476, ptr %s466 + br label %dc.done189 +dc.checked188: + %t477 = call ptr @sc_dc_94(ptr %t465, ptr null) + store ptr %t477, ptr %s466 + %t478 = load i32, ptr %exc.cell + %t479 = icmp ne i32 %t478, 0 + %t480 = call i1 @llvm.expect.i1(i1 %t479, i1 false) + br i1 %t480, label %exc.u190, label %exc.k191 +exc.u190: + call void @scr_dyn_release(ptr %t465) + br label %exc.cleanup2 +exc.k191: + br label %dc.done189 +dc.done189: + %t481 = load ptr, ptr %s466 + %t482 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch() + %t483 = load i32, ptr %exc.cell + %t484 = icmp ne i32 %t483, 0 + %t485 = call i1 @llvm.expect.i1(i1 %t484, i1 false) + br i1 %t485, label %exc.u192, label %exc.k193 +exc.u192: + call void @scr_dyn_release(ptr %t465) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t481) + call void @scr_dyn_release(ptr %t482) + br label %exc.cleanup2 +exc.k193: + %t486 = call ptr @scr_dyn_obj_create(ptr %t482) + %t487 = load i32, ptr %exc.cell + %t488 = icmp ne i32 %t487, 0 + %t489 = call i1 @llvm.expect.i1(i1 %t488, i1 false) + br i1 %t489, label %exc.u194, label %exc.k195 +exc.u194: + call void @scr_dyn_release(ptr %t465) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t481) + call void @scr_dyn_release(ptr %t482) + call void @scr_dyn_release(ptr %t486) + br label %exc.cleanup2 +exc.k195: + %t490 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t481, i64 0, i32 1 + %t491 = load ptr, ptr %t490 + store ptr %t486, ptr %t490, !tbaa !204 + call void @scr_dyn_release(ptr %t491) + call void @scr_dyn_release(ptr %t465) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t481) + call void @scr_dyn_release(ptr %t482) + br label %if.j184 +if.j184: + %t492 = load ptr, ptr %sc_l_p_0 + %t493 = call ptr @sc_rc_retain_dyn(ptr %t492) + %t495 = icmp ne ptr %t493, null + br i1 %t495, label %dc.inspect196, label %dc.checked199 +dc.inspect196: + %t500 = getelementptr inbounds i8, ptr %t493, i64 8 ; ->kind + %t501 = load i32, ptr %t500 + %t496 = icmp eq i32 %t501, 12 + br i1 %t496, label %dc.capsule197, label %dc.checked199 +dc.capsule197: + %t497 = getelementptr inbounds i8, ptr %t493, i64 40 ; ->v.typed_ref.type_key + %t498 = load ptr, ptr %t497 + %t499 = icmp eq ptr %t498, @sc_cs_3870085012327510 + br i1 %t499, label %dc.exact198, label %dc.checked199 +dc.exact198: + %t502 = getelementptr inbounds i8, ptr %t493, i64 16 ; ->v.typed_ref.ptr + %t503 = load ptr, ptr %t502 + %t504 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t503) + store ptr %t504, ptr %s494 + br label %dc.done200 +dc.checked199: + %t505 = call ptr @sc_dc_94(ptr %t493, ptr null) + store ptr %t505, ptr %s494 + %t506 = load i32, ptr %exc.cell + %t507 = icmp ne i32 %t506, 0 + %t508 = call i1 @llvm.expect.i1(i1 %t507, i1 false) + br i1 %t508, label %exc.u201, label %exc.k202 +exc.u201: + call void @scr_dyn_release(ptr %t493) + br label %exc.cleanup2 +exc.k202: + br label %dc.done200 +dc.done200: + %t509 = load ptr, ptr %s494 + %t510 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t509, i64 0, i32 1 + %t511 = load ptr, ptr %t510, !tbaa !204 + %t512 = call ptr @sc_rc_retain_dyn(ptr %t511) + call void @scr_dyn_release(ptr %t493) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t509) + %t513 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t513) + ret ptr %t512 +if.j175: + %t514 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s515 + %t516 = icmp ne ptr %t514, null + br i1 %t516, label %brand.inspect203, label %brand.done205 +brand.inspect203: + %t517 = getelementptr inbounds i8, ptr %t514, i64 8 ; ->kind + %t518 = load i32, ptr %t517 + %t519 = icmp eq i32 %t518, 12 + br i1 %t519, label %brand.capsule204, label %brand.done205 +brand.capsule204: + %t520 = getelementptr inbounds i8, ptr %t514, i64 40 ; ->v.typed_ref.type_key + %t521 = load ptr, ptr %t520 + %t522 = icmp eq ptr %t521, @sc_cs_2798802470260116 + store i1 true, ptr %s515 + br i1 %t522, label %brand.done205, label %brand.compare206 +brand.compare206: + %t523 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t514, ptr @sc_lit_2798802470260116) + store i1 %t523, ptr %s515 + br label %brand.done205 +brand.done205: + %t524 = load i1, ptr %s515 + br i1 %t524, label %if.t207, label %if.j208 +if.t207: + %t525 = load ptr, ptr %sc_l_p_0 + %t526 = call ptr @sc_rc_retain_dyn(ptr %t525) + %t528 = icmp ne ptr %t526, null + br i1 %t528, label %dc.inspect209, label %dc.checked212 +dc.inspect209: + %t533 = getelementptr inbounds i8, ptr %t526, i64 8 ; ->kind + %t534 = load i32, ptr %t533 + %t529 = icmp eq i32 %t534, 12 + br i1 %t529, label %dc.capsule210, label %dc.checked212 +dc.capsule210: + %t530 = getelementptr inbounds i8, ptr %t526, i64 40 ; ->v.typed_ref.type_key + %t531 = load ptr, ptr %t530 + %t532 = icmp eq ptr %t531, @sc_cs_2798802470260116 + br i1 %t532, label %dc.exact211, label %dc.checked212 +dc.exact211: + %t535 = getelementptr inbounds i8, ptr %t526, i64 16 ; ->v.typed_ref.ptr + %t536 = load ptr, ptr %t535 + %t537 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t536) + store ptr %t537, ptr %s527 + br label %dc.done213 +dc.checked212: + %t538 = call ptr @sc_dc_93(ptr %t526, ptr null) + store ptr %t538, ptr %s527 + %t539 = load i32, ptr %exc.cell + %t540 = icmp ne i32 %t539, 0 + %t541 = call i1 @llvm.expect.i1(i1 %t540, i1 false) + br i1 %t541, label %exc.u214, label %exc.k215 +exc.u214: + call void @scr_dyn_release(ptr %t526) + br label %exc.cleanup2 +exc.k215: + br label %dc.done213 +dc.done213: + %t542 = load ptr, ptr %s527 + %t543 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t542, i64 0, i32 2 + %t544 = load ptr, ptr %t543, !tbaa !204 + %t545 = getelementptr inbounds i8, ptr %t544, i64 8 ; ->kind + %t546 = load i32, ptr %t545 + %t547 = icmp eq i32 %t546, 6 + call void @scr_dyn_release(ptr %t526) + call void @sc_release__x25_m0_GenFetch(ptr %t542) + br i1 %t547, label %if.t216, label %if.j217 +if.t216: + %t548 = load ptr, ptr %sc_l_p_0 + %t549 = call ptr @sc_rc_retain_dyn(ptr %t548) + %t551 = icmp ne ptr %t549, null + br i1 %t551, label %dc.inspect218, label %dc.checked221 +dc.inspect218: + %t556 = getelementptr inbounds i8, ptr %t549, i64 8 ; ->kind + %t557 = load i32, ptr %t556 + %t552 = icmp eq i32 %t557, 12 + br i1 %t552, label %dc.capsule219, label %dc.checked221 +dc.capsule219: + %t553 = getelementptr inbounds i8, ptr %t549, i64 40 ; ->v.typed_ref.type_key + %t554 = load ptr, ptr %t553 + %t555 = icmp eq ptr %t554, @sc_cs_2798802470260116 + br i1 %t555, label %dc.exact220, label %dc.checked221 +dc.exact220: + %t558 = getelementptr inbounds i8, ptr %t549, i64 16 ; ->v.typed_ref.ptr + %t559 = load ptr, ptr %t558 + %t560 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t559) + store ptr %t560, ptr %s550 + br label %dc.done222 +dc.checked221: + %t561 = call ptr @sc_dc_93(ptr %t549, ptr null) + store ptr %t561, ptr %s550 + %t562 = load i32, ptr %exc.cell + %t563 = icmp ne i32 %t562, 0 + %t564 = call i1 @llvm.expect.i1(i1 %t563, i1 false) + br i1 %t564, label %exc.u223, label %exc.k224 +exc.u223: + call void @scr_dyn_release(ptr %t549) + br label %exc.cleanup2 +exc.k224: + br label %dc.done222 +dc.done222: + %t565 = load ptr, ptr %s550 + %t566 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch() + %t567 = load i32, ptr %exc.cell + %t568 = icmp ne i32 %t567, 0 + %t569 = call i1 @llvm.expect.i1(i1 %t568, i1 false) + br i1 %t569, label %exc.u225, label %exc.k226 +exc.u225: + call void @scr_dyn_release(ptr %t549) + call void @sc_release__x25_m0_GenFetch(ptr %t565) + call void @scr_dyn_release(ptr %t566) + br label %exc.cleanup2 +exc.k226: + %t570 = call ptr @scr_dyn_obj_create(ptr %t566) + %t571 = load i32, ptr %exc.cell + %t572 = icmp ne i32 %t571, 0 + %t573 = call i1 @llvm.expect.i1(i1 %t572, i1 false) + br i1 %t573, label %exc.u227, label %exc.k228 +exc.u227: + call void @scr_dyn_release(ptr %t549) + call void @sc_release__x25_m0_GenFetch(ptr %t565) + call void @scr_dyn_release(ptr %t566) + call void @scr_dyn_release(ptr %t570) + br label %exc.cleanup2 +exc.k228: + %t574 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t565, i64 0, i32 2 + %t575 = load ptr, ptr %t574 + store ptr %t570, ptr %t574, !tbaa !204 + call void @scr_dyn_release(ptr %t575) + call void @scr_dyn_release(ptr %t549) + call void @sc_release__x25_m0_GenFetch(ptr %t565) + call void @scr_dyn_release(ptr %t566) + br label %if.j217 +if.j217: + %t576 = load ptr, ptr %sc_l_p_0 + %t577 = call ptr @sc_rc_retain_dyn(ptr %t576) + %t579 = icmp ne ptr %t577, null + br i1 %t579, label %dc.inspect229, label %dc.checked232 +dc.inspect229: + %t584 = getelementptr inbounds i8, ptr %t577, i64 8 ; ->kind + %t585 = load i32, ptr %t584 + %t580 = icmp eq i32 %t585, 12 + br i1 %t580, label %dc.capsule230, label %dc.checked232 +dc.capsule230: + %t581 = getelementptr inbounds i8, ptr %t577, i64 40 ; ->v.typed_ref.type_key + %t582 = load ptr, ptr %t581 + %t583 = icmp eq ptr %t582, @sc_cs_2798802470260116 + br i1 %t583, label %dc.exact231, label %dc.checked232 +dc.exact231: + %t586 = getelementptr inbounds i8, ptr %t577, i64 16 ; ->v.typed_ref.ptr + %t587 = load ptr, ptr %t586 + %t588 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t587) + store ptr %t588, ptr %s578 + br label %dc.done233 +dc.checked232: + %t589 = call ptr @sc_dc_93(ptr %t577, ptr null) + store ptr %t589, ptr %s578 + %t590 = load i32, ptr %exc.cell + %t591 = icmp ne i32 %t590, 0 + %t592 = call i1 @llvm.expect.i1(i1 %t591, i1 false) + br i1 %t592, label %exc.u234, label %exc.k235 +exc.u234: + call void @scr_dyn_release(ptr %t577) + br label %exc.cleanup2 +exc.k235: + br label %dc.done233 +dc.done233: + %t593 = load ptr, ptr %s578 + %t594 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t593, i64 0, i32 2 + %t595 = load ptr, ptr %t594, !tbaa !204 + %t596 = call ptr @sc_rc_retain_dyn(ptr %t595) + call void @scr_dyn_release(ptr %t577) + call void @sc_release__x25_m0_GenFetch(ptr %t593) + %t597 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t597) + ret ptr %t596 +if.j208: + %t598 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s599 + %t600 = icmp ne ptr %t598, null + br i1 %t600, label %brand.inspect236, label %brand.done238 +brand.inspect236: + %t601 = getelementptr inbounds i8, ptr %t598, i64 8 ; ->kind + %t602 = load i32, ptr %t601 + %t603 = icmp eq i32 %t602, 12 + br i1 %t603, label %brand.capsule237, label %brand.done238 +brand.capsule237: + %t604 = getelementptr inbounds i8, ptr %t598, i64 40 ; ->v.typed_ref.type_key + %t605 = load ptr, ptr %t604 + %t606 = icmp eq ptr %t605, @sc_cs_2165660704272757 + store i1 true, ptr %s599 + br i1 %t606, label %brand.done238, label %brand.compare239 +brand.compare239: + %t607 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t598, ptr @sc_lit_2165660704272757) + store i1 %t607, ptr %s599 + br label %brand.done238 +brand.done238: + %t608 = load i1, ptr %s599 + br i1 %t608, label %if.t240, label %if.j241 +if.t240: + %t609 = load ptr, ptr %sc_l_p_0 + %t610 = call ptr @sc_rc_retain_dyn(ptr %t609) + %t612 = icmp ne ptr %t610, null + br i1 %t612, label %dc.inspect242, label %dc.checked245 +dc.inspect242: + %t617 = getelementptr inbounds i8, ptr %t610, i64 8 ; ->kind + %t618 = load i32, ptr %t617 + %t613 = icmp eq i32 %t618, 12 + br i1 %t613, label %dc.capsule243, label %dc.checked245 +dc.capsule243: + %t614 = getelementptr inbounds i8, ptr %t610, i64 40 ; ->v.typed_ref.type_key + %t615 = load ptr, ptr %t614 + %t616 = icmp eq ptr %t615, @sc_cs_2165660704272757 + br i1 %t616, label %dc.exact244, label %dc.checked245 +dc.exact244: + %t619 = getelementptr inbounds i8, ptr %t610, i64 16 ; ->v.typed_ref.ptr + %t620 = load ptr, ptr %t619 + %t621 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t620) + store ptr %t621, ptr %s611 + br label %dc.done246 +dc.checked245: + %t622 = call ptr @sc_dc_92(ptr %t610, ptr null) + store ptr %t622, ptr %s611 + %t623 = load i32, ptr %exc.cell + %t624 = icmp ne i32 %t623, 0 + %t625 = call i1 @llvm.expect.i1(i1 %t624, i1 false) + br i1 %t625, label %exc.u247, label %exc.k248 +exc.u247: + call void @scr_dyn_release(ptr %t610) + br label %exc.cleanup2 +exc.k248: + br label %dc.done246 +dc.done246: + %t626 = load ptr, ptr %s611 + %t627 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t626, i64 0, i32 2 + %t628 = load ptr, ptr %t627, !tbaa !204 + %t629 = getelementptr inbounds i8, ptr %t628, i64 8 ; ->kind + %t630 = load i32, ptr %t629 + %t631 = icmp eq i32 %t630, 6 + call void @scr_dyn_release(ptr %t610) + call void @sc_release__x25_m0_GenDispatch(ptr %t626) + br i1 %t631, label %if.t249, label %if.j250 +if.t249: + %t632 = load ptr, ptr %sc_l_p_0 + %t633 = call ptr @sc_rc_retain_dyn(ptr %t632) + %t635 = icmp ne ptr %t633, null + br i1 %t635, label %dc.inspect251, label %dc.checked254 +dc.inspect251: + %t640 = getelementptr inbounds i8, ptr %t633, i64 8 ; ->kind + %t641 = load i32, ptr %t640 + %t636 = icmp eq i32 %t641, 12 + br i1 %t636, label %dc.capsule252, label %dc.checked254 +dc.capsule252: + %t637 = getelementptr inbounds i8, ptr %t633, i64 40 ; ->v.typed_ref.type_key + %t638 = load ptr, ptr %t637 + %t639 = icmp eq ptr %t638, @sc_cs_2165660704272757 + br i1 %t639, label %dc.exact253, label %dc.checked254 +dc.exact253: + %t642 = getelementptr inbounds i8, ptr %t633, i64 16 ; ->v.typed_ref.ptr + %t643 = load ptr, ptr %t642 + %t644 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t643) + store ptr %t644, ptr %s634 + br label %dc.done255 +dc.checked254: + %t645 = call ptr @sc_dc_92(ptr %t633, ptr null) + store ptr %t645, ptr %s634 + %t646 = load i32, ptr %exc.cell + %t647 = icmp ne i32 %t646, 0 + %t648 = call i1 @llvm.expect.i1(i1 %t647, i1 false) + br i1 %t648, label %exc.u256, label %exc.k257 +exc.u256: + call void @scr_dyn_release(ptr %t633) + br label %exc.cleanup2 +exc.k257: + br label %dc.done255 +dc.done255: + %t649 = load ptr, ptr %s634 + %t650 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch() + %t651 = load i32, ptr %exc.cell + %t652 = icmp ne i32 %t651, 0 + %t653 = call i1 @llvm.expect.i1(i1 %t652, i1 false) + br i1 %t653, label %exc.u258, label %exc.k259 +exc.u258: + call void @scr_dyn_release(ptr %t633) + call void @sc_release__x25_m0_GenDispatch(ptr %t649) + call void @scr_dyn_release(ptr %t650) + br label %exc.cleanup2 +exc.k259: + %t654 = call ptr @scr_dyn_obj_create(ptr %t650) + %t655 = load i32, ptr %exc.cell + %t656 = icmp ne i32 %t655, 0 + %t657 = call i1 @llvm.expect.i1(i1 %t656, i1 false) + br i1 %t657, label %exc.u260, label %exc.k261 +exc.u260: + call void @scr_dyn_release(ptr %t633) + call void @sc_release__x25_m0_GenDispatch(ptr %t649) + call void @scr_dyn_release(ptr %t650) + call void @scr_dyn_release(ptr %t654) + br label %exc.cleanup2 +exc.k261: + %t658 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t649, i64 0, i32 2 + %t659 = load ptr, ptr %t658 + store ptr %t654, ptr %t658, !tbaa !204 + call void @scr_dyn_release(ptr %t659) + call void @scr_dyn_release(ptr %t633) + call void @sc_release__x25_m0_GenDispatch(ptr %t649) + call void @scr_dyn_release(ptr %t650) + br label %if.j250 +if.j250: + %t660 = load ptr, ptr %sc_l_p_0 + %t661 = call ptr @sc_rc_retain_dyn(ptr %t660) + %t663 = icmp ne ptr %t661, null + br i1 %t663, label %dc.inspect262, label %dc.checked265 +dc.inspect262: + %t668 = getelementptr inbounds i8, ptr %t661, i64 8 ; ->kind + %t669 = load i32, ptr %t668 + %t664 = icmp eq i32 %t669, 12 + br i1 %t664, label %dc.capsule263, label %dc.checked265 +dc.capsule263: + %t665 = getelementptr inbounds i8, ptr %t661, i64 40 ; ->v.typed_ref.type_key + %t666 = load ptr, ptr %t665 + %t667 = icmp eq ptr %t666, @sc_cs_2165660704272757 + br i1 %t667, label %dc.exact264, label %dc.checked265 +dc.exact264: + %t670 = getelementptr inbounds i8, ptr %t661, i64 16 ; ->v.typed_ref.ptr + %t671 = load ptr, ptr %t670 + %t672 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t671) + store ptr %t672, ptr %s662 + br label %dc.done266 +dc.checked265: + %t673 = call ptr @sc_dc_92(ptr %t661, ptr null) + store ptr %t673, ptr %s662 + %t674 = load i32, ptr %exc.cell + %t675 = icmp ne i32 %t674, 0 + %t676 = call i1 @llvm.expect.i1(i1 %t675, i1 false) + br i1 %t676, label %exc.u267, label %exc.k268 +exc.u267: + call void @scr_dyn_release(ptr %t661) + br label %exc.cleanup2 +exc.k268: + br label %dc.done266 +dc.done266: + %t677 = load ptr, ptr %s662 + %t678 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t677, i64 0, i32 2 + %t679 = load ptr, ptr %t678, !tbaa !204 + %t680 = call ptr @sc_rc_retain_dyn(ptr %t679) + call void @scr_dyn_release(ptr %t661) + call void @sc_release__x25_m0_GenDispatch(ptr %t677) + %t681 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t681) + ret ptr %t680 +if.j241: + %t682 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s683 + %t684 = icmp ne ptr %t682, null + br i1 %t684, label %brand.inspect269, label %brand.done271 +brand.inspect269: + %t685 = getelementptr inbounds i8, ptr %t682, i64 8 ; ->kind + %t686 = load i32, ptr %t685 + %t687 = icmp eq i32 %t686, 12 + br i1 %t687, label %brand.capsule270, label %brand.done271 +brand.capsule270: + %t688 = getelementptr inbounds i8, ptr %t682, i64 40 ; ->v.typed_ref.type_key + %t689 = load ptr, ptr %t688 + %t690 = icmp eq ptr %t689, @sc_cs_2072202777142634 + store i1 true, ptr %s683 + br i1 %t690, label %brand.done271, label %brand.compare272 +brand.compare272: + %t691 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t682, ptr @sc_lit_2072202777142634) + store i1 %t691, ptr %s683 + br label %brand.done271 +brand.done271: + %t692 = load i1, ptr %s683 + br i1 %t692, label %tern.t273, label %tern.f274 +tern.t273: + %t694 = load ptr, ptr %sc_l_p_0 + %t695 = call ptr @sc_rc_retain_dyn(ptr %t694) + %t697 = icmp ne ptr %t695, null + br i1 %t697, label %dc.inspect276, label %dc.checked279 +dc.inspect276: + %t702 = getelementptr inbounds i8, ptr %t695, i64 8 ; ->kind + %t703 = load i32, ptr %t702 + %t698 = icmp eq i32 %t703, 12 + br i1 %t698, label %dc.capsule277, label %dc.checked279 +dc.capsule277: + %t699 = getelementptr inbounds i8, ptr %t695, i64 40 ; ->v.typed_ref.type_key + %t700 = load ptr, ptr %t699 + %t701 = icmp eq ptr %t700, @sc_cs_2072202777142634 + br i1 %t701, label %dc.exact278, label %dc.checked279 +dc.exact278: + %t704 = getelementptr inbounds i8, ptr %t695, i64 16 ; ->v.typed_ref.ptr + %t705 = load ptr, ptr %t704 + %t706 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t705) + store ptr %t706, ptr %s696 + br label %dc.done280 +dc.checked279: + %t707 = call ptr @sc_dc_26(ptr %t695, ptr null) + store ptr %t707, ptr %s696 + %t708 = load i32, ptr %exc.cell + %t709 = icmp ne i32 %t708, 0 + %t710 = call i1 @llvm.expect.i1(i1 %t709, i1 false) + br i1 %t710, label %exc.u281, label %exc.k282 +exc.u281: + call void @scr_dyn_release(ptr %t695) + br label %exc.cleanup2 +exc.k282: + br label %dc.done280 +dc.done280: + %t711 = load ptr, ptr %s696 + %t712 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t711, i64 0, i32 1 + %t713 = load ptr, ptr %t712 + %t714 = getelementptr inbounds %ScrVt, ptr %t713, i64 0, i32 0 + %t715 = load i64, ptr %t714 + %t716 = icmp uge i64 %t715, 23 + %t717 = icmp ule i64 %t715, 23 + %t718 = and i1 %t716, %t717 ; instanceof %m4.MemoryFileSink + store i1 %t718, ptr %s693 + call void @scr_dyn_release(ptr %t695) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t711) + br label %tern.j275 +tern.f274: + store i1 false, ptr %s693 + br label %tern.j275 +tern.j275: + %t719 = load i1, ptr %s693 + br i1 %t719, label %if.t283, label %if.j284 +if.t283: + %t720 = load ptr, ptr %sc_l_p_0 + %t721 = call ptr @sc_rc_retain_dyn(ptr %t720) + %t723 = icmp ne ptr %t721, null + br i1 %t723, label %dc.inspect285, label %dc.checked288 +dc.inspect285: + %t728 = getelementptr inbounds i8, ptr %t721, i64 8 ; ->kind + %t729 = load i32, ptr %t728 + %t724 = icmp eq i32 %t729, 12 + br i1 %t724, label %dc.capsule286, label %dc.checked288 +dc.capsule286: + %t725 = getelementptr inbounds i8, ptr %t721, i64 40 ; ->v.typed_ref.type_key + %t726 = load ptr, ptr %t725 + %t727 = icmp eq ptr %t726, @sc_cs_2072202777142634 + br i1 %t727, label %dc.exact287, label %dc.checked288 +dc.exact287: + %t730 = getelementptr inbounds i8, ptr %t721, i64 16 ; ->v.typed_ref.ptr + %t731 = load ptr, ptr %t730 + %t732 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t731) + store ptr %t732, ptr %s722 + br label %dc.done289 +dc.checked288: + %t733 = call ptr @sc_dc_26(ptr %t721, ptr null) + store ptr %t733, ptr %s722 + %t734 = load i32, ptr %exc.cell + %t735 = icmp ne i32 %t734, 0 + %t736 = call i1 @llvm.expect.i1(i1 %t735, i1 false) + br i1 %t736, label %exc.u290, label %exc.k291 +exc.u290: + call void @scr_dyn_release(ptr %t721) + br label %exc.cleanup2 +exc.k291: + br label %dc.done289 +dc.done289: + %t737 = load ptr, ptr %s722 + %t738 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t737, i64 0, i32 2 + %t739 = load ptr, ptr %t738, !tbaa !204 + %t740 = getelementptr inbounds i8, ptr %t739, i64 8 ; ->kind + %t741 = load i32, ptr %t740 + %t742 = icmp eq i32 %t741, 6 + call void @scr_dyn_release(ptr %t721) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t737) + br i1 %t742, label %if.t292, label %if.j293 +if.t292: + %t743 = load ptr, ptr %sc_l_p_0 + %t744 = call ptr @sc_rc_retain_dyn(ptr %t743) + %t746 = icmp ne ptr %t744, null + br i1 %t746, label %dc.inspect294, label %dc.checked297 +dc.inspect294: + %t751 = getelementptr inbounds i8, ptr %t744, i64 8 ; ->kind + %t752 = load i32, ptr %t751 + %t747 = icmp eq i32 %t752, 12 + br i1 %t747, label %dc.capsule295, label %dc.checked297 +dc.capsule295: + %t748 = getelementptr inbounds i8, ptr %t744, i64 40 ; ->v.typed_ref.type_key + %t749 = load ptr, ptr %t748 + %t750 = icmp eq ptr %t749, @sc_cs_2072202777142634 + br i1 %t750, label %dc.exact296, label %dc.checked297 +dc.exact296: + %t753 = getelementptr inbounds i8, ptr %t744, i64 16 ; ->v.typed_ref.ptr + %t754 = load ptr, ptr %t753 + %t755 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t754) + store ptr %t755, ptr %s745 + br label %dc.done298 +dc.checked297: + %t756 = call ptr @sc_dc_26(ptr %t744, ptr null) + store ptr %t756, ptr %s745 + %t757 = load i32, ptr %exc.cell + %t758 = icmp ne i32 %t757, 0 + %t759 = call i1 @llvm.expect.i1(i1 %t758, i1 false) + br i1 %t759, label %exc.u299, label %exc.k300 +exc.u299: + call void @scr_dyn_release(ptr %t744) + br label %exc.cleanup2 +exc.k300: + br label %dc.done298 +dc.done298: + %t760 = load ptr, ptr %s745 + %t761 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t762 = load i32, ptr %exc.cell + %t763 = icmp ne i32 %t762, 0 + %t764 = call i1 @llvm.expect.i1(i1 %t763, i1 false) + br i1 %t764, label %exc.u301, label %exc.k302 +exc.u301: + call void @scr_dyn_release(ptr %t744) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t760) + call void @scr_dyn_release(ptr %t761) + br label %exc.cleanup2 +exc.k302: + %t765 = call ptr @scr_dyn_obj_create(ptr %t761) + %t766 = load i32, ptr %exc.cell + %t767 = icmp ne i32 %t766, 0 + %t768 = call i1 @llvm.expect.i1(i1 %t767, i1 false) + br i1 %t768, label %exc.u303, label %exc.k304 +exc.u303: + call void @scr_dyn_release(ptr %t744) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t760) + call void @scr_dyn_release(ptr %t761) + call void @scr_dyn_release(ptr %t765) + br label %exc.cleanup2 +exc.k304: + %t769 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t760, i64 0, i32 2 + %t770 = load ptr, ptr %t769 + store ptr %t765, ptr %t769, !tbaa !204 + call void @scr_dyn_release(ptr %t770) + call void @scr_dyn_release(ptr %t744) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t760) + call void @scr_dyn_release(ptr %t761) + br label %if.j293 +if.j293: + %t771 = load ptr, ptr %sc_l_p_0 + %t772 = call ptr @sc_rc_retain_dyn(ptr %t771) + %t774 = icmp ne ptr %t772, null + br i1 %t774, label %dc.inspect305, label %dc.checked308 +dc.inspect305: + %t779 = getelementptr inbounds i8, ptr %t772, i64 8 ; ->kind + %t780 = load i32, ptr %t779 + %t775 = icmp eq i32 %t780, 12 + br i1 %t775, label %dc.capsule306, label %dc.checked308 +dc.capsule306: + %t776 = getelementptr inbounds i8, ptr %t772, i64 40 ; ->v.typed_ref.type_key + %t777 = load ptr, ptr %t776 + %t778 = icmp eq ptr %t777, @sc_cs_2072202777142634 + br i1 %t778, label %dc.exact307, label %dc.checked308 +dc.exact307: + %t781 = getelementptr inbounds i8, ptr %t772, i64 16 ; ->v.typed_ref.ptr + %t782 = load ptr, ptr %t781 + %t783 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t782) + store ptr %t783, ptr %s773 + br label %dc.done309 +dc.checked308: + %t784 = call ptr @sc_dc_26(ptr %t772, ptr null) + store ptr %t784, ptr %s773 + %t785 = load i32, ptr %exc.cell + %t786 = icmp ne i32 %t785, 0 + %t787 = call i1 @llvm.expect.i1(i1 %t786, i1 false) + br i1 %t787, label %exc.u310, label %exc.k311 +exc.u310: + call void @scr_dyn_release(ptr %t772) + br label %exc.cleanup2 +exc.k311: + br label %dc.done309 +dc.done309: + %t788 = load ptr, ptr %s773 + %t789 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t788, i64 0, i32 2 + %t790 = load ptr, ptr %t789, !tbaa !204 + %t791 = call ptr @sc_rc_retain_dyn(ptr %t790) + call void @scr_dyn_release(ptr %t772) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t788) + %t792 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t792) + ret ptr %t791 +if.j284: + %t793 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s794 + %t795 = icmp ne ptr %t793, null + br i1 %t795, label %brand.inspect312, label %brand.done314 +brand.inspect312: + %t796 = getelementptr inbounds i8, ptr %t793, i64 8 ; ->kind + %t797 = load i32, ptr %t796 + %t798 = icmp eq i32 %t797, 12 + br i1 %t798, label %brand.capsule313, label %brand.done314 +brand.capsule313: + %t799 = getelementptr inbounds i8, ptr %t793, i64 40 ; ->v.typed_ref.type_key + %t800 = load ptr, ptr %t799 + %t801 = icmp eq ptr %t800, @sc_cs_2072202777142634 + store i1 true, ptr %s794 + br i1 %t801, label %brand.done314, label %brand.compare315 +brand.compare315: + %t802 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t793, ptr @sc_lit_2072202777142634) + store i1 %t802, ptr %s794 + br label %brand.done314 +brand.done314: + %t803 = load i1, ptr %s794 + br i1 %t803, label %if.t316, label %if.j317 +if.t316: + %t804 = load ptr, ptr %sc_l_p_0 + %t805 = call ptr @sc_rc_retain_dyn(ptr %t804) + %t807 = icmp ne ptr %t805, null + br i1 %t807, label %dc.inspect318, label %dc.checked321 +dc.inspect318: + %t812 = getelementptr inbounds i8, ptr %t805, i64 8 ; ->kind + %t813 = load i32, ptr %t812 + %t808 = icmp eq i32 %t813, 12 + br i1 %t808, label %dc.capsule319, label %dc.checked321 +dc.capsule319: + %t809 = getelementptr inbounds i8, ptr %t805, i64 40 ; ->v.typed_ref.type_key + %t810 = load ptr, ptr %t809 + %t811 = icmp eq ptr %t810, @sc_cs_2072202777142634 + br i1 %t811, label %dc.exact320, label %dc.checked321 +dc.exact320: + %t814 = getelementptr inbounds i8, ptr %t805, i64 16 ; ->v.typed_ref.ptr + %t815 = load ptr, ptr %t814 + %t816 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t815) + store ptr %t816, ptr %s806 + br label %dc.done322 +dc.checked321: + %t817 = call ptr @sc_dc_26(ptr %t805, ptr null) + store ptr %t817, ptr %s806 + %t818 = load i32, ptr %exc.cell + %t819 = icmp ne i32 %t818, 0 + %t820 = call i1 @llvm.expect.i1(i1 %t819, i1 false) + br i1 %t820, label %exc.u323, label %exc.k324 +exc.u323: + call void @scr_dyn_release(ptr %t805) + br label %exc.cleanup2 +exc.k324: + br label %dc.done322 +dc.done322: + %t821 = load ptr, ptr %s806 + %t822 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t821, i64 0, i32 2 + %t823 = load ptr, ptr %t822, !tbaa !204 + %t824 = getelementptr inbounds i8, ptr %t823, i64 8 ; ->kind + %t825 = load i32, ptr %t824 + %t826 = icmp eq i32 %t825, 6 + call void @scr_dyn_release(ptr %t805) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t821) + br i1 %t826, label %if.t325, label %if.j326 +if.t325: + %t827 = load ptr, ptr %sc_l_p_0 + %t828 = call ptr @sc_rc_retain_dyn(ptr %t827) + %t830 = icmp ne ptr %t828, null + br i1 %t830, label %dc.inspect327, label %dc.checked330 +dc.inspect327: + %t835 = getelementptr inbounds i8, ptr %t828, i64 8 ; ->kind + %t836 = load i32, ptr %t835 + %t831 = icmp eq i32 %t836, 12 + br i1 %t831, label %dc.capsule328, label %dc.checked330 +dc.capsule328: + %t832 = getelementptr inbounds i8, ptr %t828, i64 40 ; ->v.typed_ref.type_key + %t833 = load ptr, ptr %t832 + %t834 = icmp eq ptr %t833, @sc_cs_2072202777142634 + br i1 %t834, label %dc.exact329, label %dc.checked330 +dc.exact329: + %t837 = getelementptr inbounds i8, ptr %t828, i64 16 ; ->v.typed_ref.ptr + %t838 = load ptr, ptr %t837 + %t839 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t838) + store ptr %t839, ptr %s829 + br label %dc.done331 +dc.checked330: + %t840 = call ptr @sc_dc_26(ptr %t828, ptr null) + store ptr %t840, ptr %s829 + %t841 = load i32, ptr %exc.cell + %t842 = icmp ne i32 %t841, 0 + %t843 = call i1 @llvm.expect.i1(i1 %t842, i1 false) + br i1 %t843, label %exc.u332, label %exc.k333 +exc.u332: + call void @scr_dyn_release(ptr %t828) + br label %exc.cleanup2 +exc.k333: + br label %dc.done331 +dc.done331: + %t844 = load ptr, ptr %s829 + %t845 = load ptr, ptr %sc_l_p_0 + %t846 = call ptr @sc_rc_retain_dyn(ptr %t845) + %t848 = icmp ne ptr %t846, null + br i1 %t848, label %dc.inspect334, label %dc.checked337 +dc.inspect334: + %t853 = getelementptr inbounds i8, ptr %t846, i64 8 ; ->kind + %t854 = load i32, ptr %t853 + %t849 = icmp eq i32 %t854, 12 + br i1 %t849, label %dc.capsule335, label %dc.checked337 +dc.capsule335: + %t850 = getelementptr inbounds i8, ptr %t846, i64 40 ; ->v.typed_ref.type_key + %t851 = load ptr, ptr %t850 + %t852 = icmp eq ptr %t851, @sc_cs_2072202777142634 + br i1 %t852, label %dc.exact336, label %dc.checked337 +dc.exact336: + %t855 = getelementptr inbounds i8, ptr %t846, i64 16 ; ->v.typed_ref.ptr + %t856 = load ptr, ptr %t855 + %t857 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t856) + store ptr %t857, ptr %s847 + br label %dc.done338 +dc.checked337: + %t858 = call ptr @sc_dc_26(ptr %t846, ptr null) + store ptr %t858, ptr %s847 + %t859 = load i32, ptr %exc.cell + %t860 = icmp ne i32 %t859, 0 + %t861 = call i1 @llvm.expect.i1(i1 %t860, i1 false) + br i1 %t861, label %exc.u339, label %exc.k340 +exc.u339: + call void @scr_dyn_release(ptr %t828) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t844) + call void @scr_dyn_release(ptr %t846) + br label %exc.cleanup2 +exc.k340: + br label %dc.done338 +dc.done338: + %t862 = load ptr, ptr %s847 + %t863 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t862, i64 0, i32 1 + %t864 = load ptr, ptr %t863 + %t865 = getelementptr inbounds %ScrVt, ptr %t864, i64 0, i32 0 + %t866 = load i64, ptr %t865 + %t867 = icmp uge i64 %t866, 23 + %t868 = icmp ule i64 %t866, 23 + %t869 = and i1 %t867, %t868 ; instanceof %m4.MemoryFileSink + br i1 %t869, label %tern.t341, label %tern.f342 +tern.t341: + %t871 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t872 = load i32, ptr %exc.cell + %t873 = icmp ne i32 %t872, 0 + %t874 = call i1 @llvm.expect.i1(i1 %t873, i1 false) + br i1 %t874, label %exc.u344, label %exc.k345 +exc.u344: + call void @scr_dyn_release(ptr %t871) + call void @scr_dyn_release(ptr %t828) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t844) + call void @scr_dyn_release(ptr %t846) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t862) + br label %exc.cleanup2 +exc.k345: + store ptr %t871, ptr %s870 + br label %tern.j343 +tern.f342: + %t875 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink() + %t876 = load i32, ptr %exc.cell + %t877 = icmp ne i32 %t876, 0 + %t878 = call i1 @llvm.expect.i1(i1 %t877, i1 false) + br i1 %t878, label %exc.u346, label %exc.k347 +exc.u346: + call void @scr_dyn_release(ptr %t875) + call void @scr_dyn_release(ptr %t828) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t844) + call void @scr_dyn_release(ptr %t846) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t862) + br label %exc.cleanup2 +exc.k347: + store ptr %t875, ptr %s870 + br label %tern.j343 +tern.j343: + %t879 = load ptr, ptr %s870 + %t880 = call ptr @scr_dyn_obj_create(ptr %t879) + %t881 = load i32, ptr %exc.cell + %t882 = icmp ne i32 %t881, 0 + %t883 = call i1 @llvm.expect.i1(i1 %t882, i1 false) + br i1 %t883, label %exc.u348, label %exc.k349 +exc.u348: + call void @scr_dyn_release(ptr %t828) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t844) + call void @scr_dyn_release(ptr %t846) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t862) + call void @scr_dyn_release(ptr %t879) + call void @scr_dyn_release(ptr %t880) + br label %exc.cleanup2 +exc.k349: + %t884 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t844, i64 0, i32 2 + %t885 = load ptr, ptr %t884 + store ptr %t880, ptr %t884, !tbaa !204 + call void @scr_dyn_release(ptr %t885) + call void @scr_dyn_release(ptr %t828) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t844) + call void @scr_dyn_release(ptr %t846) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t862) + call void @scr_dyn_release(ptr %t879) + br label %if.j326 +if.j326: + %t886 = load ptr, ptr %sc_l_p_0 + %t887 = call ptr @sc_rc_retain_dyn(ptr %t886) + %t889 = icmp ne ptr %t887, null + br i1 %t889, label %dc.inspect350, label %dc.checked353 +dc.inspect350: + %t894 = getelementptr inbounds i8, ptr %t887, i64 8 ; ->kind + %t895 = load i32, ptr %t894 + %t890 = icmp eq i32 %t895, 12 + br i1 %t890, label %dc.capsule351, label %dc.checked353 +dc.capsule351: + %t891 = getelementptr inbounds i8, ptr %t887, i64 40 ; ->v.typed_ref.type_key + %t892 = load ptr, ptr %t891 + %t893 = icmp eq ptr %t892, @sc_cs_2072202777142634 + br i1 %t893, label %dc.exact352, label %dc.checked353 +dc.exact352: + %t896 = getelementptr inbounds i8, ptr %t887, i64 16 ; ->v.typed_ref.ptr + %t897 = load ptr, ptr %t896 + %t898 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t897) + store ptr %t898, ptr %s888 + br label %dc.done354 +dc.checked353: + %t899 = call ptr @sc_dc_26(ptr %t887, ptr null) + store ptr %t899, ptr %s888 + %t900 = load i32, ptr %exc.cell + %t901 = icmp ne i32 %t900, 0 + %t902 = call i1 @llvm.expect.i1(i1 %t901, i1 false) + br i1 %t902, label %exc.u355, label %exc.k356 +exc.u355: + call void @scr_dyn_release(ptr %t887) + br label %exc.cleanup2 +exc.k356: + br label %dc.done354 +dc.done354: + %t903 = load ptr, ptr %s888 + %t904 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t903, i64 0, i32 2 + %t905 = load ptr, ptr %t904, !tbaa !204 + %t906 = call ptr @sc_rc_retain_dyn(ptr %t905) + call void @scr_dyn_release(ptr %t887) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t903) + %t907 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t907) + ret ptr %t906 +if.j317: + %t908 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s909 + %t910 = icmp ne ptr %t908, null + br i1 %t910, label %brand.inspect357, label %brand.done359 +brand.inspect357: + %t911 = getelementptr inbounds i8, ptr %t908, i64 8 ; ->kind + %t912 = load i32, ptr %t911 + %t913 = icmp eq i32 %t912, 12 + br i1 %t913, label %brand.capsule358, label %brand.done359 +brand.capsule358: + %t914 = getelementptr inbounds i8, ptr %t908, i64 40 ; ->v.typed_ref.type_key + %t915 = load ptr, ptr %t914 + %t916 = icmp eq ptr %t915, @sc_cs_3314970835853795 + store i1 true, ptr %s909 + br i1 %t916, label %brand.done359, label %brand.compare360 +brand.compare360: + %t917 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t908, ptr @sc_lit_3314970835853795) + store i1 %t917, ptr %s909 + br label %brand.done359 +brand.done359: + %t918 = load i1, ptr %s909 + br i1 %t918, label %tern.t361, label %tern.f362 +tern.t361: + %t920 = load ptr, ptr %sc_l_p_0 + %t921 = call ptr @sc_rc_retain_dyn(ptr %t920) + %t923 = icmp ne ptr %t921, null + br i1 %t923, label %dc.inspect364, label %dc.checked367 +dc.inspect364: + %t928 = getelementptr inbounds i8, ptr %t921, i64 8 ; ->kind + %t929 = load i32, ptr %t928 + %t924 = icmp eq i32 %t929, 12 + br i1 %t924, label %dc.capsule365, label %dc.checked367 +dc.capsule365: + %t925 = getelementptr inbounds i8, ptr %t921, i64 40 ; ->v.typed_ref.type_key + %t926 = load ptr, ptr %t925 + %t927 = icmp eq ptr %t926, @sc_cs_3314970835853795 + br i1 %t927, label %dc.exact366, label %dc.checked367 +dc.exact366: + %t930 = getelementptr inbounds i8, ptr %t921, i64 16 ; ->v.typed_ref.ptr + %t931 = load ptr, ptr %t930 + %t932 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t931) + store ptr %t932, ptr %s922 + br label %dc.done368 +dc.checked367: + %t933 = call ptr @sc_dc_79(ptr %t921, ptr null) + store ptr %t933, ptr %s922 + %t934 = load i32, ptr %exc.cell + %t935 = icmp ne i32 %t934, 0 + %t936 = call i1 @llvm.expect.i1(i1 %t935, i1 false) + br i1 %t936, label %exc.u369, label %exc.k370 +exc.u369: + call void @scr_dyn_release(ptr %t921) + br label %exc.cleanup2 +exc.k370: + br label %dc.done368 +dc.done368: + %t937 = load ptr, ptr %s922 + %t938 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t937, i64 0, i32 1 + %t939 = load ptr, ptr %t938 + %t940 = getelementptr inbounds %ScrVt, ptr %t939, i64 0, i32 0 + %t941 = load i64, ptr %t940 + %t942 = icmp uge i64 %t941, 38 + %t943 = icmp ule i64 %t941, 38 + %t944 = and i1 %t942, %t943 ; instanceof %m14.BakedAssets + store i1 %t944, ptr %s919 + call void @scr_dyn_release(ptr %t921) + call void @sc_release__x25_m6_AssetSource(ptr %t937) + br label %tern.j363 +tern.f362: + store i1 false, ptr %s919 + br label %tern.j363 +tern.j363: + %t945 = load i1, ptr %s919 + br i1 %t945, label %if.t371, label %if.j372 +if.t371: + %t946 = load ptr, ptr %sc_l_p_0 + %t947 = call ptr @sc_rc_retain_dyn(ptr %t946) + %t949 = icmp ne ptr %t947, null + br i1 %t949, label %dc.inspect373, label %dc.checked376 +dc.inspect373: + %t954 = getelementptr inbounds i8, ptr %t947, i64 8 ; ->kind + %t955 = load i32, ptr %t954 + %t950 = icmp eq i32 %t955, 12 + br i1 %t950, label %dc.capsule374, label %dc.checked376 +dc.capsule374: + %t951 = getelementptr inbounds i8, ptr %t947, i64 40 ; ->v.typed_ref.type_key + %t952 = load ptr, ptr %t951 + %t953 = icmp eq ptr %t952, @sc_cs_3314970835853795 + br i1 %t953, label %dc.exact375, label %dc.checked376 +dc.exact375: + %t956 = getelementptr inbounds i8, ptr %t947, i64 16 ; ->v.typed_ref.ptr + %t957 = load ptr, ptr %t956 + %t958 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t957) + store ptr %t958, ptr %s948 + br label %dc.done377 +dc.checked376: + %t959 = call ptr @sc_dc_79(ptr %t947, ptr null) + store ptr %t959, ptr %s948 + %t960 = load i32, ptr %exc.cell + %t961 = icmp ne i32 %t960, 0 + %t962 = call i1 @llvm.expect.i1(i1 %t961, i1 false) + br i1 %t962, label %exc.u378, label %exc.k379 +exc.u378: + call void @scr_dyn_release(ptr %t947) + br label %exc.cleanup2 +exc.k379: + br label %dc.done377 +dc.done377: + %t963 = load ptr, ptr %s948 + %t964 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t963, i64 0, i32 2 + %t965 = load ptr, ptr %t964, !tbaa !204 + %t966 = getelementptr inbounds i8, ptr %t965, i64 8 ; ->kind + %t967 = load i32, ptr %t966 + %t968 = icmp eq i32 %t967, 6 + call void @scr_dyn_release(ptr %t947) + call void @sc_release__x25_m6_AssetSource(ptr %t963) + br i1 %t968, label %if.t380, label %if.j381 +if.t380: + %t969 = load ptr, ptr %sc_l_p_0 + %t970 = call ptr @sc_rc_retain_dyn(ptr %t969) + %t972 = icmp ne ptr %t970, null + br i1 %t972, label %dc.inspect382, label %dc.checked385 +dc.inspect382: + %t977 = getelementptr inbounds i8, ptr %t970, i64 8 ; ->kind + %t978 = load i32, ptr %t977 + %t973 = icmp eq i32 %t978, 12 + br i1 %t973, label %dc.capsule383, label %dc.checked385 +dc.capsule383: + %t974 = getelementptr inbounds i8, ptr %t970, i64 40 ; ->v.typed_ref.type_key + %t975 = load ptr, ptr %t974 + %t976 = icmp eq ptr %t975, @sc_cs_3314970835853795 + br i1 %t976, label %dc.exact384, label %dc.checked385 +dc.exact384: + %t979 = getelementptr inbounds i8, ptr %t970, i64 16 ; ->v.typed_ref.ptr + %t980 = load ptr, ptr %t979 + %t981 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t980) + store ptr %t981, ptr %s971 + br label %dc.done386 +dc.checked385: + %t982 = call ptr @sc_dc_79(ptr %t970, ptr null) + store ptr %t982, ptr %s971 + %t983 = load i32, ptr %exc.cell + %t984 = icmp ne i32 %t983, 0 + %t985 = call i1 @llvm.expect.i1(i1 %t984, i1 false) + br i1 %t985, label %exc.u387, label %exc.k388 +exc.u387: + call void @scr_dyn_release(ptr %t970) + br label %exc.cleanup2 +exc.k388: + br label %dc.done386 +dc.done386: + %t986 = load ptr, ptr %s971 + %t987 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t988 = load i32, ptr %exc.cell + %t989 = icmp ne i32 %t988, 0 + %t990 = call i1 @llvm.expect.i1(i1 %t989, i1 false) + br i1 %t990, label %exc.u389, label %exc.k390 +exc.u389: + call void @scr_dyn_release(ptr %t970) + call void @sc_release__x25_m14_BakedAssets(ptr %t986) + call void @scr_dyn_release(ptr %t987) + br label %exc.cleanup2 +exc.k390: + %t991 = call ptr @scr_dyn_obj_create(ptr %t987) + %t992 = load i32, ptr %exc.cell + %t993 = icmp ne i32 %t992, 0 + %t994 = call i1 @llvm.expect.i1(i1 %t993, i1 false) + br i1 %t994, label %exc.u391, label %exc.k392 +exc.u391: + call void @scr_dyn_release(ptr %t970) + call void @sc_release__x25_m14_BakedAssets(ptr %t986) + call void @scr_dyn_release(ptr %t987) + call void @scr_dyn_release(ptr %t991) + br label %exc.cleanup2 +exc.k392: + %t995 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t986, i64 0, i32 2 + %t996 = load ptr, ptr %t995 + store ptr %t991, ptr %t995, !tbaa !204 + call void @scr_dyn_release(ptr %t996) + call void @scr_dyn_release(ptr %t970) + call void @sc_release__x25_m14_BakedAssets(ptr %t986) + call void @scr_dyn_release(ptr %t987) + br label %if.j381 +if.j381: + %t997 = load ptr, ptr %sc_l_p_0 + %t998 = call ptr @sc_rc_retain_dyn(ptr %t997) + %t1000 = icmp ne ptr %t998, null + br i1 %t1000, label %dc.inspect393, label %dc.checked396 +dc.inspect393: + %t1005 = getelementptr inbounds i8, ptr %t998, i64 8 ; ->kind + %t1006 = load i32, ptr %t1005 + %t1001 = icmp eq i32 %t1006, 12 + br i1 %t1001, label %dc.capsule394, label %dc.checked396 +dc.capsule394: + %t1002 = getelementptr inbounds i8, ptr %t998, i64 40 ; ->v.typed_ref.type_key + %t1003 = load ptr, ptr %t1002 + %t1004 = icmp eq ptr %t1003, @sc_cs_3314970835853795 + br i1 %t1004, label %dc.exact395, label %dc.checked396 +dc.exact395: + %t1007 = getelementptr inbounds i8, ptr %t998, i64 16 ; ->v.typed_ref.ptr + %t1008 = load ptr, ptr %t1007 + %t1009 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1008) + store ptr %t1009, ptr %s999 + br label %dc.done397 +dc.checked396: + %t1010 = call ptr @sc_dc_79(ptr %t998, ptr null) + store ptr %t1010, ptr %s999 + %t1011 = load i32, ptr %exc.cell + %t1012 = icmp ne i32 %t1011, 0 + %t1013 = call i1 @llvm.expect.i1(i1 %t1012, i1 false) + br i1 %t1013, label %exc.u398, label %exc.k399 +exc.u398: + call void @scr_dyn_release(ptr %t998) + br label %exc.cleanup2 +exc.k399: + br label %dc.done397 +dc.done397: + %t1014 = load ptr, ptr %s999 + %t1015 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1014, i64 0, i32 2 + %t1016 = load ptr, ptr %t1015, !tbaa !204 + %t1017 = call ptr @sc_rc_retain_dyn(ptr %t1016) + call void @scr_dyn_release(ptr %t998) + call void @sc_release__x25_m6_AssetSource(ptr %t1014) + %t1018 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1018) + ret ptr %t1017 +if.j372: + %t1019 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1020 + %t1021 = icmp ne ptr %t1019, null + br i1 %t1021, label %brand.inspect400, label %brand.done402 +brand.inspect400: + %t1022 = getelementptr inbounds i8, ptr %t1019, i64 8 ; ->kind + %t1023 = load i32, ptr %t1022 + %t1024 = icmp eq i32 %t1023, 12 + br i1 %t1024, label %brand.capsule401, label %brand.done402 +brand.capsule401: + %t1025 = getelementptr inbounds i8, ptr %t1019, i64 40 ; ->v.typed_ref.type_key + %t1026 = load ptr, ptr %t1025 + %t1027 = icmp eq ptr %t1026, @sc_cs_3314970835853795 + store i1 true, ptr %s1020 + br i1 %t1027, label %brand.done402, label %brand.compare403 +brand.compare403: + %t1028 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1019, ptr @sc_lit_3314970835853795) + store i1 %t1028, ptr %s1020 + br label %brand.done402 +brand.done402: + %t1029 = load i1, ptr %s1020 + br i1 %t1029, label %tern.t404, label %tern.f405 +tern.t404: + %t1031 = load ptr, ptr %sc_l_p_0 + %t1032 = call ptr @sc_rc_retain_dyn(ptr %t1031) + %t1034 = icmp ne ptr %t1032, null + br i1 %t1034, label %dc.inspect407, label %dc.checked410 +dc.inspect407: + %t1039 = getelementptr inbounds i8, ptr %t1032, i64 8 ; ->kind + %t1040 = load i32, ptr %t1039 + %t1035 = icmp eq i32 %t1040, 12 + br i1 %t1035, label %dc.capsule408, label %dc.checked410 +dc.capsule408: + %t1036 = getelementptr inbounds i8, ptr %t1032, i64 40 ; ->v.typed_ref.type_key + %t1037 = load ptr, ptr %t1036 + %t1038 = icmp eq ptr %t1037, @sc_cs_3314970835853795 + br i1 %t1038, label %dc.exact409, label %dc.checked410 +dc.exact409: + %t1041 = getelementptr inbounds i8, ptr %t1032, i64 16 ; ->v.typed_ref.ptr + %t1042 = load ptr, ptr %t1041 + %t1043 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1042) + store ptr %t1043, ptr %s1033 + br label %dc.done411 +dc.checked410: + %t1044 = call ptr @sc_dc_79(ptr %t1032, ptr null) + store ptr %t1044, ptr %s1033 + %t1045 = load i32, ptr %exc.cell + %t1046 = icmp ne i32 %t1045, 0 + %t1047 = call i1 @llvm.expect.i1(i1 %t1046, i1 false) + br i1 %t1047, label %exc.u412, label %exc.k413 +exc.u412: + call void @scr_dyn_release(ptr %t1032) + br label %exc.cleanup2 +exc.k413: + br label %dc.done411 +dc.done411: + %t1048 = load ptr, ptr %s1033 + %t1049 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1048, i64 0, i32 1 + %t1050 = load ptr, ptr %t1049 + %t1051 = getelementptr inbounds %ScrVt, ptr %t1050, i64 0, i32 0 + %t1052 = load i64, ptr %t1051 + %t1053 = icmp uge i64 %t1052, 37 + %t1054 = icmp ule i64 %t1052, 38 + %t1055 = and i1 %t1053, %t1054 ; instanceof %m9.EmbeddedAssets + store i1 %t1055, ptr %s1030 + call void @scr_dyn_release(ptr %t1032) + call void @sc_release__x25_m6_AssetSource(ptr %t1048) + br label %tern.j406 +tern.f405: + store i1 false, ptr %s1030 + br label %tern.j406 +tern.j406: + %t1056 = load i1, ptr %s1030 + br i1 %t1056, label %if.t414, label %if.j415 +if.t414: + %t1057 = load ptr, ptr %sc_l_p_0 + %t1058 = call ptr @sc_rc_retain_dyn(ptr %t1057) + %t1060 = icmp ne ptr %t1058, null + br i1 %t1060, label %dc.inspect416, label %dc.checked419 +dc.inspect416: + %t1065 = getelementptr inbounds i8, ptr %t1058, i64 8 ; ->kind + %t1066 = load i32, ptr %t1065 + %t1061 = icmp eq i32 %t1066, 12 + br i1 %t1061, label %dc.capsule417, label %dc.checked419 +dc.capsule417: + %t1062 = getelementptr inbounds i8, ptr %t1058, i64 40 ; ->v.typed_ref.type_key + %t1063 = load ptr, ptr %t1062 + %t1064 = icmp eq ptr %t1063, @sc_cs_3314970835853795 + br i1 %t1064, label %dc.exact418, label %dc.checked419 +dc.exact418: + %t1067 = getelementptr inbounds i8, ptr %t1058, i64 16 ; ->v.typed_ref.ptr + %t1068 = load ptr, ptr %t1067 + %t1069 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1068) + store ptr %t1069, ptr %s1059 + br label %dc.done420 +dc.checked419: + %t1070 = call ptr @sc_dc_79(ptr %t1058, ptr null) + store ptr %t1070, ptr %s1059 + %t1071 = load i32, ptr %exc.cell + %t1072 = icmp ne i32 %t1071, 0 + %t1073 = call i1 @llvm.expect.i1(i1 %t1072, i1 false) + br i1 %t1073, label %exc.u421, label %exc.k422 +exc.u421: + call void @scr_dyn_release(ptr %t1058) + br label %exc.cleanup2 +exc.k422: + br label %dc.done420 +dc.done420: + %t1074 = load ptr, ptr %s1059 + %t1075 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1074, i64 0, i32 2 + %t1076 = load ptr, ptr %t1075, !tbaa !204 + %t1077 = getelementptr inbounds i8, ptr %t1076, i64 8 ; ->kind + %t1078 = load i32, ptr %t1077 + %t1079 = icmp eq i32 %t1078, 6 + call void @scr_dyn_release(ptr %t1058) + call void @sc_release__x25_m6_AssetSource(ptr %t1074) + br i1 %t1079, label %if.t423, label %if.j424 +if.t423: + %t1080 = load ptr, ptr %sc_l_p_0 + %t1081 = call ptr @sc_rc_retain_dyn(ptr %t1080) + %t1083 = icmp ne ptr %t1081, null + br i1 %t1083, label %dc.inspect425, label %dc.checked428 +dc.inspect425: + %t1088 = getelementptr inbounds i8, ptr %t1081, i64 8 ; ->kind + %t1089 = load i32, ptr %t1088 + %t1084 = icmp eq i32 %t1089, 12 + br i1 %t1084, label %dc.capsule426, label %dc.checked428 +dc.capsule426: + %t1085 = getelementptr inbounds i8, ptr %t1081, i64 40 ; ->v.typed_ref.type_key + %t1086 = load ptr, ptr %t1085 + %t1087 = icmp eq ptr %t1086, @sc_cs_3314970835853795 + br i1 %t1087, label %dc.exact427, label %dc.checked428 +dc.exact427: + %t1090 = getelementptr inbounds i8, ptr %t1081, i64 16 ; ->v.typed_ref.ptr + %t1091 = load ptr, ptr %t1090 + %t1092 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1091) + store ptr %t1092, ptr %s1082 + br label %dc.done429 +dc.checked428: + %t1093 = call ptr @sc_dc_79(ptr %t1081, ptr null) + store ptr %t1093, ptr %s1082 + %t1094 = load i32, ptr %exc.cell + %t1095 = icmp ne i32 %t1094, 0 + %t1096 = call i1 @llvm.expect.i1(i1 %t1095, i1 false) + br i1 %t1096, label %exc.u430, label %exc.k431 +exc.u430: + call void @scr_dyn_release(ptr %t1081) + br label %exc.cleanup2 +exc.k431: + br label %dc.done429 +dc.done429: + %t1097 = load ptr, ptr %s1082 + %t1098 = load ptr, ptr %sc_l_p_0 + %t1099 = call ptr @sc_rc_retain_dyn(ptr %t1098) + %t1101 = icmp ne ptr %t1099, null + br i1 %t1101, label %dc.inspect432, label %dc.checked435 +dc.inspect432: + %t1106 = getelementptr inbounds i8, ptr %t1099, i64 8 ; ->kind + %t1107 = load i32, ptr %t1106 + %t1102 = icmp eq i32 %t1107, 12 + br i1 %t1102, label %dc.capsule433, label %dc.checked435 +dc.capsule433: + %t1103 = getelementptr inbounds i8, ptr %t1099, i64 40 ; ->v.typed_ref.type_key + %t1104 = load ptr, ptr %t1103 + %t1105 = icmp eq ptr %t1104, @sc_cs_3314970835853795 + br i1 %t1105, label %dc.exact434, label %dc.checked435 +dc.exact434: + %t1108 = getelementptr inbounds i8, ptr %t1099, i64 16 ; ->v.typed_ref.ptr + %t1109 = load ptr, ptr %t1108 + %t1110 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1109) + store ptr %t1110, ptr %s1100 + br label %dc.done436 +dc.checked435: + %t1111 = call ptr @sc_dc_79(ptr %t1099, ptr null) + store ptr %t1111, ptr %s1100 + %t1112 = load i32, ptr %exc.cell + %t1113 = icmp ne i32 %t1112, 0 + %t1114 = call i1 @llvm.expect.i1(i1 %t1113, i1 false) + br i1 %t1114, label %exc.u437, label %exc.k438 +exc.u437: + call void @scr_dyn_release(ptr %t1081) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097) + call void @scr_dyn_release(ptr %t1099) + br label %exc.cleanup2 +exc.k438: + br label %dc.done436 +dc.done436: + %t1115 = load ptr, ptr %s1100 + %t1116 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1115, i64 0, i32 1 + %t1117 = load ptr, ptr %t1116 + %t1118 = getelementptr inbounds %ScrVt, ptr %t1117, i64 0, i32 0 + %t1119 = load i64, ptr %t1118 + %t1120 = icmp uge i64 %t1119, 38 + %t1121 = icmp ule i64 %t1119, 38 + %t1122 = and i1 %t1120, %t1121 ; instanceof %m14.BakedAssets + br i1 %t1122, label %tern.t439, label %tern.f440 +tern.t439: + %t1124 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1125 = load i32, ptr %exc.cell + %t1126 = icmp ne i32 %t1125, 0 + %t1127 = call i1 @llvm.expect.i1(i1 %t1126, i1 false) + br i1 %t1127, label %exc.u442, label %exc.k443 +exc.u442: + call void @scr_dyn_release(ptr %t1124) + call void @scr_dyn_release(ptr %t1081) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097) + call void @scr_dyn_release(ptr %t1099) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1115) + br label %exc.cleanup2 +exc.k443: + store ptr %t1124, ptr %s1123 + br label %tern.j441 +tern.f440: + %t1128 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t1129 = load i32, ptr %exc.cell + %t1130 = icmp ne i32 %t1129, 0 + %t1131 = call i1 @llvm.expect.i1(i1 %t1130, i1 false) + br i1 %t1131, label %exc.u444, label %exc.k445 +exc.u444: + call void @scr_dyn_release(ptr %t1128) + call void @scr_dyn_release(ptr %t1081) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097) + call void @scr_dyn_release(ptr %t1099) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1115) + br label %exc.cleanup2 +exc.k445: + store ptr %t1128, ptr %s1123 + br label %tern.j441 +tern.j441: + %t1132 = load ptr, ptr %s1123 + %t1133 = call ptr @scr_dyn_obj_create(ptr %t1132) + %t1134 = load i32, ptr %exc.cell + %t1135 = icmp ne i32 %t1134, 0 + %t1136 = call i1 @llvm.expect.i1(i1 %t1135, i1 false) + br i1 %t1136, label %exc.u446, label %exc.k447 +exc.u446: + call void @scr_dyn_release(ptr %t1081) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097) + call void @scr_dyn_release(ptr %t1099) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1115) + call void @scr_dyn_release(ptr %t1132) + call void @scr_dyn_release(ptr %t1133) + br label %exc.cleanup2 +exc.k447: + %t1137 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1097, i64 0, i32 2 + %t1138 = load ptr, ptr %t1137 + store ptr %t1133, ptr %t1137, !tbaa !204 + call void @scr_dyn_release(ptr %t1138) + call void @scr_dyn_release(ptr %t1081) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097) + call void @scr_dyn_release(ptr %t1099) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1115) + call void @scr_dyn_release(ptr %t1132) + br label %if.j424 +if.j424: + %t1139 = load ptr, ptr %sc_l_p_0 + %t1140 = call ptr @sc_rc_retain_dyn(ptr %t1139) + %t1142 = icmp ne ptr %t1140, null + br i1 %t1142, label %dc.inspect448, label %dc.checked451 +dc.inspect448: + %t1147 = getelementptr inbounds i8, ptr %t1140, i64 8 ; ->kind + %t1148 = load i32, ptr %t1147 + %t1143 = icmp eq i32 %t1148, 12 + br i1 %t1143, label %dc.capsule449, label %dc.checked451 +dc.capsule449: + %t1144 = getelementptr inbounds i8, ptr %t1140, i64 40 ; ->v.typed_ref.type_key + %t1145 = load ptr, ptr %t1144 + %t1146 = icmp eq ptr %t1145, @sc_cs_3314970835853795 + br i1 %t1146, label %dc.exact450, label %dc.checked451 +dc.exact450: + %t1149 = getelementptr inbounds i8, ptr %t1140, i64 16 ; ->v.typed_ref.ptr + %t1150 = load ptr, ptr %t1149 + %t1151 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1150) + store ptr %t1151, ptr %s1141 + br label %dc.done452 +dc.checked451: + %t1152 = call ptr @sc_dc_79(ptr %t1140, ptr null) + store ptr %t1152, ptr %s1141 + %t1153 = load i32, ptr %exc.cell + %t1154 = icmp ne i32 %t1153, 0 + %t1155 = call i1 @llvm.expect.i1(i1 %t1154, i1 false) + br i1 %t1155, label %exc.u453, label %exc.k454 +exc.u453: + call void @scr_dyn_release(ptr %t1140) + br label %exc.cleanup2 +exc.k454: + br label %dc.done452 +dc.done452: + %t1156 = load ptr, ptr %s1141 + %t1157 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1156, i64 0, i32 2 + %t1158 = load ptr, ptr %t1157, !tbaa !204 + %t1159 = call ptr @sc_rc_retain_dyn(ptr %t1158) + call void @scr_dyn_release(ptr %t1140) + call void @sc_release__x25_m6_AssetSource(ptr %t1156) + %t1160 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1160) + ret ptr %t1159 +if.j415: + %t1161 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1162 + %t1163 = icmp ne ptr %t1161, null + br i1 %t1163, label %brand.inspect455, label %brand.done457 +brand.inspect455: + %t1164 = getelementptr inbounds i8, ptr %t1161, i64 8 ; ->kind + %t1165 = load i32, ptr %t1164 + %t1166 = icmp eq i32 %t1165, 12 + br i1 %t1166, label %brand.capsule456, label %brand.done457 +brand.capsule456: + %t1167 = getelementptr inbounds i8, ptr %t1161, i64 40 ; ->v.typed_ref.type_key + %t1168 = load ptr, ptr %t1167 + %t1169 = icmp eq ptr %t1168, @sc_cs_3314970835853795 + store i1 true, ptr %s1162 + br i1 %t1169, label %brand.done457, label %brand.compare458 +brand.compare458: + %t1170 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1161, ptr @sc_lit_3314970835853795) + store i1 %t1170, ptr %s1162 + br label %brand.done457 +brand.done457: + %t1171 = load i1, ptr %s1162 + br i1 %t1171, label %if.t459, label %if.j460 +if.t459: + %t1172 = load ptr, ptr %sc_l_p_0 + %t1173 = call ptr @sc_rc_retain_dyn(ptr %t1172) + %t1175 = icmp ne ptr %t1173, null + br i1 %t1175, label %dc.inspect461, label %dc.checked464 +dc.inspect461: + %t1180 = getelementptr inbounds i8, ptr %t1173, i64 8 ; ->kind + %t1181 = load i32, ptr %t1180 + %t1176 = icmp eq i32 %t1181, 12 + br i1 %t1176, label %dc.capsule462, label %dc.checked464 +dc.capsule462: + %t1177 = getelementptr inbounds i8, ptr %t1173, i64 40 ; ->v.typed_ref.type_key + %t1178 = load ptr, ptr %t1177 + %t1179 = icmp eq ptr %t1178, @sc_cs_3314970835853795 + br i1 %t1179, label %dc.exact463, label %dc.checked464 +dc.exact463: + %t1182 = getelementptr inbounds i8, ptr %t1173, i64 16 ; ->v.typed_ref.ptr + %t1183 = load ptr, ptr %t1182 + %t1184 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1183) + store ptr %t1184, ptr %s1174 + br label %dc.done465 +dc.checked464: + %t1185 = call ptr @sc_dc_79(ptr %t1173, ptr null) + store ptr %t1185, ptr %s1174 + %t1186 = load i32, ptr %exc.cell + %t1187 = icmp ne i32 %t1186, 0 + %t1188 = call i1 @llvm.expect.i1(i1 %t1187, i1 false) + br i1 %t1188, label %exc.u466, label %exc.k467 +exc.u466: + call void @scr_dyn_release(ptr %t1173) + br label %exc.cleanup2 +exc.k467: + br label %dc.done465 +dc.done465: + %t1189 = load ptr, ptr %s1174 + %t1190 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1189, i64 0, i32 2 + %t1191 = load ptr, ptr %t1190, !tbaa !204 + %t1192 = getelementptr inbounds i8, ptr %t1191, i64 8 ; ->kind + %t1193 = load i32, ptr %t1192 + %t1194 = icmp eq i32 %t1193, 6 + call void @scr_dyn_release(ptr %t1173) + call void @sc_release__x25_m6_AssetSource(ptr %t1189) + br i1 %t1194, label %if.t468, label %if.j469 +if.t468: + %t1195 = load ptr, ptr %sc_l_p_0 + %t1196 = call ptr @sc_rc_retain_dyn(ptr %t1195) + %t1198 = icmp ne ptr %t1196, null + br i1 %t1198, label %dc.inspect470, label %dc.checked473 +dc.inspect470: + %t1203 = getelementptr inbounds i8, ptr %t1196, i64 8 ; ->kind + %t1204 = load i32, ptr %t1203 + %t1199 = icmp eq i32 %t1204, 12 + br i1 %t1199, label %dc.capsule471, label %dc.checked473 +dc.capsule471: + %t1200 = getelementptr inbounds i8, ptr %t1196, i64 40 ; ->v.typed_ref.type_key + %t1201 = load ptr, ptr %t1200 + %t1202 = icmp eq ptr %t1201, @sc_cs_3314970835853795 + br i1 %t1202, label %dc.exact472, label %dc.checked473 +dc.exact472: + %t1205 = getelementptr inbounds i8, ptr %t1196, i64 16 ; ->v.typed_ref.ptr + %t1206 = load ptr, ptr %t1205 + %t1207 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1206) + store ptr %t1207, ptr %s1197 + br label %dc.done474 +dc.checked473: + %t1208 = call ptr @sc_dc_79(ptr %t1196, ptr null) + store ptr %t1208, ptr %s1197 + %t1209 = load i32, ptr %exc.cell + %t1210 = icmp ne i32 %t1209, 0 + %t1211 = call i1 @llvm.expect.i1(i1 %t1210, i1 false) + br i1 %t1211, label %exc.u475, label %exc.k476 +exc.u475: + call void @scr_dyn_release(ptr %t1196) + br label %exc.cleanup2 +exc.k476: + br label %dc.done474 +dc.done474: + %t1212 = load ptr, ptr %s1197 + %t1213 = load ptr, ptr %sc_l_p_0 + %t1214 = call ptr @sc_rc_retain_dyn(ptr %t1213) + %t1216 = icmp ne ptr %t1214, null + br i1 %t1216, label %dc.inspect477, label %dc.checked480 +dc.inspect477: + %t1221 = getelementptr inbounds i8, ptr %t1214, i64 8 ; ->kind + %t1222 = load i32, ptr %t1221 + %t1217 = icmp eq i32 %t1222, 12 + br i1 %t1217, label %dc.capsule478, label %dc.checked480 +dc.capsule478: + %t1218 = getelementptr inbounds i8, ptr %t1214, i64 40 ; ->v.typed_ref.type_key + %t1219 = load ptr, ptr %t1218 + %t1220 = icmp eq ptr %t1219, @sc_cs_3314970835853795 + br i1 %t1220, label %dc.exact479, label %dc.checked480 +dc.exact479: + %t1223 = getelementptr inbounds i8, ptr %t1214, i64 16 ; ->v.typed_ref.ptr + %t1224 = load ptr, ptr %t1223 + %t1225 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1224) + store ptr %t1225, ptr %s1215 + br label %dc.done481 +dc.checked480: + %t1226 = call ptr @sc_dc_79(ptr %t1214, ptr null) + store ptr %t1226, ptr %s1215 + %t1227 = load i32, ptr %exc.cell + %t1228 = icmp ne i32 %t1227, 0 + %t1229 = call i1 @llvm.expect.i1(i1 %t1228, i1 false) + br i1 %t1229, label %exc.u482, label %exc.k483 +exc.u482: + call void @scr_dyn_release(ptr %t1196) + call void @sc_release__x25_m6_AssetSource(ptr %t1212) + call void @scr_dyn_release(ptr %t1214) + br label %exc.cleanup2 +exc.k483: + br label %dc.done481 +dc.done481: + %t1230 = load ptr, ptr %s1215 + %t1231 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1230, i64 0, i32 1 + %t1232 = load ptr, ptr %t1231 + %t1233 = getelementptr inbounds %ScrVt, ptr %t1232, i64 0, i32 0 + %t1234 = load i64, ptr %t1233 + %t1235 = icmp uge i64 %t1234, 37 + %t1236 = icmp ule i64 %t1234, 38 + %t1237 = and i1 %t1235, %t1236 ; instanceof %m9.EmbeddedAssets + br i1 %t1237, label %tern.t484, label %tern.f485 +tern.t484: + %t1239 = load ptr, ptr %sc_l_p_0 + %t1240 = call ptr @sc_rc_retain_dyn(ptr %t1239) + %t1242 = icmp ne ptr %t1240, null + br i1 %t1242, label %dc.inspect487, label %dc.checked490 +dc.inspect487: + %t1247 = getelementptr inbounds i8, ptr %t1240, i64 8 ; ->kind + %t1248 = load i32, ptr %t1247 + %t1243 = icmp eq i32 %t1248, 12 + br i1 %t1243, label %dc.capsule488, label %dc.checked490 +dc.capsule488: + %t1244 = getelementptr inbounds i8, ptr %t1240, i64 40 ; ->v.typed_ref.type_key + %t1245 = load ptr, ptr %t1244 + %t1246 = icmp eq ptr %t1245, @sc_cs_3314970835853795 + br i1 %t1246, label %dc.exact489, label %dc.checked490 +dc.exact489: + %t1249 = getelementptr inbounds i8, ptr %t1240, i64 16 ; ->v.typed_ref.ptr + %t1250 = load ptr, ptr %t1249 + %t1251 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1250) + store ptr %t1251, ptr %s1241 + br label %dc.done491 +dc.checked490: + %t1252 = call ptr @sc_dc_79(ptr %t1240, ptr null) + store ptr %t1252, ptr %s1241 + %t1253 = load i32, ptr %exc.cell + %t1254 = icmp ne i32 %t1253, 0 + %t1255 = call i1 @llvm.expect.i1(i1 %t1254, i1 false) + br i1 %t1255, label %exc.u492, label %exc.k493 +exc.u492: + call void @scr_dyn_release(ptr %t1240) + call void @scr_dyn_release(ptr %t1196) + call void @sc_release__x25_m6_AssetSource(ptr %t1212) + call void @scr_dyn_release(ptr %t1214) + call void @sc_release__x25_m6_AssetSource(ptr %t1230) + br label %exc.cleanup2 +exc.k493: + br label %dc.done491 +dc.done491: + %t1256 = load ptr, ptr %s1241 + %t1257 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1256, i64 0, i32 1 + %t1258 = load ptr, ptr %t1257 + %t1259 = getelementptr inbounds %ScrVt, ptr %t1258, i64 0, i32 0 + %t1260 = load i64, ptr %t1259 + %t1261 = icmp uge i64 %t1260, 38 + %t1262 = icmp ule i64 %t1260, 38 + %t1263 = and i1 %t1261, %t1262 ; instanceof %m14.BakedAssets + br i1 %t1263, label %tern.t494, label %tern.f495 +tern.t494: + %t1265 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1266 = load i32, ptr %exc.cell + %t1267 = icmp ne i32 %t1266, 0 + %t1268 = call i1 @llvm.expect.i1(i1 %t1267, i1 false) + br i1 %t1268, label %exc.u497, label %exc.k498 +exc.u497: + call void @scr_dyn_release(ptr %t1265) + call void @scr_dyn_release(ptr %t1240) + call void @sc_release__x25_m6_AssetSource(ptr %t1256) + call void @scr_dyn_release(ptr %t1196) + call void @sc_release__x25_m6_AssetSource(ptr %t1212) + call void @scr_dyn_release(ptr %t1214) + call void @sc_release__x25_m6_AssetSource(ptr %t1230) + br label %exc.cleanup2 +exc.k498: + store ptr %t1265, ptr %s1264 + br label %tern.j496 +tern.f495: + %t1269 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t1270 = load i32, ptr %exc.cell + %t1271 = icmp ne i32 %t1270, 0 + %t1272 = call i1 @llvm.expect.i1(i1 %t1271, i1 false) + br i1 %t1272, label %exc.u499, label %exc.k500 +exc.u499: + call void @scr_dyn_release(ptr %t1269) + call void @scr_dyn_release(ptr %t1240) + call void @sc_release__x25_m6_AssetSource(ptr %t1256) + call void @scr_dyn_release(ptr %t1196) + call void @sc_release__x25_m6_AssetSource(ptr %t1212) + call void @scr_dyn_release(ptr %t1214) + call void @sc_release__x25_m6_AssetSource(ptr %t1230) + br label %exc.cleanup2 +exc.k500: + store ptr %t1269, ptr %s1264 + br label %tern.j496 +tern.j496: + %t1273 = load ptr, ptr %s1264 + store ptr %t1273, ptr %s1238 + call void @scr_dyn_release(ptr %t1240) + call void @sc_release__x25_m6_AssetSource(ptr %t1256) + br label %tern.j486 +tern.f485: + %t1274 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource() + %t1275 = load i32, ptr %exc.cell + %t1276 = icmp ne i32 %t1275, 0 + %t1277 = call i1 @llvm.expect.i1(i1 %t1276, i1 false) + br i1 %t1277, label %exc.u501, label %exc.k502 +exc.u501: + call void @scr_dyn_release(ptr %t1274) + call void @scr_dyn_release(ptr %t1196) + call void @sc_release__x25_m6_AssetSource(ptr %t1212) + call void @scr_dyn_release(ptr %t1214) + call void @sc_release__x25_m6_AssetSource(ptr %t1230) + br label %exc.cleanup2 +exc.k502: + store ptr %t1274, ptr %s1238 + br label %tern.j486 +tern.j486: + %t1278 = load ptr, ptr %s1238 + %t1279 = call ptr @scr_dyn_obj_create(ptr %t1278) + %t1280 = load i32, ptr %exc.cell + %t1281 = icmp ne i32 %t1280, 0 + %t1282 = call i1 @llvm.expect.i1(i1 %t1281, i1 false) + br i1 %t1282, label %exc.u503, label %exc.k504 +exc.u503: + call void @scr_dyn_release(ptr %t1196) + call void @sc_release__x25_m6_AssetSource(ptr %t1212) + call void @scr_dyn_release(ptr %t1214) + call void @sc_release__x25_m6_AssetSource(ptr %t1230) + call void @scr_dyn_release(ptr %t1278) + call void @scr_dyn_release(ptr %t1279) + br label %exc.cleanup2 +exc.k504: + %t1283 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1212, i64 0, i32 2 + %t1284 = load ptr, ptr %t1283 + store ptr %t1279, ptr %t1283, !tbaa !204 + call void @scr_dyn_release(ptr %t1284) + call void @scr_dyn_release(ptr %t1196) + call void @sc_release__x25_m6_AssetSource(ptr %t1212) + call void @scr_dyn_release(ptr %t1214) + call void @sc_release__x25_m6_AssetSource(ptr %t1230) + call void @scr_dyn_release(ptr %t1278) + br label %if.j469 +if.j469: + %t1285 = load ptr, ptr %sc_l_p_0 + %t1286 = call ptr @sc_rc_retain_dyn(ptr %t1285) + %t1288 = icmp ne ptr %t1286, null + br i1 %t1288, label %dc.inspect505, label %dc.checked508 +dc.inspect505: + %t1293 = getelementptr inbounds i8, ptr %t1286, i64 8 ; ->kind + %t1294 = load i32, ptr %t1293 + %t1289 = icmp eq i32 %t1294, 12 + br i1 %t1289, label %dc.capsule506, label %dc.checked508 +dc.capsule506: + %t1290 = getelementptr inbounds i8, ptr %t1286, i64 40 ; ->v.typed_ref.type_key + %t1291 = load ptr, ptr %t1290 + %t1292 = icmp eq ptr %t1291, @sc_cs_3314970835853795 + br i1 %t1292, label %dc.exact507, label %dc.checked508 +dc.exact507: + %t1295 = getelementptr inbounds i8, ptr %t1286, i64 16 ; ->v.typed_ref.ptr + %t1296 = load ptr, ptr %t1295 + %t1297 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1296) + store ptr %t1297, ptr %s1287 + br label %dc.done509 +dc.checked508: + %t1298 = call ptr @sc_dc_79(ptr %t1286, ptr null) + store ptr %t1298, ptr %s1287 + %t1299 = load i32, ptr %exc.cell + %t1300 = icmp ne i32 %t1299, 0 + %t1301 = call i1 @llvm.expect.i1(i1 %t1300, i1 false) + br i1 %t1301, label %exc.u510, label %exc.k511 +exc.u510: + call void @scr_dyn_release(ptr %t1286) + br label %exc.cleanup2 +exc.k511: + br label %dc.done509 +dc.done509: + %t1302 = load ptr, ptr %s1287 + %t1303 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1302, i64 0, i32 2 + %t1304 = load ptr, ptr %t1303, !tbaa !204 + %t1305 = call ptr @sc_rc_retain_dyn(ptr %t1304) + call void @scr_dyn_release(ptr %t1286) + call void @sc_release__x25_m6_AssetSource(ptr %t1302) + %t1306 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1306) + ret ptr %t1305 +if.j460: + %t1307 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1308 + %t1309 = icmp ne ptr %t1307, null + br i1 %t1309, label %brand.inspect512, label %brand.done514 +brand.inspect512: + %t1310 = getelementptr inbounds i8, ptr %t1307, i64 8 ; ->kind + %t1311 = load i32, ptr %t1310 + %t1312 = icmp eq i32 %t1311, 12 + br i1 %t1312, label %brand.capsule513, label %brand.done514 +brand.capsule513: + %t1313 = getelementptr inbounds i8, ptr %t1307, i64 40 ; ->v.typed_ref.type_key + %t1314 = load ptr, ptr %t1313 + %t1315 = icmp eq ptr %t1314, @sc_cs_864190948149583 + store i1 true, ptr %s1308 + br i1 %t1315, label %brand.done514, label %brand.compare515 +brand.compare515: + %t1316 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1307, ptr @sc_lit_864190948149583) + store i1 %t1316, ptr %s1308 + br label %brand.done514 +brand.done514: + %t1317 = load i1, ptr %s1308 + br i1 %t1317, label %if.t516, label %if.j517 +if.t516: + %t1318 = load ptr, ptr %sc_l_p_0 + %t1319 = call ptr @sc_rc_retain_dyn(ptr %t1318) + %t1321 = icmp ne ptr %t1319, null + br i1 %t1321, label %dc.inspect518, label %dc.checked521 +dc.inspect518: + %t1326 = getelementptr inbounds i8, ptr %t1319, i64 8 ; ->kind + %t1327 = load i32, ptr %t1326 + %t1322 = icmp eq i32 %t1327, 12 + br i1 %t1322, label %dc.capsule519, label %dc.checked521 +dc.capsule519: + %t1323 = getelementptr inbounds i8, ptr %t1319, i64 40 ; ->v.typed_ref.type_key + %t1324 = load ptr, ptr %t1323 + %t1325 = icmp eq ptr %t1324, @sc_cs_864190948149583 + br i1 %t1325, label %dc.exact520, label %dc.checked521 +dc.exact520: + %t1328 = getelementptr inbounds i8, ptr %t1319, i64 16 ; ->v.typed_ref.ptr + %t1329 = load ptr, ptr %t1328 + %t1330 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1329) + store ptr %t1330, ptr %s1320 + br label %dc.done522 +dc.checked521: + %t1331 = call ptr @sc_dc_103(ptr %t1319, ptr null) + store ptr %t1331, ptr %s1320 + %t1332 = load i32, ptr %exc.cell + %t1333 = icmp ne i32 %t1332, 0 + %t1334 = call i1 @llvm.expect.i1(i1 %t1333, i1 false) + br i1 %t1334, label %exc.u523, label %exc.k524 +exc.u523: + call void @scr_dyn_release(ptr %t1319) + br label %exc.cleanup2 +exc.k524: + br label %dc.done522 +dc.done522: + %t1335 = load ptr, ptr %s1320 + %t1336 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1335, i64 0, i32 6 + %t1337 = load ptr, ptr %t1336, !tbaa !204 + %t1338 = getelementptr inbounds i8, ptr %t1337, i64 8 ; ->kind + %t1339 = load i32, ptr %t1338 + %t1340 = icmp eq i32 %t1339, 6 + call void @scr_dyn_release(ptr %t1319) + call void @sc_release__x25_m11_StaticServer(ptr %t1335) + br i1 %t1340, label %if.t525, label %if.j526 +if.t525: + %t1341 = load ptr, ptr %sc_l_p_0 + %t1342 = call ptr @sc_rc_retain_dyn(ptr %t1341) + %t1344 = icmp ne ptr %t1342, null + br i1 %t1344, label %dc.inspect527, label %dc.checked530 +dc.inspect527: + %t1349 = getelementptr inbounds i8, ptr %t1342, i64 8 ; ->kind + %t1350 = load i32, ptr %t1349 + %t1345 = icmp eq i32 %t1350, 12 + br i1 %t1345, label %dc.capsule528, label %dc.checked530 +dc.capsule528: + %t1346 = getelementptr inbounds i8, ptr %t1342, i64 40 ; ->v.typed_ref.type_key + %t1347 = load ptr, ptr %t1346 + %t1348 = icmp eq ptr %t1347, @sc_cs_864190948149583 + br i1 %t1348, label %dc.exact529, label %dc.checked530 +dc.exact529: + %t1351 = getelementptr inbounds i8, ptr %t1342, i64 16 ; ->v.typed_ref.ptr + %t1352 = load ptr, ptr %t1351 + %t1353 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1352) + store ptr %t1353, ptr %s1343 + br label %dc.done531 +dc.checked530: + %t1354 = call ptr @sc_dc_103(ptr %t1342, ptr null) + store ptr %t1354, ptr %s1343 + %t1355 = load i32, ptr %exc.cell + %t1356 = icmp ne i32 %t1355, 0 + %t1357 = call i1 @llvm.expect.i1(i1 %t1356, i1 false) + br i1 %t1357, label %exc.u532, label %exc.k533 +exc.u532: + call void @scr_dyn_release(ptr %t1342) + br label %exc.cleanup2 +exc.k533: + br label %dc.done531 +dc.done531: + %t1358 = load ptr, ptr %s1343 + %t1359 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer() + %t1360 = load i32, ptr %exc.cell + %t1361 = icmp ne i32 %t1360, 0 + %t1362 = call i1 @llvm.expect.i1(i1 %t1361, i1 false) + br i1 %t1362, label %exc.u534, label %exc.k535 +exc.u534: + call void @scr_dyn_release(ptr %t1342) + call void @sc_release__x25_m11_StaticServer(ptr %t1358) + call void @scr_dyn_release(ptr %t1359) + br label %exc.cleanup2 +exc.k535: + %t1363 = call ptr @scr_dyn_obj_create(ptr %t1359) + %t1364 = load i32, ptr %exc.cell + %t1365 = icmp ne i32 %t1364, 0 + %t1366 = call i1 @llvm.expect.i1(i1 %t1365, i1 false) + br i1 %t1366, label %exc.u536, label %exc.k537 +exc.u536: + call void @scr_dyn_release(ptr %t1342) + call void @sc_release__x25_m11_StaticServer(ptr %t1358) + call void @scr_dyn_release(ptr %t1359) + call void @scr_dyn_release(ptr %t1363) + br label %exc.cleanup2 +exc.k537: + %t1367 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1358, i64 0, i32 6 + %t1368 = load ptr, ptr %t1367 + store ptr %t1363, ptr %t1367, !tbaa !204 + call void @scr_dyn_release(ptr %t1368) + call void @scr_dyn_release(ptr %t1342) + call void @sc_release__x25_m11_StaticServer(ptr %t1358) + call void @scr_dyn_release(ptr %t1359) + br label %if.j526 +if.j526: + %t1369 = load ptr, ptr %sc_l_p_0 + %t1370 = call ptr @sc_rc_retain_dyn(ptr %t1369) + %t1372 = icmp ne ptr %t1370, null + br i1 %t1372, label %dc.inspect538, label %dc.checked541 +dc.inspect538: + %t1377 = getelementptr inbounds i8, ptr %t1370, i64 8 ; ->kind + %t1378 = load i32, ptr %t1377 + %t1373 = icmp eq i32 %t1378, 12 + br i1 %t1373, label %dc.capsule539, label %dc.checked541 +dc.capsule539: + %t1374 = getelementptr inbounds i8, ptr %t1370, i64 40 ; ->v.typed_ref.type_key + %t1375 = load ptr, ptr %t1374 + %t1376 = icmp eq ptr %t1375, @sc_cs_864190948149583 + br i1 %t1376, label %dc.exact540, label %dc.checked541 +dc.exact540: + %t1379 = getelementptr inbounds i8, ptr %t1370, i64 16 ; ->v.typed_ref.ptr + %t1380 = load ptr, ptr %t1379 + %t1381 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1380) + store ptr %t1381, ptr %s1371 + br label %dc.done542 +dc.checked541: + %t1382 = call ptr @sc_dc_103(ptr %t1370, ptr null) + store ptr %t1382, ptr %s1371 + %t1383 = load i32, ptr %exc.cell + %t1384 = icmp ne i32 %t1383, 0 + %t1385 = call i1 @llvm.expect.i1(i1 %t1384, i1 false) + br i1 %t1385, label %exc.u543, label %exc.k544 +exc.u543: + call void @scr_dyn_release(ptr %t1370) + br label %exc.cleanup2 +exc.k544: + br label %dc.done542 +dc.done542: + %t1386 = load ptr, ptr %s1371 + %t1387 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1386, i64 0, i32 6 + %t1388 = load ptr, ptr %t1387, !tbaa !204 + %t1389 = call ptr @sc_rc_retain_dyn(ptr %t1388) + call void @scr_dyn_release(ptr %t1370) + call void @sc_release__x25_m11_StaticServer(ptr %t1386) + %t1390 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1390) + ret ptr %t1389 +if.j517: + %t1391 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1392 + %t1393 = icmp ne ptr %t1391, null + br i1 %t1393, label %brand.inspect545, label %brand.done547 +brand.inspect545: + %t1394 = getelementptr inbounds i8, ptr %t1391, i64 8 ; ->kind + %t1395 = load i32, ptr %t1394 + %t1396 = icmp eq i32 %t1395, 12 + br i1 %t1396, label %brand.capsule546, label %brand.done547 +brand.capsule546: + %t1397 = getelementptr inbounds i8, ptr %t1391, i64 40 ; ->v.typed_ref.type_key + %t1398 = load ptr, ptr %t1397 + %t1399 = icmp eq ptr %t1398, @sc_cs_4074974279575818 + store i1 true, ptr %s1392 + br i1 %t1399, label %brand.done547, label %brand.compare548 +brand.compare548: + %t1400 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1391, ptr @sc_lit_4074974279575818) + store i1 %t1400, ptr %s1392 + br label %brand.done547 +brand.done547: + %t1401 = load i1, ptr %s1392 + br i1 %t1401, label %if.t549, label %if.j550 +if.t549: + %t1402 = load ptr, ptr %sc_l_p_0 + %t1403 = call ptr @sc_rc_retain_dyn(ptr %t1402) + %t1405 = icmp ne ptr %t1403, null + br i1 %t1405, label %dc.inspect551, label %dc.checked554 +dc.inspect551: + %t1410 = getelementptr inbounds i8, ptr %t1403, i64 8 ; ->kind + %t1411 = load i32, ptr %t1410 + %t1406 = icmp eq i32 %t1411, 12 + br i1 %t1406, label %dc.capsule552, label %dc.checked554 +dc.capsule552: + %t1407 = getelementptr inbounds i8, ptr %t1403, i64 40 ; ->v.typed_ref.type_key + %t1408 = load ptr, ptr %t1407 + %t1409 = icmp eq ptr %t1408, @sc_cs_4074974279575818 + br i1 %t1409, label %dc.exact553, label %dc.checked554 +dc.exact553: + %t1412 = getelementptr inbounds i8, ptr %t1403, i64 16 ; ->v.typed_ref.ptr + %t1413 = load ptr, ptr %t1412 + %t1414 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1413) + store ptr %t1414, ptr %s1404 + br label %dc.done555 +dc.checked554: + %t1415 = call ptr @sc_dc_104(ptr %t1403, ptr null) + store ptr %t1415, ptr %s1404 + %t1416 = load i32, ptr %exc.cell + %t1417 = icmp ne i32 %t1416, 0 + %t1418 = call i1 @llvm.expect.i1(i1 %t1417, i1 false) + br i1 %t1418, label %exc.u556, label %exc.k557 +exc.u556: + call void @scr_dyn_release(ptr %t1403) + br label %exc.cleanup2 +exc.k557: + br label %dc.done555 +dc.done555: + %t1419 = load ptr, ptr %s1404 + %t1420 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1419, i64 0, i32 2 + %t1421 = load ptr, ptr %t1420, !tbaa !204 + %t1422 = getelementptr inbounds i8, ptr %t1421, i64 8 ; ->kind + %t1423 = load i32, ptr %t1422 + %t1424 = icmp eq i32 %t1423, 6 + call void @scr_dyn_release(ptr %t1403) + call void @sc_release__x25_m3_LiteResponse(ptr %t1419) + br i1 %t1424, label %if.t558, label %if.j559 +if.t558: + %t1425 = load ptr, ptr %sc_l_p_0 + %t1426 = call ptr @sc_rc_retain_dyn(ptr %t1425) + %t1428 = icmp ne ptr %t1426, null + br i1 %t1428, label %dc.inspect560, label %dc.checked563 +dc.inspect560: + %t1433 = getelementptr inbounds i8, ptr %t1426, i64 8 ; ->kind + %t1434 = load i32, ptr %t1433 + %t1429 = icmp eq i32 %t1434, 12 + br i1 %t1429, label %dc.capsule561, label %dc.checked563 +dc.capsule561: + %t1430 = getelementptr inbounds i8, ptr %t1426, i64 40 ; ->v.typed_ref.type_key + %t1431 = load ptr, ptr %t1430 + %t1432 = icmp eq ptr %t1431, @sc_cs_4074974279575818 + br i1 %t1432, label %dc.exact562, label %dc.checked563 +dc.exact562: + %t1435 = getelementptr inbounds i8, ptr %t1426, i64 16 ; ->v.typed_ref.ptr + %t1436 = load ptr, ptr %t1435 + %t1437 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1436) + store ptr %t1437, ptr %s1427 + br label %dc.done564 +dc.checked563: + %t1438 = call ptr @sc_dc_104(ptr %t1426, ptr null) + store ptr %t1438, ptr %s1427 + %t1439 = load i32, ptr %exc.cell + %t1440 = icmp ne i32 %t1439, 0 + %t1441 = call i1 @llvm.expect.i1(i1 %t1440, i1 false) + br i1 %t1441, label %exc.u565, label %exc.k566 +exc.u565: + call void @scr_dyn_release(ptr %t1426) + br label %exc.cleanup2 +exc.k566: + br label %dc.done564 +dc.done564: + %t1442 = load ptr, ptr %s1427 + %t1443 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1444 = load i32, ptr %exc.cell + %t1445 = icmp ne i32 %t1444, 0 + %t1446 = call i1 @llvm.expect.i1(i1 %t1445, i1 false) + br i1 %t1446, label %exc.u567, label %exc.k568 +exc.u567: + call void @scr_dyn_release(ptr %t1426) + call void @sc_release__x25_m3_LiteResponse(ptr %t1442) + call void @scr_dyn_release(ptr %t1443) + br label %exc.cleanup2 +exc.k568: + %t1447 = call ptr @scr_dyn_obj_create(ptr %t1443) + %t1448 = load i32, ptr %exc.cell + %t1449 = icmp ne i32 %t1448, 0 + %t1450 = call i1 @llvm.expect.i1(i1 %t1449, i1 false) + br i1 %t1450, label %exc.u569, label %exc.k570 +exc.u569: + call void @scr_dyn_release(ptr %t1426) + call void @sc_release__x25_m3_LiteResponse(ptr %t1442) + call void @scr_dyn_release(ptr %t1443) + call void @scr_dyn_release(ptr %t1447) + br label %exc.cleanup2 +exc.k570: + %t1451 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1442, i64 0, i32 2 + %t1452 = load ptr, ptr %t1451 + store ptr %t1447, ptr %t1451, !tbaa !204 + call void @scr_dyn_release(ptr %t1452) + call void @scr_dyn_release(ptr %t1426) + call void @sc_release__x25_m3_LiteResponse(ptr %t1442) + call void @scr_dyn_release(ptr %t1443) + br label %if.j559 +if.j559: + %t1453 = load ptr, ptr %sc_l_p_0 + %t1454 = call ptr @sc_rc_retain_dyn(ptr %t1453) + %t1456 = icmp ne ptr %t1454, null + br i1 %t1456, label %dc.inspect571, label %dc.checked574 +dc.inspect571: + %t1461 = getelementptr inbounds i8, ptr %t1454, i64 8 ; ->kind + %t1462 = load i32, ptr %t1461 + %t1457 = icmp eq i32 %t1462, 12 + br i1 %t1457, label %dc.capsule572, label %dc.checked574 +dc.capsule572: + %t1458 = getelementptr inbounds i8, ptr %t1454, i64 40 ; ->v.typed_ref.type_key + %t1459 = load ptr, ptr %t1458 + %t1460 = icmp eq ptr %t1459, @sc_cs_4074974279575818 + br i1 %t1460, label %dc.exact573, label %dc.checked574 +dc.exact573: + %t1463 = getelementptr inbounds i8, ptr %t1454, i64 16 ; ->v.typed_ref.ptr + %t1464 = load ptr, ptr %t1463 + %t1465 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1464) + store ptr %t1465, ptr %s1455 + br label %dc.done575 +dc.checked574: + %t1466 = call ptr @sc_dc_104(ptr %t1454, ptr null) + store ptr %t1466, ptr %s1455 + %t1467 = load i32, ptr %exc.cell + %t1468 = icmp ne i32 %t1467, 0 + %t1469 = call i1 @llvm.expect.i1(i1 %t1468, i1 false) + br i1 %t1469, label %exc.u576, label %exc.k577 +exc.u576: + call void @scr_dyn_release(ptr %t1454) + br label %exc.cleanup2 +exc.k577: + br label %dc.done575 +dc.done575: + %t1470 = load ptr, ptr %s1455 + %t1471 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1470, i64 0, i32 2 + %t1472 = load ptr, ptr %t1471, !tbaa !204 + %t1473 = call ptr @sc_rc_retain_dyn(ptr %t1472) + call void @scr_dyn_release(ptr %t1454) + call void @sc_release__x25_m3_LiteResponse(ptr %t1470) + %t1474 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1474) + ret ptr %t1473 +if.j550: + %t1475 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1476 + %t1477 = icmp ne ptr %t1475, null + br i1 %t1477, label %brand.inspect578, label %brand.done580 +brand.inspect578: + %t1478 = getelementptr inbounds i8, ptr %t1475, i64 8 ; ->kind + %t1479 = load i32, ptr %t1478 + %t1480 = icmp eq i32 %t1479, 12 + br i1 %t1480, label %brand.capsule579, label %brand.done580 +brand.capsule579: + %t1481 = getelementptr inbounds i8, ptr %t1475, i64 40 ; ->v.typed_ref.type_key + %t1482 = load ptr, ptr %t1481 + %t1483 = icmp eq ptr %t1482, @sc_cs_4408523527888294 + store i1 true, ptr %s1476 + br i1 %t1483, label %brand.done580, label %brand.compare581 +brand.compare581: + %t1484 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1475, ptr @sc_lit_4408523527888294) + store i1 %t1484, ptr %s1476 + br label %brand.done580 +brand.done580: + %t1485 = load i1, ptr %s1476 + br i1 %t1485, label %if.t582, label %if.j583 +if.t582: + %t1486 = load ptr, ptr %sc_l_p_0 + %t1487 = call ptr @sc_rc_retain_dyn(ptr %t1486) + %t1489 = icmp ne ptr %t1487, null + br i1 %t1489, label %dc.inspect584, label %dc.checked587 +dc.inspect584: + %t1494 = getelementptr inbounds i8, ptr %t1487, i64 8 ; ->kind + %t1495 = load i32, ptr %t1494 + %t1490 = icmp eq i32 %t1495, 12 + br i1 %t1490, label %dc.capsule585, label %dc.checked587 +dc.capsule585: + %t1491 = getelementptr inbounds i8, ptr %t1487, i64 40 ; ->v.typed_ref.type_key + %t1492 = load ptr, ptr %t1491 + %t1493 = icmp eq ptr %t1492, @sc_cs_4408523527888294 + br i1 %t1493, label %dc.exact586, label %dc.checked587 +dc.exact586: + %t1496 = getelementptr inbounds i8, ptr %t1487, i64 16 ; ->v.typed_ref.ptr + %t1497 = load ptr, ptr %t1496 + %t1498 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1497) + store ptr %t1498, ptr %s1488 + br label %dc.done588 +dc.checked587: + %t1499 = call ptr @sc_dc_21(ptr %t1487, ptr null) + store ptr %t1499, ptr %s1488 + %t1500 = load i32, ptr %exc.cell + %t1501 = icmp ne i32 %t1500, 0 + %t1502 = call i1 @llvm.expect.i1(i1 %t1501, i1 false) + br i1 %t1502, label %exc.u589, label %exc.k590 +exc.u589: + call void @scr_dyn_release(ptr %t1487) + br label %exc.cleanup2 +exc.k590: + br label %dc.done588 +dc.done588: + %t1503 = load ptr, ptr %s1488 + %t1504 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1503, i64 0, i32 7 + %t1505 = load ptr, ptr %t1504, !tbaa !204 + %t1506 = getelementptr inbounds i8, ptr %t1505, i64 8 ; ->kind + %t1507 = load i32, ptr %t1506 + %t1508 = icmp eq i32 %t1507, 6 + call void @scr_dyn_release(ptr %t1487) + call void @sc_release__x25_m4_UploadedFile(ptr %t1503) + br i1 %t1508, label %if.t591, label %if.j592 +if.t591: + %t1509 = load ptr, ptr %sc_l_p_0 + %t1510 = call ptr @sc_rc_retain_dyn(ptr %t1509) + %t1512 = icmp ne ptr %t1510, null + br i1 %t1512, label %dc.inspect593, label %dc.checked596 +dc.inspect593: + %t1517 = getelementptr inbounds i8, ptr %t1510, i64 8 ; ->kind + %t1518 = load i32, ptr %t1517 + %t1513 = icmp eq i32 %t1518, 12 + br i1 %t1513, label %dc.capsule594, label %dc.checked596 +dc.capsule594: + %t1514 = getelementptr inbounds i8, ptr %t1510, i64 40 ; ->v.typed_ref.type_key + %t1515 = load ptr, ptr %t1514 + %t1516 = icmp eq ptr %t1515, @sc_cs_4408523527888294 + br i1 %t1516, label %dc.exact595, label %dc.checked596 +dc.exact595: + %t1519 = getelementptr inbounds i8, ptr %t1510, i64 16 ; ->v.typed_ref.ptr + %t1520 = load ptr, ptr %t1519 + %t1521 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1520) + store ptr %t1521, ptr %s1511 + br label %dc.done597 +dc.checked596: + %t1522 = call ptr @sc_dc_21(ptr %t1510, ptr null) + store ptr %t1522, ptr %s1511 + %t1523 = load i32, ptr %exc.cell + %t1524 = icmp ne i32 %t1523, 0 + %t1525 = call i1 @llvm.expect.i1(i1 %t1524, i1 false) + br i1 %t1525, label %exc.u598, label %exc.k599 +exc.u598: + call void @scr_dyn_release(ptr %t1510) + br label %exc.cleanup2 +exc.k599: + br label %dc.done597 +dc.done597: + %t1526 = load ptr, ptr %s1511 + %t1527 = call ptr @scr_dyn_new_obj() + %t1528 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1526, i64 0, i32 7 + %t1529 = load ptr, ptr %t1528 + store ptr %t1527, ptr %t1528, !tbaa !204 + call void @scr_dyn_release(ptr %t1529) + call void @scr_dyn_release(ptr %t1510) + call void @sc_release__x25_m4_UploadedFile(ptr %t1526) + br label %if.j592 +if.j592: + %t1530 = load ptr, ptr %sc_l_p_0 + %t1531 = call ptr @sc_rc_retain_dyn(ptr %t1530) + %t1533 = icmp ne ptr %t1531, null + br i1 %t1533, label %dc.inspect600, label %dc.checked603 +dc.inspect600: + %t1538 = getelementptr inbounds i8, ptr %t1531, i64 8 ; ->kind + %t1539 = load i32, ptr %t1538 + %t1534 = icmp eq i32 %t1539, 12 + br i1 %t1534, label %dc.capsule601, label %dc.checked603 +dc.capsule601: + %t1535 = getelementptr inbounds i8, ptr %t1531, i64 40 ; ->v.typed_ref.type_key + %t1536 = load ptr, ptr %t1535 + %t1537 = icmp eq ptr %t1536, @sc_cs_4408523527888294 + br i1 %t1537, label %dc.exact602, label %dc.checked603 +dc.exact602: + %t1540 = getelementptr inbounds i8, ptr %t1531, i64 16 ; ->v.typed_ref.ptr + %t1541 = load ptr, ptr %t1540 + %t1542 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1541) + store ptr %t1542, ptr %s1532 + br label %dc.done604 +dc.checked603: + %t1543 = call ptr @sc_dc_21(ptr %t1531, ptr null) + store ptr %t1543, ptr %s1532 + %t1544 = load i32, ptr %exc.cell + %t1545 = icmp ne i32 %t1544, 0 + %t1546 = call i1 @llvm.expect.i1(i1 %t1545, i1 false) + br i1 %t1546, label %exc.u605, label %exc.k606 +exc.u605: + call void @scr_dyn_release(ptr %t1531) + br label %exc.cleanup2 +exc.k606: + br label %dc.done604 +dc.done604: + %t1547 = load ptr, ptr %s1532 + %t1548 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1547, i64 0, i32 7 + %t1549 = load ptr, ptr %t1548, !tbaa !204 + %t1550 = call ptr @sc_rc_retain_dyn(ptr %t1549) + call void @scr_dyn_release(ptr %t1531) + call void @sc_release__x25_m4_UploadedFile(ptr %t1547) + %t1551 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1551) + ret ptr %t1550 +if.j583: + %t1552 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1553 + %t1554 = icmp ne ptr %t1552, null + br i1 %t1554, label %brand.inspect607, label %brand.done609 +brand.inspect607: + %t1555 = getelementptr inbounds i8, ptr %t1552, i64 8 ; ->kind + %t1556 = load i32, ptr %t1555 + %t1557 = icmp eq i32 %t1556, 12 + br i1 %t1557, label %brand.capsule608, label %brand.done609 +brand.capsule608: + %t1558 = getelementptr inbounds i8, ptr %t1552, i64 40 ; ->v.typed_ref.type_key + %t1559 = load ptr, ptr %t1558 + %t1560 = icmp eq ptr %t1559, @sc_cs_3163508115280491 + store i1 true, ptr %s1553 + br i1 %t1560, label %brand.done609, label %brand.compare610 +brand.compare610: + %t1561 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1552, ptr @sc_lit_3163508115280491) + store i1 %t1561, ptr %s1553 + br label %brand.done609 +brand.done609: + %t1562 = load i1, ptr %s1553 + br i1 %t1562, label %if.t611, label %if.j612 +if.t611: + %t1563 = load ptr, ptr %sc_l_p_0 + %t1564 = call ptr @sc_rc_retain_dyn(ptr %t1563) + %t1566 = icmp ne ptr %t1564, null + br i1 %t1566, label %dc.inspect613, label %dc.checked616 +dc.inspect613: + %t1571 = getelementptr inbounds i8, ptr %t1564, i64 8 ; ->kind + %t1572 = load i32, ptr %t1571 + %t1567 = icmp eq i32 %t1572, 12 + br i1 %t1567, label %dc.capsule614, label %dc.checked616 +dc.capsule614: + %t1568 = getelementptr inbounds i8, ptr %t1564, i64 40 ; ->v.typed_ref.type_key + %t1569 = load ptr, ptr %t1568 + %t1570 = icmp eq ptr %t1569, @sc_cs_3163508115280491 + br i1 %t1570, label %dc.exact615, label %dc.checked616 +dc.exact615: + %t1573 = getelementptr inbounds i8, ptr %t1564, i64 16 ; ->v.typed_ref.ptr + %t1574 = load ptr, ptr %t1573 + %t1575 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1574) + store ptr %t1575, ptr %s1565 + br label %dc.done617 +dc.checked616: + %t1576 = call ptr @sc_dc_105(ptr %t1564, ptr null) + store ptr %t1576, ptr %s1565 + %t1577 = load i32, ptr %exc.cell + %t1578 = icmp ne i32 %t1577, 0 + %t1579 = call i1 @llvm.expect.i1(i1 %t1578, i1 false) + br i1 %t1579, label %exc.u618, label %exc.k619 +exc.u618: + call void @scr_dyn_release(ptr %t1564) + br label %exc.cleanup2 +exc.k619: + br label %dc.done617 +dc.done617: + %t1580 = load ptr, ptr %s1565 + %t1581 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1580, i64 0, i32 21 + %t1582 = load ptr, ptr %t1581, !tbaa !204 + %t1583 = getelementptr inbounds i8, ptr %t1582, i64 8 ; ->kind + %t1584 = load i32, ptr %t1583 + %t1585 = icmp eq i32 %t1584, 6 + call void @scr_dyn_release(ptr %t1564) + call void @sc_release__x25_m4_MultipartParser(ptr %t1580) + br i1 %t1585, label %if.t620, label %if.j621 +if.t620: + %t1586 = load ptr, ptr %sc_l_p_0 + %t1587 = call ptr @sc_rc_retain_dyn(ptr %t1586) + %t1589 = icmp ne ptr %t1587, null + br i1 %t1589, label %dc.inspect622, label %dc.checked625 +dc.inspect622: + %t1594 = getelementptr inbounds i8, ptr %t1587, i64 8 ; ->kind + %t1595 = load i32, ptr %t1594 + %t1590 = icmp eq i32 %t1595, 12 + br i1 %t1590, label %dc.capsule623, label %dc.checked625 +dc.capsule623: + %t1591 = getelementptr inbounds i8, ptr %t1587, i64 40 ; ->v.typed_ref.type_key + %t1592 = load ptr, ptr %t1591 + %t1593 = icmp eq ptr %t1592, @sc_cs_3163508115280491 + br i1 %t1593, label %dc.exact624, label %dc.checked625 +dc.exact624: + %t1596 = getelementptr inbounds i8, ptr %t1587, i64 16 ; ->v.typed_ref.ptr + %t1597 = load ptr, ptr %t1596 + %t1598 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1597) + store ptr %t1598, ptr %s1588 + br label %dc.done626 +dc.checked625: + %t1599 = call ptr @sc_dc_105(ptr %t1587, ptr null) + store ptr %t1599, ptr %s1588 + %t1600 = load i32, ptr %exc.cell + %t1601 = icmp ne i32 %t1600, 0 + %t1602 = call i1 @llvm.expect.i1(i1 %t1601, i1 false) + br i1 %t1602, label %exc.u627, label %exc.k628 +exc.u627: + call void @scr_dyn_release(ptr %t1587) + br label %exc.cleanup2 +exc.k628: + br label %dc.done626 +dc.done626: + %t1603 = load ptr, ptr %s1588 + %t1604 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser() + %t1605 = load i32, ptr %exc.cell + %t1606 = icmp ne i32 %t1605, 0 + %t1607 = call i1 @llvm.expect.i1(i1 %t1606, i1 false) + br i1 %t1607, label %exc.u629, label %exc.k630 +exc.u629: + call void @scr_dyn_release(ptr %t1587) + call void @sc_release__x25_m4_MultipartParser(ptr %t1603) + call void @scr_dyn_release(ptr %t1604) + br label %exc.cleanup2 +exc.k630: + %t1608 = call ptr @scr_dyn_obj_create(ptr %t1604) + %t1609 = load i32, ptr %exc.cell + %t1610 = icmp ne i32 %t1609, 0 + %t1611 = call i1 @llvm.expect.i1(i1 %t1610, i1 false) + br i1 %t1611, label %exc.u631, label %exc.k632 +exc.u631: + call void @scr_dyn_release(ptr %t1587) + call void @sc_release__x25_m4_MultipartParser(ptr %t1603) + call void @scr_dyn_release(ptr %t1604) + call void @scr_dyn_release(ptr %t1608) + br label %exc.cleanup2 +exc.k632: + %t1612 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1603, i64 0, i32 21 + %t1613 = load ptr, ptr %t1612 + store ptr %t1608, ptr %t1612, !tbaa !204 + call void @scr_dyn_release(ptr %t1613) + call void @scr_dyn_release(ptr %t1587) + call void @sc_release__x25_m4_MultipartParser(ptr %t1603) + call void @scr_dyn_release(ptr %t1604) + br label %if.j621 +if.j621: + %t1614 = load ptr, ptr %sc_l_p_0 + %t1615 = call ptr @sc_rc_retain_dyn(ptr %t1614) + %t1617 = icmp ne ptr %t1615, null + br i1 %t1617, label %dc.inspect633, label %dc.checked636 +dc.inspect633: + %t1622 = getelementptr inbounds i8, ptr %t1615, i64 8 ; ->kind + %t1623 = load i32, ptr %t1622 + %t1618 = icmp eq i32 %t1623, 12 + br i1 %t1618, label %dc.capsule634, label %dc.checked636 +dc.capsule634: + %t1619 = getelementptr inbounds i8, ptr %t1615, i64 40 ; ->v.typed_ref.type_key + %t1620 = load ptr, ptr %t1619 + %t1621 = icmp eq ptr %t1620, @sc_cs_3163508115280491 + br i1 %t1621, label %dc.exact635, label %dc.checked636 +dc.exact635: + %t1624 = getelementptr inbounds i8, ptr %t1615, i64 16 ; ->v.typed_ref.ptr + %t1625 = load ptr, ptr %t1624 + %t1626 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1625) + store ptr %t1626, ptr %s1616 + br label %dc.done637 +dc.checked636: + %t1627 = call ptr @sc_dc_105(ptr %t1615, ptr null) + store ptr %t1627, ptr %s1616 + %t1628 = load i32, ptr %exc.cell + %t1629 = icmp ne i32 %t1628, 0 + %t1630 = call i1 @llvm.expect.i1(i1 %t1629, i1 false) + br i1 %t1630, label %exc.u638, label %exc.k639 +exc.u638: + call void @scr_dyn_release(ptr %t1615) + br label %exc.cleanup2 +exc.k639: + br label %dc.done637 +dc.done637: + %t1631 = load ptr, ptr %s1616 + %t1632 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1631, i64 0, i32 21 + %t1633 = load ptr, ptr %t1632, !tbaa !204 + %t1634 = call ptr @sc_rc_retain_dyn(ptr %t1633) + call void @scr_dyn_release(ptr %t1615) + call void @sc_release__x25_m4_MultipartParser(ptr %t1631) + %t1635 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1635) + ret ptr %t1634 +if.j612: + %t1636 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1637 + %t1638 = icmp ne ptr %t1636, null + br i1 %t1638, label %brand.inspect640, label %brand.done642 +brand.inspect640: + %t1639 = getelementptr inbounds i8, ptr %t1636, i64 8 ; ->kind + %t1640 = load i32, ptr %t1639 + %t1641 = icmp eq i32 %t1640, 12 + br i1 %t1641, label %brand.capsule641, label %brand.done642 +brand.capsule641: + %t1642 = getelementptr inbounds i8, ptr %t1636, i64 40 ; ->v.typed_ref.type_key + %t1643 = load ptr, ptr %t1642 + %t1644 = icmp eq ptr %t1643, @sc_cs_1875086966829314 + store i1 true, ptr %s1637 + br i1 %t1644, label %brand.done642, label %brand.compare643 +brand.compare643: + %t1645 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1636, ptr @sc_lit_1875086966829314) + store i1 %t1645, ptr %s1637 + br label %brand.done642 +brand.done642: + %t1646 = load i1, ptr %s1637 + br i1 %t1646, label %if.t644, label %if.j645 +if.t644: + %t1647 = load ptr, ptr %sc_l_p_0 + %t1648 = call ptr @sc_rc_retain_dyn(ptr %t1647) + %t1650 = icmp ne ptr %t1648, null + br i1 %t1650, label %dc.inspect646, label %dc.checked649 +dc.inspect646: + %t1655 = getelementptr inbounds i8, ptr %t1648, i64 8 ; ->kind + %t1656 = load i32, ptr %t1655 + %t1651 = icmp eq i32 %t1656, 12 + br i1 %t1651, label %dc.capsule647, label %dc.checked649 +dc.capsule647: + %t1652 = getelementptr inbounds i8, ptr %t1648, i64 40 ; ->v.typed_ref.type_key + %t1653 = load ptr, ptr %t1652 + %t1654 = icmp eq ptr %t1653, @sc_cs_1875086966829314 + br i1 %t1654, label %dc.exact648, label %dc.checked649 +dc.exact648: + %t1657 = getelementptr inbounds i8, ptr %t1648, i64 16 ; ->v.typed_ref.ptr + %t1658 = load ptr, ptr %t1657 + %t1659 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1658) + store ptr %t1659, ptr %s1649 + br label %dc.done650 +dc.checked649: + %t1660 = call ptr @sc_dc_106(ptr %t1648, ptr null) + store ptr %t1660, ptr %s1649 + %t1661 = load i32, ptr %exc.cell + %t1662 = icmp ne i32 %t1661, 0 + %t1663 = call i1 @llvm.expect.i1(i1 %t1662, i1 false) + br i1 %t1663, label %exc.u651, label %exc.k652 +exc.u651: + call void @scr_dyn_release(ptr %t1648) + br label %exc.cleanup2 +exc.k652: + br label %dc.done650 +dc.done650: + %t1664 = load ptr, ptr %s1649 + %t1665 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1664, i64 0, i32 22 + %t1666 = load ptr, ptr %t1665, !tbaa !204 + %t1667 = getelementptr inbounds i8, ptr %t1666, i64 8 ; ->kind + %t1668 = load i32, ptr %t1667 + %t1669 = icmp eq i32 %t1668, 6 + call void @scr_dyn_release(ptr %t1648) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1664) + br i1 %t1669, label %if.t653, label %if.j654 +if.t653: + %t1670 = load ptr, ptr %sc_l_p_0 + %t1671 = call ptr @sc_rc_retain_dyn(ptr %t1670) + %t1673 = icmp ne ptr %t1671, null + br i1 %t1673, label %dc.inspect655, label %dc.checked658 +dc.inspect655: + %t1678 = getelementptr inbounds i8, ptr %t1671, i64 8 ; ->kind + %t1679 = load i32, ptr %t1678 + %t1674 = icmp eq i32 %t1679, 12 + br i1 %t1674, label %dc.capsule656, label %dc.checked658 +dc.capsule656: + %t1675 = getelementptr inbounds i8, ptr %t1671, i64 40 ; ->v.typed_ref.type_key + %t1676 = load ptr, ptr %t1675 + %t1677 = icmp eq ptr %t1676, @sc_cs_1875086966829314 + br i1 %t1677, label %dc.exact657, label %dc.checked658 +dc.exact657: + %t1680 = getelementptr inbounds i8, ptr %t1671, i64 16 ; ->v.typed_ref.ptr + %t1681 = load ptr, ptr %t1680 + %t1682 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1681) + store ptr %t1682, ptr %s1672 + br label %dc.done659 +dc.checked658: + %t1683 = call ptr @sc_dc_106(ptr %t1671, ptr null) + store ptr %t1683, ptr %s1672 + %t1684 = load i32, ptr %exc.cell + %t1685 = icmp ne i32 %t1684, 0 + %t1686 = call i1 @llvm.expect.i1(i1 %t1685, i1 false) + br i1 %t1686, label %exc.u660, label %exc.k661 +exc.u660: + call void @scr_dyn_release(ptr %t1671) + br label %exc.cleanup2 +exc.k661: + br label %dc.done659 +dc.done659: + %t1687 = load ptr, ptr %s1672 + %t1688 = call ptr @scr_dyn_new_obj() + %t1689 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1687, i64 0, i32 22 + %t1690 = load ptr, ptr %t1689 + store ptr %t1688, ptr %t1689, !tbaa !204 + call void @scr_dyn_release(ptr %t1690) + call void @scr_dyn_release(ptr %t1671) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1687) + br label %if.j654 +if.j654: + %t1691 = load ptr, ptr %sc_l_p_0 + %t1692 = call ptr @sc_rc_retain_dyn(ptr %t1691) + %t1694 = icmp ne ptr %t1692, null + br i1 %t1694, label %dc.inspect662, label %dc.checked665 +dc.inspect662: + %t1699 = getelementptr inbounds i8, ptr %t1692, i64 8 ; ->kind + %t1700 = load i32, ptr %t1699 + %t1695 = icmp eq i32 %t1700, 12 + br i1 %t1695, label %dc.capsule663, label %dc.checked665 +dc.capsule663: + %t1696 = getelementptr inbounds i8, ptr %t1692, i64 40 ; ->v.typed_ref.type_key + %t1697 = load ptr, ptr %t1696 + %t1698 = icmp eq ptr %t1697, @sc_cs_1875086966829314 + br i1 %t1698, label %dc.exact664, label %dc.checked665 +dc.exact664: + %t1701 = getelementptr inbounds i8, ptr %t1692, i64 16 ; ->v.typed_ref.ptr + %t1702 = load ptr, ptr %t1701 + %t1703 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1702) + store ptr %t1703, ptr %s1693 + br label %dc.done666 +dc.checked665: + %t1704 = call ptr @sc_dc_106(ptr %t1692, ptr null) + store ptr %t1704, ptr %s1693 + %t1705 = load i32, ptr %exc.cell + %t1706 = icmp ne i32 %t1705, 0 + %t1707 = call i1 @llvm.expect.i1(i1 %t1706, i1 false) + br i1 %t1707, label %exc.u667, label %exc.k668 +exc.u667: + call void @scr_dyn_release(ptr %t1692) + br label %exc.cleanup2 +exc.k668: + br label %dc.done666 +dc.done666: + %t1708 = load ptr, ptr %s1693 + %t1709 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1708, i64 0, i32 22 + %t1710 = load ptr, ptr %t1709, !tbaa !204 + %t1711 = call ptr @sc_rc_retain_dyn(ptr %t1710) + call void @scr_dyn_release(ptr %t1692) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1708) + %t1712 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1712) + ret ptr %t1711 +if.j645: + %t1713 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1714 + %t1715 = icmp ne ptr %t1713, null + br i1 %t1715, label %brand.inspect669, label %brand.done671 +brand.inspect669: + %t1716 = getelementptr inbounds i8, ptr %t1713, i64 8 ; ->kind + %t1717 = load i32, ptr %t1716 + %t1718 = icmp eq i32 %t1717, 12 + br i1 %t1718, label %brand.capsule670, label %brand.done671 +brand.capsule670: + %t1719 = getelementptr inbounds i8, ptr %t1713, i64 40 ; ->v.typed_ref.type_key + %t1720 = load ptr, ptr %t1719 + %t1721 = icmp eq ptr %t1720, @sc_cs_2434838942941195 + store i1 true, ptr %s1714 + br i1 %t1721, label %brand.done671, label %brand.compare672 +brand.compare672: + %t1722 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1713, ptr @sc_lit_2434838942941195) + store i1 %t1722, ptr %s1714 + br label %brand.done671 +brand.done671: + %t1723 = load i1, ptr %s1714 + br i1 %t1723, label %tern.t673, label %tern.f674 +tern.t673: + %t1725 = load ptr, ptr %sc_l_p_0 + %t1726 = call ptr @sc_rc_retain_dyn(ptr %t1725) + %t1728 = icmp ne ptr %t1726, null + br i1 %t1728, label %dc.inspect676, label %dc.checked679 +dc.inspect676: + %t1733 = getelementptr inbounds i8, ptr %t1726, i64 8 ; ->kind + %t1734 = load i32, ptr %t1733 + %t1729 = icmp eq i32 %t1734, 12 + br i1 %t1729, label %dc.capsule677, label %dc.checked679 +dc.capsule677: + %t1730 = getelementptr inbounds i8, ptr %t1726, i64 40 ; ->v.typed_ref.type_key + %t1731 = load ptr, ptr %t1730 + %t1732 = icmp eq ptr %t1731, @sc_cs_2434838942941195 + br i1 %t1732, label %dc.exact678, label %dc.checked679 +dc.exact678: + %t1735 = getelementptr inbounds i8, ptr %t1726, i64 16 ; ->v.typed_ref.ptr + %t1736 = load ptr, ptr %t1735 + %t1737 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1736) + store ptr %t1737, ptr %s1727 + br label %dc.done680 +dc.checked679: + %t1738 = call ptr @sc_dc_52(ptr %t1726, ptr null) + store ptr %t1738, ptr %s1727 + %t1739 = load i32, ptr %exc.cell + %t1740 = icmp ne i32 %t1739, 0 + %t1741 = call i1 @llvm.expect.i1(i1 %t1740, i1 false) + br i1 %t1741, label %exc.u681, label %exc.k682 +exc.u681: + call void @scr_dyn_release(ptr %t1726) + br label %exc.cleanup2 +exc.k682: + br label %dc.done680 +dc.done680: + %t1742 = load ptr, ptr %s1727 + %t1743 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1742, i64 0, i32 1 + %t1744 = load ptr, ptr %t1743 + %t1745 = getelementptr inbounds %ScrVt, ptr %t1744, i64 0, i32 0 + %t1746 = load i64, ptr %t1745 + %t1747 = icmp uge i64 %t1746, 18 + %t1748 = icmp ule i64 %t1746, 18 + %t1749 = and i1 %t1747, %t1748 ; instanceof %m3.LiteResponse + store i1 %t1749, ptr %s1724 + call void @scr_dyn_release(ptr %t1726) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1742) + br label %tern.j675 +tern.f674: + store i1 false, ptr %s1724 + br label %tern.j675 +tern.j675: + %t1750 = load i1, ptr %s1724 + br i1 %t1750, label %if.t683, label %if.j684 +if.t683: + %t1751 = load ptr, ptr %sc_l_p_0 + %t1752 = call ptr @sc_rc_retain_dyn(ptr %t1751) + %t1754 = icmp ne ptr %t1752, null + br i1 %t1754, label %dc.inspect685, label %dc.checked688 +dc.inspect685: + %t1759 = getelementptr inbounds i8, ptr %t1752, i64 8 ; ->kind + %t1760 = load i32, ptr %t1759 + %t1755 = icmp eq i32 %t1760, 12 + br i1 %t1755, label %dc.capsule686, label %dc.checked688 +dc.capsule686: + %t1756 = getelementptr inbounds i8, ptr %t1752, i64 40 ; ->v.typed_ref.type_key + %t1757 = load ptr, ptr %t1756 + %t1758 = icmp eq ptr %t1757, @sc_cs_2434838942941195 + br i1 %t1758, label %dc.exact687, label %dc.checked688 +dc.exact687: + %t1761 = getelementptr inbounds i8, ptr %t1752, i64 16 ; ->v.typed_ref.ptr + %t1762 = load ptr, ptr %t1761 + %t1763 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1762) + store ptr %t1763, ptr %s1753 + br label %dc.done689 +dc.checked688: + %t1764 = call ptr @sc_dc_52(ptr %t1752, ptr null) + store ptr %t1764, ptr %s1753 + %t1765 = load i32, ptr %exc.cell + %t1766 = icmp ne i32 %t1765, 0 + %t1767 = call i1 @llvm.expect.i1(i1 %t1766, i1 false) + br i1 %t1767, label %exc.u690, label %exc.k691 +exc.u690: + call void @scr_dyn_release(ptr %t1752) + br label %exc.cleanup2 +exc.k691: + br label %dc.done689 +dc.done689: + %t1768 = load ptr, ptr %s1753 + %t1769 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1768, i64 0, i32 2 + %t1770 = load ptr, ptr %t1769, !tbaa !204 + %t1771 = getelementptr inbounds i8, ptr %t1770, i64 8 ; ->kind + %t1772 = load i32, ptr %t1771 + %t1773 = icmp eq i32 %t1772, 6 + call void @scr_dyn_release(ptr %t1752) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1768) + br i1 %t1773, label %if.t692, label %if.j693 +if.t692: + %t1774 = load ptr, ptr %sc_l_p_0 + %t1775 = call ptr @sc_rc_retain_dyn(ptr %t1774) + %t1777 = icmp ne ptr %t1775, null + br i1 %t1777, label %dc.inspect694, label %dc.checked697 +dc.inspect694: + %t1782 = getelementptr inbounds i8, ptr %t1775, i64 8 ; ->kind + %t1783 = load i32, ptr %t1782 + %t1778 = icmp eq i32 %t1783, 12 + br i1 %t1778, label %dc.capsule695, label %dc.checked697 +dc.capsule695: + %t1779 = getelementptr inbounds i8, ptr %t1775, i64 40 ; ->v.typed_ref.type_key + %t1780 = load ptr, ptr %t1779 + %t1781 = icmp eq ptr %t1780, @sc_cs_2434838942941195 + br i1 %t1781, label %dc.exact696, label %dc.checked697 +dc.exact696: + %t1784 = getelementptr inbounds i8, ptr %t1775, i64 16 ; ->v.typed_ref.ptr + %t1785 = load ptr, ptr %t1784 + %t1786 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1785) + store ptr %t1786, ptr %s1776 + br label %dc.done698 +dc.checked697: + %t1787 = call ptr @sc_dc_52(ptr %t1775, ptr null) + store ptr %t1787, ptr %s1776 + %t1788 = load i32, ptr %exc.cell + %t1789 = icmp ne i32 %t1788, 0 + %t1790 = call i1 @llvm.expect.i1(i1 %t1789, i1 false) + br i1 %t1790, label %exc.u699, label %exc.k700 +exc.u699: + call void @scr_dyn_release(ptr %t1775) + br label %exc.cleanup2 +exc.k700: + br label %dc.done698 +dc.done698: + %t1791 = load ptr, ptr %s1776 + %t1792 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1793 = load i32, ptr %exc.cell + %t1794 = icmp ne i32 %t1793, 0 + %t1795 = call i1 @llvm.expect.i1(i1 %t1794, i1 false) + br i1 %t1795, label %exc.u701, label %exc.k702 +exc.u701: + call void @scr_dyn_release(ptr %t1775) + call void @sc_release__x25_m3_LiteResponse(ptr %t1791) + call void @scr_dyn_release(ptr %t1792) + br label %exc.cleanup2 +exc.k702: + %t1796 = call ptr @scr_dyn_obj_create(ptr %t1792) + %t1797 = load i32, ptr %exc.cell + %t1798 = icmp ne i32 %t1797, 0 + %t1799 = call i1 @llvm.expect.i1(i1 %t1798, i1 false) + br i1 %t1799, label %exc.u703, label %exc.k704 +exc.u703: + call void @scr_dyn_release(ptr %t1775) + call void @sc_release__x25_m3_LiteResponse(ptr %t1791) + call void @scr_dyn_release(ptr %t1792) + call void @scr_dyn_release(ptr %t1796) + br label %exc.cleanup2 +exc.k704: + %t1800 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1791, i64 0, i32 2 + %t1801 = load ptr, ptr %t1800 + store ptr %t1796, ptr %t1800, !tbaa !204 + call void @scr_dyn_release(ptr %t1801) + call void @scr_dyn_release(ptr %t1775) + call void @sc_release__x25_m3_LiteResponse(ptr %t1791) + call void @scr_dyn_release(ptr %t1792) + br label %if.j693 +if.j693: + %t1802 = load ptr, ptr %sc_l_p_0 + %t1803 = call ptr @sc_rc_retain_dyn(ptr %t1802) + %t1805 = icmp ne ptr %t1803, null + br i1 %t1805, label %dc.inspect705, label %dc.checked708 +dc.inspect705: + %t1810 = getelementptr inbounds i8, ptr %t1803, i64 8 ; ->kind + %t1811 = load i32, ptr %t1810 + %t1806 = icmp eq i32 %t1811, 12 + br i1 %t1806, label %dc.capsule706, label %dc.checked708 +dc.capsule706: + %t1807 = getelementptr inbounds i8, ptr %t1803, i64 40 ; ->v.typed_ref.type_key + %t1808 = load ptr, ptr %t1807 + %t1809 = icmp eq ptr %t1808, @sc_cs_2434838942941195 + br i1 %t1809, label %dc.exact707, label %dc.checked708 +dc.exact707: + %t1812 = getelementptr inbounds i8, ptr %t1803, i64 16 ; ->v.typed_ref.ptr + %t1813 = load ptr, ptr %t1812 + %t1814 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1813) + store ptr %t1814, ptr %s1804 + br label %dc.done709 +dc.checked708: + %t1815 = call ptr @sc_dc_52(ptr %t1803, ptr null) + store ptr %t1815, ptr %s1804 + %t1816 = load i32, ptr %exc.cell + %t1817 = icmp ne i32 %t1816, 0 + %t1818 = call i1 @llvm.expect.i1(i1 %t1817, i1 false) + br i1 %t1818, label %exc.u710, label %exc.k711 +exc.u710: + call void @scr_dyn_release(ptr %t1803) + br label %exc.cleanup2 +exc.k711: + br label %dc.done709 +dc.done709: + %t1819 = load ptr, ptr %s1804 + %t1820 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1819, i64 0, i32 2 + %t1821 = load ptr, ptr %t1820, !tbaa !204 + %t1822 = call ptr @sc_rc_retain_dyn(ptr %t1821) + call void @scr_dyn_release(ptr %t1803) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1819) + %t1823 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1823) + ret ptr %t1822 +if.j684: + %t1824 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1825 + %t1826 = icmp ne ptr %t1824, null + br i1 %t1826, label %brand.inspect712, label %brand.done714 +brand.inspect712: + %t1827 = getelementptr inbounds i8, ptr %t1824, i64 8 ; ->kind + %t1828 = load i32, ptr %t1827 + %t1829 = icmp eq i32 %t1828, 12 + br i1 %t1829, label %brand.capsule713, label %brand.done714 +brand.capsule713: + %t1830 = getelementptr inbounds i8, ptr %t1824, i64 40 ; ->v.typed_ref.type_key + %t1831 = load ptr, ptr %t1830 + %t1832 = icmp eq ptr %t1831, @sc_cs_2434838942941195 + store i1 true, ptr %s1825 + br i1 %t1832, label %brand.done714, label %brand.compare715 +brand.compare715: + %t1833 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1824, ptr @sc_lit_2434838942941195) + store i1 %t1833, ptr %s1825 + br label %brand.done714 +brand.done714: + %t1834 = load i1, ptr %s1825 + br i1 %t1834, label %if.t716, label %if.j717 +if.t716: + %t1835 = load ptr, ptr %sc_l_p_0 + %t1836 = call ptr @sc_rc_retain_dyn(ptr %t1835) + %t1838 = icmp ne ptr %t1836, null + br i1 %t1838, label %dc.inspect718, label %dc.checked721 +dc.inspect718: + %t1843 = getelementptr inbounds i8, ptr %t1836, i64 8 ; ->kind + %t1844 = load i32, ptr %t1843 + %t1839 = icmp eq i32 %t1844, 12 + br i1 %t1839, label %dc.capsule719, label %dc.checked721 +dc.capsule719: + %t1840 = getelementptr inbounds i8, ptr %t1836, i64 40 ; ->v.typed_ref.type_key + %t1841 = load ptr, ptr %t1840 + %t1842 = icmp eq ptr %t1841, @sc_cs_2434838942941195 + br i1 %t1842, label %dc.exact720, label %dc.checked721 +dc.exact720: + %t1845 = getelementptr inbounds i8, ptr %t1836, i64 16 ; ->v.typed_ref.ptr + %t1846 = load ptr, ptr %t1845 + %t1847 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1846) + store ptr %t1847, ptr %s1837 + br label %dc.done722 +dc.checked721: + %t1848 = call ptr @sc_dc_52(ptr %t1836, ptr null) + store ptr %t1848, ptr %s1837 + %t1849 = load i32, ptr %exc.cell + %t1850 = icmp ne i32 %t1849, 0 + %t1851 = call i1 @llvm.expect.i1(i1 %t1850, i1 false) + br i1 %t1851, label %exc.u723, label %exc.k724 +exc.u723: + call void @scr_dyn_release(ptr %t1836) + br label %exc.cleanup2 +exc.k724: + br label %dc.done722 +dc.done722: + %t1852 = load ptr, ptr %s1837 + %t1853 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1852, i64 0, i32 2 + %t1854 = load ptr, ptr %t1853, !tbaa !204 + %t1855 = getelementptr inbounds i8, ptr %t1854, i64 8 ; ->kind + %t1856 = load i32, ptr %t1855 + %t1857 = icmp eq i32 %t1856, 6 + call void @scr_dyn_release(ptr %t1836) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1852) + br i1 %t1857, label %if.t725, label %if.j726 +if.t725: + %t1858 = load ptr, ptr %sc_l_p_0 + %t1859 = call ptr @sc_rc_retain_dyn(ptr %t1858) + %t1861 = icmp ne ptr %t1859, null + br i1 %t1861, label %dc.inspect727, label %dc.checked730 +dc.inspect727: + %t1866 = getelementptr inbounds i8, ptr %t1859, i64 8 ; ->kind + %t1867 = load i32, ptr %t1866 + %t1862 = icmp eq i32 %t1867, 12 + br i1 %t1862, label %dc.capsule728, label %dc.checked730 +dc.capsule728: + %t1863 = getelementptr inbounds i8, ptr %t1859, i64 40 ; ->v.typed_ref.type_key + %t1864 = load ptr, ptr %t1863 + %t1865 = icmp eq ptr %t1864, @sc_cs_2434838942941195 + br i1 %t1865, label %dc.exact729, label %dc.checked730 +dc.exact729: + %t1868 = getelementptr inbounds i8, ptr %t1859, i64 16 ; ->v.typed_ref.ptr + %t1869 = load ptr, ptr %t1868 + %t1870 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1869) + store ptr %t1870, ptr %s1860 + br label %dc.done731 +dc.checked730: + %t1871 = call ptr @sc_dc_52(ptr %t1859, ptr null) + store ptr %t1871, ptr %s1860 + %t1872 = load i32, ptr %exc.cell + %t1873 = icmp ne i32 %t1872, 0 + %t1874 = call i1 @llvm.expect.i1(i1 %t1873, i1 false) + br i1 %t1874, label %exc.u732, label %exc.k733 +exc.u732: + call void @scr_dyn_release(ptr %t1859) + br label %exc.cleanup2 +exc.k733: + br label %dc.done731 +dc.done731: + %t1875 = load ptr, ptr %s1860 + %t1876 = load ptr, ptr %sc_l_p_0 + %t1877 = call ptr @sc_rc_retain_dyn(ptr %t1876) + %t1879 = icmp ne ptr %t1877, null + br i1 %t1879, label %dc.inspect734, label %dc.checked737 +dc.inspect734: + %t1884 = getelementptr inbounds i8, ptr %t1877, i64 8 ; ->kind + %t1885 = load i32, ptr %t1884 + %t1880 = icmp eq i32 %t1885, 12 + br i1 %t1880, label %dc.capsule735, label %dc.checked737 +dc.capsule735: + %t1881 = getelementptr inbounds i8, ptr %t1877, i64 40 ; ->v.typed_ref.type_key + %t1882 = load ptr, ptr %t1881 + %t1883 = icmp eq ptr %t1882, @sc_cs_2434838942941195 + br i1 %t1883, label %dc.exact736, label %dc.checked737 +dc.exact736: + %t1886 = getelementptr inbounds i8, ptr %t1877, i64 16 ; ->v.typed_ref.ptr + %t1887 = load ptr, ptr %t1886 + %t1888 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1887) + store ptr %t1888, ptr %s1878 + br label %dc.done738 +dc.checked737: + %t1889 = call ptr @sc_dc_52(ptr %t1877, ptr null) + store ptr %t1889, ptr %s1878 + %t1890 = load i32, ptr %exc.cell + %t1891 = icmp ne i32 %t1890, 0 + %t1892 = call i1 @llvm.expect.i1(i1 %t1891, i1 false) + br i1 %t1892, label %exc.u739, label %exc.k740 +exc.u739: + call void @scr_dyn_release(ptr %t1859) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875) + call void @scr_dyn_release(ptr %t1877) + br label %exc.cleanup2 +exc.k740: + br label %dc.done738 +dc.done738: + %t1893 = load ptr, ptr %s1878 + %t1894 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1893, i64 0, i32 1 + %t1895 = load ptr, ptr %t1894 + %t1896 = getelementptr inbounds %ScrVt, ptr %t1895, i64 0, i32 0 + %t1897 = load i64, ptr %t1896 + %t1898 = icmp uge i64 %t1897, 18 + %t1899 = icmp ule i64 %t1897, 18 + %t1900 = and i1 %t1898, %t1899 ; instanceof %m3.LiteResponse + br i1 %t1900, label %tern.t741, label %tern.f742 +tern.t741: + %t1902 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1903 = load i32, ptr %exc.cell + %t1904 = icmp ne i32 %t1903, 0 + %t1905 = call i1 @llvm.expect.i1(i1 %t1904, i1 false) + br i1 %t1905, label %exc.u744, label %exc.k745 +exc.u744: + call void @scr_dyn_release(ptr %t1902) + call void @scr_dyn_release(ptr %t1859) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875) + call void @scr_dyn_release(ptr %t1877) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1893) + br label %exc.cleanup2 +exc.k745: + store ptr %t1902, ptr %s1901 + br label %tern.j743 +tern.f742: + %t1906 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t1907 = load i32, ptr %exc.cell + %t1908 = icmp ne i32 %t1907, 0 + %t1909 = call i1 @llvm.expect.i1(i1 %t1908, i1 false) + br i1 %t1909, label %exc.u746, label %exc.k747 +exc.u746: + call void @scr_dyn_release(ptr %t1906) + call void @scr_dyn_release(ptr %t1859) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875) + call void @scr_dyn_release(ptr %t1877) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1893) + br label %exc.cleanup2 +exc.k747: + store ptr %t1906, ptr %s1901 + br label %tern.j743 +tern.j743: + %t1910 = load ptr, ptr %s1901 + %t1911 = call ptr @scr_dyn_obj_create(ptr %t1910) + %t1912 = load i32, ptr %exc.cell + %t1913 = icmp ne i32 %t1912, 0 + %t1914 = call i1 @llvm.expect.i1(i1 %t1913, i1 false) + br i1 %t1914, label %exc.u748, label %exc.k749 +exc.u748: + call void @scr_dyn_release(ptr %t1859) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875) + call void @scr_dyn_release(ptr %t1877) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1893) + call void @scr_dyn_release(ptr %t1910) + call void @scr_dyn_release(ptr %t1911) + br label %exc.cleanup2 +exc.k749: + %t1915 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1875, i64 0, i32 2 + %t1916 = load ptr, ptr %t1915 + store ptr %t1911, ptr %t1915, !tbaa !204 + call void @scr_dyn_release(ptr %t1916) + call void @scr_dyn_release(ptr %t1859) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875) + call void @scr_dyn_release(ptr %t1877) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1893) + call void @scr_dyn_release(ptr %t1910) + br label %if.j726 +if.j726: + %t1917 = load ptr, ptr %sc_l_p_0 + %t1918 = call ptr @sc_rc_retain_dyn(ptr %t1917) + %t1920 = icmp ne ptr %t1918, null + br i1 %t1920, label %dc.inspect750, label %dc.checked753 +dc.inspect750: + %t1925 = getelementptr inbounds i8, ptr %t1918, i64 8 ; ->kind + %t1926 = load i32, ptr %t1925 + %t1921 = icmp eq i32 %t1926, 12 + br i1 %t1921, label %dc.capsule751, label %dc.checked753 +dc.capsule751: + %t1922 = getelementptr inbounds i8, ptr %t1918, i64 40 ; ->v.typed_ref.type_key + %t1923 = load ptr, ptr %t1922 + %t1924 = icmp eq ptr %t1923, @sc_cs_2434838942941195 + br i1 %t1924, label %dc.exact752, label %dc.checked753 +dc.exact752: + %t1927 = getelementptr inbounds i8, ptr %t1918, i64 16 ; ->v.typed_ref.ptr + %t1928 = load ptr, ptr %t1927 + %t1929 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1928) + store ptr %t1929, ptr %s1919 + br label %dc.done754 +dc.checked753: + %t1930 = call ptr @sc_dc_52(ptr %t1918, ptr null) + store ptr %t1930, ptr %s1919 + %t1931 = load i32, ptr %exc.cell + %t1932 = icmp ne i32 %t1931, 0 + %t1933 = call i1 @llvm.expect.i1(i1 %t1932, i1 false) + br i1 %t1933, label %exc.u755, label %exc.k756 +exc.u755: + call void @scr_dyn_release(ptr %t1918) + br label %exc.cleanup2 +exc.k756: + br label %dc.done754 +dc.done754: + %t1934 = load ptr, ptr %s1919 + %t1935 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1934, i64 0, i32 2 + %t1936 = load ptr, ptr %t1935, !tbaa !204 + %t1937 = call ptr @sc_rc_retain_dyn(ptr %t1936) + call void @scr_dyn_release(ptr %t1918) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1934) + %t1938 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1938) + ret ptr %t1937 +if.j717: + %t1939 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1940 + %t1941 = icmp ne ptr %t1939, null + br i1 %t1941, label %brand.inspect757, label %brand.done759 +brand.inspect757: + %t1942 = getelementptr inbounds i8, ptr %t1939, i64 8 ; ->kind + %t1943 = load i32, ptr %t1942 + %t1944 = icmp eq i32 %t1943, 12 + br i1 %t1944, label %brand.capsule758, label %brand.done759 +brand.capsule758: + %t1945 = getelementptr inbounds i8, ptr %t1939, i64 40 ; ->v.typed_ref.type_key + %t1946 = load ptr, ptr %t1945 + %t1947 = icmp eq ptr %t1946, @sc_cs_67546268704151 + store i1 true, ptr %s1940 + br i1 %t1947, label %brand.done759, label %brand.compare760 +brand.compare760: + %t1948 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1939, ptr @sc_lit_67546268704151) + store i1 %t1948, ptr %s1940 + br label %brand.done759 +brand.done759: + %t1949 = load i1, ptr %s1940 + br i1 %t1949, label %if.t761, label %if.j762 +if.t761: + %t1950 = load ptr, ptr %sc_l_p_0 + %t1951 = call ptr @sc_rc_retain_dyn(ptr %t1950) + %t1953 = icmp ne ptr %t1951, null + br i1 %t1953, label %dc.inspect763, label %dc.checked766 +dc.inspect763: + %t1958 = getelementptr inbounds i8, ptr %t1951, i64 8 ; ->kind + %t1959 = load i32, ptr %t1958 + %t1954 = icmp eq i32 %t1959, 12 + br i1 %t1954, label %dc.capsule764, label %dc.checked766 +dc.capsule764: + %t1955 = getelementptr inbounds i8, ptr %t1951, i64 40 ; ->v.typed_ref.type_key + %t1956 = load ptr, ptr %t1955 + %t1957 = icmp eq ptr %t1956, @sc_cs_67546268704151 + br i1 %t1957, label %dc.exact765, label %dc.checked766 +dc.exact765: + %t1960 = getelementptr inbounds i8, ptr %t1951, i64 16 ; ->v.typed_ref.ptr + %t1961 = load ptr, ptr %t1960 + %t1962 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1961) + store ptr %t1962, ptr %s1952 + br label %dc.done767 +dc.checked766: + %t1963 = call ptr @sc_dc_107(ptr %t1951, ptr null) + store ptr %t1963, ptr %s1952 + %t1964 = load i32, ptr %exc.cell + %t1965 = icmp ne i32 %t1964, 0 + %t1966 = call i1 @llvm.expect.i1(i1 %t1965, i1 false) + br i1 %t1966, label %exc.u768, label %exc.k769 +exc.u768: + call void @scr_dyn_release(ptr %t1951) + br label %exc.cleanup2 +exc.k769: + br label %dc.done767 +dc.done767: + %t1967 = load ptr, ptr %s1952 + %t1968 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1967, i64 0, i32 2 + %t1969 = load ptr, ptr %t1968, !tbaa !204 + %t1970 = getelementptr inbounds i8, ptr %t1969, i64 8 ; ->kind + %t1971 = load i32, ptr %t1970 + %t1972 = icmp eq i32 %t1971, 6 + call void @scr_dyn_release(ptr %t1951) + call void @sc_release__x25_m3_LiteHeaders(ptr %t1967) + br i1 %t1972, label %if.t770, label %if.j771 +if.t770: + %t1973 = load ptr, ptr %sc_l_p_0 + %t1974 = call ptr @sc_rc_retain_dyn(ptr %t1973) + %t1976 = icmp ne ptr %t1974, null + br i1 %t1976, label %dc.inspect772, label %dc.checked775 +dc.inspect772: + %t1981 = getelementptr inbounds i8, ptr %t1974, i64 8 ; ->kind + %t1982 = load i32, ptr %t1981 + %t1977 = icmp eq i32 %t1982, 12 + br i1 %t1977, label %dc.capsule773, label %dc.checked775 +dc.capsule773: + %t1978 = getelementptr inbounds i8, ptr %t1974, i64 40 ; ->v.typed_ref.type_key + %t1979 = load ptr, ptr %t1978 + %t1980 = icmp eq ptr %t1979, @sc_cs_67546268704151 + br i1 %t1980, label %dc.exact774, label %dc.checked775 +dc.exact774: + %t1983 = getelementptr inbounds i8, ptr %t1974, i64 16 ; ->v.typed_ref.ptr + %t1984 = load ptr, ptr %t1983 + %t1985 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1984) + store ptr %t1985, ptr %s1975 + br label %dc.done776 +dc.checked775: + %t1986 = call ptr @sc_dc_107(ptr %t1974, ptr null) + store ptr %t1986, ptr %s1975 + %t1987 = load i32, ptr %exc.cell + %t1988 = icmp ne i32 %t1987, 0 + %t1989 = call i1 @llvm.expect.i1(i1 %t1988, i1 false) + br i1 %t1989, label %exc.u777, label %exc.k778 +exc.u777: + call void @scr_dyn_release(ptr %t1974) + br label %exc.cleanup2 +exc.k778: + br label %dc.done776 +dc.done776: + %t1990 = load ptr, ptr %s1975 + %t1991 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders() + %t1992 = load i32, ptr %exc.cell + %t1993 = icmp ne i32 %t1992, 0 + %t1994 = call i1 @llvm.expect.i1(i1 %t1993, i1 false) + br i1 %t1994, label %exc.u779, label %exc.k780 +exc.u779: + call void @scr_dyn_release(ptr %t1974) + call void @sc_release__x25_m3_LiteHeaders(ptr %t1990) + call void @scr_dyn_release(ptr %t1991) + br label %exc.cleanup2 +exc.k780: + %t1995 = call ptr @scr_dyn_obj_create(ptr %t1991) + %t1996 = load i32, ptr %exc.cell + %t1997 = icmp ne i32 %t1996, 0 + %t1998 = call i1 @llvm.expect.i1(i1 %t1997, i1 false) + br i1 %t1998, label %exc.u781, label %exc.k782 +exc.u781: + call void @scr_dyn_release(ptr %t1974) + call void @sc_release__x25_m3_LiteHeaders(ptr %t1990) + call void @scr_dyn_release(ptr %t1991) + call void @scr_dyn_release(ptr %t1995) + br label %exc.cleanup2 +exc.k782: + %t1999 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1990, i64 0, i32 2 + %t2000 = load ptr, ptr %t1999 + store ptr %t1995, ptr %t1999, !tbaa !204 + call void @scr_dyn_release(ptr %t2000) + call void @scr_dyn_release(ptr %t1974) + call void @sc_release__x25_m3_LiteHeaders(ptr %t1990) + call void @scr_dyn_release(ptr %t1991) + br label %if.j771 +if.j771: + %t2001 = load ptr, ptr %sc_l_p_0 + %t2002 = call ptr @sc_rc_retain_dyn(ptr %t2001) + %t2004 = icmp ne ptr %t2002, null + br i1 %t2004, label %dc.inspect783, label %dc.checked786 +dc.inspect783: + %t2009 = getelementptr inbounds i8, ptr %t2002, i64 8 ; ->kind + %t2010 = load i32, ptr %t2009 + %t2005 = icmp eq i32 %t2010, 12 + br i1 %t2005, label %dc.capsule784, label %dc.checked786 +dc.capsule784: + %t2006 = getelementptr inbounds i8, ptr %t2002, i64 40 ; ->v.typed_ref.type_key + %t2007 = load ptr, ptr %t2006 + %t2008 = icmp eq ptr %t2007, @sc_cs_67546268704151 + br i1 %t2008, label %dc.exact785, label %dc.checked786 +dc.exact785: + %t2011 = getelementptr inbounds i8, ptr %t2002, i64 16 ; ->v.typed_ref.ptr + %t2012 = load ptr, ptr %t2011 + %t2013 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t2012) + store ptr %t2013, ptr %s2003 + br label %dc.done787 +dc.checked786: + %t2014 = call ptr @sc_dc_107(ptr %t2002, ptr null) + store ptr %t2014, ptr %s2003 + %t2015 = load i32, ptr %exc.cell + %t2016 = icmp ne i32 %t2015, 0 + %t2017 = call i1 @llvm.expect.i1(i1 %t2016, i1 false) + br i1 %t2017, label %exc.u788, label %exc.k789 +exc.u788: + call void @scr_dyn_release(ptr %t2002) + br label %exc.cleanup2 +exc.k789: + br label %dc.done787 +dc.done787: + %t2018 = load ptr, ptr %s2003 + %t2019 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t2018, i64 0, i32 2 + %t2020 = load ptr, ptr %t2019, !tbaa !204 + %t2021 = call ptr @sc_rc_retain_dyn(ptr %t2020) + call void @scr_dyn_release(ptr %t2002) + call void @sc_release__x25_m3_LiteHeaders(ptr %t2018) + %t2022 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2022) + ret ptr %t2021 +if.j762: + %t2023 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2024 + %t2025 = icmp ne ptr %t2023, null + br i1 %t2025, label %brand.inspect790, label %brand.done792 +brand.inspect790: + %t2026 = getelementptr inbounds i8, ptr %t2023, i64 8 ; ->kind + %t2027 = load i32, ptr %t2026 + %t2028 = icmp eq i32 %t2027, 12 + br i1 %t2028, label %brand.capsule791, label %brand.done792 +brand.capsule791: + %t2029 = getelementptr inbounds i8, ptr %t2023, i64 40 ; ->v.typed_ref.type_key + %t2030 = load ptr, ptr %t2029 + %t2031 = icmp eq ptr %t2030, @sc_cs_2519527309428716 + store i1 true, ptr %s2024 + br i1 %t2031, label %brand.done792, label %brand.compare793 +brand.compare793: + %t2032 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2023, ptr @sc_lit_2519527309428716) + store i1 %t2032, ptr %s2024 + br label %brand.done792 +brand.done792: + %t2033 = load i1, ptr %s2024 + br i1 %t2033, label %tern.t794, label %tern.f795 +tern.t794: + %t2035 = load ptr, ptr %sc_l_p_0 + %t2036 = call ptr @sc_rc_retain_dyn(ptr %t2035) + %t2038 = icmp ne ptr %t2036, null + br i1 %t2038, label %dc.inspect797, label %dc.checked800 +dc.inspect797: + %t2043 = getelementptr inbounds i8, ptr %t2036, i64 8 ; ->kind + %t2044 = load i32, ptr %t2043 + %t2039 = icmp eq i32 %t2044, 12 + br i1 %t2039, label %dc.capsule798, label %dc.checked800 +dc.capsule798: + %t2040 = getelementptr inbounds i8, ptr %t2036, i64 40 ; ->v.typed_ref.type_key + %t2041 = load ptr, ptr %t2040 + %t2042 = icmp eq ptr %t2041, @sc_cs_2519527309428716 + br i1 %t2042, label %dc.exact799, label %dc.checked800 +dc.exact799: + %t2045 = getelementptr inbounds i8, ptr %t2036, i64 16 ; ->v.typed_ref.ptr + %t2046 = load ptr, ptr %t2045 + %t2047 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2046) + store ptr %t2047, ptr %s2037 + br label %dc.done801 +dc.checked800: + %t2048 = call ptr @sc_dc_108(ptr %t2036, ptr null) + store ptr %t2048, ptr %s2037 + %t2049 = load i32, ptr %exc.cell + %t2050 = icmp ne i32 %t2049, 0 + %t2051 = call i1 @llvm.expect.i1(i1 %t2050, i1 false) + br i1 %t2051, label %exc.u802, label %exc.k803 +exc.u802: + call void @scr_dyn_release(ptr %t2036) + br label %exc.cleanup2 +exc.k803: + br label %dc.done801 +dc.done801: + %t2052 = load ptr, ptr %s2037 + %t2053 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2052, i64 0, i32 1 + %t2054 = load ptr, ptr %t2053 + %t2055 = getelementptr inbounds %ScrVt, ptr %t2054, i64 0, i32 0 + %t2056 = load i64, ptr %t2055 + %t2057 = icmp uge i64 %t2056, 38 + %t2058 = icmp ule i64 %t2056, 38 + %t2059 = and i1 %t2057, %t2058 ; instanceof %m14.BakedAssets + store i1 %t2059, ptr %s2034 + call void @scr_dyn_release(ptr %t2036) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2052) + br label %tern.j796 +tern.f795: + store i1 false, ptr %s2034 + br label %tern.j796 +tern.j796: + %t2060 = load i1, ptr %s2034 + br i1 %t2060, label %if.t804, label %if.j805 +if.t804: + %t2061 = load ptr, ptr %sc_l_p_0 + %t2062 = call ptr @sc_rc_retain_dyn(ptr %t2061) + %t2064 = icmp ne ptr %t2062, null + br i1 %t2064, label %dc.inspect806, label %dc.checked809 +dc.inspect806: + %t2069 = getelementptr inbounds i8, ptr %t2062, i64 8 ; ->kind + %t2070 = load i32, ptr %t2069 + %t2065 = icmp eq i32 %t2070, 12 + br i1 %t2065, label %dc.capsule807, label %dc.checked809 +dc.capsule807: + %t2066 = getelementptr inbounds i8, ptr %t2062, i64 40 ; ->v.typed_ref.type_key + %t2067 = load ptr, ptr %t2066 + %t2068 = icmp eq ptr %t2067, @sc_cs_2519527309428716 + br i1 %t2068, label %dc.exact808, label %dc.checked809 +dc.exact808: + %t2071 = getelementptr inbounds i8, ptr %t2062, i64 16 ; ->v.typed_ref.ptr + %t2072 = load ptr, ptr %t2071 + %t2073 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2072) + store ptr %t2073, ptr %s2063 + br label %dc.done810 +dc.checked809: + %t2074 = call ptr @sc_dc_108(ptr %t2062, ptr null) + store ptr %t2074, ptr %s2063 + %t2075 = load i32, ptr %exc.cell + %t2076 = icmp ne i32 %t2075, 0 + %t2077 = call i1 @llvm.expect.i1(i1 %t2076, i1 false) + br i1 %t2077, label %exc.u811, label %exc.k812 +exc.u811: + call void @scr_dyn_release(ptr %t2062) + br label %exc.cleanup2 +exc.k812: + br label %dc.done810 +dc.done810: + %t2078 = load ptr, ptr %s2063 + %t2079 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2078, i64 0, i32 2 + %t2080 = load ptr, ptr %t2079, !tbaa !204 + %t2081 = getelementptr inbounds i8, ptr %t2080, i64 8 ; ->kind + %t2082 = load i32, ptr %t2081 + %t2083 = icmp eq i32 %t2082, 6 + call void @scr_dyn_release(ptr %t2062) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2078) + br i1 %t2083, label %if.t813, label %if.j814 +if.t813: + %t2084 = load ptr, ptr %sc_l_p_0 + %t2085 = call ptr @sc_rc_retain_dyn(ptr %t2084) + %t2087 = icmp ne ptr %t2085, null + br i1 %t2087, label %dc.inspect815, label %dc.checked818 +dc.inspect815: + %t2092 = getelementptr inbounds i8, ptr %t2085, i64 8 ; ->kind + %t2093 = load i32, ptr %t2092 + %t2088 = icmp eq i32 %t2093, 12 + br i1 %t2088, label %dc.capsule816, label %dc.checked818 +dc.capsule816: + %t2089 = getelementptr inbounds i8, ptr %t2085, i64 40 ; ->v.typed_ref.type_key + %t2090 = load ptr, ptr %t2089 + %t2091 = icmp eq ptr %t2090, @sc_cs_2519527309428716 + br i1 %t2091, label %dc.exact817, label %dc.checked818 +dc.exact817: + %t2094 = getelementptr inbounds i8, ptr %t2085, i64 16 ; ->v.typed_ref.ptr + %t2095 = load ptr, ptr %t2094 + %t2096 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2095) + store ptr %t2096, ptr %s2086 + br label %dc.done819 +dc.checked818: + %t2097 = call ptr @sc_dc_108(ptr %t2085, ptr null) + store ptr %t2097, ptr %s2086 + %t2098 = load i32, ptr %exc.cell + %t2099 = icmp ne i32 %t2098, 0 + %t2100 = call i1 @llvm.expect.i1(i1 %t2099, i1 false) + br i1 %t2100, label %exc.u820, label %exc.k821 +exc.u820: + call void @scr_dyn_release(ptr %t2085) + br label %exc.cleanup2 +exc.k821: + br label %dc.done819 +dc.done819: + %t2101 = load ptr, ptr %s2086 + %t2102 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t2103 = load i32, ptr %exc.cell + %t2104 = icmp ne i32 %t2103, 0 + %t2105 = call i1 @llvm.expect.i1(i1 %t2104, i1 false) + br i1 %t2105, label %exc.u822, label %exc.k823 +exc.u822: + call void @scr_dyn_release(ptr %t2085) + call void @sc_release__x25_m14_BakedAssets(ptr %t2101) + call void @scr_dyn_release(ptr %t2102) + br label %exc.cleanup2 +exc.k823: + %t2106 = call ptr @scr_dyn_obj_create(ptr %t2102) + %t2107 = load i32, ptr %exc.cell + %t2108 = icmp ne i32 %t2107, 0 + %t2109 = call i1 @llvm.expect.i1(i1 %t2108, i1 false) + br i1 %t2109, label %exc.u824, label %exc.k825 +exc.u824: + call void @scr_dyn_release(ptr %t2085) + call void @sc_release__x25_m14_BakedAssets(ptr %t2101) + call void @scr_dyn_release(ptr %t2102) + call void @scr_dyn_release(ptr %t2106) + br label %exc.cleanup2 +exc.k825: + %t2110 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2101, i64 0, i32 2 + %t2111 = load ptr, ptr %t2110 + store ptr %t2106, ptr %t2110, !tbaa !204 + call void @scr_dyn_release(ptr %t2111) + call void @scr_dyn_release(ptr %t2085) + call void @sc_release__x25_m14_BakedAssets(ptr %t2101) + call void @scr_dyn_release(ptr %t2102) + br label %if.j814 +if.j814: + %t2112 = load ptr, ptr %sc_l_p_0 + %t2113 = call ptr @sc_rc_retain_dyn(ptr %t2112) + %t2115 = icmp ne ptr %t2113, null + br i1 %t2115, label %dc.inspect826, label %dc.checked829 +dc.inspect826: + %t2120 = getelementptr inbounds i8, ptr %t2113, i64 8 ; ->kind + %t2121 = load i32, ptr %t2120 + %t2116 = icmp eq i32 %t2121, 12 + br i1 %t2116, label %dc.capsule827, label %dc.checked829 +dc.capsule827: + %t2117 = getelementptr inbounds i8, ptr %t2113, i64 40 ; ->v.typed_ref.type_key + %t2118 = load ptr, ptr %t2117 + %t2119 = icmp eq ptr %t2118, @sc_cs_2519527309428716 + br i1 %t2119, label %dc.exact828, label %dc.checked829 +dc.exact828: + %t2122 = getelementptr inbounds i8, ptr %t2113, i64 16 ; ->v.typed_ref.ptr + %t2123 = load ptr, ptr %t2122 + %t2124 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2123) + store ptr %t2124, ptr %s2114 + br label %dc.done830 +dc.checked829: + %t2125 = call ptr @sc_dc_108(ptr %t2113, ptr null) + store ptr %t2125, ptr %s2114 + %t2126 = load i32, ptr %exc.cell + %t2127 = icmp ne i32 %t2126, 0 + %t2128 = call i1 @llvm.expect.i1(i1 %t2127, i1 false) + br i1 %t2128, label %exc.u831, label %exc.k832 +exc.u831: + call void @scr_dyn_release(ptr %t2113) + br label %exc.cleanup2 +exc.k832: + br label %dc.done830 +dc.done830: + %t2129 = load ptr, ptr %s2114 + %t2130 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2129, i64 0, i32 2 + %t2131 = load ptr, ptr %t2130, !tbaa !204 + %t2132 = call ptr @sc_rc_retain_dyn(ptr %t2131) + call void @scr_dyn_release(ptr %t2113) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2129) + %t2133 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2133) + ret ptr %t2132 +if.j805: + %t2134 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2135 + %t2136 = icmp ne ptr %t2134, null + br i1 %t2136, label %brand.inspect833, label %brand.done835 +brand.inspect833: + %t2137 = getelementptr inbounds i8, ptr %t2134, i64 8 ; ->kind + %t2138 = load i32, ptr %t2137 + %t2139 = icmp eq i32 %t2138, 12 + br i1 %t2139, label %brand.capsule834, label %brand.done835 +brand.capsule834: + %t2140 = getelementptr inbounds i8, ptr %t2134, i64 40 ; ->v.typed_ref.type_key + %t2141 = load ptr, ptr %t2140 + %t2142 = icmp eq ptr %t2141, @sc_cs_2519527309428716 + store i1 true, ptr %s2135 + br i1 %t2142, label %brand.done835, label %brand.compare836 +brand.compare836: + %t2143 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2134, ptr @sc_lit_2519527309428716) + store i1 %t2143, ptr %s2135 + br label %brand.done835 +brand.done835: + %t2144 = load i1, ptr %s2135 + br i1 %t2144, label %if.t837, label %if.j838 +if.t837: + %t2145 = load ptr, ptr %sc_l_p_0 + %t2146 = call ptr @sc_rc_retain_dyn(ptr %t2145) + %t2148 = icmp ne ptr %t2146, null + br i1 %t2148, label %dc.inspect839, label %dc.checked842 +dc.inspect839: + %t2153 = getelementptr inbounds i8, ptr %t2146, i64 8 ; ->kind + %t2154 = load i32, ptr %t2153 + %t2149 = icmp eq i32 %t2154, 12 + br i1 %t2149, label %dc.capsule840, label %dc.checked842 +dc.capsule840: + %t2150 = getelementptr inbounds i8, ptr %t2146, i64 40 ; ->v.typed_ref.type_key + %t2151 = load ptr, ptr %t2150 + %t2152 = icmp eq ptr %t2151, @sc_cs_2519527309428716 + br i1 %t2152, label %dc.exact841, label %dc.checked842 +dc.exact841: + %t2155 = getelementptr inbounds i8, ptr %t2146, i64 16 ; ->v.typed_ref.ptr + %t2156 = load ptr, ptr %t2155 + %t2157 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2156) + store ptr %t2157, ptr %s2147 + br label %dc.done843 +dc.checked842: + %t2158 = call ptr @sc_dc_108(ptr %t2146, ptr null) + store ptr %t2158, ptr %s2147 + %t2159 = load i32, ptr %exc.cell + %t2160 = icmp ne i32 %t2159, 0 + %t2161 = call i1 @llvm.expect.i1(i1 %t2160, i1 false) + br i1 %t2161, label %exc.u844, label %exc.k845 +exc.u844: + call void @scr_dyn_release(ptr %t2146) + br label %exc.cleanup2 +exc.k845: + br label %dc.done843 +dc.done843: + %t2162 = load ptr, ptr %s2147 + %t2163 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2162, i64 0, i32 2 + %t2164 = load ptr, ptr %t2163, !tbaa !204 + %t2165 = getelementptr inbounds i8, ptr %t2164, i64 8 ; ->kind + %t2166 = load i32, ptr %t2165 + %t2167 = icmp eq i32 %t2166, 6 + call void @scr_dyn_release(ptr %t2146) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2162) + br i1 %t2167, label %if.t846, label %if.j847 +if.t846: + %t2168 = load ptr, ptr %sc_l_p_0 + %t2169 = call ptr @sc_rc_retain_dyn(ptr %t2168) + %t2171 = icmp ne ptr %t2169, null + br i1 %t2171, label %dc.inspect848, label %dc.checked851 +dc.inspect848: + %t2176 = getelementptr inbounds i8, ptr %t2169, i64 8 ; ->kind + %t2177 = load i32, ptr %t2176 + %t2172 = icmp eq i32 %t2177, 12 + br i1 %t2172, label %dc.capsule849, label %dc.checked851 +dc.capsule849: + %t2173 = getelementptr inbounds i8, ptr %t2169, i64 40 ; ->v.typed_ref.type_key + %t2174 = load ptr, ptr %t2173 + %t2175 = icmp eq ptr %t2174, @sc_cs_2519527309428716 + br i1 %t2175, label %dc.exact850, label %dc.checked851 +dc.exact850: + %t2178 = getelementptr inbounds i8, ptr %t2169, i64 16 ; ->v.typed_ref.ptr + %t2179 = load ptr, ptr %t2178 + %t2180 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2179) + store ptr %t2180, ptr %s2170 + br label %dc.done852 +dc.checked851: + %t2181 = call ptr @sc_dc_108(ptr %t2169, ptr null) + store ptr %t2181, ptr %s2170 + %t2182 = load i32, ptr %exc.cell + %t2183 = icmp ne i32 %t2182, 0 + %t2184 = call i1 @llvm.expect.i1(i1 %t2183, i1 false) + br i1 %t2184, label %exc.u853, label %exc.k854 +exc.u853: + call void @scr_dyn_release(ptr %t2169) + br label %exc.cleanup2 +exc.k854: + br label %dc.done852 +dc.done852: + %t2185 = load ptr, ptr %s2170 + %t2186 = load ptr, ptr %sc_l_p_0 + %t2187 = call ptr @sc_rc_retain_dyn(ptr %t2186) + %t2189 = icmp ne ptr %t2187, null + br i1 %t2189, label %dc.inspect855, label %dc.checked858 +dc.inspect855: + %t2194 = getelementptr inbounds i8, ptr %t2187, i64 8 ; ->kind + %t2195 = load i32, ptr %t2194 + %t2190 = icmp eq i32 %t2195, 12 + br i1 %t2190, label %dc.capsule856, label %dc.checked858 +dc.capsule856: + %t2191 = getelementptr inbounds i8, ptr %t2187, i64 40 ; ->v.typed_ref.type_key + %t2192 = load ptr, ptr %t2191 + %t2193 = icmp eq ptr %t2192, @sc_cs_2519527309428716 + br i1 %t2193, label %dc.exact857, label %dc.checked858 +dc.exact857: + %t2196 = getelementptr inbounds i8, ptr %t2187, i64 16 ; ->v.typed_ref.ptr + %t2197 = load ptr, ptr %t2196 + %t2198 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2197) + store ptr %t2198, ptr %s2188 + br label %dc.done859 +dc.checked858: + %t2199 = call ptr @sc_dc_108(ptr %t2187, ptr null) + store ptr %t2199, ptr %s2188 + %t2200 = load i32, ptr %exc.cell + %t2201 = icmp ne i32 %t2200, 0 + %t2202 = call i1 @llvm.expect.i1(i1 %t2201, i1 false) + br i1 %t2202, label %exc.u860, label %exc.k861 +exc.u860: + call void @scr_dyn_release(ptr %t2169) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185) + call void @scr_dyn_release(ptr %t2187) + br label %exc.cleanup2 +exc.k861: + br label %dc.done859 +dc.done859: + %t2203 = load ptr, ptr %s2188 + %t2204 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2203, i64 0, i32 1 + %t2205 = load ptr, ptr %t2204 + %t2206 = getelementptr inbounds %ScrVt, ptr %t2205, i64 0, i32 0 + %t2207 = load i64, ptr %t2206 + %t2208 = icmp uge i64 %t2207, 38 + %t2209 = icmp ule i64 %t2207, 38 + %t2210 = and i1 %t2208, %t2209 ; instanceof %m14.BakedAssets + br i1 %t2210, label %tern.t862, label %tern.f863 +tern.t862: + %t2212 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t2213 = load i32, ptr %exc.cell + %t2214 = icmp ne i32 %t2213, 0 + %t2215 = call i1 @llvm.expect.i1(i1 %t2214, i1 false) + br i1 %t2215, label %exc.u865, label %exc.k866 +exc.u865: + call void @scr_dyn_release(ptr %t2212) + call void @scr_dyn_release(ptr %t2169) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185) + call void @scr_dyn_release(ptr %t2187) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2203) + br label %exc.cleanup2 +exc.k866: + store ptr %t2212, ptr %s2211 + br label %tern.j864 +tern.f863: + %t2216 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t2217 = load i32, ptr %exc.cell + %t2218 = icmp ne i32 %t2217, 0 + %t2219 = call i1 @llvm.expect.i1(i1 %t2218, i1 false) + br i1 %t2219, label %exc.u867, label %exc.k868 +exc.u867: + call void @scr_dyn_release(ptr %t2216) + call void @scr_dyn_release(ptr %t2169) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185) + call void @scr_dyn_release(ptr %t2187) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2203) + br label %exc.cleanup2 +exc.k868: + store ptr %t2216, ptr %s2211 + br label %tern.j864 +tern.j864: + %t2220 = load ptr, ptr %s2211 + %t2221 = call ptr @scr_dyn_obj_create(ptr %t2220) + %t2222 = load i32, ptr %exc.cell + %t2223 = icmp ne i32 %t2222, 0 + %t2224 = call i1 @llvm.expect.i1(i1 %t2223, i1 false) + br i1 %t2224, label %exc.u869, label %exc.k870 +exc.u869: + call void @scr_dyn_release(ptr %t2169) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185) + call void @scr_dyn_release(ptr %t2187) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2203) + call void @scr_dyn_release(ptr %t2220) + call void @scr_dyn_release(ptr %t2221) + br label %exc.cleanup2 +exc.k870: + %t2225 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2185, i64 0, i32 2 + %t2226 = load ptr, ptr %t2225 + store ptr %t2221, ptr %t2225, !tbaa !204 + call void @scr_dyn_release(ptr %t2226) + call void @scr_dyn_release(ptr %t2169) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185) + call void @scr_dyn_release(ptr %t2187) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2203) + call void @scr_dyn_release(ptr %t2220) + br label %if.j847 +if.j847: + %t2227 = load ptr, ptr %sc_l_p_0 + %t2228 = call ptr @sc_rc_retain_dyn(ptr %t2227) + %t2230 = icmp ne ptr %t2228, null + br i1 %t2230, label %dc.inspect871, label %dc.checked874 +dc.inspect871: + %t2235 = getelementptr inbounds i8, ptr %t2228, i64 8 ; ->kind + %t2236 = load i32, ptr %t2235 + %t2231 = icmp eq i32 %t2236, 12 + br i1 %t2231, label %dc.capsule872, label %dc.checked874 +dc.capsule872: + %t2232 = getelementptr inbounds i8, ptr %t2228, i64 40 ; ->v.typed_ref.type_key + %t2233 = load ptr, ptr %t2232 + %t2234 = icmp eq ptr %t2233, @sc_cs_2519527309428716 + br i1 %t2234, label %dc.exact873, label %dc.checked874 +dc.exact873: + %t2237 = getelementptr inbounds i8, ptr %t2228, i64 16 ; ->v.typed_ref.ptr + %t2238 = load ptr, ptr %t2237 + %t2239 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2238) + store ptr %t2239, ptr %s2229 + br label %dc.done875 +dc.checked874: + %t2240 = call ptr @sc_dc_108(ptr %t2228, ptr null) + store ptr %t2240, ptr %s2229 + %t2241 = load i32, ptr %exc.cell + %t2242 = icmp ne i32 %t2241, 0 + %t2243 = call i1 @llvm.expect.i1(i1 %t2242, i1 false) + br i1 %t2243, label %exc.u876, label %exc.k877 +exc.u876: + call void @scr_dyn_release(ptr %t2228) + br label %exc.cleanup2 +exc.k877: + br label %dc.done875 +dc.done875: + %t2244 = load ptr, ptr %s2229 + %t2245 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2244, i64 0, i32 2 + %t2246 = load ptr, ptr %t2245, !tbaa !204 + %t2247 = call ptr @sc_rc_retain_dyn(ptr %t2246) + call void @scr_dyn_release(ptr %t2228) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2244) + %t2248 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2248) + ret ptr %t2247 +if.j838: + %t2249 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2250 + %t2251 = icmp ne ptr %t2249, null + br i1 %t2251, label %brand.inspect878, label %brand.done880 +brand.inspect878: + %t2252 = getelementptr inbounds i8, ptr %t2249, i64 8 ; ->kind + %t2253 = load i32, ptr %t2252 + %t2254 = icmp eq i32 %t2253, 12 + br i1 %t2254, label %brand.capsule879, label %brand.done880 +brand.capsule879: + %t2255 = getelementptr inbounds i8, ptr %t2249, i64 40 ; ->v.typed_ref.type_key + %t2256 = load ptr, ptr %t2255 + %t2257 = icmp eq ptr %t2256, @sc_cs_629517122853751 + store i1 true, ptr %s2250 + br i1 %t2257, label %brand.done880, label %brand.compare881 +brand.compare881: + %t2258 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2249, ptr @sc_lit_629517122853751) + store i1 %t2258, ptr %s2250 + br label %brand.done880 +brand.done880: + %t2259 = load i1, ptr %s2250 + br i1 %t2259, label %tern.t882, label %tern.f883 +tern.t882: + %t2261 = load ptr, ptr %sc_l_p_0 + %t2262 = call ptr @sc_rc_retain_dyn(ptr %t2261) + %t2264 = icmp ne ptr %t2262, null + br i1 %t2264, label %dc.inspect885, label %dc.checked888 +dc.inspect885: + %t2269 = getelementptr inbounds i8, ptr %t2262, i64 8 ; ->kind + %t2270 = load i32, ptr %t2269 + %t2265 = icmp eq i32 %t2270, 12 + br i1 %t2265, label %dc.capsule886, label %dc.checked888 +dc.capsule886: + %t2266 = getelementptr inbounds i8, ptr %t2262, i64 40 ; ->v.typed_ref.type_key + %t2267 = load ptr, ptr %t2266 + %t2268 = icmp eq ptr %t2267, @sc_cs_629517122853751 + br i1 %t2268, label %dc.exact887, label %dc.checked888 +dc.exact887: + %t2271 = getelementptr inbounds i8, ptr %t2262, i64 16 ; ->v.typed_ref.ptr + %t2272 = load ptr, ptr %t2271 + %t2273 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2272) + store ptr %t2273, ptr %s2263 + br label %dc.done889 +dc.checked888: + %t2274 = call ptr @sc_dc_29(ptr %t2262, ptr null) + store ptr %t2274, ptr %s2263 + %t2275 = load i32, ptr %exc.cell + %t2276 = icmp ne i32 %t2275, 0 + %t2277 = call i1 @llvm.expect.i1(i1 %t2276, i1 false) + br i1 %t2277, label %exc.u890, label %exc.k891 +exc.u890: + call void @scr_dyn_release(ptr %t2262) + br label %exc.cleanup2 +exc.k891: + br label %dc.done889 +dc.done889: + %t2278 = load ptr, ptr %s2263 + %t2279 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2278, i64 0, i32 1 + %t2280 = load ptr, ptr %t2279 + %t2281 = getelementptr inbounds %ScrVt, ptr %t2280, i64 0, i32 0 + %t2282 = load i64, ptr %t2281 + %t2283 = icmp uge i64 %t2282, 18 + %t2284 = icmp ule i64 %t2282, 18 + %t2285 = and i1 %t2283, %t2284 ; instanceof %m3.LiteResponse + store i1 %t2285, ptr %s2260 + call void @scr_dyn_release(ptr %t2262) + call void @sc_release__x25_m2_ResponseSink(ptr %t2278) + br label %tern.j884 +tern.f883: + store i1 false, ptr %s2260 + br label %tern.j884 +tern.j884: + %t2286 = load i1, ptr %s2260 + br i1 %t2286, label %if.t892, label %if.j893 +if.t892: + %t2287 = load ptr, ptr %sc_l_p_0 + %t2288 = call ptr @sc_rc_retain_dyn(ptr %t2287) + %t2290 = icmp ne ptr %t2288, null + br i1 %t2290, label %dc.inspect894, label %dc.checked897 +dc.inspect894: + %t2295 = getelementptr inbounds i8, ptr %t2288, i64 8 ; ->kind + %t2296 = load i32, ptr %t2295 + %t2291 = icmp eq i32 %t2296, 12 + br i1 %t2291, label %dc.capsule895, label %dc.checked897 +dc.capsule895: + %t2292 = getelementptr inbounds i8, ptr %t2288, i64 40 ; ->v.typed_ref.type_key + %t2293 = load ptr, ptr %t2292 + %t2294 = icmp eq ptr %t2293, @sc_cs_629517122853751 + br i1 %t2294, label %dc.exact896, label %dc.checked897 +dc.exact896: + %t2297 = getelementptr inbounds i8, ptr %t2288, i64 16 ; ->v.typed_ref.ptr + %t2298 = load ptr, ptr %t2297 + %t2299 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2298) + store ptr %t2299, ptr %s2289 + br label %dc.done898 +dc.checked897: + %t2300 = call ptr @sc_dc_29(ptr %t2288, ptr null) + store ptr %t2300, ptr %s2289 + %t2301 = load i32, ptr %exc.cell + %t2302 = icmp ne i32 %t2301, 0 + %t2303 = call i1 @llvm.expect.i1(i1 %t2302, i1 false) + br i1 %t2303, label %exc.u899, label %exc.k900 +exc.u899: + call void @scr_dyn_release(ptr %t2288) + br label %exc.cleanup2 +exc.k900: + br label %dc.done898 +dc.done898: + %t2304 = load ptr, ptr %s2289 + %t2305 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t2304, i64 0, i32 2 + %t2306 = load ptr, ptr %t2305, !tbaa !204 + %t2307 = getelementptr inbounds i8, ptr %t2306, i64 8 ; ->kind + %t2308 = load i32, ptr %t2307 + %t2309 = icmp eq i32 %t2308, 6 + call void @scr_dyn_release(ptr %t2288) + call void @sc_release__x25_m2_ResponseSink(ptr %t2304) + br i1 %t2309, label %if.t901, label %if.j902 +if.t901: + %t2310 = load ptr, ptr %sc_l_p_0 + %t2311 = call ptr @sc_rc_retain_dyn(ptr %t2310) + %t2313 = icmp ne ptr %t2311, null + br i1 %t2313, label %dc.inspect903, label %dc.checked906 +dc.inspect903: + %t2318 = getelementptr inbounds i8, ptr %t2311, i64 8 ; ->kind + %t2319 = load i32, ptr %t2318 + %t2314 = icmp eq i32 %t2319, 12 + br i1 %t2314, label %dc.capsule904, label %dc.checked906 +dc.capsule904: + %t2315 = getelementptr inbounds i8, ptr %t2311, i64 40 ; ->v.typed_ref.type_key + %t2316 = load ptr, ptr %t2315 + %t2317 = icmp eq ptr %t2316, @sc_cs_629517122853751 + br i1 %t2317, label %dc.exact905, label %dc.checked906 +dc.exact905: + %t2320 = getelementptr inbounds i8, ptr %t2311, i64 16 ; ->v.typed_ref.ptr + %t2321 = load ptr, ptr %t2320 + %t2322 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2321) + store ptr %t2322, ptr %s2312 + br label %dc.done907 +dc.checked906: + %t2323 = call ptr @sc_dc_29(ptr %t2311, ptr null) + store ptr %t2323, ptr %s2312 + %t2324 = load i32, ptr %exc.cell + %t2325 = icmp ne i32 %t2324, 0 + %t2326 = call i1 @llvm.expect.i1(i1 %t2325, i1 false) + br i1 %t2326, label %exc.u908, label %exc.k909 +exc.u908: + call void @scr_dyn_release(ptr %t2311) + br label %exc.cleanup2 +exc.k909: + br label %dc.done907 +dc.done907: + %t2327 = load ptr, ptr %s2312 + %t2328 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t2329 = load i32, ptr %exc.cell + %t2330 = icmp ne i32 %t2329, 0 + %t2331 = call i1 @llvm.expect.i1(i1 %t2330, i1 false) + br i1 %t2331, label %exc.u910, label %exc.k911 +exc.u910: + call void @scr_dyn_release(ptr %t2311) + call void @sc_release__x25_m3_LiteResponse(ptr %t2327) + call void @scr_dyn_release(ptr %t2328) + br label %exc.cleanup2 +exc.k911: + %t2332 = call ptr @scr_dyn_obj_create(ptr %t2328) + %t2333 = load i32, ptr %exc.cell + %t2334 = icmp ne i32 %t2333, 0 + %t2335 = call i1 @llvm.expect.i1(i1 %t2334, i1 false) + br i1 %t2335, label %exc.u912, label %exc.k913 +exc.u912: + call void @scr_dyn_release(ptr %t2311) + call void @sc_release__x25_m3_LiteResponse(ptr %t2327) + call void @scr_dyn_release(ptr %t2328) + call void @scr_dyn_release(ptr %t2332) + br label %exc.cleanup2 +exc.k913: + %t2336 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t2327, i64 0, i32 2 + %t2337 = load ptr, ptr %t2336 + store ptr %t2332, ptr %t2336, !tbaa !204 + call void @scr_dyn_release(ptr %t2337) + call void @scr_dyn_release(ptr %t2311) + call void @sc_release__x25_m3_LiteResponse(ptr %t2327) + call void @scr_dyn_release(ptr %t2328) + br label %if.j902 +if.j902: + %t2338 = load ptr, ptr %sc_l_p_0 + %t2339 = call ptr @sc_rc_retain_dyn(ptr %t2338) + %t2341 = icmp ne ptr %t2339, null + br i1 %t2341, label %dc.inspect914, label %dc.checked917 +dc.inspect914: + %t2346 = getelementptr inbounds i8, ptr %t2339, i64 8 ; ->kind + %t2347 = load i32, ptr %t2346 + %t2342 = icmp eq i32 %t2347, 12 + br i1 %t2342, label %dc.capsule915, label %dc.checked917 +dc.capsule915: + %t2343 = getelementptr inbounds i8, ptr %t2339, i64 40 ; ->v.typed_ref.type_key + %t2344 = load ptr, ptr %t2343 + %t2345 = icmp eq ptr %t2344, @sc_cs_629517122853751 + br i1 %t2345, label %dc.exact916, label %dc.checked917 +dc.exact916: + %t2348 = getelementptr inbounds i8, ptr %t2339, i64 16 ; ->v.typed_ref.ptr + %t2349 = load ptr, ptr %t2348 + %t2350 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2349) + store ptr %t2350, ptr %s2340 + br label %dc.done918 +dc.checked917: + %t2351 = call ptr @sc_dc_29(ptr %t2339, ptr null) + store ptr %t2351, ptr %s2340 + %t2352 = load i32, ptr %exc.cell + %t2353 = icmp ne i32 %t2352, 0 + %t2354 = call i1 @llvm.expect.i1(i1 %t2353, i1 false) + br i1 %t2354, label %exc.u919, label %exc.k920 +exc.u919: + call void @scr_dyn_release(ptr %t2339) + br label %exc.cleanup2 +exc.k920: + br label %dc.done918 +dc.done918: + %t2355 = load ptr, ptr %s2340 + %t2356 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t2355, i64 0, i32 2 + %t2357 = load ptr, ptr %t2356, !tbaa !204 + %t2358 = call ptr @sc_rc_retain_dyn(ptr %t2357) + call void @scr_dyn_release(ptr %t2339) + call void @sc_release__x25_m2_ResponseSink(ptr %t2355) + %t2359 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2359) + ret ptr %t2358 +if.j893: + %t2360 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2361 + %t2362 = icmp ne ptr %t2360, null + br i1 %t2362, label %brand.inspect921, label %brand.done923 +brand.inspect921: + %t2363 = getelementptr inbounds i8, ptr %t2360, i64 8 ; ->kind + %t2364 = load i32, ptr %t2363 + %t2365 = icmp eq i32 %t2364, 12 + br i1 %t2365, label %brand.capsule922, label %brand.done923 +brand.capsule922: + %t2366 = getelementptr inbounds i8, ptr %t2360, i64 40 ; ->v.typed_ref.type_key + %t2367 = load ptr, ptr %t2366 + %t2368 = icmp eq ptr %t2367, @sc_cs_629517122853751 + store i1 true, ptr %s2361 + br i1 %t2368, label %brand.done923, label %brand.compare924 +brand.compare924: + %t2369 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2360, ptr @sc_lit_629517122853751) + store i1 %t2369, ptr %s2361 + br label %brand.done923 +brand.done923: + %t2370 = load i1, ptr %s2361 + br i1 %t2370, label %tern.t925, label %tern.f926 +tern.t925: + %t2372 = load ptr, ptr %sc_l_p_0 + %t2373 = call ptr @sc_rc_retain_dyn(ptr %t2372) + %t2375 = icmp ne ptr %t2373, null + br i1 %t2375, label %dc.inspect928, label %dc.checked931 +dc.inspect928: + %t2380 = getelementptr inbounds i8, ptr %t2373, i64 8 ; ->kind + %t2381 = load i32, ptr %t2380 + %t2376 = icmp eq i32 %t2381, 12 + br i1 %t2376, label %dc.capsule929, label %dc.checked931 +dc.capsule929: + %t2377 = getelementptr inbounds i8, ptr %t2373, i64 40 ; ->v.typed_ref.type_key + %t2378 = load ptr, ptr %t2377 + %t2379 = icmp eq ptr %t2378, @sc_cs_629517122853751 + br i1 %t2379, label %dc.exact930, label %dc.checked931 +dc.exact930: + %t2382 = getelementptr inbounds i8, ptr %t2373, i64 16 ; ->v.typed_ref.ptr + %t2383 = load ptr, ptr %t2382 + %t2384 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2383) + store ptr %t2384, ptr %s2374 + br label %dc.done932 +dc.checked931: + %t2385 = call ptr @sc_dc_29(ptr %t2373, ptr null) + store ptr %t2385, ptr %s2374 + %t2386 = load i32, ptr %exc.cell + %t2387 = icmp ne i32 %t2386, 0 + %t2388 = call i1 @llvm.expect.i1(i1 %t2387, i1 false) + br i1 %t2388, label %exc.u933, label %exc.k934 +exc.u933: + call void @scr_dyn_release(ptr %t2373) + br label %exc.cleanup2 +exc.k934: + br label %dc.done932 +dc.done932: + %t2389 = load ptr, ptr %s2374 + %t2390 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2389, i64 0, i32 1 + %t2391 = load ptr, ptr %t2390 + %t2392 = getelementptr inbounds %ScrVt, ptr %t2391, i64 0, i32 0 + %t2393 = load i64, ptr %t2392 + %t2394 = icmp uge i64 %t2393, 17 + %t2395 = icmp ule i64 %t2393, 18 + %t2396 = and i1 %t2394, %t2395 ; instanceof %m2.FetchResponseSink + store i1 %t2396, ptr %s2371 + call void @scr_dyn_release(ptr %t2373) + call void @sc_release__x25_m2_ResponseSink(ptr %t2389) + br label %tern.j927 +tern.f926: + store i1 false, ptr %s2371 + br label %tern.j927 +tern.j927: + %t2397 = load i1, ptr %s2371 + br i1 %t2397, label %if.t935, label %if.j936 +if.t935: + %t2398 = load ptr, ptr %sc_l_p_0 + %t2399 = call ptr @sc_rc_retain_dyn(ptr %t2398) + %t2401 = icmp ne ptr %t2399, null + br i1 %t2401, label %dc.inspect937, label %dc.checked940 +dc.inspect937: + %t2406 = getelementptr inbounds i8, ptr %t2399, i64 8 ; ->kind + %t2407 = load i32, ptr %t2406 + %t2402 = icmp eq i32 %t2407, 12 + br i1 %t2402, label %dc.capsule938, label %dc.checked940 +dc.capsule938: + %t2403 = getelementptr inbounds i8, ptr %t2399, i64 40 ; ->v.typed_ref.type_key + %t2404 = load ptr, ptr %t2403 + %t2405 = icmp eq ptr %t2404, @sc_cs_629517122853751 + br i1 %t2405, label %dc.exact939, label %dc.checked940 +dc.exact939: + %t2408 = getelementptr inbounds i8, ptr %t2399, i64 16 ; ->v.typed_ref.ptr + %t2409 = load ptr, ptr %t2408 + %t2410 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2409) + store ptr %t2410, ptr %s2400 + br label %dc.done941 +dc.checked940: + %t2411 = call ptr @sc_dc_29(ptr %t2399, ptr null) + store ptr %t2411, ptr %s2400 + %t2412 = load i32, ptr %exc.cell + %t2413 = icmp ne i32 %t2412, 0 + %t2414 = call i1 @llvm.expect.i1(i1 %t2413, i1 false) + br i1 %t2414, label %exc.u942, label %exc.k943 +exc.u942: + call void @scr_dyn_release(ptr %t2399) + br label %exc.cleanup2 +exc.k943: + br label %dc.done941 +dc.done941: + %t2415 = load ptr, ptr %s2400 + %t2416 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2415, i64 0, i32 2 + %t2417 = load ptr, ptr %t2416, !tbaa !204 + %t2418 = getelementptr inbounds i8, ptr %t2417, i64 8 ; ->kind + %t2419 = load i32, ptr %t2418 + %t2420 = icmp eq i32 %t2419, 6 + call void @scr_dyn_release(ptr %t2399) + call void @sc_release__x25_m2_ResponseSink(ptr %t2415) + br i1 %t2420, label %if.t944, label %if.j945 +if.t944: + %t2421 = load ptr, ptr %sc_l_p_0 + %t2422 = call ptr @sc_rc_retain_dyn(ptr %t2421) + %t2424 = icmp ne ptr %t2422, null + br i1 %t2424, label %dc.inspect946, label %dc.checked949 +dc.inspect946: + %t2429 = getelementptr inbounds i8, ptr %t2422, i64 8 ; ->kind + %t2430 = load i32, ptr %t2429 + %t2425 = icmp eq i32 %t2430, 12 + br i1 %t2425, label %dc.capsule947, label %dc.checked949 +dc.capsule947: + %t2426 = getelementptr inbounds i8, ptr %t2422, i64 40 ; ->v.typed_ref.type_key + %t2427 = load ptr, ptr %t2426 + %t2428 = icmp eq ptr %t2427, @sc_cs_629517122853751 + br i1 %t2428, label %dc.exact948, label %dc.checked949 +dc.exact948: + %t2431 = getelementptr inbounds i8, ptr %t2422, i64 16 ; ->v.typed_ref.ptr + %t2432 = load ptr, ptr %t2431 + %t2433 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2432) + store ptr %t2433, ptr %s2423 + br label %dc.done950 +dc.checked949: + %t2434 = call ptr @sc_dc_29(ptr %t2422, ptr null) + store ptr %t2434, ptr %s2423 + %t2435 = load i32, ptr %exc.cell + %t2436 = icmp ne i32 %t2435, 0 + %t2437 = call i1 @llvm.expect.i1(i1 %t2436, i1 false) + br i1 %t2437, label %exc.u951, label %exc.k952 +exc.u951: + call void @scr_dyn_release(ptr %t2422) + br label %exc.cleanup2 +exc.k952: + br label %dc.done950 +dc.done950: + %t2438 = load ptr, ptr %s2423 + %t2439 = load ptr, ptr %sc_l_p_0 + %t2440 = call ptr @sc_rc_retain_dyn(ptr %t2439) + %t2442 = icmp ne ptr %t2440, null + br i1 %t2442, label %dc.inspect953, label %dc.checked956 +dc.inspect953: + %t2447 = getelementptr inbounds i8, ptr %t2440, i64 8 ; ->kind + %t2448 = load i32, ptr %t2447 + %t2443 = icmp eq i32 %t2448, 12 + br i1 %t2443, label %dc.capsule954, label %dc.checked956 +dc.capsule954: + %t2444 = getelementptr inbounds i8, ptr %t2440, i64 40 ; ->v.typed_ref.type_key + %t2445 = load ptr, ptr %t2444 + %t2446 = icmp eq ptr %t2445, @sc_cs_629517122853751 + br i1 %t2446, label %dc.exact955, label %dc.checked956 +dc.exact955: + %t2449 = getelementptr inbounds i8, ptr %t2440, i64 16 ; ->v.typed_ref.ptr + %t2450 = load ptr, ptr %t2449 + %t2451 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2450) + store ptr %t2451, ptr %s2441 + br label %dc.done957 +dc.checked956: + %t2452 = call ptr @sc_dc_29(ptr %t2440, ptr null) + store ptr %t2452, ptr %s2441 + %t2453 = load i32, ptr %exc.cell + %t2454 = icmp ne i32 %t2453, 0 + %t2455 = call i1 @llvm.expect.i1(i1 %t2454, i1 false) + br i1 %t2455, label %exc.u958, label %exc.k959 +exc.u958: + call void @scr_dyn_release(ptr %t2422) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438) + call void @scr_dyn_release(ptr %t2440) + br label %exc.cleanup2 +exc.k959: + br label %dc.done957 +dc.done957: + %t2456 = load ptr, ptr %s2441 + %t2457 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2456, i64 0, i32 1 + %t2458 = load ptr, ptr %t2457 + %t2459 = getelementptr inbounds %ScrVt, ptr %t2458, i64 0, i32 0 + %t2460 = load i64, ptr %t2459 + %t2461 = icmp uge i64 %t2460, 18 + %t2462 = icmp ule i64 %t2460, 18 + %t2463 = and i1 %t2461, %t2462 ; instanceof %m3.LiteResponse + br i1 %t2463, label %tern.t960, label %tern.f961 +tern.t960: + %t2465 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t2466 = load i32, ptr %exc.cell + %t2467 = icmp ne i32 %t2466, 0 + %t2468 = call i1 @llvm.expect.i1(i1 %t2467, i1 false) + br i1 %t2468, label %exc.u963, label %exc.k964 +exc.u963: + call void @scr_dyn_release(ptr %t2465) + call void @scr_dyn_release(ptr %t2422) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438) + call void @scr_dyn_release(ptr %t2440) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2456) + br label %exc.cleanup2 +exc.k964: + store ptr %t2465, ptr %s2464 + br label %tern.j962 +tern.f961: + %t2469 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t2470 = load i32, ptr %exc.cell + %t2471 = icmp ne i32 %t2470, 0 + %t2472 = call i1 @llvm.expect.i1(i1 %t2471, i1 false) + br i1 %t2472, label %exc.u965, label %exc.k966 +exc.u965: + call void @scr_dyn_release(ptr %t2469) + call void @scr_dyn_release(ptr %t2422) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438) + call void @scr_dyn_release(ptr %t2440) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2456) + br label %exc.cleanup2 +exc.k966: + store ptr %t2469, ptr %s2464 + br label %tern.j962 +tern.j962: + %t2473 = load ptr, ptr %s2464 + %t2474 = call ptr @scr_dyn_obj_create(ptr %t2473) + %t2475 = load i32, ptr %exc.cell + %t2476 = icmp ne i32 %t2475, 0 + %t2477 = call i1 @llvm.expect.i1(i1 %t2476, i1 false) + br i1 %t2477, label %exc.u967, label %exc.k968 +exc.u967: + call void @scr_dyn_release(ptr %t2422) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438) + call void @scr_dyn_release(ptr %t2440) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2456) + call void @scr_dyn_release(ptr %t2473) + call void @scr_dyn_release(ptr %t2474) + br label %exc.cleanup2 +exc.k968: + %t2478 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2438, i64 0, i32 2 + %t2479 = load ptr, ptr %t2478 + store ptr %t2474, ptr %t2478, !tbaa !204 + call void @scr_dyn_release(ptr %t2479) + call void @scr_dyn_release(ptr %t2422) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438) + call void @scr_dyn_release(ptr %t2440) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t2456) + call void @scr_dyn_release(ptr %t2473) + br label %if.j945 +if.j945: + %t2480 = load ptr, ptr %sc_l_p_0 + %t2481 = call ptr @sc_rc_retain_dyn(ptr %t2480) + %t2483 = icmp ne ptr %t2481, null + br i1 %t2483, label %dc.inspect969, label %dc.checked972 +dc.inspect969: + %t2488 = getelementptr inbounds i8, ptr %t2481, i64 8 ; ->kind + %t2489 = load i32, ptr %t2488 + %t2484 = icmp eq i32 %t2489, 12 + br i1 %t2484, label %dc.capsule970, label %dc.checked972 +dc.capsule970: + %t2485 = getelementptr inbounds i8, ptr %t2481, i64 40 ; ->v.typed_ref.type_key + %t2486 = load ptr, ptr %t2485 + %t2487 = icmp eq ptr %t2486, @sc_cs_629517122853751 + br i1 %t2487, label %dc.exact971, label %dc.checked972 +dc.exact971: + %t2490 = getelementptr inbounds i8, ptr %t2481, i64 16 ; ->v.typed_ref.ptr + %t2491 = load ptr, ptr %t2490 + %t2492 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2491) + store ptr %t2492, ptr %s2482 + br label %dc.done973 +dc.checked972: + %t2493 = call ptr @sc_dc_29(ptr %t2481, ptr null) + store ptr %t2493, ptr %s2482 + %t2494 = load i32, ptr %exc.cell + %t2495 = icmp ne i32 %t2494, 0 + %t2496 = call i1 @llvm.expect.i1(i1 %t2495, i1 false) + br i1 %t2496, label %exc.u974, label %exc.k975 +exc.u974: + call void @scr_dyn_release(ptr %t2481) + br label %exc.cleanup2 +exc.k975: + br label %dc.done973 +dc.done973: + %t2497 = load ptr, ptr %s2482 + %t2498 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2497, i64 0, i32 2 + %t2499 = load ptr, ptr %t2498, !tbaa !204 + %t2500 = call ptr @sc_rc_retain_dyn(ptr %t2499) + call void @scr_dyn_release(ptr %t2481) + call void @sc_release__x25_m2_ResponseSink(ptr %t2497) + %t2501 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2501) + ret ptr %t2500 +if.j936: + %t2502 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2503 + %t2504 = icmp ne ptr %t2502, null + br i1 %t2504, label %brand.inspect976, label %brand.done978 +brand.inspect976: + %t2505 = getelementptr inbounds i8, ptr %t2502, i64 8 ; ->kind + %t2506 = load i32, ptr %t2505 + %t2507 = icmp eq i32 %t2506, 12 + br i1 %t2507, label %brand.capsule977, label %brand.done978 +brand.capsule977: + %t2508 = getelementptr inbounds i8, ptr %t2502, i64 40 ; ->v.typed_ref.type_key + %t2509 = load ptr, ptr %t2508 + %t2510 = icmp eq ptr %t2509, @sc_cs_629517122853751 + store i1 true, ptr %s2503 + br i1 %t2510, label %brand.done978, label %brand.compare979 +brand.compare979: + %t2511 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2502, ptr @sc_lit_629517122853751) + store i1 %t2511, ptr %s2503 + br label %brand.done978 +brand.done978: + %t2512 = load i1, ptr %s2503 + br i1 %t2512, label %tern.t980, label %tern.f981 +tern.t980: + %t2514 = load ptr, ptr %sc_l_p_0 + %t2515 = call ptr @sc_rc_retain_dyn(ptr %t2514) + %t2517 = icmp ne ptr %t2515, null + br i1 %t2517, label %dc.inspect983, label %dc.checked986 +dc.inspect983: + %t2522 = getelementptr inbounds i8, ptr %t2515, i64 8 ; ->kind + %t2523 = load i32, ptr %t2522 + %t2518 = icmp eq i32 %t2523, 12 + br i1 %t2518, label %dc.capsule984, label %dc.checked986 +dc.capsule984: + %t2519 = getelementptr inbounds i8, ptr %t2515, i64 40 ; ->v.typed_ref.type_key + %t2520 = load ptr, ptr %t2519 + %t2521 = icmp eq ptr %t2520, @sc_cs_629517122853751 + br i1 %t2521, label %dc.exact985, label %dc.checked986 +dc.exact985: + %t2524 = getelementptr inbounds i8, ptr %t2515, i64 16 ; ->v.typed_ref.ptr + %t2525 = load ptr, ptr %t2524 + %t2526 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2525) + store ptr %t2526, ptr %s2516 + br label %dc.done987 +dc.checked986: + %t2527 = call ptr @sc_dc_29(ptr %t2515, ptr null) + store ptr %t2527, ptr %s2516 + %t2528 = load i32, ptr %exc.cell + %t2529 = icmp ne i32 %t2528, 0 + %t2530 = call i1 @llvm.expect.i1(i1 %t2529, i1 false) + br i1 %t2530, label %exc.u988, label %exc.k989 +exc.u988: + call void @scr_dyn_release(ptr %t2515) + br label %exc.cleanup2 +exc.k989: + br label %dc.done987 +dc.done987: + %t2531 = load ptr, ptr %s2516 + %t2532 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2531, i64 0, i32 1 + %t2533 = load ptr, ptr %t2532 + %t2534 = getelementptr inbounds %ScrVt, ptr %t2533, i64 0, i32 0 + %t2535 = load i64, ptr %t2534 + %t2536 = icmp uge i64 %t2535, 16 + %t2537 = icmp ule i64 %t2535, 16 + %t2538 = and i1 %t2536, %t2537 ; instanceof %m2.NodeResponseSink + store i1 %t2538, ptr %s2513 + call void @scr_dyn_release(ptr %t2515) + call void @sc_release__x25_m2_ResponseSink(ptr %t2531) + br label %tern.j982 +tern.f981: + store i1 false, ptr %s2513 + br label %tern.j982 +tern.j982: + %t2539 = load i1, ptr %s2513 + br i1 %t2539, label %if.t990, label %if.j991 +if.t990: + %t2540 = load ptr, ptr %sc_l_p_0 + %t2541 = call ptr @sc_rc_retain_dyn(ptr %t2540) + %t2543 = icmp ne ptr %t2541, null + br i1 %t2543, label %dc.inspect992, label %dc.checked995 +dc.inspect992: + %t2548 = getelementptr inbounds i8, ptr %t2541, i64 8 ; ->kind + %t2549 = load i32, ptr %t2548 + %t2544 = icmp eq i32 %t2549, 12 + br i1 %t2544, label %dc.capsule993, label %dc.checked995 +dc.capsule993: + %t2545 = getelementptr inbounds i8, ptr %t2541, i64 40 ; ->v.typed_ref.type_key + %t2546 = load ptr, ptr %t2545 + %t2547 = icmp eq ptr %t2546, @sc_cs_629517122853751 + br i1 %t2547, label %dc.exact994, label %dc.checked995 +dc.exact994: + %t2550 = getelementptr inbounds i8, ptr %t2541, i64 16 ; ->v.typed_ref.ptr + %t2551 = load ptr, ptr %t2550 + %t2552 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2551) + store ptr %t2552, ptr %s2542 + br label %dc.done996 +dc.checked995: + %t2553 = call ptr @sc_dc_29(ptr %t2541, ptr null) + store ptr %t2553, ptr %s2542 + %t2554 = load i32, ptr %exc.cell + %t2555 = icmp ne i32 %t2554, 0 + %t2556 = call i1 @llvm.expect.i1(i1 %t2555, i1 false) + br i1 %t2556, label %exc.u997, label %exc.k998 +exc.u997: + call void @scr_dyn_release(ptr %t2541) + br label %exc.cleanup2 +exc.k998: + br label %dc.done996 +dc.done996: + %t2557 = load ptr, ptr %s2542 + %t2558 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2557, i64 0, i32 2 + %t2559 = load ptr, ptr %t2558, !tbaa !204 + %t2560 = getelementptr inbounds i8, ptr %t2559, i64 8 ; ->kind + %t2561 = load i32, ptr %t2560 + %t2562 = icmp eq i32 %t2561, 6 + call void @scr_dyn_release(ptr %t2541) + call void @sc_release__x25_m2_ResponseSink(ptr %t2557) + br i1 %t2562, label %if.t999, label %if.j1000 +if.t999: + %t2563 = load ptr, ptr %sc_l_p_0 + %t2564 = call ptr @sc_rc_retain_dyn(ptr %t2563) + %t2566 = icmp ne ptr %t2564, null + br i1 %t2566, label %dc.inspect1001, label %dc.checked1004 +dc.inspect1001: + %t2571 = getelementptr inbounds i8, ptr %t2564, i64 8 ; ->kind + %t2572 = load i32, ptr %t2571 + %t2567 = icmp eq i32 %t2572, 12 + br i1 %t2567, label %dc.capsule1002, label %dc.checked1004 +dc.capsule1002: + %t2568 = getelementptr inbounds i8, ptr %t2564, i64 40 ; ->v.typed_ref.type_key + %t2569 = load ptr, ptr %t2568 + %t2570 = icmp eq ptr %t2569, @sc_cs_629517122853751 + br i1 %t2570, label %dc.exact1003, label %dc.checked1004 +dc.exact1003: + %t2573 = getelementptr inbounds i8, ptr %t2564, i64 16 ; ->v.typed_ref.ptr + %t2574 = load ptr, ptr %t2573 + %t2575 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2574) + store ptr %t2575, ptr %s2565 + br label %dc.done1005 +dc.checked1004: + %t2576 = call ptr @sc_dc_29(ptr %t2564, ptr null) + store ptr %t2576, ptr %s2565 + %t2577 = load i32, ptr %exc.cell + %t2578 = icmp ne i32 %t2577, 0 + %t2579 = call i1 @llvm.expect.i1(i1 %t2578, i1 false) + br i1 %t2579, label %exc.u1006, label %exc.k1007 +exc.u1006: + call void @scr_dyn_release(ptr %t2564) + br label %exc.cleanup2 +exc.k1007: + br label %dc.done1005 +dc.done1005: + %t2580 = load ptr, ptr %s2565 + %t2581 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t2582 = load i32, ptr %exc.cell + %t2583 = icmp ne i32 %t2582, 0 + %t2584 = call i1 @llvm.expect.i1(i1 %t2583, i1 false) + br i1 %t2584, label %exc.u1008, label %exc.k1009 +exc.u1008: + call void @scr_dyn_release(ptr %t2564) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t2580) + call void @scr_dyn_release(ptr %t2581) + br label %exc.cleanup2 +exc.k1009: + %t2585 = call ptr @scr_dyn_obj_create(ptr %t2581) + %t2586 = load i32, ptr %exc.cell + %t2587 = icmp ne i32 %t2586, 0 + %t2588 = call i1 @llvm.expect.i1(i1 %t2587, i1 false) + br i1 %t2588, label %exc.u1010, label %exc.k1011 +exc.u1010: + call void @scr_dyn_release(ptr %t2564) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t2580) + call void @scr_dyn_release(ptr %t2581) + call void @scr_dyn_release(ptr %t2585) + br label %exc.cleanup2 +exc.k1011: + %t2589 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2580, i64 0, i32 2 + %t2590 = load ptr, ptr %t2589 + store ptr %t2585, ptr %t2589, !tbaa !204 + call void @scr_dyn_release(ptr %t2590) + call void @scr_dyn_release(ptr %t2564) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t2580) + call void @scr_dyn_release(ptr %t2581) + br label %if.j1000 +if.j1000: + %t2591 = load ptr, ptr %sc_l_p_0 + %t2592 = call ptr @sc_rc_retain_dyn(ptr %t2591) + %t2594 = icmp ne ptr %t2592, null + br i1 %t2594, label %dc.inspect1012, label %dc.checked1015 +dc.inspect1012: + %t2599 = getelementptr inbounds i8, ptr %t2592, i64 8 ; ->kind + %t2600 = load i32, ptr %t2599 + %t2595 = icmp eq i32 %t2600, 12 + br i1 %t2595, label %dc.capsule1013, label %dc.checked1015 +dc.capsule1013: + %t2596 = getelementptr inbounds i8, ptr %t2592, i64 40 ; ->v.typed_ref.type_key + %t2597 = load ptr, ptr %t2596 + %t2598 = icmp eq ptr %t2597, @sc_cs_629517122853751 + br i1 %t2598, label %dc.exact1014, label %dc.checked1015 +dc.exact1014: + %t2601 = getelementptr inbounds i8, ptr %t2592, i64 16 ; ->v.typed_ref.ptr + %t2602 = load ptr, ptr %t2601 + %t2603 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2602) + store ptr %t2603, ptr %s2593 + br label %dc.done1016 +dc.checked1015: + %t2604 = call ptr @sc_dc_29(ptr %t2592, ptr null) + store ptr %t2604, ptr %s2593 + %t2605 = load i32, ptr %exc.cell + %t2606 = icmp ne i32 %t2605, 0 + %t2607 = call i1 @llvm.expect.i1(i1 %t2606, i1 false) + br i1 %t2607, label %exc.u1017, label %exc.k1018 +exc.u1017: + call void @scr_dyn_release(ptr %t2592) + br label %exc.cleanup2 +exc.k1018: + br label %dc.done1016 +dc.done1016: + %t2608 = load ptr, ptr %s2593 + %t2609 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2608, i64 0, i32 2 + %t2610 = load ptr, ptr %t2609, !tbaa !204 + %t2611 = call ptr @sc_rc_retain_dyn(ptr %t2610) + call void @scr_dyn_release(ptr %t2592) + call void @sc_release__x25_m2_ResponseSink(ptr %t2608) + %t2612 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2612) + ret ptr %t2611 +if.j991: + %t2613 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2614 + %t2615 = icmp ne ptr %t2613, null + br i1 %t2615, label %brand.inspect1019, label %brand.done1021 +brand.inspect1019: + %t2616 = getelementptr inbounds i8, ptr %t2613, i64 8 ; ->kind + %t2617 = load i32, ptr %t2616 + %t2618 = icmp eq i32 %t2617, 12 + br i1 %t2618, label %brand.capsule1020, label %brand.done1021 +brand.capsule1020: + %t2619 = getelementptr inbounds i8, ptr %t2613, i64 40 ; ->v.typed_ref.type_key + %t2620 = load ptr, ptr %t2619 + %t2621 = icmp eq ptr %t2620, @sc_cs_629517122853751 + store i1 true, ptr %s2614 + br i1 %t2621, label %brand.done1021, label %brand.compare1022 +brand.compare1022: + %t2622 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2613, ptr @sc_lit_629517122853751) + store i1 %t2622, ptr %s2614 + br label %brand.done1021 +brand.done1021: + %t2623 = load i1, ptr %s2614 + br i1 %t2623, label %if.t1023, label %if.j1024 +if.t1023: + %t2624 = load ptr, ptr %sc_l_p_0 + %t2625 = call ptr @sc_rc_retain_dyn(ptr %t2624) + %t2627 = icmp ne ptr %t2625, null + br i1 %t2627, label %dc.inspect1025, label %dc.checked1028 +dc.inspect1025: + %t2632 = getelementptr inbounds i8, ptr %t2625, i64 8 ; ->kind + %t2633 = load i32, ptr %t2632 + %t2628 = icmp eq i32 %t2633, 12 + br i1 %t2628, label %dc.capsule1026, label %dc.checked1028 +dc.capsule1026: + %t2629 = getelementptr inbounds i8, ptr %t2625, i64 40 ; ->v.typed_ref.type_key + %t2630 = load ptr, ptr %t2629 + %t2631 = icmp eq ptr %t2630, @sc_cs_629517122853751 + br i1 %t2631, label %dc.exact1027, label %dc.checked1028 +dc.exact1027: + %t2634 = getelementptr inbounds i8, ptr %t2625, i64 16 ; ->v.typed_ref.ptr + %t2635 = load ptr, ptr %t2634 + %t2636 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2635) + store ptr %t2636, ptr %s2626 + br label %dc.done1029 +dc.checked1028: + %t2637 = call ptr @sc_dc_29(ptr %t2625, ptr null) + store ptr %t2637, ptr %s2626 + %t2638 = load i32, ptr %exc.cell + %t2639 = icmp ne i32 %t2638, 0 + %t2640 = call i1 @llvm.expect.i1(i1 %t2639, i1 false) + br i1 %t2640, label %exc.u1030, label %exc.k1031 +exc.u1030: + call void @scr_dyn_release(ptr %t2625) + br label %exc.cleanup2 +exc.k1031: + br label %dc.done1029 +dc.done1029: + %t2641 = load ptr, ptr %s2626 + %t2642 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2641, i64 0, i32 2 + %t2643 = load ptr, ptr %t2642, !tbaa !204 + %t2644 = getelementptr inbounds i8, ptr %t2643, i64 8 ; ->kind + %t2645 = load i32, ptr %t2644 + %t2646 = icmp eq i32 %t2645, 6 + call void @scr_dyn_release(ptr %t2625) + call void @sc_release__x25_m2_ResponseSink(ptr %t2641) + br i1 %t2646, label %if.t1032, label %if.j1033 +if.t1032: + %t2647 = load ptr, ptr %sc_l_p_0 + %t2648 = call ptr @sc_rc_retain_dyn(ptr %t2647) + %t2650 = icmp ne ptr %t2648, null + br i1 %t2650, label %dc.inspect1034, label %dc.checked1037 +dc.inspect1034: + %t2655 = getelementptr inbounds i8, ptr %t2648, i64 8 ; ->kind + %t2656 = load i32, ptr %t2655 + %t2651 = icmp eq i32 %t2656, 12 + br i1 %t2651, label %dc.capsule1035, label %dc.checked1037 +dc.capsule1035: + %t2652 = getelementptr inbounds i8, ptr %t2648, i64 40 ; ->v.typed_ref.type_key + %t2653 = load ptr, ptr %t2652 + %t2654 = icmp eq ptr %t2653, @sc_cs_629517122853751 + br i1 %t2654, label %dc.exact1036, label %dc.checked1037 +dc.exact1036: + %t2657 = getelementptr inbounds i8, ptr %t2648, i64 16 ; ->v.typed_ref.ptr + %t2658 = load ptr, ptr %t2657 + %t2659 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2658) + store ptr %t2659, ptr %s2649 + br label %dc.done1038 +dc.checked1037: + %t2660 = call ptr @sc_dc_29(ptr %t2648, ptr null) + store ptr %t2660, ptr %s2649 + %t2661 = load i32, ptr %exc.cell + %t2662 = icmp ne i32 %t2661, 0 + %t2663 = call i1 @llvm.expect.i1(i1 %t2662, i1 false) + br i1 %t2663, label %exc.u1039, label %exc.k1040 +exc.u1039: + call void @scr_dyn_release(ptr %t2648) + br label %exc.cleanup2 +exc.k1040: + br label %dc.done1038 +dc.done1038: + %t2664 = load ptr, ptr %s2649 + %t2665 = load ptr, ptr %sc_l_p_0 + %t2666 = call ptr @sc_rc_retain_dyn(ptr %t2665) + %t2668 = icmp ne ptr %t2666, null + br i1 %t2668, label %dc.inspect1041, label %dc.checked1044 +dc.inspect1041: + %t2673 = getelementptr inbounds i8, ptr %t2666, i64 8 ; ->kind + %t2674 = load i32, ptr %t2673 + %t2669 = icmp eq i32 %t2674, 12 + br i1 %t2669, label %dc.capsule1042, label %dc.checked1044 +dc.capsule1042: + %t2670 = getelementptr inbounds i8, ptr %t2666, i64 40 ; ->v.typed_ref.type_key + %t2671 = load ptr, ptr %t2670 + %t2672 = icmp eq ptr %t2671, @sc_cs_629517122853751 + br i1 %t2672, label %dc.exact1043, label %dc.checked1044 +dc.exact1043: + %t2675 = getelementptr inbounds i8, ptr %t2666, i64 16 ; ->v.typed_ref.ptr + %t2676 = load ptr, ptr %t2675 + %t2677 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2676) + store ptr %t2677, ptr %s2667 + br label %dc.done1045 +dc.checked1044: + %t2678 = call ptr @sc_dc_29(ptr %t2666, ptr null) + store ptr %t2678, ptr %s2667 + %t2679 = load i32, ptr %exc.cell + %t2680 = icmp ne i32 %t2679, 0 + %t2681 = call i1 @llvm.expect.i1(i1 %t2680, i1 false) + br i1 %t2681, label %exc.u1046, label %exc.k1047 +exc.u1046: + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + br label %exc.cleanup2 +exc.k1047: + br label %dc.done1045 +dc.done1045: + %t2682 = load ptr, ptr %s2667 + %t2683 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2682, i64 0, i32 1 + %t2684 = load ptr, ptr %t2683 + %t2685 = getelementptr inbounds %ScrVt, ptr %t2684, i64 0, i32 0 + %t2686 = load i64, ptr %t2685 + %t2687 = icmp uge i64 %t2686, 17 + %t2688 = icmp ule i64 %t2686, 18 + %t2689 = and i1 %t2687, %t2688 ; instanceof %m2.FetchResponseSink + br i1 %t2689, label %tern.t1048, label %tern.f1049 +tern.t1048: + %t2691 = load ptr, ptr %sc_l_p_0 + %t2692 = call ptr @sc_rc_retain_dyn(ptr %t2691) + %t2694 = icmp ne ptr %t2692, null + br i1 %t2694, label %dc.inspect1051, label %dc.checked1054 +dc.inspect1051: + %t2699 = getelementptr inbounds i8, ptr %t2692, i64 8 ; ->kind + %t2700 = load i32, ptr %t2699 + %t2695 = icmp eq i32 %t2700, 12 + br i1 %t2695, label %dc.capsule1052, label %dc.checked1054 +dc.capsule1052: + %t2696 = getelementptr inbounds i8, ptr %t2692, i64 40 ; ->v.typed_ref.type_key + %t2697 = load ptr, ptr %t2696 + %t2698 = icmp eq ptr %t2697, @sc_cs_629517122853751 + br i1 %t2698, label %dc.exact1053, label %dc.checked1054 +dc.exact1053: + %t2701 = getelementptr inbounds i8, ptr %t2692, i64 16 ; ->v.typed_ref.ptr + %t2702 = load ptr, ptr %t2701 + %t2703 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2702) + store ptr %t2703, ptr %s2693 + br label %dc.done1055 +dc.checked1054: + %t2704 = call ptr @sc_dc_29(ptr %t2692, ptr null) + store ptr %t2704, ptr %s2693 + %t2705 = load i32, ptr %exc.cell + %t2706 = icmp ne i32 %t2705, 0 + %t2707 = call i1 @llvm.expect.i1(i1 %t2706, i1 false) + br i1 %t2707, label %exc.u1056, label %exc.k1057 +exc.u1056: + call void @scr_dyn_release(ptr %t2692) + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + call void @sc_release__x25_m2_ResponseSink(ptr %t2682) + br label %exc.cleanup2 +exc.k1057: + br label %dc.done1055 +dc.done1055: + %t2708 = load ptr, ptr %s2693 + %t2709 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2708, i64 0, i32 1 + %t2710 = load ptr, ptr %t2709 + %t2711 = getelementptr inbounds %ScrVt, ptr %t2710, i64 0, i32 0 + %t2712 = load i64, ptr %t2711 + %t2713 = icmp uge i64 %t2712, 18 + %t2714 = icmp ule i64 %t2712, 18 + %t2715 = and i1 %t2713, %t2714 ; instanceof %m3.LiteResponse + br i1 %t2715, label %tern.t1058, label %tern.f1059 +tern.t1058: + %t2717 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t2718 = load i32, ptr %exc.cell + %t2719 = icmp ne i32 %t2718, 0 + %t2720 = call i1 @llvm.expect.i1(i1 %t2719, i1 false) + br i1 %t2720, label %exc.u1061, label %exc.k1062 +exc.u1061: + call void @scr_dyn_release(ptr %t2717) + call void @scr_dyn_release(ptr %t2692) + call void @sc_release__x25_m2_ResponseSink(ptr %t2708) + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + call void @sc_release__x25_m2_ResponseSink(ptr %t2682) + br label %exc.cleanup2 +exc.k1062: + store ptr %t2717, ptr %s2716 + br label %tern.j1060 +tern.f1059: + %t2721 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t2722 = load i32, ptr %exc.cell + %t2723 = icmp ne i32 %t2722, 0 + %t2724 = call i1 @llvm.expect.i1(i1 %t2723, i1 false) + br i1 %t2724, label %exc.u1063, label %exc.k1064 +exc.u1063: + call void @scr_dyn_release(ptr %t2721) + call void @scr_dyn_release(ptr %t2692) + call void @sc_release__x25_m2_ResponseSink(ptr %t2708) + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + call void @sc_release__x25_m2_ResponseSink(ptr %t2682) + br label %exc.cleanup2 +exc.k1064: + store ptr %t2721, ptr %s2716 + br label %tern.j1060 +tern.j1060: + %t2725 = load ptr, ptr %s2716 + store ptr %t2725, ptr %s2690 + call void @scr_dyn_release(ptr %t2692) + call void @sc_release__x25_m2_ResponseSink(ptr %t2708) + br label %tern.j1050 +tern.f1049: + %t2726 = load ptr, ptr %sc_l_p_0 + %t2727 = call ptr @sc_rc_retain_dyn(ptr %t2726) + %t2729 = icmp ne ptr %t2727, null + br i1 %t2729, label %dc.inspect1065, label %dc.checked1068 +dc.inspect1065: + %t2734 = getelementptr inbounds i8, ptr %t2727, i64 8 ; ->kind + %t2735 = load i32, ptr %t2734 + %t2730 = icmp eq i32 %t2735, 12 + br i1 %t2730, label %dc.capsule1066, label %dc.checked1068 +dc.capsule1066: + %t2731 = getelementptr inbounds i8, ptr %t2727, i64 40 ; ->v.typed_ref.type_key + %t2732 = load ptr, ptr %t2731 + %t2733 = icmp eq ptr %t2732, @sc_cs_629517122853751 + br i1 %t2733, label %dc.exact1067, label %dc.checked1068 +dc.exact1067: + %t2736 = getelementptr inbounds i8, ptr %t2727, i64 16 ; ->v.typed_ref.ptr + %t2737 = load ptr, ptr %t2736 + %t2738 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2737) + store ptr %t2738, ptr %s2728 + br label %dc.done1069 +dc.checked1068: + %t2739 = call ptr @sc_dc_29(ptr %t2727, ptr null) + store ptr %t2739, ptr %s2728 + %t2740 = load i32, ptr %exc.cell + %t2741 = icmp ne i32 %t2740, 0 + %t2742 = call i1 @llvm.expect.i1(i1 %t2741, i1 false) + br i1 %t2742, label %exc.u1070, label %exc.k1071 +exc.u1070: + call void @scr_dyn_release(ptr %t2727) + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + call void @sc_release__x25_m2_ResponseSink(ptr %t2682) + br label %exc.cleanup2 +exc.k1071: + br label %dc.done1069 +dc.done1069: + %t2743 = load ptr, ptr %s2728 + %t2744 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2743, i64 0, i32 1 + %t2745 = load ptr, ptr %t2744 + %t2746 = getelementptr inbounds %ScrVt, ptr %t2745, i64 0, i32 0 + %t2747 = load i64, ptr %t2746 + %t2748 = icmp uge i64 %t2747, 16 + %t2749 = icmp ule i64 %t2747, 16 + %t2750 = and i1 %t2748, %t2749 ; instanceof %m2.NodeResponseSink + br i1 %t2750, label %tern.t1072, label %tern.f1073 +tern.t1072: + %t2752 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t2753 = load i32, ptr %exc.cell + %t2754 = icmp ne i32 %t2753, 0 + %t2755 = call i1 @llvm.expect.i1(i1 %t2754, i1 false) + br i1 %t2755, label %exc.u1075, label %exc.k1076 +exc.u1075: + call void @scr_dyn_release(ptr %t2752) + call void @scr_dyn_release(ptr %t2727) + call void @sc_release__x25_m2_ResponseSink(ptr %t2743) + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + call void @sc_release__x25_m2_ResponseSink(ptr %t2682) + br label %exc.cleanup2 +exc.k1076: + store ptr %t2752, ptr %s2751 + br label %tern.j1074 +tern.f1073: + %t2756 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink() + %t2757 = load i32, ptr %exc.cell + %t2758 = icmp ne i32 %t2757, 0 + %t2759 = call i1 @llvm.expect.i1(i1 %t2758, i1 false) + br i1 %t2759, label %exc.u1077, label %exc.k1078 +exc.u1077: + call void @scr_dyn_release(ptr %t2756) + call void @scr_dyn_release(ptr %t2727) + call void @sc_release__x25_m2_ResponseSink(ptr %t2743) + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + call void @sc_release__x25_m2_ResponseSink(ptr %t2682) + br label %exc.cleanup2 +exc.k1078: + store ptr %t2756, ptr %s2751 + br label %tern.j1074 +tern.j1074: + %t2760 = load ptr, ptr %s2751 + store ptr %t2760, ptr %s2690 + call void @scr_dyn_release(ptr %t2727) + call void @sc_release__x25_m2_ResponseSink(ptr %t2743) + br label %tern.j1050 +tern.j1050: + %t2761 = load ptr, ptr %s2690 + %t2762 = call ptr @scr_dyn_obj_create(ptr %t2761) + %t2763 = load i32, ptr %exc.cell + %t2764 = icmp ne i32 %t2763, 0 + %t2765 = call i1 @llvm.expect.i1(i1 %t2764, i1 false) + br i1 %t2765, label %exc.u1079, label %exc.k1080 +exc.u1079: + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + call void @sc_release__x25_m2_ResponseSink(ptr %t2682) + call void @scr_dyn_release(ptr %t2761) + call void @scr_dyn_release(ptr %t2762) + br label %exc.cleanup2 +exc.k1080: + %t2766 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2664, i64 0, i32 2 + %t2767 = load ptr, ptr %t2766 + store ptr %t2762, ptr %t2766, !tbaa !204 + call void @scr_dyn_release(ptr %t2767) + call void @scr_dyn_release(ptr %t2648) + call void @sc_release__x25_m2_ResponseSink(ptr %t2664) + call void @scr_dyn_release(ptr %t2666) + call void @sc_release__x25_m2_ResponseSink(ptr %t2682) + call void @scr_dyn_release(ptr %t2761) + br label %if.j1033 +if.j1033: + %t2768 = load ptr, ptr %sc_l_p_0 + %t2769 = call ptr @sc_rc_retain_dyn(ptr %t2768) + %t2771 = icmp ne ptr %t2769, null + br i1 %t2771, label %dc.inspect1081, label %dc.checked1084 +dc.inspect1081: + %t2776 = getelementptr inbounds i8, ptr %t2769, i64 8 ; ->kind + %t2777 = load i32, ptr %t2776 + %t2772 = icmp eq i32 %t2777, 12 + br i1 %t2772, label %dc.capsule1082, label %dc.checked1084 +dc.capsule1082: + %t2773 = getelementptr inbounds i8, ptr %t2769, i64 40 ; ->v.typed_ref.type_key + %t2774 = load ptr, ptr %t2773 + %t2775 = icmp eq ptr %t2774, @sc_cs_629517122853751 + br i1 %t2775, label %dc.exact1083, label %dc.checked1084 +dc.exact1083: + %t2778 = getelementptr inbounds i8, ptr %t2769, i64 16 ; ->v.typed_ref.ptr + %t2779 = load ptr, ptr %t2778 + %t2780 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2779) + store ptr %t2780, ptr %s2770 + br label %dc.done1085 +dc.checked1084: + %t2781 = call ptr @sc_dc_29(ptr %t2769, ptr null) + store ptr %t2781, ptr %s2770 + %t2782 = load i32, ptr %exc.cell + %t2783 = icmp ne i32 %t2782, 0 + %t2784 = call i1 @llvm.expect.i1(i1 %t2783, i1 false) + br i1 %t2784, label %exc.u1086, label %exc.k1087 +exc.u1086: + call void @scr_dyn_release(ptr %t2769) + br label %exc.cleanup2 +exc.k1087: + br label %dc.done1085 +dc.done1085: + %t2785 = load ptr, ptr %s2770 + %t2786 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2785, i64 0, i32 2 + %t2787 = load ptr, ptr %t2786, !tbaa !204 + %t2788 = call ptr @sc_rc_retain_dyn(ptr %t2787) + call void @scr_dyn_release(ptr %t2769) + call void @sc_release__x25_m2_ResponseSink(ptr %t2785) + %t2789 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2789) + ret ptr %t2788 +if.j1024: + %t2790 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2791 + %t2792 = icmp ne ptr %t2790, null + br i1 %t2792, label %brand.inspect1088, label %brand.done1090 +brand.inspect1088: + %t2793 = getelementptr inbounds i8, ptr %t2790, i64 8 ; ->kind + %t2794 = load i32, ptr %t2793 + %t2795 = icmp eq i32 %t2794, 12 + br i1 %t2795, label %brand.capsule1089, label %brand.done1090 +brand.capsule1089: + %t2796 = getelementptr inbounds i8, ptr %t2790, i64 40 ; ->v.typed_ref.type_key + %t2797 = load ptr, ptr %t2796 + %t2798 = icmp eq ptr %t2797, @sc_cs_660811353369478 + store i1 true, ptr %s2791 + br i1 %t2798, label %brand.done1090, label %brand.compare1091 +brand.compare1091: + %t2799 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2790, ptr @sc_lit_660811353369478) + store i1 %t2799, ptr %s2791 + br label %brand.done1090 +brand.done1090: + %t2800 = load i1, ptr %s2791 + br i1 %t2800, label %if.t1092, label %if.j1093 +if.t1092: + %t2801 = load ptr, ptr %sc_l_p_0 + %t2802 = call ptr @sc_rc_retain_dyn(ptr %t2801) + %t2804 = icmp ne ptr %t2802, null + br i1 %t2804, label %dc.inspect1094, label %dc.checked1097 +dc.inspect1094: + %t2809 = getelementptr inbounds i8, ptr %t2802, i64 8 ; ->kind + %t2810 = load i32, ptr %t2809 + %t2805 = icmp eq i32 %t2810, 12 + br i1 %t2805, label %dc.capsule1095, label %dc.checked1097 +dc.capsule1095: + %t2806 = getelementptr inbounds i8, ptr %t2802, i64 40 ; ->v.typed_ref.type_key + %t2807 = load ptr, ptr %t2806 + %t2808 = icmp eq ptr %t2807, @sc_cs_660811353369478 + br i1 %t2808, label %dc.exact1096, label %dc.checked1097 +dc.exact1096: + %t2811 = getelementptr inbounds i8, ptr %t2802, i64 16 ; ->v.typed_ref.ptr + %t2812 = load ptr, ptr %t2811 + %t2813 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2812) + store ptr %t2813, ptr %s2803 + br label %dc.done1098 +dc.checked1097: + %t2814 = call ptr @sc_dc_28(ptr %t2802, ptr null) + store ptr %t2814, ptr %s2803 + %t2815 = load i32, ptr %exc.cell + %t2816 = icmp ne i32 %t2815, 0 + %t2817 = call i1 @llvm.expect.i1(i1 %t2816, i1 false) + br i1 %t2817, label %exc.u1099, label %exc.k1100 +exc.u1099: + call void @scr_dyn_release(ptr %t2802) + br label %exc.cleanup2 +exc.k1100: + br label %dc.done1098 +dc.done1098: + %t2818 = load ptr, ptr %s2803 + %t2819 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2818, i64 0, i32 17 + %t2820 = load ptr, ptr %t2819, !tbaa !204 + %t2821 = getelementptr inbounds i8, ptr %t2820, i64 8 ; ->kind + %t2822 = load i32, ptr %t2821 + %t2823 = icmp eq i32 %t2822, 6 + call void @scr_dyn_release(ptr %t2802) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2818) + br i1 %t2823, label %if.t1101, label %if.j1102 +if.t1101: + %t2824 = load ptr, ptr %sc_l_p_0 + %t2825 = call ptr @sc_rc_retain_dyn(ptr %t2824) + %t2827 = icmp ne ptr %t2825, null + br i1 %t2827, label %dc.inspect1103, label %dc.checked1106 +dc.inspect1103: + %t2832 = getelementptr inbounds i8, ptr %t2825, i64 8 ; ->kind + %t2833 = load i32, ptr %t2832 + %t2828 = icmp eq i32 %t2833, 12 + br i1 %t2828, label %dc.capsule1104, label %dc.checked1106 +dc.capsule1104: + %t2829 = getelementptr inbounds i8, ptr %t2825, i64 40 ; ->v.typed_ref.type_key + %t2830 = load ptr, ptr %t2829 + %t2831 = icmp eq ptr %t2830, @sc_cs_660811353369478 + br i1 %t2831, label %dc.exact1105, label %dc.checked1106 +dc.exact1105: + %t2834 = getelementptr inbounds i8, ptr %t2825, i64 16 ; ->v.typed_ref.ptr + %t2835 = load ptr, ptr %t2834 + %t2836 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2835) + store ptr %t2836, ptr %s2826 + br label %dc.done1107 +dc.checked1106: + %t2837 = call ptr @sc_dc_28(ptr %t2825, ptr null) + store ptr %t2837, ptr %s2826 + %t2838 = load i32, ptr %exc.cell + %t2839 = icmp ne i32 %t2838, 0 + %t2840 = call i1 @llvm.expect.i1(i1 %t2839, i1 false) + br i1 %t2840, label %exc.u1108, label %exc.k1109 +exc.u1108: + call void @scr_dyn_release(ptr %t2825) + br label %exc.cleanup2 +exc.k1109: + br label %dc.done1107 +dc.done1107: + %t2841 = load ptr, ptr %s2826 + %t2842 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore() + %t2843 = load i32, ptr %exc.cell + %t2844 = icmp ne i32 %t2843, 0 + %t2845 = call i1 @llvm.expect.i1(i1 %t2844, i1 false) + br i1 %t2845, label %exc.u1110, label %exc.k1111 +exc.u1110: + call void @scr_dyn_release(ptr %t2825) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2841) + call void @scr_dyn_release(ptr %t2842) + br label %exc.cleanup2 +exc.k1111: + %t2846 = call ptr @scr_dyn_obj_create(ptr %t2842) + %t2847 = load i32, ptr %exc.cell + %t2848 = icmp ne i32 %t2847, 0 + %t2849 = call i1 @llvm.expect.i1(i1 %t2848, i1 false) + br i1 %t2849, label %exc.u1112, label %exc.k1113 +exc.u1112: + call void @scr_dyn_release(ptr %t2825) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2841) + call void @scr_dyn_release(ptr %t2842) + call void @scr_dyn_release(ptr %t2846) + br label %exc.cleanup2 +exc.k1113: + %t2850 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2841, i64 0, i32 17 + %t2851 = load ptr, ptr %t2850 + store ptr %t2846, ptr %t2850, !tbaa !204 + call void @scr_dyn_release(ptr %t2851) + call void @scr_dyn_release(ptr %t2825) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2841) + call void @scr_dyn_release(ptr %t2842) + br label %if.j1102 +if.j1102: + %t2852 = load ptr, ptr %sc_l_p_0 + %t2853 = call ptr @sc_rc_retain_dyn(ptr %t2852) + %t2855 = icmp ne ptr %t2853, null + br i1 %t2855, label %dc.inspect1114, label %dc.checked1117 +dc.inspect1114: + %t2860 = getelementptr inbounds i8, ptr %t2853, i64 8 ; ->kind + %t2861 = load i32, ptr %t2860 + %t2856 = icmp eq i32 %t2861, 12 + br i1 %t2856, label %dc.capsule1115, label %dc.checked1117 +dc.capsule1115: + %t2857 = getelementptr inbounds i8, ptr %t2853, i64 40 ; ->v.typed_ref.type_key + %t2858 = load ptr, ptr %t2857 + %t2859 = icmp eq ptr %t2858, @sc_cs_660811353369478 + br i1 %t2859, label %dc.exact1116, label %dc.checked1117 +dc.exact1116: + %t2862 = getelementptr inbounds i8, ptr %t2853, i64 16 ; ->v.typed_ref.ptr + %t2863 = load ptr, ptr %t2862 + %t2864 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2863) + store ptr %t2864, ptr %s2854 + br label %dc.done1118 +dc.checked1117: + %t2865 = call ptr @sc_dc_28(ptr %t2853, ptr null) + store ptr %t2865, ptr %s2854 + %t2866 = load i32, ptr %exc.cell + %t2867 = icmp ne i32 %t2866, 0 + %t2868 = call i1 @llvm.expect.i1(i1 %t2867, i1 false) + br i1 %t2868, label %exc.u1119, label %exc.k1120 +exc.u1119: + call void @scr_dyn_release(ptr %t2853) + br label %exc.cleanup2 +exc.k1120: + br label %dc.done1118 +dc.done1118: + %t2869 = load ptr, ptr %s2854 + %t2870 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2869, i64 0, i32 17 + %t2871 = load ptr, ptr %t2870, !tbaa !204 + %t2872 = call ptr @sc_rc_retain_dyn(ptr %t2871) + call void @scr_dyn_release(ptr %t2853) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2869) + %t2873 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2873) + ret ptr %t2872 +if.j1093: + %t2874 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2875 + %t2876 = icmp ne ptr %t2874, null + br i1 %t2876, label %brand.inspect1121, label %brand.done1123 +brand.inspect1121: + %t2877 = getelementptr inbounds i8, ptr %t2874, i64 8 ; ->kind + %t2878 = load i32, ptr %t2877 + %t2879 = icmp eq i32 %t2878, 12 + br i1 %t2879, label %brand.capsule1122, label %brand.done1123 +brand.capsule1122: + %t2880 = getelementptr inbounds i8, ptr %t2874, i64 40 ; ->v.typed_ref.type_key + %t2881 = load ptr, ptr %t2880 + %t2882 = icmp eq ptr %t2881, @sc_cs_4336131790391205 + store i1 true, ptr %s2875 + br i1 %t2882, label %brand.done1123, label %brand.compare1124 +brand.compare1124: + %t2883 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2874, ptr @sc_lit_4336131790391205) + store i1 %t2883, ptr %s2875 + br label %brand.done1123 +brand.done1123: + %t2884 = load i1, ptr %s2875 + br i1 %t2884, label %if.t1125, label %if.j1126 +if.t1125: + %t2885 = load ptr, ptr %sc_l_p_0 + %t2886 = call ptr @sc_rc_retain_dyn(ptr %t2885) + %t2888 = icmp ne ptr %t2886, null + br i1 %t2888, label %dc.inspect1127, label %dc.checked1130 +dc.inspect1127: + %t2893 = getelementptr inbounds i8, ptr %t2886, i64 8 ; ->kind + %t2894 = load i32, ptr %t2893 + %t2889 = icmp eq i32 %t2894, 12 + br i1 %t2889, label %dc.capsule1128, label %dc.checked1130 +dc.capsule1128: + %t2890 = getelementptr inbounds i8, ptr %t2886, i64 40 ; ->v.typed_ref.type_key + %t2891 = load ptr, ptr %t2890 + %t2892 = icmp eq ptr %t2891, @sc_cs_4336131790391205 + br i1 %t2892, label %dc.exact1129, label %dc.checked1130 +dc.exact1129: + %t2895 = getelementptr inbounds i8, ptr %t2886, i64 16 ; ->v.typed_ref.ptr + %t2896 = load ptr, ptr %t2895 + %t2897 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2896) + store ptr %t2897, ptr %s2887 + br label %dc.done1131 +dc.checked1130: + %t2898 = call ptr @sc_dc_43(ptr %t2886, ptr null) + store ptr %t2898, ptr %s2887 + %t2899 = load i32, ptr %exc.cell + %t2900 = icmp ne i32 %t2899, 0 + %t2901 = call i1 @llvm.expect.i1(i1 %t2900, i1 false) + br i1 %t2901, label %exc.u1132, label %exc.k1133 +exc.u1132: + call void @scr_dyn_release(ptr %t2886) + br label %exc.cleanup2 +exc.k1133: + br label %dc.done1131 +dc.done1131: + %t2902 = load ptr, ptr %s2887 + %t2903 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2902, i64 0, i32 6 + %t2904 = load ptr, ptr %t2903, !tbaa !204 + %t2905 = getelementptr inbounds i8, ptr %t2904, i64 8 ; ->kind + %t2906 = load i32, ptr %t2905 + %t2907 = icmp eq i32 %t2906, 6 + call void @scr_dyn_release(ptr %t2886) + call void @sc_release__x25_m5_MpCfg(ptr %t2902) + br i1 %t2907, label %if.t1134, label %if.j1135 +if.t1134: + %t2908 = load ptr, ptr %sc_l_p_0 + %t2909 = call ptr @sc_rc_retain_dyn(ptr %t2908) + %t2911 = icmp ne ptr %t2909, null + br i1 %t2911, label %dc.inspect1136, label %dc.checked1139 +dc.inspect1136: + %t2916 = getelementptr inbounds i8, ptr %t2909, i64 8 ; ->kind + %t2917 = load i32, ptr %t2916 + %t2912 = icmp eq i32 %t2917, 12 + br i1 %t2912, label %dc.capsule1137, label %dc.checked1139 +dc.capsule1137: + %t2913 = getelementptr inbounds i8, ptr %t2909, i64 40 ; ->v.typed_ref.type_key + %t2914 = load ptr, ptr %t2913 + %t2915 = icmp eq ptr %t2914, @sc_cs_4336131790391205 + br i1 %t2915, label %dc.exact1138, label %dc.checked1139 +dc.exact1138: + %t2918 = getelementptr inbounds i8, ptr %t2909, i64 16 ; ->v.typed_ref.ptr + %t2919 = load ptr, ptr %t2918 + %t2920 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2919) + store ptr %t2920, ptr %s2910 + br label %dc.done1140 +dc.checked1139: + %t2921 = call ptr @sc_dc_43(ptr %t2909, ptr null) + store ptr %t2921, ptr %s2910 + %t2922 = load i32, ptr %exc.cell + %t2923 = icmp ne i32 %t2922, 0 + %t2924 = call i1 @llvm.expect.i1(i1 %t2923, i1 false) + br i1 %t2924, label %exc.u1141, label %exc.k1142 +exc.u1141: + call void @scr_dyn_release(ptr %t2909) + br label %exc.cleanup2 +exc.k1142: + br label %dc.done1140 +dc.done1140: + %t2925 = load ptr, ptr %s2910 + %t2926 = call ptr @scr_dyn_new_obj() + %t2927 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2925, i64 0, i32 6 + %t2928 = load ptr, ptr %t2927 + store ptr %t2926, ptr %t2927, !tbaa !204 + call void @scr_dyn_release(ptr %t2928) + call void @scr_dyn_release(ptr %t2909) + call void @sc_release__x25_m5_MpCfg(ptr %t2925) + br label %if.j1135 +if.j1135: + %t2929 = load ptr, ptr %sc_l_p_0 + %t2930 = call ptr @sc_rc_retain_dyn(ptr %t2929) + %t2932 = icmp ne ptr %t2930, null + br i1 %t2932, label %dc.inspect1143, label %dc.checked1146 +dc.inspect1143: + %t2937 = getelementptr inbounds i8, ptr %t2930, i64 8 ; ->kind + %t2938 = load i32, ptr %t2937 + %t2933 = icmp eq i32 %t2938, 12 + br i1 %t2933, label %dc.capsule1144, label %dc.checked1146 +dc.capsule1144: + %t2934 = getelementptr inbounds i8, ptr %t2930, i64 40 ; ->v.typed_ref.type_key + %t2935 = load ptr, ptr %t2934 + %t2936 = icmp eq ptr %t2935, @sc_cs_4336131790391205 + br i1 %t2936, label %dc.exact1145, label %dc.checked1146 +dc.exact1145: + %t2939 = getelementptr inbounds i8, ptr %t2930, i64 16 ; ->v.typed_ref.ptr + %t2940 = load ptr, ptr %t2939 + %t2941 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2940) + store ptr %t2941, ptr %s2931 + br label %dc.done1147 +dc.checked1146: + %t2942 = call ptr @sc_dc_43(ptr %t2930, ptr null) + store ptr %t2942, ptr %s2931 + %t2943 = load i32, ptr %exc.cell + %t2944 = icmp ne i32 %t2943, 0 + %t2945 = call i1 @llvm.expect.i1(i1 %t2944, i1 false) + br i1 %t2945, label %exc.u1148, label %exc.k1149 +exc.u1148: + call void @scr_dyn_release(ptr %t2930) + br label %exc.cleanup2 +exc.k1149: + br label %dc.done1147 +dc.done1147: + %t2946 = load ptr, ptr %s2931 + %t2947 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2946, i64 0, i32 6 + %t2948 = load ptr, ptr %t2947, !tbaa !204 + %t2949 = call ptr @sc_rc_retain_dyn(ptr %t2948) + call void @scr_dyn_release(ptr %t2930) + call void @sc_release__x25_m5_MpCfg(ptr %t2946) + %t2950 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2950) + ret ptr %t2949 +if.j1126: + %t2951 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2952 + %t2953 = icmp ne ptr %t2951, null + br i1 %t2953, label %brand.inspect1150, label %brand.done1152 +brand.inspect1150: + %t2954 = getelementptr inbounds i8, ptr %t2951, i64 8 ; ->kind + %t2955 = load i32, ptr %t2954 + %t2956 = icmp eq i32 %t2955, 12 + br i1 %t2956, label %brand.capsule1151, label %brand.done1152 +brand.capsule1151: + %t2957 = getelementptr inbounds i8, ptr %t2951, i64 40 ; ->v.typed_ref.type_key + %t2958 = load ptr, ptr %t2957 + %t2959 = icmp eq ptr %t2958, @sc_cs_3635319175845957 + store i1 true, ptr %s2952 + br i1 %t2959, label %brand.done1152, label %brand.compare1153 +brand.compare1153: + %t2960 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2951, ptr @sc_lit_3635319175845957) + store i1 %t2960, ptr %s2952 + br label %brand.done1152 +brand.done1152: + %t2961 = load i1, ptr %s2952 + br i1 %t2961, label %tern.t1154, label %tern.f1155 +tern.t1154: + %t2963 = load ptr, ptr %sc_l_p_0 + %t2964 = call ptr @sc_rc_retain_dyn(ptr %t2963) + %t2966 = icmp ne ptr %t2964, null + br i1 %t2966, label %dc.inspect1157, label %dc.checked1160 +dc.inspect1157: + %t2971 = getelementptr inbounds i8, ptr %t2964, i64 8 ; ->kind + %t2972 = load i32, ptr %t2971 + %t2967 = icmp eq i32 %t2972, 12 + br i1 %t2967, label %dc.capsule1158, label %dc.checked1160 +dc.capsule1158: + %t2968 = getelementptr inbounds i8, ptr %t2964, i64 40 ; ->v.typed_ref.type_key + %t2969 = load ptr, ptr %t2968 + %t2970 = icmp eq ptr %t2969, @sc_cs_3635319175845957 + br i1 %t2970, label %dc.exact1159, label %dc.checked1160 +dc.exact1159: + %t2973 = getelementptr inbounds i8, ptr %t2964, i64 16 ; ->v.typed_ref.ptr + %t2974 = load ptr, ptr %t2973 + %t2975 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2974) + store ptr %t2975, ptr %s2965 + br label %dc.done1161 +dc.checked1160: + %t2976 = call ptr @sc_dc_24(ptr %t2964, ptr null) + store ptr %t2976, ptr %s2965 + %t2977 = load i32, ptr %exc.cell + %t2978 = icmp ne i32 %t2977, 0 + %t2979 = call i1 @llvm.expect.i1(i1 %t2978, i1 false) + br i1 %t2979, label %exc.u1162, label %exc.k1163 +exc.u1162: + call void @scr_dyn_release(ptr %t2964) + br label %exc.cleanup2 +exc.k1163: + br label %dc.done1161 +dc.done1161: + %t2980 = load ptr, ptr %s2965 + %t2981 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2980, i64 0, i32 1 + %t2982 = load ptr, ptr %t2981 + %t2983 = getelementptr inbounds %ScrVt, ptr %t2982, i64 0, i32 0 + %t2984 = load i64, ptr %t2983 + %t2985 = icmp uge i64 %t2984, 26 + %t2986 = icmp ule i64 %t2984, 26 + %t2987 = and i1 %t2985, %t2986 ; instanceof %m4.MemoryStorage + store i1 %t2987, ptr %s2962 + call void @scr_dyn_release(ptr %t2964) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2980) + br label %tern.j1156 +tern.f1155: + store i1 false, ptr %s2962 + br label %tern.j1156 +tern.j1156: + %t2988 = load i1, ptr %s2962 + br i1 %t2988, label %if.t1164, label %if.j1165 +if.t1164: + %t2989 = load ptr, ptr %sc_l_p_0 + %t2990 = call ptr @sc_rc_retain_dyn(ptr %t2989) + %t2992 = icmp ne ptr %t2990, null + br i1 %t2992, label %dc.inspect1166, label %dc.checked1169 +dc.inspect1166: + %t2997 = getelementptr inbounds i8, ptr %t2990, i64 8 ; ->kind + %t2998 = load i32, ptr %t2997 + %t2993 = icmp eq i32 %t2998, 12 + br i1 %t2993, label %dc.capsule1167, label %dc.checked1169 +dc.capsule1167: + %t2994 = getelementptr inbounds i8, ptr %t2990, i64 40 ; ->v.typed_ref.type_key + %t2995 = load ptr, ptr %t2994 + %t2996 = icmp eq ptr %t2995, @sc_cs_3635319175845957 + br i1 %t2996, label %dc.exact1168, label %dc.checked1169 +dc.exact1168: + %t2999 = getelementptr inbounds i8, ptr %t2990, i64 16 ; ->v.typed_ref.ptr + %t3000 = load ptr, ptr %t2999 + %t3001 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3000) + store ptr %t3001, ptr %s2991 + br label %dc.done1170 +dc.checked1169: + %t3002 = call ptr @sc_dc_24(ptr %t2990, ptr null) + store ptr %t3002, ptr %s2991 + %t3003 = load i32, ptr %exc.cell + %t3004 = icmp ne i32 %t3003, 0 + %t3005 = call i1 @llvm.expect.i1(i1 %t3004, i1 false) + br i1 %t3005, label %exc.u1171, label %exc.k1172 +exc.u1171: + call void @scr_dyn_release(ptr %t2990) + br label %exc.cleanup2 +exc.k1172: + br label %dc.done1170 +dc.done1170: + %t3006 = load ptr, ptr %s2991 + %t3007 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t3006, i64 0, i32 2 + %t3008 = load ptr, ptr %t3007, !tbaa !204 + %t3009 = getelementptr inbounds i8, ptr %t3008, i64 8 ; ->kind + %t3010 = load i32, ptr %t3009 + %t3011 = icmp eq i32 %t3010, 6 + call void @scr_dyn_release(ptr %t2990) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3006) + br i1 %t3011, label %if.t1173, label %if.j1174 +if.t1173: + %t3012 = load ptr, ptr %sc_l_p_0 + %t3013 = call ptr @sc_rc_retain_dyn(ptr %t3012) + %t3015 = icmp ne ptr %t3013, null + br i1 %t3015, label %dc.inspect1175, label %dc.checked1178 +dc.inspect1175: + %t3020 = getelementptr inbounds i8, ptr %t3013, i64 8 ; ->kind + %t3021 = load i32, ptr %t3020 + %t3016 = icmp eq i32 %t3021, 12 + br i1 %t3016, label %dc.capsule1176, label %dc.checked1178 +dc.capsule1176: + %t3017 = getelementptr inbounds i8, ptr %t3013, i64 40 ; ->v.typed_ref.type_key + %t3018 = load ptr, ptr %t3017 + %t3019 = icmp eq ptr %t3018, @sc_cs_3635319175845957 + br i1 %t3019, label %dc.exact1177, label %dc.checked1178 +dc.exact1177: + %t3022 = getelementptr inbounds i8, ptr %t3013, i64 16 ; ->v.typed_ref.ptr + %t3023 = load ptr, ptr %t3022 + %t3024 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3023) + store ptr %t3024, ptr %s3014 + br label %dc.done1179 +dc.checked1178: + %t3025 = call ptr @sc_dc_24(ptr %t3013, ptr null) + store ptr %t3025, ptr %s3014 + %t3026 = load i32, ptr %exc.cell + %t3027 = icmp ne i32 %t3026, 0 + %t3028 = call i1 @llvm.expect.i1(i1 %t3027, i1 false) + br i1 %t3028, label %exc.u1180, label %exc.k1181 +exc.u1180: + call void @scr_dyn_release(ptr %t3013) + br label %exc.cleanup2 +exc.k1181: + br label %dc.done1179 +dc.done1179: + %t3029 = load ptr, ptr %s3014 + %t3030 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t3031 = load i32, ptr %exc.cell + %t3032 = icmp ne i32 %t3031, 0 + %t3033 = call i1 @llvm.expect.i1(i1 %t3032, i1 false) + br i1 %t3033, label %exc.u1182, label %exc.k1183 +exc.u1182: + call void @scr_dyn_release(ptr %t3013) + call void @sc_release__x25_m4_MemoryStorage(ptr %t3029) + call void @scr_dyn_release(ptr %t3030) + br label %exc.cleanup2 +exc.k1183: + %t3034 = call ptr @scr_dyn_obj_create(ptr %t3030) + %t3035 = load i32, ptr %exc.cell + %t3036 = icmp ne i32 %t3035, 0 + %t3037 = call i1 @llvm.expect.i1(i1 %t3036, i1 false) + br i1 %t3037, label %exc.u1184, label %exc.k1185 +exc.u1184: + call void @scr_dyn_release(ptr %t3013) + call void @sc_release__x25_m4_MemoryStorage(ptr %t3029) + call void @scr_dyn_release(ptr %t3030) + call void @scr_dyn_release(ptr %t3034) + br label %exc.cleanup2 +exc.k1185: + %t3038 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t3029, i64 0, i32 2 + %t3039 = load ptr, ptr %t3038 + store ptr %t3034, ptr %t3038, !tbaa !204 + call void @scr_dyn_release(ptr %t3039) + call void @scr_dyn_release(ptr %t3013) + call void @sc_release__x25_m4_MemoryStorage(ptr %t3029) + call void @scr_dyn_release(ptr %t3030) + br label %if.j1174 +if.j1174: + %t3040 = load ptr, ptr %sc_l_p_0 + %t3041 = call ptr @sc_rc_retain_dyn(ptr %t3040) + %t3043 = icmp ne ptr %t3041, null + br i1 %t3043, label %dc.inspect1186, label %dc.checked1189 +dc.inspect1186: + %t3048 = getelementptr inbounds i8, ptr %t3041, i64 8 ; ->kind + %t3049 = load i32, ptr %t3048 + %t3044 = icmp eq i32 %t3049, 12 + br i1 %t3044, label %dc.capsule1187, label %dc.checked1189 +dc.capsule1187: + %t3045 = getelementptr inbounds i8, ptr %t3041, i64 40 ; ->v.typed_ref.type_key + %t3046 = load ptr, ptr %t3045 + %t3047 = icmp eq ptr %t3046, @sc_cs_3635319175845957 + br i1 %t3047, label %dc.exact1188, label %dc.checked1189 +dc.exact1188: + %t3050 = getelementptr inbounds i8, ptr %t3041, i64 16 ; ->v.typed_ref.ptr + %t3051 = load ptr, ptr %t3050 + %t3052 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3051) + store ptr %t3052, ptr %s3042 + br label %dc.done1190 +dc.checked1189: + %t3053 = call ptr @sc_dc_24(ptr %t3041, ptr null) + store ptr %t3053, ptr %s3042 + %t3054 = load i32, ptr %exc.cell + %t3055 = icmp ne i32 %t3054, 0 + %t3056 = call i1 @llvm.expect.i1(i1 %t3055, i1 false) + br i1 %t3056, label %exc.u1191, label %exc.k1192 +exc.u1191: + call void @scr_dyn_release(ptr %t3041) + br label %exc.cleanup2 +exc.k1192: + br label %dc.done1190 +dc.done1190: + %t3057 = load ptr, ptr %s3042 + %t3058 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t3057, i64 0, i32 2 + %t3059 = load ptr, ptr %t3058, !tbaa !204 + %t3060 = call ptr @sc_rc_retain_dyn(ptr %t3059) + call void @scr_dyn_release(ptr %t3041) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3057) + %t3061 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t3061) + ret ptr %t3060 +if.j1165: + %t3062 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s3063 + %t3064 = icmp ne ptr %t3062, null + br i1 %t3064, label %brand.inspect1193, label %brand.done1195 +brand.inspect1193: + %t3065 = getelementptr inbounds i8, ptr %t3062, i64 8 ; ->kind + %t3066 = load i32, ptr %t3065 + %t3067 = icmp eq i32 %t3066, 12 + br i1 %t3067, label %brand.capsule1194, label %brand.done1195 +brand.capsule1194: + %t3068 = getelementptr inbounds i8, ptr %t3062, i64 40 ; ->v.typed_ref.type_key + %t3069 = load ptr, ptr %t3068 + %t3070 = icmp eq ptr %t3069, @sc_cs_3635319175845957 + store i1 true, ptr %s3063 + br i1 %t3070, label %brand.done1195, label %brand.compare1196 +brand.compare1196: + %t3071 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t3062, ptr @sc_lit_3635319175845957) + store i1 %t3071, ptr %s3063 + br label %brand.done1195 +brand.done1195: + %t3072 = load i1, ptr %s3063 + br i1 %t3072, label %if.t1197, label %if.j1198 +if.t1197: + %t3073 = load ptr, ptr %sc_l_p_0 + %t3074 = call ptr @sc_rc_retain_dyn(ptr %t3073) + %t3076 = icmp ne ptr %t3074, null + br i1 %t3076, label %dc.inspect1199, label %dc.checked1202 +dc.inspect1199: + %t3081 = getelementptr inbounds i8, ptr %t3074, i64 8 ; ->kind + %t3082 = load i32, ptr %t3081 + %t3077 = icmp eq i32 %t3082, 12 + br i1 %t3077, label %dc.capsule1200, label %dc.checked1202 +dc.capsule1200: + %t3078 = getelementptr inbounds i8, ptr %t3074, i64 40 ; ->v.typed_ref.type_key + %t3079 = load ptr, ptr %t3078 + %t3080 = icmp eq ptr %t3079, @sc_cs_3635319175845957 + br i1 %t3080, label %dc.exact1201, label %dc.checked1202 +dc.exact1201: + %t3083 = getelementptr inbounds i8, ptr %t3074, i64 16 ; ->v.typed_ref.ptr + %t3084 = load ptr, ptr %t3083 + %t3085 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3084) + store ptr %t3085, ptr %s3075 + br label %dc.done1203 +dc.checked1202: + %t3086 = call ptr @sc_dc_24(ptr %t3074, ptr null) + store ptr %t3086, ptr %s3075 + %t3087 = load i32, ptr %exc.cell + %t3088 = icmp ne i32 %t3087, 0 + %t3089 = call i1 @llvm.expect.i1(i1 %t3088, i1 false) + br i1 %t3089, label %exc.u1204, label %exc.k1205 +exc.u1204: + call void @scr_dyn_release(ptr %t3074) + br label %exc.cleanup2 +exc.k1205: + br label %dc.done1203 +dc.done1203: + %t3090 = load ptr, ptr %s3075 + %t3091 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t3090, i64 0, i32 2 + %t3092 = load ptr, ptr %t3091, !tbaa !204 + %t3093 = getelementptr inbounds i8, ptr %t3092, i64 8 ; ->kind + %t3094 = load i32, ptr %t3093 + %t3095 = icmp eq i32 %t3094, 6 + call void @scr_dyn_release(ptr %t3074) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3090) + br i1 %t3095, label %if.t1206, label %if.j1207 +if.t1206: + %t3096 = load ptr, ptr %sc_l_p_0 + %t3097 = call ptr @sc_rc_retain_dyn(ptr %t3096) + %t3099 = icmp ne ptr %t3097, null + br i1 %t3099, label %dc.inspect1208, label %dc.checked1211 +dc.inspect1208: + %t3104 = getelementptr inbounds i8, ptr %t3097, i64 8 ; ->kind + %t3105 = load i32, ptr %t3104 + %t3100 = icmp eq i32 %t3105, 12 + br i1 %t3100, label %dc.capsule1209, label %dc.checked1211 +dc.capsule1209: + %t3101 = getelementptr inbounds i8, ptr %t3097, i64 40 ; ->v.typed_ref.type_key + %t3102 = load ptr, ptr %t3101 + %t3103 = icmp eq ptr %t3102, @sc_cs_3635319175845957 + br i1 %t3103, label %dc.exact1210, label %dc.checked1211 +dc.exact1210: + %t3106 = getelementptr inbounds i8, ptr %t3097, i64 16 ; ->v.typed_ref.ptr + %t3107 = load ptr, ptr %t3106 + %t3108 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3107) + store ptr %t3108, ptr %s3098 + br label %dc.done1212 +dc.checked1211: + %t3109 = call ptr @sc_dc_24(ptr %t3097, ptr null) + store ptr %t3109, ptr %s3098 + %t3110 = load i32, ptr %exc.cell + %t3111 = icmp ne i32 %t3110, 0 + %t3112 = call i1 @llvm.expect.i1(i1 %t3111, i1 false) + br i1 %t3112, label %exc.u1213, label %exc.k1214 +exc.u1213: + call void @scr_dyn_release(ptr %t3097) + br label %exc.cleanup2 +exc.k1214: + br label %dc.done1212 +dc.done1212: + %t3113 = load ptr, ptr %s3098 + %t3114 = load ptr, ptr %sc_l_p_0 + %t3115 = call ptr @sc_rc_retain_dyn(ptr %t3114) + %t3117 = icmp ne ptr %t3115, null + br i1 %t3117, label %dc.inspect1215, label %dc.checked1218 +dc.inspect1215: + %t3122 = getelementptr inbounds i8, ptr %t3115, i64 8 ; ->kind + %t3123 = load i32, ptr %t3122 + %t3118 = icmp eq i32 %t3123, 12 + br i1 %t3118, label %dc.capsule1216, label %dc.checked1218 +dc.capsule1216: + %t3119 = getelementptr inbounds i8, ptr %t3115, i64 40 ; ->v.typed_ref.type_key + %t3120 = load ptr, ptr %t3119 + %t3121 = icmp eq ptr %t3120, @sc_cs_3635319175845957 + br i1 %t3121, label %dc.exact1217, label %dc.checked1218 +dc.exact1217: + %t3124 = getelementptr inbounds i8, ptr %t3115, i64 16 ; ->v.typed_ref.ptr + %t3125 = load ptr, ptr %t3124 + %t3126 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3125) + store ptr %t3126, ptr %s3116 + br label %dc.done1219 +dc.checked1218: + %t3127 = call ptr @sc_dc_24(ptr %t3115, ptr null) + store ptr %t3127, ptr %s3116 + %t3128 = load i32, ptr %exc.cell + %t3129 = icmp ne i32 %t3128, 0 + %t3130 = call i1 @llvm.expect.i1(i1 %t3129, i1 false) + br i1 %t3130, label %exc.u1220, label %exc.k1221 +exc.u1220: + call void @scr_dyn_release(ptr %t3097) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3113) + call void @scr_dyn_release(ptr %t3115) + br label %exc.cleanup2 +exc.k1221: + br label %dc.done1219 +dc.done1219: + %t3131 = load ptr, ptr %s3116 + %t3132 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t3131, i64 0, i32 1 + %t3133 = load ptr, ptr %t3132 + %t3134 = getelementptr inbounds %ScrVt, ptr %t3133, i64 0, i32 0 + %t3135 = load i64, ptr %t3134 + %t3136 = icmp uge i64 %t3135, 26 + %t3137 = icmp ule i64 %t3135, 26 + %t3138 = and i1 %t3136, %t3137 ; instanceof %m4.MemoryStorage + br i1 %t3138, label %tern.t1222, label %tern.f1223 +tern.t1222: + %t3140 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t3141 = load i32, ptr %exc.cell + %t3142 = icmp ne i32 %t3141, 0 + %t3143 = call i1 @llvm.expect.i1(i1 %t3142, i1 false) + br i1 %t3143, label %exc.u1225, label %exc.k1226 +exc.u1225: + call void @scr_dyn_release(ptr %t3140) + call void @scr_dyn_release(ptr %t3097) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3113) + call void @scr_dyn_release(ptr %t3115) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3131) + br label %exc.cleanup2 +exc.k1226: + store ptr %t3140, ptr %s3139 + br label %tern.j1224 +tern.f1223: + %t3144 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage() + %t3145 = load i32, ptr %exc.cell + %t3146 = icmp ne i32 %t3145, 0 + %t3147 = call i1 @llvm.expect.i1(i1 %t3146, i1 false) + br i1 %t3147, label %exc.u1227, label %exc.k1228 +exc.u1227: + call void @scr_dyn_release(ptr %t3144) + call void @scr_dyn_release(ptr %t3097) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3113) + call void @scr_dyn_release(ptr %t3115) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3131) + br label %exc.cleanup2 +exc.k1228: + store ptr %t3144, ptr %s3139 + br label %tern.j1224 +tern.j1224: + %t3148 = load ptr, ptr %s3139 + %t3149 = call ptr @scr_dyn_obj_create(ptr %t3148) + %t3150 = load i32, ptr %exc.cell + %t3151 = icmp ne i32 %t3150, 0 + %t3152 = call i1 @llvm.expect.i1(i1 %t3151, i1 false) + br i1 %t3152, label %exc.u1229, label %exc.k1230 +exc.u1229: + call void @scr_dyn_release(ptr %t3097) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3113) + call void @scr_dyn_release(ptr %t3115) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3131) + call void @scr_dyn_release(ptr %t3148) + call void @scr_dyn_release(ptr %t3149) + br label %exc.cleanup2 +exc.k1230: + %t3153 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t3113, i64 0, i32 2 + %t3154 = load ptr, ptr %t3153 + store ptr %t3149, ptr %t3153, !tbaa !204 + call void @scr_dyn_release(ptr %t3154) + call void @scr_dyn_release(ptr %t3097) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3113) + call void @scr_dyn_release(ptr %t3115) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3131) + call void @scr_dyn_release(ptr %t3148) + br label %if.j1207 +if.j1207: + %t3155 = load ptr, ptr %sc_l_p_0 + %t3156 = call ptr @sc_rc_retain_dyn(ptr %t3155) + %t3158 = icmp ne ptr %t3156, null + br i1 %t3158, label %dc.inspect1231, label %dc.checked1234 +dc.inspect1231: + %t3163 = getelementptr inbounds i8, ptr %t3156, i64 8 ; ->kind + %t3164 = load i32, ptr %t3163 + %t3159 = icmp eq i32 %t3164, 12 + br i1 %t3159, label %dc.capsule1232, label %dc.checked1234 +dc.capsule1232: + %t3160 = getelementptr inbounds i8, ptr %t3156, i64 40 ; ->v.typed_ref.type_key + %t3161 = load ptr, ptr %t3160 + %t3162 = icmp eq ptr %t3161, @sc_cs_3635319175845957 + br i1 %t3162, label %dc.exact1233, label %dc.checked1234 +dc.exact1233: + %t3165 = getelementptr inbounds i8, ptr %t3156, i64 16 ; ->v.typed_ref.ptr + %t3166 = load ptr, ptr %t3165 + %t3167 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3166) + store ptr %t3167, ptr %s3157 + br label %dc.done1235 +dc.checked1234: + %t3168 = call ptr @sc_dc_24(ptr %t3156, ptr null) + store ptr %t3168, ptr %s3157 + %t3169 = load i32, ptr %exc.cell + %t3170 = icmp ne i32 %t3169, 0 + %t3171 = call i1 @llvm.expect.i1(i1 %t3170, i1 false) + br i1 %t3171, label %exc.u1236, label %exc.k1237 +exc.u1236: + call void @scr_dyn_release(ptr %t3156) + br label %exc.cleanup2 +exc.k1237: + br label %dc.done1235 +dc.done1235: + %t3172 = load ptr, ptr %s3157 + %t3173 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t3172, i64 0, i32 2 + %t3174 = load ptr, ptr %t3173, !tbaa !204 + %t3175 = call ptr @sc_rc_retain_dyn(ptr %t3174) + call void @scr_dyn_release(ptr %t3156) + call void @sc_release__x25_m4_MultipartStorage(ptr %t3172) + %t3176 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t3176) + ret ptr %t3175 +if.j1198: + %t3177 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s3178 + %t3179 = icmp ne ptr %t3177, null + br i1 %t3179, label %brand.inspect1238, label %brand.done1240 +brand.inspect1238: + %t3180 = getelementptr inbounds i8, ptr %t3177, i64 8 ; ->kind + %t3181 = load i32, ptr %t3180 + %t3182 = icmp eq i32 %t3181, 12 + br i1 %t3182, label %brand.capsule1239, label %brand.done1240 +brand.capsule1239: + %t3183 = getelementptr inbounds i8, ptr %t3177, i64 40 ; ->v.typed_ref.type_key + %t3184 = load ptr, ptr %t3183 + %t3185 = icmp eq ptr %t3184, @sc_cs_4143564844538255 + store i1 true, ptr %s3178 + br i1 %t3185, label %brand.done1240, label %brand.compare1241 +brand.compare1241: + %t3186 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t3177, ptr @sc_lit_4143564844538255) + store i1 %t3186, ptr %s3178 + br label %brand.done1240 +brand.done1240: + %t3187 = load i1, ptr %s3178 + br i1 %t3187, label %if.t1242, label %if.j1243 +if.t1242: + %t3188 = load ptr, ptr %sc_l_p_0 + %t3189 = call ptr @sc_rc_retain_dyn(ptr %t3188) + %t3191 = icmp ne ptr %t3189, null + br i1 %t3191, label %dc.inspect1244, label %dc.checked1247 +dc.inspect1244: + %t3196 = getelementptr inbounds i8, ptr %t3189, i64 8 ; ->kind + %t3197 = load i32, ptr %t3196 + %t3192 = icmp eq i32 %t3197, 12 + br i1 %t3192, label %dc.capsule1245, label %dc.checked1247 +dc.capsule1245: + %t3193 = getelementptr inbounds i8, ptr %t3189, i64 40 ; ->v.typed_ref.type_key + %t3194 = load ptr, ptr %t3193 + %t3195 = icmp eq ptr %t3194, @sc_cs_4143564844538255 + br i1 %t3195, label %dc.exact1246, label %dc.checked1247 +dc.exact1246: + %t3198 = getelementptr inbounds i8, ptr %t3189, i64 16 ; ->v.typed_ref.ptr + %t3199 = load ptr, ptr %t3198 + %t3200 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t3199) + store ptr %t3200, ptr %s3190 + br label %dc.done1248 +dc.checked1247: + %t3201 = call ptr @sc_dc_109(ptr %t3189, ptr null) + store ptr %t3201, ptr %s3190 + %t3202 = load i32, ptr %exc.cell + %t3203 = icmp ne i32 %t3202, 0 + %t3204 = call i1 @llvm.expect.i1(i1 %t3203, i1 false) + br i1 %t3204, label %exc.u1249, label %exc.k1250 +exc.u1249: + call void @scr_dyn_release(ptr %t3189) + br label %exc.cleanup2 +exc.k1250: + br label %dc.done1248 +dc.done1248: + %t3205 = load ptr, ptr %s3190 + %t3206 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t3205, i64 0, i32 2 + %t3207 = load ptr, ptr %t3206, !tbaa !204 + %t3208 = getelementptr inbounds i8, ptr %t3207, i64 8 ; ->kind + %t3209 = load i32, ptr %t3208 + %t3210 = icmp eq i32 %t3209, 6 + call void @scr_dyn_release(ptr %t3189) + call void @sc_release__x25_m14_BakedAssets(ptr %t3205) + br i1 %t3210, label %if.t1251, label %if.j1252 +if.t1251: + %t3211 = load ptr, ptr %sc_l_p_0 + %t3212 = call ptr @sc_rc_retain_dyn(ptr %t3211) + %t3214 = icmp ne ptr %t3212, null + br i1 %t3214, label %dc.inspect1253, label %dc.checked1256 +dc.inspect1253: + %t3219 = getelementptr inbounds i8, ptr %t3212, i64 8 ; ->kind + %t3220 = load i32, ptr %t3219 + %t3215 = icmp eq i32 %t3220, 12 + br i1 %t3215, label %dc.capsule1254, label %dc.checked1256 +dc.capsule1254: + %t3216 = getelementptr inbounds i8, ptr %t3212, i64 40 ; ->v.typed_ref.type_key + %t3217 = load ptr, ptr %t3216 + %t3218 = icmp eq ptr %t3217, @sc_cs_4143564844538255 + br i1 %t3218, label %dc.exact1255, label %dc.checked1256 +dc.exact1255: + %t3221 = getelementptr inbounds i8, ptr %t3212, i64 16 ; ->v.typed_ref.ptr + %t3222 = load ptr, ptr %t3221 + %t3223 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t3222) + store ptr %t3223, ptr %s3213 + br label %dc.done1257 +dc.checked1256: + %t3224 = call ptr @sc_dc_109(ptr %t3212, ptr null) + store ptr %t3224, ptr %s3213 + %t3225 = load i32, ptr %exc.cell + %t3226 = icmp ne i32 %t3225, 0 + %t3227 = call i1 @llvm.expect.i1(i1 %t3226, i1 false) + br i1 %t3227, label %exc.u1258, label %exc.k1259 +exc.u1258: + call void @scr_dyn_release(ptr %t3212) + br label %exc.cleanup2 +exc.k1259: + br label %dc.done1257 +dc.done1257: + %t3228 = load ptr, ptr %s3213 + %t3229 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t3230 = load i32, ptr %exc.cell + %t3231 = icmp ne i32 %t3230, 0 + %t3232 = call i1 @llvm.expect.i1(i1 %t3231, i1 false) + br i1 %t3232, label %exc.u1260, label %exc.k1261 +exc.u1260: + call void @scr_dyn_release(ptr %t3212) + call void @sc_release__x25_m14_BakedAssets(ptr %t3228) + call void @scr_dyn_release(ptr %t3229) + br label %exc.cleanup2 +exc.k1261: + %t3233 = call ptr @scr_dyn_obj_create(ptr %t3229) + %t3234 = load i32, ptr %exc.cell + %t3235 = icmp ne i32 %t3234, 0 + %t3236 = call i1 @llvm.expect.i1(i1 %t3235, i1 false) + br i1 %t3236, label %exc.u1262, label %exc.k1263 +exc.u1262: + call void @scr_dyn_release(ptr %t3212) + call void @sc_release__x25_m14_BakedAssets(ptr %t3228) + call void @scr_dyn_release(ptr %t3229) + call void @scr_dyn_release(ptr %t3233) + br label %exc.cleanup2 +exc.k1263: + %t3237 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t3228, i64 0, i32 2 + %t3238 = load ptr, ptr %t3237 + store ptr %t3233, ptr %t3237, !tbaa !204 + call void @scr_dyn_release(ptr %t3238) + call void @scr_dyn_release(ptr %t3212) + call void @sc_release__x25_m14_BakedAssets(ptr %t3228) + call void @scr_dyn_release(ptr %t3229) + br label %if.j1252 +if.j1252: + %t3239 = load ptr, ptr %sc_l_p_0 + %t3240 = call ptr @sc_rc_retain_dyn(ptr %t3239) + %t3242 = icmp ne ptr %t3240, null + br i1 %t3242, label %dc.inspect1264, label %dc.checked1267 +dc.inspect1264: + %t3247 = getelementptr inbounds i8, ptr %t3240, i64 8 ; ->kind + %t3248 = load i32, ptr %t3247 + %t3243 = icmp eq i32 %t3248, 12 + br i1 %t3243, label %dc.capsule1265, label %dc.checked1267 +dc.capsule1265: + %t3244 = getelementptr inbounds i8, ptr %t3240, i64 40 ; ->v.typed_ref.type_key + %t3245 = load ptr, ptr %t3244 + %t3246 = icmp eq ptr %t3245, @sc_cs_4143564844538255 + br i1 %t3246, label %dc.exact1266, label %dc.checked1267 +dc.exact1266: + %t3249 = getelementptr inbounds i8, ptr %t3240, i64 16 ; ->v.typed_ref.ptr + %t3250 = load ptr, ptr %t3249 + %t3251 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t3250) + store ptr %t3251, ptr %s3241 + br label %dc.done1268 +dc.checked1267: + %t3252 = call ptr @sc_dc_109(ptr %t3240, ptr null) + store ptr %t3252, ptr %s3241 + %t3253 = load i32, ptr %exc.cell + %t3254 = icmp ne i32 %t3253, 0 + %t3255 = call i1 @llvm.expect.i1(i1 %t3254, i1 false) + br i1 %t3255, label %exc.u1269, label %exc.k1270 +exc.u1269: + call void @scr_dyn_release(ptr %t3240) + br label %exc.cleanup2 +exc.k1270: + br label %dc.done1268 +dc.done1268: + %t3256 = load ptr, ptr %s3241 + %t3257 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t3256, i64 0, i32 2 + %t3258 = load ptr, ptr %t3257, !tbaa !204 + %t3259 = call ptr @sc_rc_retain_dyn(ptr %t3258) + call void @scr_dyn_release(ptr %t3240) + call void @sc_release__x25_m14_BakedAssets(ptr %t3256) + %t3260 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t3260) + ret ptr %t3259 +if.j1243: + %t3261 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s3262 + %t3263 = icmp ne ptr %t3261, null + br i1 %t3263, label %brand.inspect1271, label %brand.done1273 +brand.inspect1271: + %t3264 = getelementptr inbounds i8, ptr %t3261, i64 8 ; ->kind + %t3265 = load i32, ptr %t3264 + %t3266 = icmp eq i32 %t3265, 12 + br i1 %t3266, label %brand.capsule1272, label %brand.done1273 +brand.capsule1272: + %t3267 = getelementptr inbounds i8, ptr %t3261, i64 40 ; ->v.typed_ref.type_key + %t3268 = load ptr, ptr %t3267 + %t3269 = icmp eq ptr %t3268, @sc_cs_2875643240706496 + store i1 true, ptr %s3262 + br i1 %t3269, label %brand.done1273, label %brand.compare1274 +brand.compare1274: + %t3270 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t3261, ptr @sc_lit_2875643240706496) + store i1 %t3270, ptr %s3262 + br label %brand.done1273 +brand.done1273: + %t3271 = load i1, ptr %s3262 + br i1 %t3271, label %if.t1275, label %if.j1276 +if.t1275: + %t3272 = load ptr, ptr %sc_l_p_0 + %t3273 = call ptr @sc_rc_retain_dyn(ptr %t3272) + %t3275 = icmp ne ptr %t3273, null + br i1 %t3275, label %dc.inspect1277, label %dc.checked1280 +dc.inspect1277: + %t3280 = getelementptr inbounds i8, ptr %t3273, i64 8 ; ->kind + %t3281 = load i32, ptr %t3280 + %t3276 = icmp eq i32 %t3281, 12 + br i1 %t3276, label %dc.capsule1278, label %dc.checked1280 +dc.capsule1278: + %t3277 = getelementptr inbounds i8, ptr %t3273, i64 40 ; ->v.typed_ref.type_key + %t3278 = load ptr, ptr %t3277 + %t3279 = icmp eq ptr %t3278, @sc_cs_2875643240706496 + br i1 %t3279, label %dc.exact1279, label %dc.checked1280 +dc.exact1279: + %t3282 = getelementptr inbounds i8, ptr %t3273, i64 16 ; ->v.typed_ref.ptr + %t3283 = load ptr, ptr %t3282 + %t3284 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t3283) + store ptr %t3284, ptr %s3274 + br label %dc.done1281 +dc.checked1280: + %t3285 = call ptr @sc_dc_48(ptr %t3273, ptr null) + store ptr %t3285, ptr %s3274 + %t3286 = load i32, ptr %exc.cell + %t3287 = icmp ne i32 %t3286, 0 + %t3288 = call i1 @llvm.expect.i1(i1 %t3287, i1 false) + br i1 %t3288, label %exc.u1282, label %exc.k1283 +exc.u1282: + call void @scr_dyn_release(ptr %t3273) + br label %exc.cleanup2 +exc.k1283: + br label %dc.done1281 +dc.done1281: + %t3289 = load ptr, ptr %s3274 + %t3290 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t3289, i64 0, i32 8 + %t3291 = load ptr, ptr %t3290, !tbaa !204 + %t3292 = getelementptr inbounds i8, ptr %t3291, i64 8 ; ->kind + %t3293 = load i32, ptr %t3292 + %t3294 = icmp eq i32 %t3293, 6 + call void @scr_dyn_release(ptr %t3273) + call void @sc_release__x25_m5_CtxCore(ptr %t3289) + br i1 %t3294, label %if.t1284, label %if.j1285 +if.t1284: + %t3295 = load ptr, ptr %sc_l_p_0 + %t3296 = call ptr @sc_rc_retain_dyn(ptr %t3295) + %t3298 = icmp ne ptr %t3296, null + br i1 %t3298, label %dc.inspect1286, label %dc.checked1289 +dc.inspect1286: + %t3303 = getelementptr inbounds i8, ptr %t3296, i64 8 ; ->kind + %t3304 = load i32, ptr %t3303 + %t3299 = icmp eq i32 %t3304, 12 + br i1 %t3299, label %dc.capsule1287, label %dc.checked1289 +dc.capsule1287: + %t3300 = getelementptr inbounds i8, ptr %t3296, i64 40 ; ->v.typed_ref.type_key + %t3301 = load ptr, ptr %t3300 + %t3302 = icmp eq ptr %t3301, @sc_cs_2875643240706496 + br i1 %t3302, label %dc.exact1288, label %dc.checked1289 +dc.exact1288: + %t3305 = getelementptr inbounds i8, ptr %t3296, i64 16 ; ->v.typed_ref.ptr + %t3306 = load ptr, ptr %t3305 + %t3307 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t3306) + store ptr %t3307, ptr %s3297 + br label %dc.done1290 +dc.checked1289: + %t3308 = call ptr @sc_dc_48(ptr %t3296, ptr null) + store ptr %t3308, ptr %s3297 + %t3309 = load i32, ptr %exc.cell + %t3310 = icmp ne i32 %t3309, 0 + %t3311 = call i1 @llvm.expect.i1(i1 %t3310, i1 false) + br i1 %t3311, label %exc.u1291, label %exc.k1292 +exc.u1291: + call void @scr_dyn_release(ptr %t3296) + br label %exc.cleanup2 +exc.k1292: + br label %dc.done1290 +dc.done1290: + %t3312 = load ptr, ptr %s3297 + %t3313 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore() + %t3314 = load i32, ptr %exc.cell + %t3315 = icmp ne i32 %t3314, 0 + %t3316 = call i1 @llvm.expect.i1(i1 %t3315, i1 false) + br i1 %t3316, label %exc.u1293, label %exc.k1294 +exc.u1293: + call void @scr_dyn_release(ptr %t3296) + call void @sc_release__x25_m5_CtxCore(ptr %t3312) + call void @scr_dyn_release(ptr %t3313) + br label %exc.cleanup2 +exc.k1294: + %t3317 = call ptr @scr_dyn_obj_create(ptr %t3313) + %t3318 = load i32, ptr %exc.cell + %t3319 = icmp ne i32 %t3318, 0 + %t3320 = call i1 @llvm.expect.i1(i1 %t3319, i1 false) + br i1 %t3320, label %exc.u1295, label %exc.k1296 +exc.u1295: + call void @scr_dyn_release(ptr %t3296) + call void @sc_release__x25_m5_CtxCore(ptr %t3312) + call void @scr_dyn_release(ptr %t3313) + call void @scr_dyn_release(ptr %t3317) + br label %exc.cleanup2 +exc.k1296: + %t3321 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t3312, i64 0, i32 8 + %t3322 = load ptr, ptr %t3321 + store ptr %t3317, ptr %t3321, !tbaa !204 + call void @scr_dyn_release(ptr %t3322) + call void @scr_dyn_release(ptr %t3296) + call void @sc_release__x25_m5_CtxCore(ptr %t3312) + call void @scr_dyn_release(ptr %t3313) + br label %if.j1285 +if.j1285: + %t3323 = load ptr, ptr %sc_l_p_0 + %t3324 = call ptr @sc_rc_retain_dyn(ptr %t3323) + %t3326 = icmp ne ptr %t3324, null + br i1 %t3326, label %dc.inspect1297, label %dc.checked1300 +dc.inspect1297: + %t3331 = getelementptr inbounds i8, ptr %t3324, i64 8 ; ->kind + %t3332 = load i32, ptr %t3331 + %t3327 = icmp eq i32 %t3332, 12 + br i1 %t3327, label %dc.capsule1298, label %dc.checked1300 +dc.capsule1298: + %t3328 = getelementptr inbounds i8, ptr %t3324, i64 40 ; ->v.typed_ref.type_key + %t3329 = load ptr, ptr %t3328 + %t3330 = icmp eq ptr %t3329, @sc_cs_2875643240706496 + br i1 %t3330, label %dc.exact1299, label %dc.checked1300 +dc.exact1299: + %t3333 = getelementptr inbounds i8, ptr %t3324, i64 16 ; ->v.typed_ref.ptr + %t3334 = load ptr, ptr %t3333 + %t3335 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t3334) + store ptr %t3335, ptr %s3325 + br label %dc.done1301 +dc.checked1300: + %t3336 = call ptr @sc_dc_48(ptr %t3324, ptr null) + store ptr %t3336, ptr %s3325 + %t3337 = load i32, ptr %exc.cell + %t3338 = icmp ne i32 %t3337, 0 + %t3339 = call i1 @llvm.expect.i1(i1 %t3338, i1 false) + br i1 %t3339, label %exc.u1302, label %exc.k1303 +exc.u1302: + call void @scr_dyn_release(ptr %t3324) + br label %exc.cleanup2 +exc.k1303: + br label %dc.done1301 +dc.done1301: + %t3340 = load ptr, ptr %s3325 + %t3341 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t3340, i64 0, i32 8 + %t3342 = load ptr, ptr %t3341, !tbaa !204 + %t3343 = call ptr @sc_rc_retain_dyn(ptr %t3342) + call void @scr_dyn_release(ptr %t3324) + call void @sc_release__x25_m5_CtxCore(ptr %t3340) + %t3344 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t3344) + ret ptr %t3343 +if.j1276: + %t3345 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s3346 + %t3347 = icmp ne ptr %t3345, null + br i1 %t3347, label %brand.inspect1304, label %brand.done1306 +brand.inspect1304: + %t3348 = getelementptr inbounds i8, ptr %t3345, i64 8 ; ->kind + %t3349 = load i32, ptr %t3348 + %t3350 = icmp eq i32 %t3349, 12 + br i1 %t3350, label %brand.capsule1305, label %brand.done1306 +brand.capsule1305: + %t3351 = getelementptr inbounds i8, ptr %t3345, i64 40 ; ->v.typed_ref.type_key + %t3352 = load ptr, ptr %t3351 + %t3353 = icmp eq ptr %t3352, @sc_cs_21424698936986 + store i1 true, ptr %s3346 + br i1 %t3353, label %brand.done1306, label %brand.compare1307 +brand.compare1307: + %t3354 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t3345, ptr @sc_lit_21424698936986) + store i1 %t3354, ptr %s3346 + br label %brand.done1306 +brand.done1306: + %t3355 = load i1, ptr %s3346 + br i1 %t3355, label %if.t1308, label %if.j1309 +if.t1308: + %t3356 = load ptr, ptr %sc_l_p_0 + %t3357 = call ptr @sc_rc_retain_dyn(ptr %t3356) + %t3359 = icmp ne ptr %t3357, null + br i1 %t3359, label %dc.inspect1310, label %dc.checked1313 +dc.inspect1310: + %t3364 = getelementptr inbounds i8, ptr %t3357, i64 8 ; ->kind + %t3365 = load i32, ptr %t3364 + %t3360 = icmp eq i32 %t3365, 12 + br i1 %t3360, label %dc.capsule1311, label %dc.checked1313 +dc.capsule1311: + %t3361 = getelementptr inbounds i8, ptr %t3357, i64 40 ; ->v.typed_ref.type_key + %t3362 = load ptr, ptr %t3361 + %t3363 = icmp eq ptr %t3362, @sc_cs_21424698936986 + br i1 %t3363, label %dc.exact1312, label %dc.checked1313 +dc.exact1312: + %t3366 = getelementptr inbounds i8, ptr %t3357, i64 16 ; ->v.typed_ref.ptr + %t3367 = load ptr, ptr %t3366 + %t3368 = call ptr @sc_retain__x25_m5_App(ptr %t3367) + store ptr %t3368, ptr %s3358 + br label %dc.done1314 +dc.checked1313: + %t3369 = call ptr @sc_dc_91(ptr %t3357, ptr null) + store ptr %t3369, ptr %s3358 + %t3370 = load i32, ptr %exc.cell + %t3371 = icmp ne i32 %t3370, 0 + %t3372 = call i1 @llvm.expect.i1(i1 %t3371, i1 false) + br i1 %t3372, label %exc.u1315, label %exc.k1316 +exc.u1315: + call void @scr_dyn_release(ptr %t3357) + br label %exc.cleanup2 +exc.k1316: + br label %dc.done1314 +dc.done1314: + %t3373 = load ptr, ptr %s3358 + %t3374 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t3373, i64 0, i32 18 + %t3375 = load ptr, ptr %t3374, !tbaa !204 + %t3376 = getelementptr inbounds i8, ptr %t3375, i64 8 ; ->kind + %t3377 = load i32, ptr %t3376 + %t3378 = icmp eq i32 %t3377, 6 + call void @scr_dyn_release(ptr %t3357) + call void @sc_release__x25_m5_App(ptr %t3373) + br i1 %t3378, label %if.t1317, label %if.j1318 +if.t1317: + %t3379 = load ptr, ptr %sc_l_p_0 + %t3380 = call ptr @sc_rc_retain_dyn(ptr %t3379) + %t3382 = icmp ne ptr %t3380, null + br i1 %t3382, label %dc.inspect1319, label %dc.checked1322 +dc.inspect1319: + %t3387 = getelementptr inbounds i8, ptr %t3380, i64 8 ; ->kind + %t3388 = load i32, ptr %t3387 + %t3383 = icmp eq i32 %t3388, 12 + br i1 %t3383, label %dc.capsule1320, label %dc.checked1322 +dc.capsule1320: + %t3384 = getelementptr inbounds i8, ptr %t3380, i64 40 ; ->v.typed_ref.type_key + %t3385 = load ptr, ptr %t3384 + %t3386 = icmp eq ptr %t3385, @sc_cs_21424698936986 + br i1 %t3386, label %dc.exact1321, label %dc.checked1322 +dc.exact1321: + %t3389 = getelementptr inbounds i8, ptr %t3380, i64 16 ; ->v.typed_ref.ptr + %t3390 = load ptr, ptr %t3389 + %t3391 = call ptr @sc_retain__x25_m5_App(ptr %t3390) + store ptr %t3391, ptr %s3381 + br label %dc.done1323 +dc.checked1322: + %t3392 = call ptr @sc_dc_91(ptr %t3380, ptr null) + store ptr %t3392, ptr %s3381 + %t3393 = load i32, ptr %exc.cell + %t3394 = icmp ne i32 %t3393, 0 + %t3395 = call i1 @llvm.expect.i1(i1 %t3394, i1 false) + br i1 %t3395, label %exc.u1324, label %exc.k1325 +exc.u1324: + call void @scr_dyn_release(ptr %t3380) + br label %exc.cleanup2 +exc.k1325: + br label %dc.done1323 +dc.done1323: + %t3396 = load ptr, ptr %s3381 + %t3397 = call ptr @sc_f__x25_prototype_data__x25_m5_App() + %t3398 = load i32, ptr %exc.cell + %t3399 = icmp ne i32 %t3398, 0 + %t3400 = call i1 @llvm.expect.i1(i1 %t3399, i1 false) + br i1 %t3400, label %exc.u1326, label %exc.k1327 +exc.u1326: + call void @scr_dyn_release(ptr %t3380) + call void @sc_release__x25_m5_App(ptr %t3396) + call void @scr_dyn_release(ptr %t3397) + br label %exc.cleanup2 +exc.k1327: + %t3401 = call ptr @scr_dyn_obj_create(ptr %t3397) + %t3402 = load i32, ptr %exc.cell + %t3403 = icmp ne i32 %t3402, 0 + %t3404 = call i1 @llvm.expect.i1(i1 %t3403, i1 false) + br i1 %t3404, label %exc.u1328, label %exc.k1329 +exc.u1328: + call void @scr_dyn_release(ptr %t3380) + call void @sc_release__x25_m5_App(ptr %t3396) + call void @scr_dyn_release(ptr %t3397) + call void @scr_dyn_release(ptr %t3401) + br label %exc.cleanup2 +exc.k1329: + %t3405 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t3396, i64 0, i32 18 + %t3406 = load ptr, ptr %t3405 + store ptr %t3401, ptr %t3405, !tbaa !204 + call void @scr_dyn_release(ptr %t3406) + call void @scr_dyn_release(ptr %t3380) + call void @sc_release__x25_m5_App(ptr %t3396) + call void @scr_dyn_release(ptr %t3397) + br label %if.j1318 +if.j1318: + %t3407 = load ptr, ptr %sc_l_p_0 + %t3408 = call ptr @sc_rc_retain_dyn(ptr %t3407) + %t3410 = icmp ne ptr %t3408, null + br i1 %t3410, label %dc.inspect1330, label %dc.checked1333 +dc.inspect1330: + %t3415 = getelementptr inbounds i8, ptr %t3408, i64 8 ; ->kind + %t3416 = load i32, ptr %t3415 + %t3411 = icmp eq i32 %t3416, 12 + br i1 %t3411, label %dc.capsule1331, label %dc.checked1333 +dc.capsule1331: + %t3412 = getelementptr inbounds i8, ptr %t3408, i64 40 ; ->v.typed_ref.type_key + %t3413 = load ptr, ptr %t3412 + %t3414 = icmp eq ptr %t3413, @sc_cs_21424698936986 + br i1 %t3414, label %dc.exact1332, label %dc.checked1333 +dc.exact1332: + %t3417 = getelementptr inbounds i8, ptr %t3408, i64 16 ; ->v.typed_ref.ptr + %t3418 = load ptr, ptr %t3417 + %t3419 = call ptr @sc_retain__x25_m5_App(ptr %t3418) + store ptr %t3419, ptr %s3409 + br label %dc.done1334 +dc.checked1333: + %t3420 = call ptr @sc_dc_91(ptr %t3408, ptr null) + store ptr %t3420, ptr %s3409 + %t3421 = load i32, ptr %exc.cell + %t3422 = icmp ne i32 %t3421, 0 + %t3423 = call i1 @llvm.expect.i1(i1 %t3422, i1 false) + br i1 %t3423, label %exc.u1335, label %exc.k1336 +exc.u1335: + call void @scr_dyn_release(ptr %t3408) + br label %exc.cleanup2 +exc.k1336: + br label %dc.done1334 +dc.done1334: + %t3424 = load ptr, ptr %s3409 + %t3425 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t3424, i64 0, i32 18 + %t3426 = load ptr, ptr %t3425, !tbaa !204 + %t3427 = call ptr @sc_rc_retain_dyn(ptr %t3426) + call void @scr_dyn_release(ptr %t3408) + call void @sc_release__x25_m5_App(ptr %t3424) + %t3428 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t3428) + ret ptr %t3427 +if.j1309: + %t3429 = load ptr, ptr %sc_l_p_0 + ret ptr %t3429 +exc.cleanup2: + %t3430 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t3430) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_readProperties(ptr %p_sc_l_p_0) #0 { ; %dyn.class.readProperties +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s55 = alloca ptr + %s76 = alloca i1 + %s88 = alloca ptr + %s120 = alloca ptr + %s141 = alloca i1 + %s153 = alloca ptr + %s185 = alloca ptr + %s206 = alloca i1 + %s218 = alloca ptr + %s250 = alloca ptr + %s271 = alloca i1 + %s283 = alloca ptr + %s315 = alloca ptr + %s336 = alloca i1 + %s348 = alloca ptr + %s380 = alloca ptr + %s401 = alloca i1 + %s413 = alloca ptr + %s445 = alloca ptr + %s466 = alloca i1 + %s478 = alloca ptr + %s510 = alloca ptr + %s531 = alloca i1 + %s541 = alloca i1 + %s544 = alloca ptr + %s570 = alloca ptr + %s602 = alloca ptr + %s623 = alloca i1 + %s635 = alloca ptr + %s658 = alloca ptr + %s681 = alloca ptr + %s698 = alloca ptr + %s719 = alloca i1 + %s729 = alloca i1 + %s732 = alloca ptr + %s758 = alloca ptr + %s790 = alloca ptr + %s811 = alloca i1 + %s821 = alloca i1 + %s824 = alloca ptr + %s850 = alloca ptr + %s873 = alloca ptr + %s896 = alloca ptr + %s913 = alloca ptr + %s934 = alloca i1 + %s946 = alloca ptr + %s969 = alloca ptr + %s992 = alloca ptr + %s995 = alloca ptr + %s1018 = alloca ptr + %s1040 = alloca ptr + %s1061 = alloca i1 + %s1073 = alloca ptr + %s1105 = alloca ptr + %s1126 = alloca i1 + %s1138 = alloca ptr + %s1170 = alloca ptr + %s1191 = alloca i1 + %s1203 = alloca ptr + %s1224 = alloca i1 + %s1236 = alloca ptr + %s1268 = alloca ptr + %s1289 = alloca i1 + %s1301 = alloca ptr + %s1322 = alloca i1 + %s1332 = alloca i1 + %s1335 = alloca ptr + %s1361 = alloca ptr + %s1393 = alloca ptr + %s1414 = alloca i1 + %s1426 = alloca ptr + %s1449 = alloca ptr + %s1472 = alloca ptr + %s1489 = alloca ptr + %s1510 = alloca i1 + %s1522 = alloca ptr + %s1554 = alloca ptr + %s1575 = alloca i1 + %s1585 = alloca i1 + %s1588 = alloca ptr + %s1614 = alloca ptr + %s1646 = alloca ptr + %s1667 = alloca i1 + %s1679 = alloca ptr + %s1702 = alloca ptr + %s1725 = alloca ptr + %s1742 = alloca ptr + %s1763 = alloca i1 + %s1773 = alloca i1 + %s1776 = alloca ptr + %s1802 = alloca ptr + %s1834 = alloca ptr + %s1855 = alloca i1 + %s1865 = alloca i1 + %s1868 = alloca ptr + %s1894 = alloca ptr + %s1917 = alloca ptr + %s1940 = alloca ptr + %s1957 = alloca ptr + %s1978 = alloca i1 + %s1988 = alloca i1 + %s1991 = alloca ptr + %s2017 = alloca ptr + %s2049 = alloca ptr + %s2070 = alloca i1 + %s2082 = alloca ptr + %s2105 = alloca ptr + %s2128 = alloca ptr + %s2131 = alloca ptr + %s2154 = alloca ptr + %s2166 = alloca ptr + %s2189 = alloca ptr + %s2207 = alloca ptr + %s2228 = alloca i1 + %s2240 = alloca ptr + %s2272 = alloca ptr + %s2293 = alloca i1 + %s2305 = alloca ptr + %s2326 = alloca i1 + %s2336 = alloca i1 + %s2339 = alloca ptr + %s2365 = alloca ptr + %s2397 = alloca ptr + %s2418 = alloca i1 + %s2430 = alloca ptr + %s2453 = alloca ptr + %s2476 = alloca ptr + %s2493 = alloca ptr + %s2514 = alloca i1 + %s2526 = alloca ptr + %s2558 = alloca ptr + %s2579 = alloca i1 + %s2591 = alloca ptr + %s2623 = alloca ptr + %s2644 = alloca i1 + %s2656 = alloca ptr + %s2688 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @scr_dyn_release(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_30(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t38, i64 0, i32 2 + %t40 = load ptr, ptr %t39, !tbaa !204 + %t41 = getelementptr inbounds i8, ptr %t40, i64 8 ; ->kind + %t42 = load i32, ptr %t41 + %t43 = icmp eq i32 %t42, 6 + call void @scr_dyn_release(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + br i1 %t43, label %if.t18, label %if.j19 +if.t18: + %t44 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore() + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t44) + br label %exc.cleanup2 +exc.k21: + %t48 = call ptr @scr_dyn_obj_create(ptr %t44) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t44) + call void @scr_dyn_release(ptr %t48) + br label %exc.cleanup2 +exc.k23: + call void @scr_dyn_release(ptr %t44) + %t52 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t52) + ret ptr %t48 +if.j19: + %t53 = load ptr, ptr %sc_l_p_0 + %t54 = call ptr @sc_rc_retain_dyn(ptr %t53) + %t56 = icmp ne ptr %t54, null + br i1 %t56, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t61 = getelementptr inbounds i8, ptr %t54, i64 8 ; ->kind + %t62 = load i32, ptr %t61 + %t57 = icmp eq i32 %t62, 12 + br i1 %t57, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t58 = getelementptr inbounds i8, ptr %t54, i64 40 ; ->v.typed_ref.type_key + %t59 = load ptr, ptr %t58 + %t60 = icmp eq ptr %t59, @sc_cs_1746033898805369 + br i1 %t60, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t63 = getelementptr inbounds i8, ptr %t54, i64 16 ; ->v.typed_ref.ptr + %t64 = load ptr, ptr %t63 + %t65 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t64) + store ptr %t65, ptr %s55 + br label %dc.done28 +dc.checked27: + %t66 = call ptr @sc_dc_30(ptr %t54, ptr null) + store ptr %t66, ptr %s55 + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u29, label %exc.k30 +exc.u29: + call void @scr_dyn_release(ptr %t54) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t70 = load ptr, ptr %s55 + %t71 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t70, i64 0, i32 2 + %t72 = load ptr, ptr %t71, !tbaa !204 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + call void @scr_dyn_release(ptr %t54) + call void @sc_release__x25_m5_CtxResCore(ptr %t70) + %t74 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t74) + ret ptr %t73 +if.j10: + %t75 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s76 + %t77 = icmp ne ptr %t75, null + br i1 %t77, label %brand.inspect31, label %brand.done33 +brand.inspect31: + %t78 = getelementptr inbounds i8, ptr %t75, i64 8 ; ->kind + %t79 = load i32, ptr %t78 + %t80 = icmp eq i32 %t79, 12 + br i1 %t80, label %brand.capsule32, label %brand.done33 +brand.capsule32: + %t81 = getelementptr inbounds i8, ptr %t75, i64 40 ; ->v.typed_ref.type_key + %t82 = load ptr, ptr %t81 + %t83 = icmp eq ptr %t82, @sc_cs_3456310594719780 + store i1 true, ptr %s76 + br i1 %t83, label %brand.done33, label %brand.compare34 +brand.compare34: + %t84 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t75, ptr @sc_lit_3456310594719780) + store i1 %t84, ptr %s76 + br label %brand.done33 +brand.done33: + %t85 = load i1, ptr %s76 + br i1 %t85, label %if.t35, label %if.j36 +if.t35: + %t86 = load ptr, ptr %sc_l_p_0 + %t87 = call ptr @sc_rc_retain_dyn(ptr %t86) + %t89 = icmp ne ptr %t87, null + br i1 %t89, label %dc.inspect37, label %dc.checked40 +dc.inspect37: + %t94 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind + %t95 = load i32, ptr %t94 + %t90 = icmp eq i32 %t95, 12 + br i1 %t90, label %dc.capsule38, label %dc.checked40 +dc.capsule38: + %t91 = getelementptr inbounds i8, ptr %t87, i64 40 ; ->v.typed_ref.type_key + %t92 = load ptr, ptr %t91 + %t93 = icmp eq ptr %t92, @sc_cs_3456310594719780 + br i1 %t93, label %dc.exact39, label %dc.checked40 +dc.exact39: + %t96 = getelementptr inbounds i8, ptr %t87, i64 16 ; ->v.typed_ref.ptr + %t97 = load ptr, ptr %t96 + %t98 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t97) + store ptr %t98, ptr %s88 + br label %dc.done41 +dc.checked40: + %t99 = call ptr @sc_dc_99(ptr %t87, ptr null) + store ptr %t99, ptr %s88 + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t87) + br label %exc.cleanup2 +exc.k43: + br label %dc.done41 +dc.done41: + %t103 = load ptr, ptr %s88 + %t104 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t103, i64 0, i32 2 + %t105 = load ptr, ptr %t104, !tbaa !204 + %t106 = getelementptr inbounds i8, ptr %t105, i64 8 ; ->kind + %t107 = load i32, ptr %t106 + %t108 = icmp eq i32 %t107, 6 + call void @scr_dyn_release(ptr %t87) + call void @sc_release__x25_m4_MemoryStorage(ptr %t103) + br i1 %t108, label %if.t44, label %if.j45 +if.t44: + %t109 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t109) + br label %exc.cleanup2 +exc.k47: + %t113 = call ptr @scr_dyn_obj_create(ptr %t109) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t109) + call void @scr_dyn_release(ptr %t113) + br label %exc.cleanup2 +exc.k49: + call void @scr_dyn_release(ptr %t109) + %t117 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t117) + ret ptr %t113 +if.j45: + %t118 = load ptr, ptr %sc_l_p_0 + %t119 = call ptr @sc_rc_retain_dyn(ptr %t118) + %t121 = icmp ne ptr %t119, null + br i1 %t121, label %dc.inspect50, label %dc.checked53 +dc.inspect50: + %t126 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind + %t127 = load i32, ptr %t126 + %t122 = icmp eq i32 %t127, 12 + br i1 %t122, label %dc.capsule51, label %dc.checked53 +dc.capsule51: + %t123 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key + %t124 = load ptr, ptr %t123 + %t125 = icmp eq ptr %t124, @sc_cs_3456310594719780 + br i1 %t125, label %dc.exact52, label %dc.checked53 +dc.exact52: + %t128 = getelementptr inbounds i8, ptr %t119, i64 16 ; ->v.typed_ref.ptr + %t129 = load ptr, ptr %t128 + %t130 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t129) + store ptr %t130, ptr %s120 + br label %dc.done54 +dc.checked53: + %t131 = call ptr @sc_dc_99(ptr %t119, ptr null) + store ptr %t131, ptr %s120 + %t132 = load i32, ptr %exc.cell + %t133 = icmp ne i32 %t132, 0 + %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false) + br i1 %t134, label %exc.u55, label %exc.k56 +exc.u55: + call void @scr_dyn_release(ptr %t119) + br label %exc.cleanup2 +exc.k56: + br label %dc.done54 +dc.done54: + %t135 = load ptr, ptr %s120 + %t136 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t135, i64 0, i32 2 + %t137 = load ptr, ptr %t136, !tbaa !204 + %t138 = call ptr @sc_rc_retain_dyn(ptr %t137) + call void @scr_dyn_release(ptr %t119) + call void @sc_release__x25_m4_MemoryStorage(ptr %t135) + %t139 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t139) + ret ptr %t138 +if.j36: + %t140 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s141 + %t142 = icmp ne ptr %t140, null + br i1 %t142, label %brand.inspect57, label %brand.done59 +brand.inspect57: + %t143 = getelementptr inbounds i8, ptr %t140, i64 8 ; ->kind + %t144 = load i32, ptr %t143 + %t145 = icmp eq i32 %t144, 12 + br i1 %t145, label %brand.capsule58, label %brand.done59 +brand.capsule58: + %t146 = getelementptr inbounds i8, ptr %t140, i64 40 ; ->v.typed_ref.type_key + %t147 = load ptr, ptr %t146 + %t148 = icmp eq ptr %t147, @sc_cs_3728566007289652 + store i1 true, ptr %s141 + br i1 %t148, label %brand.done59, label %brand.compare60 +brand.compare60: + %t149 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t140, ptr @sc_lit_3728566007289652) + store i1 %t149, ptr %s141 + br label %brand.done59 +brand.done59: + %t150 = load i1, ptr %s141 + br i1 %t150, label %if.t61, label %if.j62 +if.t61: + %t151 = load ptr, ptr %sc_l_p_0 + %t152 = call ptr @sc_rc_retain_dyn(ptr %t151) + %t154 = icmp ne ptr %t152, null + br i1 %t154, label %dc.inspect63, label %dc.checked66 +dc.inspect63: + %t159 = getelementptr inbounds i8, ptr %t152, i64 8 ; ->kind + %t160 = load i32, ptr %t159 + %t155 = icmp eq i32 %t160, 12 + br i1 %t155, label %dc.capsule64, label %dc.checked66 +dc.capsule64: + %t156 = getelementptr inbounds i8, ptr %t152, i64 40 ; ->v.typed_ref.type_key + %t157 = load ptr, ptr %t156 + %t158 = icmp eq ptr %t157, @sc_cs_3728566007289652 + br i1 %t158, label %dc.exact65, label %dc.checked66 +dc.exact65: + %t161 = getelementptr inbounds i8, ptr %t152, i64 16 ; ->v.typed_ref.ptr + %t162 = load ptr, ptr %t161 + %t163 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t162) + store ptr %t163, ptr %s153 + br label %dc.done67 +dc.checked66: + %t164 = call ptr @sc_dc_100(ptr %t152, ptr null) + store ptr %t164, ptr %s153 + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t152) + br label %exc.cleanup2 +exc.k69: + br label %dc.done67 +dc.done67: + %t168 = load ptr, ptr %s153 + %t169 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t168, i64 0, i32 2 + %t170 = load ptr, ptr %t169, !tbaa !204 + %t171 = getelementptr inbounds i8, ptr %t170, i64 8 ; ->kind + %t172 = load i32, ptr %t171 + %t173 = icmp eq i32 %t172, 6 + call void @scr_dyn_release(ptr %t152) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t168) + br i1 %t173, label %if.t70, label %if.j71 +if.t70: + %t174 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t174) + br label %exc.cleanup2 +exc.k73: + %t178 = call ptr @scr_dyn_obj_create(ptr %t174) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t174) + call void @scr_dyn_release(ptr %t178) + br label %exc.cleanup2 +exc.k75: + call void @scr_dyn_release(ptr %t174) + %t182 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t182) + ret ptr %t178 +if.j71: + %t183 = load ptr, ptr %sc_l_p_0 + %t184 = call ptr @sc_rc_retain_dyn(ptr %t183) + %t186 = icmp ne ptr %t184, null + br i1 %t186, label %dc.inspect76, label %dc.checked79 +dc.inspect76: + %t191 = getelementptr inbounds i8, ptr %t184, i64 8 ; ->kind + %t192 = load i32, ptr %t191 + %t187 = icmp eq i32 %t192, 12 + br i1 %t187, label %dc.capsule77, label %dc.checked79 +dc.capsule77: + %t188 = getelementptr inbounds i8, ptr %t184, i64 40 ; ->v.typed_ref.type_key + %t189 = load ptr, ptr %t188 + %t190 = icmp eq ptr %t189, @sc_cs_3728566007289652 + br i1 %t190, label %dc.exact78, label %dc.checked79 +dc.exact78: + %t193 = getelementptr inbounds i8, ptr %t184, i64 16 ; ->v.typed_ref.ptr + %t194 = load ptr, ptr %t193 + %t195 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t194) + store ptr %t195, ptr %s185 + br label %dc.done80 +dc.checked79: + %t196 = call ptr @sc_dc_100(ptr %t184, ptr null) + store ptr %t196, ptr %s185 + %t197 = load i32, ptr %exc.cell + %t198 = icmp ne i32 %t197, 0 + %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false) + br i1 %t199, label %exc.u81, label %exc.k82 +exc.u81: + call void @scr_dyn_release(ptr %t184) + br label %exc.cleanup2 +exc.k82: + br label %dc.done80 +dc.done80: + %t200 = load ptr, ptr %s185 + %t201 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t200, i64 0, i32 2 + %t202 = load ptr, ptr %t201, !tbaa !204 + %t203 = call ptr @sc_rc_retain_dyn(ptr %t202) + call void @scr_dyn_release(ptr %t184) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t200) + %t204 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t204) + ret ptr %t203 +if.j62: + %t205 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s206 + %t207 = icmp ne ptr %t205, null + br i1 %t207, label %brand.inspect83, label %brand.done85 +brand.inspect83: + %t208 = getelementptr inbounds i8, ptr %t205, i64 8 ; ->kind + %t209 = load i32, ptr %t208 + %t210 = icmp eq i32 %t209, 12 + br i1 %t210, label %brand.capsule84, label %brand.done85 +brand.capsule84: + %t211 = getelementptr inbounds i8, ptr %t205, i64 40 ; ->v.typed_ref.type_key + %t212 = load ptr, ptr %t211 + %t213 = icmp eq ptr %t212, @sc_cs_4041255434968695 + store i1 true, ptr %s206 + br i1 %t213, label %brand.done85, label %brand.compare86 +brand.compare86: + %t214 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t205, ptr @sc_lit_4041255434968695) + store i1 %t214, ptr %s206 + br label %brand.done85 +brand.done85: + %t215 = load i1, ptr %s206 + br i1 %t215, label %if.t87, label %if.j88 +if.t87: + %t216 = load ptr, ptr %sc_l_p_0 + %t217 = call ptr @sc_rc_retain_dyn(ptr %t216) + %t219 = icmp ne ptr %t217, null + br i1 %t219, label %dc.inspect89, label %dc.checked92 +dc.inspect89: + %t224 = getelementptr inbounds i8, ptr %t217, i64 8 ; ->kind + %t225 = load i32, ptr %t224 + %t220 = icmp eq i32 %t225, 12 + br i1 %t220, label %dc.capsule90, label %dc.checked92 +dc.capsule90: + %t221 = getelementptr inbounds i8, ptr %t217, i64 40 ; ->v.typed_ref.type_key + %t222 = load ptr, ptr %t221 + %t223 = icmp eq ptr %t222, @sc_cs_4041255434968695 + br i1 %t223, label %dc.exact91, label %dc.checked92 +dc.exact91: + %t226 = getelementptr inbounds i8, ptr %t217, i64 16 ; ->v.typed_ref.ptr + %t227 = load ptr, ptr %t226 + %t228 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t227) + store ptr %t228, ptr %s218 + br label %dc.done93 +dc.checked92: + %t229 = call ptr @sc_dc_101(ptr %t217, ptr null) + store ptr %t229, ptr %s218 + %t230 = load i32, ptr %exc.cell + %t231 = icmp ne i32 %t230, 0 + %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false) + br i1 %t232, label %exc.u94, label %exc.k95 +exc.u94: + call void @scr_dyn_release(ptr %t217) + br label %exc.cleanup2 +exc.k95: + br label %dc.done93 +dc.done93: + %t233 = load ptr, ptr %s218 + %t234 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t233, i64 0, i32 9 + %t235 = load ptr, ptr %t234, !tbaa !204 + %t236 = getelementptr inbounds i8, ptr %t235, i64 8 ; ->kind + %t237 = load i32, ptr %t236 + %t238 = icmp eq i32 %t237, 6 + call void @scr_dyn_release(ptr %t217) + call void @sc_release__x25_m3_LiteRequest(ptr %t233) + br i1 %t238, label %if.t96, label %if.j97 +if.t96: + %t239 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest() + %t240 = load i32, ptr %exc.cell + %t241 = icmp ne i32 %t240, 0 + %t242 = call i1 @llvm.expect.i1(i1 %t241, i1 false) + br i1 %t242, label %exc.u98, label %exc.k99 +exc.u98: + call void @scr_dyn_release(ptr %t239) + br label %exc.cleanup2 +exc.k99: + %t243 = call ptr @scr_dyn_obj_create(ptr %t239) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u100, label %exc.k101 +exc.u100: + call void @scr_dyn_release(ptr %t239) + call void @scr_dyn_release(ptr %t243) + br label %exc.cleanup2 +exc.k101: + call void @scr_dyn_release(ptr %t239) + %t247 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t247) + ret ptr %t243 +if.j97: + %t248 = load ptr, ptr %sc_l_p_0 + %t249 = call ptr @sc_rc_retain_dyn(ptr %t248) + %t251 = icmp ne ptr %t249, null + br i1 %t251, label %dc.inspect102, label %dc.checked105 +dc.inspect102: + %t256 = getelementptr inbounds i8, ptr %t249, i64 8 ; ->kind + %t257 = load i32, ptr %t256 + %t252 = icmp eq i32 %t257, 12 + br i1 %t252, label %dc.capsule103, label %dc.checked105 +dc.capsule103: + %t253 = getelementptr inbounds i8, ptr %t249, i64 40 ; ->v.typed_ref.type_key + %t254 = load ptr, ptr %t253 + %t255 = icmp eq ptr %t254, @sc_cs_4041255434968695 + br i1 %t255, label %dc.exact104, label %dc.checked105 +dc.exact104: + %t258 = getelementptr inbounds i8, ptr %t249, i64 16 ; ->v.typed_ref.ptr + %t259 = load ptr, ptr %t258 + %t260 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t259) + store ptr %t260, ptr %s250 + br label %dc.done106 +dc.checked105: + %t261 = call ptr @sc_dc_101(ptr %t249, ptr null) + store ptr %t261, ptr %s250 + %t262 = load i32, ptr %exc.cell + %t263 = icmp ne i32 %t262, 0 + %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false) + br i1 %t264, label %exc.u107, label %exc.k108 +exc.u107: + call void @scr_dyn_release(ptr %t249) + br label %exc.cleanup2 +exc.k108: + br label %dc.done106 +dc.done106: + %t265 = load ptr, ptr %s250 + %t266 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t265, i64 0, i32 9 + %t267 = load ptr, ptr %t266, !tbaa !204 + %t268 = call ptr @sc_rc_retain_dyn(ptr %t267) + call void @scr_dyn_release(ptr %t249) + call void @sc_release__x25_m3_LiteRequest(ptr %t265) + %t269 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t269) + ret ptr %t268 +if.j88: + %t270 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s271 + %t272 = icmp ne ptr %t270, null + br i1 %t272, label %brand.inspect109, label %brand.done111 +brand.inspect109: + %t273 = getelementptr inbounds i8, ptr %t270, i64 8 ; ->kind + %t274 = load i32, ptr %t273 + %t275 = icmp eq i32 %t274, 12 + br i1 %t275, label %brand.capsule110, label %brand.done111 +brand.capsule110: + %t276 = getelementptr inbounds i8, ptr %t270, i64 40 ; ->v.typed_ref.type_key + %t277 = load ptr, ptr %t276 + %t278 = icmp eq ptr %t277, @sc_cs_3326437563644705 + store i1 true, ptr %s271 + br i1 %t278, label %brand.done111, label %brand.compare112 +brand.compare112: + %t279 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t270, ptr @sc_lit_3326437563644705) + store i1 %t279, ptr %s271 + br label %brand.done111 +brand.done111: + %t280 = load i1, ptr %s271 + br i1 %t280, label %if.t113, label %if.j114 +if.t113: + %t281 = load ptr, ptr %sc_l_p_0 + %t282 = call ptr @sc_rc_retain_dyn(ptr %t281) + %t284 = icmp ne ptr %t282, null + br i1 %t284, label %dc.inspect115, label %dc.checked118 +dc.inspect115: + %t289 = getelementptr inbounds i8, ptr %t282, i64 8 ; ->kind + %t290 = load i32, ptr %t289 + %t285 = icmp eq i32 %t290, 12 + br i1 %t285, label %dc.capsule116, label %dc.checked118 +dc.capsule116: + %t286 = getelementptr inbounds i8, ptr %t282, i64 40 ; ->v.typed_ref.type_key + %t287 = load ptr, ptr %t286 + %t288 = icmp eq ptr %t287, @sc_cs_3326437563644705 + br i1 %t288, label %dc.exact117, label %dc.checked118 +dc.exact117: + %t291 = getelementptr inbounds i8, ptr %t282, i64 16 ; ->v.typed_ref.ptr + %t292 = load ptr, ptr %t291 + %t293 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t292) + store ptr %t293, ptr %s283 + br label %dc.done119 +dc.checked118: + %t294 = call ptr @sc_dc_102(ptr %t282, ptr null) + store ptr %t294, ptr %s283 + %t295 = load i32, ptr %exc.cell + %t296 = icmp ne i32 %t295, 0 + %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false) + br i1 %t297, label %exc.u120, label %exc.k121 +exc.u120: + call void @scr_dyn_release(ptr %t282) + br label %exc.cleanup2 +exc.k121: + br label %dc.done119 +dc.done119: + %t298 = load ptr, ptr %s283 + %t299 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t298, i64 0, i32 2 + %t300 = load ptr, ptr %t299, !tbaa !204 + %t301 = getelementptr inbounds i8, ptr %t300, i64 8 ; ->kind + %t302 = load i32, ptr %t301 + %t303 = icmp eq i32 %t302, 6 + call void @scr_dyn_release(ptr %t282) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t298) + br i1 %t303, label %if.t122, label %if.j123 +if.t122: + %t304 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u124, label %exc.k125 +exc.u124: + call void @scr_dyn_release(ptr %t304) + br label %exc.cleanup2 +exc.k125: + %t308 = call ptr @scr_dyn_obj_create(ptr %t304) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u126, label %exc.k127 +exc.u126: + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t308) + br label %exc.cleanup2 +exc.k127: + call void @scr_dyn_release(ptr %t304) + %t312 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t312) + ret ptr %t308 +if.j123: + %t313 = load ptr, ptr %sc_l_p_0 + %t314 = call ptr @sc_rc_retain_dyn(ptr %t313) + %t316 = icmp ne ptr %t314, null + br i1 %t316, label %dc.inspect128, label %dc.checked131 +dc.inspect128: + %t321 = getelementptr inbounds i8, ptr %t314, i64 8 ; ->kind + %t322 = load i32, ptr %t321 + %t317 = icmp eq i32 %t322, 12 + br i1 %t317, label %dc.capsule129, label %dc.checked131 +dc.capsule129: + %t318 = getelementptr inbounds i8, ptr %t314, i64 40 ; ->v.typed_ref.type_key + %t319 = load ptr, ptr %t318 + %t320 = icmp eq ptr %t319, @sc_cs_3326437563644705 + br i1 %t320, label %dc.exact130, label %dc.checked131 +dc.exact130: + %t323 = getelementptr inbounds i8, ptr %t314, i64 16 ; ->v.typed_ref.ptr + %t324 = load ptr, ptr %t323 + %t325 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t324) + store ptr %t325, ptr %s315 + br label %dc.done132 +dc.checked131: + %t326 = call ptr @sc_dc_102(ptr %t314, ptr null) + store ptr %t326, ptr %s315 + %t327 = load i32, ptr %exc.cell + %t328 = icmp ne i32 %t327, 0 + %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false) + br i1 %t329, label %exc.u133, label %exc.k134 +exc.u133: + call void @scr_dyn_release(ptr %t314) + br label %exc.cleanup2 +exc.k134: + br label %dc.done132 +dc.done132: + %t330 = load ptr, ptr %s315 + %t331 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t330, i64 0, i32 2 + %t332 = load ptr, ptr %t331, !tbaa !204 + %t333 = call ptr @sc_rc_retain_dyn(ptr %t332) + call void @scr_dyn_release(ptr %t314) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t330) + %t334 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t334) + ret ptr %t333 +if.j114: + %t335 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s336 + %t337 = icmp ne ptr %t335, null + br i1 %t337, label %brand.inspect135, label %brand.done137 +brand.inspect135: + %t338 = getelementptr inbounds i8, ptr %t335, i64 8 ; ->kind + %t339 = load i32, ptr %t338 + %t340 = icmp eq i32 %t339, 12 + br i1 %t340, label %brand.capsule136, label %brand.done137 +brand.capsule136: + %t341 = getelementptr inbounds i8, ptr %t335, i64 40 ; ->v.typed_ref.type_key + %t342 = load ptr, ptr %t341 + %t343 = icmp eq ptr %t342, @sc_cs_3870085012327510 + store i1 true, ptr %s336 + br i1 %t343, label %brand.done137, label %brand.compare138 +brand.compare138: + %t344 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t335, ptr @sc_lit_3870085012327510) + store i1 %t344, ptr %s336 + br label %brand.done137 +brand.done137: + %t345 = load i1, ptr %s336 + br i1 %t345, label %if.t139, label %if.j140 +if.t139: + %t346 = load ptr, ptr %sc_l_p_0 + %t347 = call ptr @sc_rc_retain_dyn(ptr %t346) + %t349 = icmp ne ptr %t347, null + br i1 %t349, label %dc.inspect141, label %dc.checked144 +dc.inspect141: + %t354 = getelementptr inbounds i8, ptr %t347, i64 8 ; ->kind + %t355 = load i32, ptr %t354 + %t350 = icmp eq i32 %t355, 12 + br i1 %t350, label %dc.capsule142, label %dc.checked144 +dc.capsule142: + %t351 = getelementptr inbounds i8, ptr %t347, i64 40 ; ->v.typed_ref.type_key + %t352 = load ptr, ptr %t351 + %t353 = icmp eq ptr %t352, @sc_cs_3870085012327510 + br i1 %t353, label %dc.exact143, label %dc.checked144 +dc.exact143: + %t356 = getelementptr inbounds i8, ptr %t347, i64 16 ; ->v.typed_ref.ptr + %t357 = load ptr, ptr %t356 + %t358 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t357) + store ptr %t358, ptr %s348 + br label %dc.done145 +dc.checked144: + %t359 = call ptr @sc_dc_94(ptr %t347, ptr null) + store ptr %t359, ptr %s348 + %t360 = load i32, ptr %exc.cell + %t361 = icmp ne i32 %t360, 0 + %t362 = call i1 @llvm.expect.i1(i1 %t361, i1 false) + br i1 %t362, label %exc.u146, label %exc.k147 +exc.u146: + call void @scr_dyn_release(ptr %t347) + br label %exc.cleanup2 +exc.k147: + br label %dc.done145 +dc.done145: + %t363 = load ptr, ptr %s348 + %t364 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t363, i64 0, i32 1 + %t365 = load ptr, ptr %t364, !tbaa !204 + %t366 = getelementptr inbounds i8, ptr %t365, i64 8 ; ->kind + %t367 = load i32, ptr %t366 + %t368 = icmp eq i32 %t367, 6 + call void @scr_dyn_release(ptr %t347) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t363) + br i1 %t368, label %if.t148, label %if.j149 +if.t148: + %t369 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch() + %t370 = load i32, ptr %exc.cell + %t371 = icmp ne i32 %t370, 0 + %t372 = call i1 @llvm.expect.i1(i1 %t371, i1 false) + br i1 %t372, label %exc.u150, label %exc.k151 +exc.u150: + call void @scr_dyn_release(ptr %t369) + br label %exc.cleanup2 +exc.k151: + %t373 = call ptr @scr_dyn_obj_create(ptr %t369) + %t374 = load i32, ptr %exc.cell + %t375 = icmp ne i32 %t374, 0 + %t376 = call i1 @llvm.expect.i1(i1 %t375, i1 false) + br i1 %t376, label %exc.u152, label %exc.k153 +exc.u152: + call void @scr_dyn_release(ptr %t369) + call void @scr_dyn_release(ptr %t373) + br label %exc.cleanup2 +exc.k153: + call void @scr_dyn_release(ptr %t369) + %t377 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t377) + ret ptr %t373 +if.j149: + %t378 = load ptr, ptr %sc_l_p_0 + %t379 = call ptr @sc_rc_retain_dyn(ptr %t378) + %t381 = icmp ne ptr %t379, null + br i1 %t381, label %dc.inspect154, label %dc.checked157 +dc.inspect154: + %t386 = getelementptr inbounds i8, ptr %t379, i64 8 ; ->kind + %t387 = load i32, ptr %t386 + %t382 = icmp eq i32 %t387, 12 + br i1 %t382, label %dc.capsule155, label %dc.checked157 +dc.capsule155: + %t383 = getelementptr inbounds i8, ptr %t379, i64 40 ; ->v.typed_ref.type_key + %t384 = load ptr, ptr %t383 + %t385 = icmp eq ptr %t384, @sc_cs_3870085012327510 + br i1 %t385, label %dc.exact156, label %dc.checked157 +dc.exact156: + %t388 = getelementptr inbounds i8, ptr %t379, i64 16 ; ->v.typed_ref.ptr + %t389 = load ptr, ptr %t388 + %t390 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t389) + store ptr %t390, ptr %s380 + br label %dc.done158 +dc.checked157: + %t391 = call ptr @sc_dc_94(ptr %t379, ptr null) + store ptr %t391, ptr %s380 + %t392 = load i32, ptr %exc.cell + %t393 = icmp ne i32 %t392, 0 + %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false) + br i1 %t394, label %exc.u159, label %exc.k160 +exc.u159: + call void @scr_dyn_release(ptr %t379) + br label %exc.cleanup2 +exc.k160: + br label %dc.done158 +dc.done158: + %t395 = load ptr, ptr %s380 + %t396 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t395, i64 0, i32 1 + %t397 = load ptr, ptr %t396, !tbaa !204 + %t398 = call ptr @sc_rc_retain_dyn(ptr %t397) + call void @scr_dyn_release(ptr %t379) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t395) + %t399 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t399) + ret ptr %t398 +if.j140: + %t400 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s401 + %t402 = icmp ne ptr %t400, null + br i1 %t402, label %brand.inspect161, label %brand.done163 +brand.inspect161: + %t403 = getelementptr inbounds i8, ptr %t400, i64 8 ; ->kind + %t404 = load i32, ptr %t403 + %t405 = icmp eq i32 %t404, 12 + br i1 %t405, label %brand.capsule162, label %brand.done163 +brand.capsule162: + %t406 = getelementptr inbounds i8, ptr %t400, i64 40 ; ->v.typed_ref.type_key + %t407 = load ptr, ptr %t406 + %t408 = icmp eq ptr %t407, @sc_cs_2798802470260116 + store i1 true, ptr %s401 + br i1 %t408, label %brand.done163, label %brand.compare164 +brand.compare164: + %t409 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t400, ptr @sc_lit_2798802470260116) + store i1 %t409, ptr %s401 + br label %brand.done163 +brand.done163: + %t410 = load i1, ptr %s401 + br i1 %t410, label %if.t165, label %if.j166 +if.t165: + %t411 = load ptr, ptr %sc_l_p_0 + %t412 = call ptr @sc_rc_retain_dyn(ptr %t411) + %t414 = icmp ne ptr %t412, null + br i1 %t414, label %dc.inspect167, label %dc.checked170 +dc.inspect167: + %t419 = getelementptr inbounds i8, ptr %t412, i64 8 ; ->kind + %t420 = load i32, ptr %t419 + %t415 = icmp eq i32 %t420, 12 + br i1 %t415, label %dc.capsule168, label %dc.checked170 +dc.capsule168: + %t416 = getelementptr inbounds i8, ptr %t412, i64 40 ; ->v.typed_ref.type_key + %t417 = load ptr, ptr %t416 + %t418 = icmp eq ptr %t417, @sc_cs_2798802470260116 + br i1 %t418, label %dc.exact169, label %dc.checked170 +dc.exact169: + %t421 = getelementptr inbounds i8, ptr %t412, i64 16 ; ->v.typed_ref.ptr + %t422 = load ptr, ptr %t421 + %t423 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t422) + store ptr %t423, ptr %s413 + br label %dc.done171 +dc.checked170: + %t424 = call ptr @sc_dc_93(ptr %t412, ptr null) + store ptr %t424, ptr %s413 + %t425 = load i32, ptr %exc.cell + %t426 = icmp ne i32 %t425, 0 + %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false) + br i1 %t427, label %exc.u172, label %exc.k173 +exc.u172: + call void @scr_dyn_release(ptr %t412) + br label %exc.cleanup2 +exc.k173: + br label %dc.done171 +dc.done171: + %t428 = load ptr, ptr %s413 + %t429 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t428, i64 0, i32 2 + %t430 = load ptr, ptr %t429, !tbaa !204 + %t431 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind + %t432 = load i32, ptr %t431 + %t433 = icmp eq i32 %t432, 6 + call void @scr_dyn_release(ptr %t412) + call void @sc_release__x25_m0_GenFetch(ptr %t428) + br i1 %t433, label %if.t174, label %if.j175 +if.t174: + %t434 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch() + %t435 = load i32, ptr %exc.cell + %t436 = icmp ne i32 %t435, 0 + %t437 = call i1 @llvm.expect.i1(i1 %t436, i1 false) + br i1 %t437, label %exc.u176, label %exc.k177 +exc.u176: + call void @scr_dyn_release(ptr %t434) + br label %exc.cleanup2 +exc.k177: + %t438 = call ptr @scr_dyn_obj_create(ptr %t434) + %t439 = load i32, ptr %exc.cell + %t440 = icmp ne i32 %t439, 0 + %t441 = call i1 @llvm.expect.i1(i1 %t440, i1 false) + br i1 %t441, label %exc.u178, label %exc.k179 +exc.u178: + call void @scr_dyn_release(ptr %t434) + call void @scr_dyn_release(ptr %t438) + br label %exc.cleanup2 +exc.k179: + call void @scr_dyn_release(ptr %t434) + %t442 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t442) + ret ptr %t438 +if.j175: + %t443 = load ptr, ptr %sc_l_p_0 + %t444 = call ptr @sc_rc_retain_dyn(ptr %t443) + %t446 = icmp ne ptr %t444, null + br i1 %t446, label %dc.inspect180, label %dc.checked183 +dc.inspect180: + %t451 = getelementptr inbounds i8, ptr %t444, i64 8 ; ->kind + %t452 = load i32, ptr %t451 + %t447 = icmp eq i32 %t452, 12 + br i1 %t447, label %dc.capsule181, label %dc.checked183 +dc.capsule181: + %t448 = getelementptr inbounds i8, ptr %t444, i64 40 ; ->v.typed_ref.type_key + %t449 = load ptr, ptr %t448 + %t450 = icmp eq ptr %t449, @sc_cs_2798802470260116 + br i1 %t450, label %dc.exact182, label %dc.checked183 +dc.exact182: + %t453 = getelementptr inbounds i8, ptr %t444, i64 16 ; ->v.typed_ref.ptr + %t454 = load ptr, ptr %t453 + %t455 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t454) + store ptr %t455, ptr %s445 + br label %dc.done184 +dc.checked183: + %t456 = call ptr @sc_dc_93(ptr %t444, ptr null) + store ptr %t456, ptr %s445 + %t457 = load i32, ptr %exc.cell + %t458 = icmp ne i32 %t457, 0 + %t459 = call i1 @llvm.expect.i1(i1 %t458, i1 false) + br i1 %t459, label %exc.u185, label %exc.k186 +exc.u185: + call void @scr_dyn_release(ptr %t444) + br label %exc.cleanup2 +exc.k186: + br label %dc.done184 +dc.done184: + %t460 = load ptr, ptr %s445 + %t461 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t460, i64 0, i32 2 + %t462 = load ptr, ptr %t461, !tbaa !204 + %t463 = call ptr @sc_rc_retain_dyn(ptr %t462) + call void @scr_dyn_release(ptr %t444) + call void @sc_release__x25_m0_GenFetch(ptr %t460) + %t464 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t464) + ret ptr %t463 +if.j166: + %t465 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s466 + %t467 = icmp ne ptr %t465, null + br i1 %t467, label %brand.inspect187, label %brand.done189 +brand.inspect187: + %t468 = getelementptr inbounds i8, ptr %t465, i64 8 ; ->kind + %t469 = load i32, ptr %t468 + %t470 = icmp eq i32 %t469, 12 + br i1 %t470, label %brand.capsule188, label %brand.done189 +brand.capsule188: + %t471 = getelementptr inbounds i8, ptr %t465, i64 40 ; ->v.typed_ref.type_key + %t472 = load ptr, ptr %t471 + %t473 = icmp eq ptr %t472, @sc_cs_2165660704272757 + store i1 true, ptr %s466 + br i1 %t473, label %brand.done189, label %brand.compare190 +brand.compare190: + %t474 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t465, ptr @sc_lit_2165660704272757) + store i1 %t474, ptr %s466 + br label %brand.done189 +brand.done189: + %t475 = load i1, ptr %s466 + br i1 %t475, label %if.t191, label %if.j192 +if.t191: + %t476 = load ptr, ptr %sc_l_p_0 + %t477 = call ptr @sc_rc_retain_dyn(ptr %t476) + %t479 = icmp ne ptr %t477, null + br i1 %t479, label %dc.inspect193, label %dc.checked196 +dc.inspect193: + %t484 = getelementptr inbounds i8, ptr %t477, i64 8 ; ->kind + %t485 = load i32, ptr %t484 + %t480 = icmp eq i32 %t485, 12 + br i1 %t480, label %dc.capsule194, label %dc.checked196 +dc.capsule194: + %t481 = getelementptr inbounds i8, ptr %t477, i64 40 ; ->v.typed_ref.type_key + %t482 = load ptr, ptr %t481 + %t483 = icmp eq ptr %t482, @sc_cs_2165660704272757 + br i1 %t483, label %dc.exact195, label %dc.checked196 +dc.exact195: + %t486 = getelementptr inbounds i8, ptr %t477, i64 16 ; ->v.typed_ref.ptr + %t487 = load ptr, ptr %t486 + %t488 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t487) + store ptr %t488, ptr %s478 + br label %dc.done197 +dc.checked196: + %t489 = call ptr @sc_dc_92(ptr %t477, ptr null) + store ptr %t489, ptr %s478 + %t490 = load i32, ptr %exc.cell + %t491 = icmp ne i32 %t490, 0 + %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false) + br i1 %t492, label %exc.u198, label %exc.k199 +exc.u198: + call void @scr_dyn_release(ptr %t477) + br label %exc.cleanup2 +exc.k199: + br label %dc.done197 +dc.done197: + %t493 = load ptr, ptr %s478 + %t494 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t493, i64 0, i32 2 + %t495 = load ptr, ptr %t494, !tbaa !204 + %t496 = getelementptr inbounds i8, ptr %t495, i64 8 ; ->kind + %t497 = load i32, ptr %t496 + %t498 = icmp eq i32 %t497, 6 + call void @scr_dyn_release(ptr %t477) + call void @sc_release__x25_m0_GenDispatch(ptr %t493) + br i1 %t498, label %if.t200, label %if.j201 +if.t200: + %t499 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch() + %t500 = load i32, ptr %exc.cell + %t501 = icmp ne i32 %t500, 0 + %t502 = call i1 @llvm.expect.i1(i1 %t501, i1 false) + br i1 %t502, label %exc.u202, label %exc.k203 +exc.u202: + call void @scr_dyn_release(ptr %t499) + br label %exc.cleanup2 +exc.k203: + %t503 = call ptr @scr_dyn_obj_create(ptr %t499) + %t504 = load i32, ptr %exc.cell + %t505 = icmp ne i32 %t504, 0 + %t506 = call i1 @llvm.expect.i1(i1 %t505, i1 false) + br i1 %t506, label %exc.u204, label %exc.k205 +exc.u204: + call void @scr_dyn_release(ptr %t499) + call void @scr_dyn_release(ptr %t503) + br label %exc.cleanup2 +exc.k205: + call void @scr_dyn_release(ptr %t499) + %t507 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t507) + ret ptr %t503 +if.j201: + %t508 = load ptr, ptr %sc_l_p_0 + %t509 = call ptr @sc_rc_retain_dyn(ptr %t508) + %t511 = icmp ne ptr %t509, null + br i1 %t511, label %dc.inspect206, label %dc.checked209 +dc.inspect206: + %t516 = getelementptr inbounds i8, ptr %t509, i64 8 ; ->kind + %t517 = load i32, ptr %t516 + %t512 = icmp eq i32 %t517, 12 + br i1 %t512, label %dc.capsule207, label %dc.checked209 +dc.capsule207: + %t513 = getelementptr inbounds i8, ptr %t509, i64 40 ; ->v.typed_ref.type_key + %t514 = load ptr, ptr %t513 + %t515 = icmp eq ptr %t514, @sc_cs_2165660704272757 + br i1 %t515, label %dc.exact208, label %dc.checked209 +dc.exact208: + %t518 = getelementptr inbounds i8, ptr %t509, i64 16 ; ->v.typed_ref.ptr + %t519 = load ptr, ptr %t518 + %t520 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t519) + store ptr %t520, ptr %s510 + br label %dc.done210 +dc.checked209: + %t521 = call ptr @sc_dc_92(ptr %t509, ptr null) + store ptr %t521, ptr %s510 + %t522 = load i32, ptr %exc.cell + %t523 = icmp ne i32 %t522, 0 + %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false) + br i1 %t524, label %exc.u211, label %exc.k212 +exc.u211: + call void @scr_dyn_release(ptr %t509) + br label %exc.cleanup2 +exc.k212: + br label %dc.done210 +dc.done210: + %t525 = load ptr, ptr %s510 + %t526 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t525, i64 0, i32 2 + %t527 = load ptr, ptr %t526, !tbaa !204 + %t528 = call ptr @sc_rc_retain_dyn(ptr %t527) + call void @scr_dyn_release(ptr %t509) + call void @sc_release__x25_m0_GenDispatch(ptr %t525) + %t529 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t529) + ret ptr %t528 +if.j192: + %t530 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s531 + %t532 = icmp ne ptr %t530, null + br i1 %t532, label %brand.inspect213, label %brand.done215 +brand.inspect213: + %t533 = getelementptr inbounds i8, ptr %t530, i64 8 ; ->kind + %t534 = load i32, ptr %t533 + %t535 = icmp eq i32 %t534, 12 + br i1 %t535, label %brand.capsule214, label %brand.done215 +brand.capsule214: + %t536 = getelementptr inbounds i8, ptr %t530, i64 40 ; ->v.typed_ref.type_key + %t537 = load ptr, ptr %t536 + %t538 = icmp eq ptr %t537, @sc_cs_2072202777142634 + store i1 true, ptr %s531 + br i1 %t538, label %brand.done215, label %brand.compare216 +brand.compare216: + %t539 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t530, ptr @sc_lit_2072202777142634) + store i1 %t539, ptr %s531 + br label %brand.done215 +brand.done215: + %t540 = load i1, ptr %s531 + br i1 %t540, label %tern.t217, label %tern.f218 +tern.t217: + %t542 = load ptr, ptr %sc_l_p_0 + %t543 = call ptr @sc_rc_retain_dyn(ptr %t542) + %t545 = icmp ne ptr %t543, null + br i1 %t545, label %dc.inspect220, label %dc.checked223 +dc.inspect220: + %t550 = getelementptr inbounds i8, ptr %t543, i64 8 ; ->kind + %t551 = load i32, ptr %t550 + %t546 = icmp eq i32 %t551, 12 + br i1 %t546, label %dc.capsule221, label %dc.checked223 +dc.capsule221: + %t547 = getelementptr inbounds i8, ptr %t543, i64 40 ; ->v.typed_ref.type_key + %t548 = load ptr, ptr %t547 + %t549 = icmp eq ptr %t548, @sc_cs_2072202777142634 + br i1 %t549, label %dc.exact222, label %dc.checked223 +dc.exact222: + %t552 = getelementptr inbounds i8, ptr %t543, i64 16 ; ->v.typed_ref.ptr + %t553 = load ptr, ptr %t552 + %t554 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t553) + store ptr %t554, ptr %s544 + br label %dc.done224 +dc.checked223: + %t555 = call ptr @sc_dc_26(ptr %t543, ptr null) + store ptr %t555, ptr %s544 + %t556 = load i32, ptr %exc.cell + %t557 = icmp ne i32 %t556, 0 + %t558 = call i1 @llvm.expect.i1(i1 %t557, i1 false) + br i1 %t558, label %exc.u225, label %exc.k226 +exc.u225: + call void @scr_dyn_release(ptr %t543) + br label %exc.cleanup2 +exc.k226: + br label %dc.done224 +dc.done224: + %t559 = load ptr, ptr %s544 + %t560 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t559, i64 0, i32 1 + %t561 = load ptr, ptr %t560 + %t562 = getelementptr inbounds %ScrVt, ptr %t561, i64 0, i32 0 + %t563 = load i64, ptr %t562 + %t564 = icmp uge i64 %t563, 23 + %t565 = icmp ule i64 %t563, 23 + %t566 = and i1 %t564, %t565 ; instanceof %m4.MemoryFileSink + store i1 %t566, ptr %s541 + call void @scr_dyn_release(ptr %t543) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t559) + br label %tern.j219 +tern.f218: + store i1 false, ptr %s541 + br label %tern.j219 +tern.j219: + %t567 = load i1, ptr %s541 + br i1 %t567, label %if.t227, label %if.j228 +if.t227: + %t568 = load ptr, ptr %sc_l_p_0 + %t569 = call ptr @sc_rc_retain_dyn(ptr %t568) + %t571 = icmp ne ptr %t569, null + br i1 %t571, label %dc.inspect229, label %dc.checked232 +dc.inspect229: + %t576 = getelementptr inbounds i8, ptr %t569, i64 8 ; ->kind + %t577 = load i32, ptr %t576 + %t572 = icmp eq i32 %t577, 12 + br i1 %t572, label %dc.capsule230, label %dc.checked232 +dc.capsule230: + %t573 = getelementptr inbounds i8, ptr %t569, i64 40 ; ->v.typed_ref.type_key + %t574 = load ptr, ptr %t573 + %t575 = icmp eq ptr %t574, @sc_cs_2072202777142634 + br i1 %t575, label %dc.exact231, label %dc.checked232 +dc.exact231: + %t578 = getelementptr inbounds i8, ptr %t569, i64 16 ; ->v.typed_ref.ptr + %t579 = load ptr, ptr %t578 + %t580 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t579) + store ptr %t580, ptr %s570 + br label %dc.done233 +dc.checked232: + %t581 = call ptr @sc_dc_26(ptr %t569, ptr null) + store ptr %t581, ptr %s570 + %t582 = load i32, ptr %exc.cell + %t583 = icmp ne i32 %t582, 0 + %t584 = call i1 @llvm.expect.i1(i1 %t583, i1 false) + br i1 %t584, label %exc.u234, label %exc.k235 +exc.u234: + call void @scr_dyn_release(ptr %t569) + br label %exc.cleanup2 +exc.k235: + br label %dc.done233 +dc.done233: + %t585 = load ptr, ptr %s570 + %t586 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t585, i64 0, i32 2 + %t587 = load ptr, ptr %t586, !tbaa !204 + %t588 = getelementptr inbounds i8, ptr %t587, i64 8 ; ->kind + %t589 = load i32, ptr %t588 + %t590 = icmp eq i32 %t589, 6 + call void @scr_dyn_release(ptr %t569) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t585) + br i1 %t590, label %if.t236, label %if.j237 +if.t236: + %t591 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t592 = load i32, ptr %exc.cell + %t593 = icmp ne i32 %t592, 0 + %t594 = call i1 @llvm.expect.i1(i1 %t593, i1 false) + br i1 %t594, label %exc.u238, label %exc.k239 +exc.u238: + call void @scr_dyn_release(ptr %t591) + br label %exc.cleanup2 +exc.k239: + %t595 = call ptr @scr_dyn_obj_create(ptr %t591) + %t596 = load i32, ptr %exc.cell + %t597 = icmp ne i32 %t596, 0 + %t598 = call i1 @llvm.expect.i1(i1 %t597, i1 false) + br i1 %t598, label %exc.u240, label %exc.k241 +exc.u240: + call void @scr_dyn_release(ptr %t591) + call void @scr_dyn_release(ptr %t595) + br label %exc.cleanup2 +exc.k241: + call void @scr_dyn_release(ptr %t591) + %t599 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t599) + ret ptr %t595 +if.j237: + %t600 = load ptr, ptr %sc_l_p_0 + %t601 = call ptr @sc_rc_retain_dyn(ptr %t600) + %t603 = icmp ne ptr %t601, null + br i1 %t603, label %dc.inspect242, label %dc.checked245 +dc.inspect242: + %t608 = getelementptr inbounds i8, ptr %t601, i64 8 ; ->kind + %t609 = load i32, ptr %t608 + %t604 = icmp eq i32 %t609, 12 + br i1 %t604, label %dc.capsule243, label %dc.checked245 +dc.capsule243: + %t605 = getelementptr inbounds i8, ptr %t601, i64 40 ; ->v.typed_ref.type_key + %t606 = load ptr, ptr %t605 + %t607 = icmp eq ptr %t606, @sc_cs_2072202777142634 + br i1 %t607, label %dc.exact244, label %dc.checked245 +dc.exact244: + %t610 = getelementptr inbounds i8, ptr %t601, i64 16 ; ->v.typed_ref.ptr + %t611 = load ptr, ptr %t610 + %t612 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t611) + store ptr %t612, ptr %s602 + br label %dc.done246 +dc.checked245: + %t613 = call ptr @sc_dc_26(ptr %t601, ptr null) + store ptr %t613, ptr %s602 + %t614 = load i32, ptr %exc.cell + %t615 = icmp ne i32 %t614, 0 + %t616 = call i1 @llvm.expect.i1(i1 %t615, i1 false) + br i1 %t616, label %exc.u247, label %exc.k248 +exc.u247: + call void @scr_dyn_release(ptr %t601) + br label %exc.cleanup2 +exc.k248: + br label %dc.done246 +dc.done246: + %t617 = load ptr, ptr %s602 + %t618 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t617, i64 0, i32 2 + %t619 = load ptr, ptr %t618, !tbaa !204 + %t620 = call ptr @sc_rc_retain_dyn(ptr %t619) + call void @scr_dyn_release(ptr %t601) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t617) + %t621 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t621) + ret ptr %t620 +if.j228: + %t622 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s623 + %t624 = icmp ne ptr %t622, null + br i1 %t624, label %brand.inspect249, label %brand.done251 +brand.inspect249: + %t625 = getelementptr inbounds i8, ptr %t622, i64 8 ; ->kind + %t626 = load i32, ptr %t625 + %t627 = icmp eq i32 %t626, 12 + br i1 %t627, label %brand.capsule250, label %brand.done251 +brand.capsule250: + %t628 = getelementptr inbounds i8, ptr %t622, i64 40 ; ->v.typed_ref.type_key + %t629 = load ptr, ptr %t628 + %t630 = icmp eq ptr %t629, @sc_cs_2072202777142634 + store i1 true, ptr %s623 + br i1 %t630, label %brand.done251, label %brand.compare252 +brand.compare252: + %t631 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t622, ptr @sc_lit_2072202777142634) + store i1 %t631, ptr %s623 + br label %brand.done251 +brand.done251: + %t632 = load i1, ptr %s623 + br i1 %t632, label %if.t253, label %if.j254 +if.t253: + %t633 = load ptr, ptr %sc_l_p_0 + %t634 = call ptr @sc_rc_retain_dyn(ptr %t633) + %t636 = icmp ne ptr %t634, null + br i1 %t636, label %dc.inspect255, label %dc.checked258 +dc.inspect255: + %t641 = getelementptr inbounds i8, ptr %t634, i64 8 ; ->kind + %t642 = load i32, ptr %t641 + %t637 = icmp eq i32 %t642, 12 + br i1 %t637, label %dc.capsule256, label %dc.checked258 +dc.capsule256: + %t638 = getelementptr inbounds i8, ptr %t634, i64 40 ; ->v.typed_ref.type_key + %t639 = load ptr, ptr %t638 + %t640 = icmp eq ptr %t639, @sc_cs_2072202777142634 + br i1 %t640, label %dc.exact257, label %dc.checked258 +dc.exact257: + %t643 = getelementptr inbounds i8, ptr %t634, i64 16 ; ->v.typed_ref.ptr + %t644 = load ptr, ptr %t643 + %t645 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t644) + store ptr %t645, ptr %s635 + br label %dc.done259 +dc.checked258: + %t646 = call ptr @sc_dc_26(ptr %t634, ptr null) + store ptr %t646, ptr %s635 + %t647 = load i32, ptr %exc.cell + %t648 = icmp ne i32 %t647, 0 + %t649 = call i1 @llvm.expect.i1(i1 %t648, i1 false) + br i1 %t649, label %exc.u260, label %exc.k261 +exc.u260: + call void @scr_dyn_release(ptr %t634) + br label %exc.cleanup2 +exc.k261: + br label %dc.done259 +dc.done259: + %t650 = load ptr, ptr %s635 + %t651 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t650, i64 0, i32 2 + %t652 = load ptr, ptr %t651, !tbaa !204 + %t653 = getelementptr inbounds i8, ptr %t652, i64 8 ; ->kind + %t654 = load i32, ptr %t653 + %t655 = icmp eq i32 %t654, 6 + call void @scr_dyn_release(ptr %t634) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t650) + br i1 %t655, label %if.t262, label %if.j263 +if.t262: + %t656 = load ptr, ptr %sc_l_p_0 + %t657 = call ptr @sc_rc_retain_dyn(ptr %t656) + %t659 = icmp ne ptr %t657, null + br i1 %t659, label %dc.inspect264, label %dc.checked267 +dc.inspect264: + %t664 = getelementptr inbounds i8, ptr %t657, i64 8 ; ->kind + %t665 = load i32, ptr %t664 + %t660 = icmp eq i32 %t665, 12 + br i1 %t660, label %dc.capsule265, label %dc.checked267 +dc.capsule265: + %t661 = getelementptr inbounds i8, ptr %t657, i64 40 ; ->v.typed_ref.type_key + %t662 = load ptr, ptr %t661 + %t663 = icmp eq ptr %t662, @sc_cs_2072202777142634 + br i1 %t663, label %dc.exact266, label %dc.checked267 +dc.exact266: + %t666 = getelementptr inbounds i8, ptr %t657, i64 16 ; ->v.typed_ref.ptr + %t667 = load ptr, ptr %t666 + %t668 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t667) + store ptr %t668, ptr %s658 + br label %dc.done268 +dc.checked267: + %t669 = call ptr @sc_dc_26(ptr %t657, ptr null) + store ptr %t669, ptr %s658 + %t670 = load i32, ptr %exc.cell + %t671 = icmp ne i32 %t670, 0 + %t672 = call i1 @llvm.expect.i1(i1 %t671, i1 false) + br i1 %t672, label %exc.u269, label %exc.k270 +exc.u269: + call void @scr_dyn_release(ptr %t657) + br label %exc.cleanup2 +exc.k270: + br label %dc.done268 +dc.done268: + %t673 = load ptr, ptr %s658 + %t674 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t673, i64 0, i32 1 + %t675 = load ptr, ptr %t674 + %t676 = getelementptr inbounds %ScrVt, ptr %t675, i64 0, i32 0 + %t677 = load i64, ptr %t676 + %t678 = icmp uge i64 %t677, 23 + %t679 = icmp ule i64 %t677, 23 + %t680 = and i1 %t678, %t679 ; instanceof %m4.MemoryFileSink + br i1 %t680, label %tern.t271, label %tern.f272 +tern.t271: + %t682 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t683 = load i32, ptr %exc.cell + %t684 = icmp ne i32 %t683, 0 + %t685 = call i1 @llvm.expect.i1(i1 %t684, i1 false) + br i1 %t685, label %exc.u274, label %exc.k275 +exc.u274: + call void @scr_dyn_release(ptr %t682) + call void @scr_dyn_release(ptr %t657) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t673) + br label %exc.cleanup2 +exc.k275: + store ptr %t682, ptr %s681 + br label %tern.j273 +tern.f272: + %t686 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink() + %t687 = load i32, ptr %exc.cell + %t688 = icmp ne i32 %t687, 0 + %t689 = call i1 @llvm.expect.i1(i1 %t688, i1 false) + br i1 %t689, label %exc.u276, label %exc.k277 +exc.u276: + call void @scr_dyn_release(ptr %t686) + call void @scr_dyn_release(ptr %t657) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t673) + br label %exc.cleanup2 +exc.k277: + store ptr %t686, ptr %s681 + br label %tern.j273 +tern.j273: + %t690 = load ptr, ptr %s681 + %t691 = call ptr @scr_dyn_obj_create(ptr %t690) + %t692 = load i32, ptr %exc.cell + %t693 = icmp ne i32 %t692, 0 + %t694 = call i1 @llvm.expect.i1(i1 %t693, i1 false) + br i1 %t694, label %exc.u278, label %exc.k279 +exc.u278: + call void @scr_dyn_release(ptr %t657) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t673) + call void @scr_dyn_release(ptr %t690) + call void @scr_dyn_release(ptr %t691) + br label %exc.cleanup2 +exc.k279: + call void @scr_dyn_release(ptr %t657) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t673) + call void @scr_dyn_release(ptr %t690) + %t695 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t695) + ret ptr %t691 +if.j263: + %t696 = load ptr, ptr %sc_l_p_0 + %t697 = call ptr @sc_rc_retain_dyn(ptr %t696) + %t699 = icmp ne ptr %t697, null + br i1 %t699, label %dc.inspect280, label %dc.checked283 +dc.inspect280: + %t704 = getelementptr inbounds i8, ptr %t697, i64 8 ; ->kind + %t705 = load i32, ptr %t704 + %t700 = icmp eq i32 %t705, 12 + br i1 %t700, label %dc.capsule281, label %dc.checked283 +dc.capsule281: + %t701 = getelementptr inbounds i8, ptr %t697, i64 40 ; ->v.typed_ref.type_key + %t702 = load ptr, ptr %t701 + %t703 = icmp eq ptr %t702, @sc_cs_2072202777142634 + br i1 %t703, label %dc.exact282, label %dc.checked283 +dc.exact282: + %t706 = getelementptr inbounds i8, ptr %t697, i64 16 ; ->v.typed_ref.ptr + %t707 = load ptr, ptr %t706 + %t708 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t707) + store ptr %t708, ptr %s698 + br label %dc.done284 +dc.checked283: + %t709 = call ptr @sc_dc_26(ptr %t697, ptr null) + store ptr %t709, ptr %s698 + %t710 = load i32, ptr %exc.cell + %t711 = icmp ne i32 %t710, 0 + %t712 = call i1 @llvm.expect.i1(i1 %t711, i1 false) + br i1 %t712, label %exc.u285, label %exc.k286 +exc.u285: + call void @scr_dyn_release(ptr %t697) + br label %exc.cleanup2 +exc.k286: + br label %dc.done284 +dc.done284: + %t713 = load ptr, ptr %s698 + %t714 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t713, i64 0, i32 2 + %t715 = load ptr, ptr %t714, !tbaa !204 + %t716 = call ptr @sc_rc_retain_dyn(ptr %t715) + call void @scr_dyn_release(ptr %t697) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t713) + %t717 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t717) + ret ptr %t716 +if.j254: + %t718 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s719 + %t720 = icmp ne ptr %t718, null + br i1 %t720, label %brand.inspect287, label %brand.done289 +brand.inspect287: + %t721 = getelementptr inbounds i8, ptr %t718, i64 8 ; ->kind + %t722 = load i32, ptr %t721 + %t723 = icmp eq i32 %t722, 12 + br i1 %t723, label %brand.capsule288, label %brand.done289 +brand.capsule288: + %t724 = getelementptr inbounds i8, ptr %t718, i64 40 ; ->v.typed_ref.type_key + %t725 = load ptr, ptr %t724 + %t726 = icmp eq ptr %t725, @sc_cs_3314970835853795 + store i1 true, ptr %s719 + br i1 %t726, label %brand.done289, label %brand.compare290 +brand.compare290: + %t727 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t718, ptr @sc_lit_3314970835853795) + store i1 %t727, ptr %s719 + br label %brand.done289 +brand.done289: + %t728 = load i1, ptr %s719 + br i1 %t728, label %tern.t291, label %tern.f292 +tern.t291: + %t730 = load ptr, ptr %sc_l_p_0 + %t731 = call ptr @sc_rc_retain_dyn(ptr %t730) + %t733 = icmp ne ptr %t731, null + br i1 %t733, label %dc.inspect294, label %dc.checked297 +dc.inspect294: + %t738 = getelementptr inbounds i8, ptr %t731, i64 8 ; ->kind + %t739 = load i32, ptr %t738 + %t734 = icmp eq i32 %t739, 12 + br i1 %t734, label %dc.capsule295, label %dc.checked297 +dc.capsule295: + %t735 = getelementptr inbounds i8, ptr %t731, i64 40 ; ->v.typed_ref.type_key + %t736 = load ptr, ptr %t735 + %t737 = icmp eq ptr %t736, @sc_cs_3314970835853795 + br i1 %t737, label %dc.exact296, label %dc.checked297 +dc.exact296: + %t740 = getelementptr inbounds i8, ptr %t731, i64 16 ; ->v.typed_ref.ptr + %t741 = load ptr, ptr %t740 + %t742 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t741) + store ptr %t742, ptr %s732 + br label %dc.done298 +dc.checked297: + %t743 = call ptr @sc_dc_79(ptr %t731, ptr null) + store ptr %t743, ptr %s732 + %t744 = load i32, ptr %exc.cell + %t745 = icmp ne i32 %t744, 0 + %t746 = call i1 @llvm.expect.i1(i1 %t745, i1 false) + br i1 %t746, label %exc.u299, label %exc.k300 +exc.u299: + call void @scr_dyn_release(ptr %t731) + br label %exc.cleanup2 +exc.k300: + br label %dc.done298 +dc.done298: + %t747 = load ptr, ptr %s732 + %t748 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t747, i64 0, i32 1 + %t749 = load ptr, ptr %t748 + %t750 = getelementptr inbounds %ScrVt, ptr %t749, i64 0, i32 0 + %t751 = load i64, ptr %t750 + %t752 = icmp uge i64 %t751, 38 + %t753 = icmp ule i64 %t751, 38 + %t754 = and i1 %t752, %t753 ; instanceof %m14.BakedAssets + store i1 %t754, ptr %s729 + call void @scr_dyn_release(ptr %t731) + call void @sc_release__x25_m6_AssetSource(ptr %t747) + br label %tern.j293 +tern.f292: + store i1 false, ptr %s729 + br label %tern.j293 +tern.j293: + %t755 = load i1, ptr %s729 + br i1 %t755, label %if.t301, label %if.j302 +if.t301: + %t756 = load ptr, ptr %sc_l_p_0 + %t757 = call ptr @sc_rc_retain_dyn(ptr %t756) + %t759 = icmp ne ptr %t757, null + br i1 %t759, label %dc.inspect303, label %dc.checked306 +dc.inspect303: + %t764 = getelementptr inbounds i8, ptr %t757, i64 8 ; ->kind + %t765 = load i32, ptr %t764 + %t760 = icmp eq i32 %t765, 12 + br i1 %t760, label %dc.capsule304, label %dc.checked306 +dc.capsule304: + %t761 = getelementptr inbounds i8, ptr %t757, i64 40 ; ->v.typed_ref.type_key + %t762 = load ptr, ptr %t761 + %t763 = icmp eq ptr %t762, @sc_cs_3314970835853795 + br i1 %t763, label %dc.exact305, label %dc.checked306 +dc.exact305: + %t766 = getelementptr inbounds i8, ptr %t757, i64 16 ; ->v.typed_ref.ptr + %t767 = load ptr, ptr %t766 + %t768 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t767) + store ptr %t768, ptr %s758 + br label %dc.done307 +dc.checked306: + %t769 = call ptr @sc_dc_79(ptr %t757, ptr null) + store ptr %t769, ptr %s758 + %t770 = load i32, ptr %exc.cell + %t771 = icmp ne i32 %t770, 0 + %t772 = call i1 @llvm.expect.i1(i1 %t771, i1 false) + br i1 %t772, label %exc.u308, label %exc.k309 +exc.u308: + call void @scr_dyn_release(ptr %t757) + br label %exc.cleanup2 +exc.k309: + br label %dc.done307 +dc.done307: + %t773 = load ptr, ptr %s758 + %t774 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t773, i64 0, i32 2 + %t775 = load ptr, ptr %t774, !tbaa !204 + %t776 = getelementptr inbounds i8, ptr %t775, i64 8 ; ->kind + %t777 = load i32, ptr %t776 + %t778 = icmp eq i32 %t777, 6 + call void @scr_dyn_release(ptr %t757) + call void @sc_release__x25_m6_AssetSource(ptr %t773) + br i1 %t778, label %if.t310, label %if.j311 +if.t310: + %t779 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t780 = load i32, ptr %exc.cell + %t781 = icmp ne i32 %t780, 0 + %t782 = call i1 @llvm.expect.i1(i1 %t781, i1 false) + br i1 %t782, label %exc.u312, label %exc.k313 +exc.u312: + call void @scr_dyn_release(ptr %t779) + br label %exc.cleanup2 +exc.k313: + %t783 = call ptr @scr_dyn_obj_create(ptr %t779) + %t784 = load i32, ptr %exc.cell + %t785 = icmp ne i32 %t784, 0 + %t786 = call i1 @llvm.expect.i1(i1 %t785, i1 false) + br i1 %t786, label %exc.u314, label %exc.k315 +exc.u314: + call void @scr_dyn_release(ptr %t779) + call void @scr_dyn_release(ptr %t783) + br label %exc.cleanup2 +exc.k315: + call void @scr_dyn_release(ptr %t779) + %t787 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t787) + ret ptr %t783 +if.j311: + %t788 = load ptr, ptr %sc_l_p_0 + %t789 = call ptr @sc_rc_retain_dyn(ptr %t788) + %t791 = icmp ne ptr %t789, null + br i1 %t791, label %dc.inspect316, label %dc.checked319 +dc.inspect316: + %t796 = getelementptr inbounds i8, ptr %t789, i64 8 ; ->kind + %t797 = load i32, ptr %t796 + %t792 = icmp eq i32 %t797, 12 + br i1 %t792, label %dc.capsule317, label %dc.checked319 +dc.capsule317: + %t793 = getelementptr inbounds i8, ptr %t789, i64 40 ; ->v.typed_ref.type_key + %t794 = load ptr, ptr %t793 + %t795 = icmp eq ptr %t794, @sc_cs_3314970835853795 + br i1 %t795, label %dc.exact318, label %dc.checked319 +dc.exact318: + %t798 = getelementptr inbounds i8, ptr %t789, i64 16 ; ->v.typed_ref.ptr + %t799 = load ptr, ptr %t798 + %t800 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t799) + store ptr %t800, ptr %s790 + br label %dc.done320 +dc.checked319: + %t801 = call ptr @sc_dc_79(ptr %t789, ptr null) + store ptr %t801, ptr %s790 + %t802 = load i32, ptr %exc.cell + %t803 = icmp ne i32 %t802, 0 + %t804 = call i1 @llvm.expect.i1(i1 %t803, i1 false) + br i1 %t804, label %exc.u321, label %exc.k322 +exc.u321: + call void @scr_dyn_release(ptr %t789) + br label %exc.cleanup2 +exc.k322: + br label %dc.done320 +dc.done320: + %t805 = load ptr, ptr %s790 + %t806 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t805, i64 0, i32 2 + %t807 = load ptr, ptr %t806, !tbaa !204 + %t808 = call ptr @sc_rc_retain_dyn(ptr %t807) + call void @scr_dyn_release(ptr %t789) + call void @sc_release__x25_m6_AssetSource(ptr %t805) + %t809 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t809) + ret ptr %t808 +if.j302: + %t810 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s811 + %t812 = icmp ne ptr %t810, null + br i1 %t812, label %brand.inspect323, label %brand.done325 +brand.inspect323: + %t813 = getelementptr inbounds i8, ptr %t810, i64 8 ; ->kind + %t814 = load i32, ptr %t813 + %t815 = icmp eq i32 %t814, 12 + br i1 %t815, label %brand.capsule324, label %brand.done325 +brand.capsule324: + %t816 = getelementptr inbounds i8, ptr %t810, i64 40 ; ->v.typed_ref.type_key + %t817 = load ptr, ptr %t816 + %t818 = icmp eq ptr %t817, @sc_cs_3314970835853795 + store i1 true, ptr %s811 + br i1 %t818, label %brand.done325, label %brand.compare326 +brand.compare326: + %t819 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t810, ptr @sc_lit_3314970835853795) + store i1 %t819, ptr %s811 + br label %brand.done325 +brand.done325: + %t820 = load i1, ptr %s811 + br i1 %t820, label %tern.t327, label %tern.f328 +tern.t327: + %t822 = load ptr, ptr %sc_l_p_0 + %t823 = call ptr @sc_rc_retain_dyn(ptr %t822) + %t825 = icmp ne ptr %t823, null + br i1 %t825, label %dc.inspect330, label %dc.checked333 +dc.inspect330: + %t830 = getelementptr inbounds i8, ptr %t823, i64 8 ; ->kind + %t831 = load i32, ptr %t830 + %t826 = icmp eq i32 %t831, 12 + br i1 %t826, label %dc.capsule331, label %dc.checked333 +dc.capsule331: + %t827 = getelementptr inbounds i8, ptr %t823, i64 40 ; ->v.typed_ref.type_key + %t828 = load ptr, ptr %t827 + %t829 = icmp eq ptr %t828, @sc_cs_3314970835853795 + br i1 %t829, label %dc.exact332, label %dc.checked333 +dc.exact332: + %t832 = getelementptr inbounds i8, ptr %t823, i64 16 ; ->v.typed_ref.ptr + %t833 = load ptr, ptr %t832 + %t834 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t833) + store ptr %t834, ptr %s824 + br label %dc.done334 +dc.checked333: + %t835 = call ptr @sc_dc_79(ptr %t823, ptr null) + store ptr %t835, ptr %s824 + %t836 = load i32, ptr %exc.cell + %t837 = icmp ne i32 %t836, 0 + %t838 = call i1 @llvm.expect.i1(i1 %t837, i1 false) + br i1 %t838, label %exc.u335, label %exc.k336 +exc.u335: + call void @scr_dyn_release(ptr %t823) + br label %exc.cleanup2 +exc.k336: + br label %dc.done334 +dc.done334: + %t839 = load ptr, ptr %s824 + %t840 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t839, i64 0, i32 1 + %t841 = load ptr, ptr %t840 + %t842 = getelementptr inbounds %ScrVt, ptr %t841, i64 0, i32 0 + %t843 = load i64, ptr %t842 + %t844 = icmp uge i64 %t843, 37 + %t845 = icmp ule i64 %t843, 38 + %t846 = and i1 %t844, %t845 ; instanceof %m9.EmbeddedAssets + store i1 %t846, ptr %s821 + call void @scr_dyn_release(ptr %t823) + call void @sc_release__x25_m6_AssetSource(ptr %t839) + br label %tern.j329 +tern.f328: + store i1 false, ptr %s821 + br label %tern.j329 +tern.j329: + %t847 = load i1, ptr %s821 + br i1 %t847, label %if.t337, label %if.j338 +if.t337: + %t848 = load ptr, ptr %sc_l_p_0 + %t849 = call ptr @sc_rc_retain_dyn(ptr %t848) + %t851 = icmp ne ptr %t849, null + br i1 %t851, label %dc.inspect339, label %dc.checked342 +dc.inspect339: + %t856 = getelementptr inbounds i8, ptr %t849, i64 8 ; ->kind + %t857 = load i32, ptr %t856 + %t852 = icmp eq i32 %t857, 12 + br i1 %t852, label %dc.capsule340, label %dc.checked342 +dc.capsule340: + %t853 = getelementptr inbounds i8, ptr %t849, i64 40 ; ->v.typed_ref.type_key + %t854 = load ptr, ptr %t853 + %t855 = icmp eq ptr %t854, @sc_cs_3314970835853795 + br i1 %t855, label %dc.exact341, label %dc.checked342 +dc.exact341: + %t858 = getelementptr inbounds i8, ptr %t849, i64 16 ; ->v.typed_ref.ptr + %t859 = load ptr, ptr %t858 + %t860 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t859) + store ptr %t860, ptr %s850 + br label %dc.done343 +dc.checked342: + %t861 = call ptr @sc_dc_79(ptr %t849, ptr null) + store ptr %t861, ptr %s850 + %t862 = load i32, ptr %exc.cell + %t863 = icmp ne i32 %t862, 0 + %t864 = call i1 @llvm.expect.i1(i1 %t863, i1 false) + br i1 %t864, label %exc.u344, label %exc.k345 +exc.u344: + call void @scr_dyn_release(ptr %t849) + br label %exc.cleanup2 +exc.k345: + br label %dc.done343 +dc.done343: + %t865 = load ptr, ptr %s850 + %t866 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t865, i64 0, i32 2 + %t867 = load ptr, ptr %t866, !tbaa !204 + %t868 = getelementptr inbounds i8, ptr %t867, i64 8 ; ->kind + %t869 = load i32, ptr %t868 + %t870 = icmp eq i32 %t869, 6 + call void @scr_dyn_release(ptr %t849) + call void @sc_release__x25_m6_AssetSource(ptr %t865) + br i1 %t870, label %if.t346, label %if.j347 +if.t346: + %t871 = load ptr, ptr %sc_l_p_0 + %t872 = call ptr @sc_rc_retain_dyn(ptr %t871) + %t874 = icmp ne ptr %t872, null + br i1 %t874, label %dc.inspect348, label %dc.checked351 +dc.inspect348: + %t879 = getelementptr inbounds i8, ptr %t872, i64 8 ; ->kind + %t880 = load i32, ptr %t879 + %t875 = icmp eq i32 %t880, 12 + br i1 %t875, label %dc.capsule349, label %dc.checked351 +dc.capsule349: + %t876 = getelementptr inbounds i8, ptr %t872, i64 40 ; ->v.typed_ref.type_key + %t877 = load ptr, ptr %t876 + %t878 = icmp eq ptr %t877, @sc_cs_3314970835853795 + br i1 %t878, label %dc.exact350, label %dc.checked351 +dc.exact350: + %t881 = getelementptr inbounds i8, ptr %t872, i64 16 ; ->v.typed_ref.ptr + %t882 = load ptr, ptr %t881 + %t883 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t882) + store ptr %t883, ptr %s873 + br label %dc.done352 +dc.checked351: + %t884 = call ptr @sc_dc_79(ptr %t872, ptr null) + store ptr %t884, ptr %s873 + %t885 = load i32, ptr %exc.cell + %t886 = icmp ne i32 %t885, 0 + %t887 = call i1 @llvm.expect.i1(i1 %t886, i1 false) + br i1 %t887, label %exc.u353, label %exc.k354 +exc.u353: + call void @scr_dyn_release(ptr %t872) + br label %exc.cleanup2 +exc.k354: + br label %dc.done352 +dc.done352: + %t888 = load ptr, ptr %s873 + %t889 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t888, i64 0, i32 1 + %t890 = load ptr, ptr %t889 + %t891 = getelementptr inbounds %ScrVt, ptr %t890, i64 0, i32 0 + %t892 = load i64, ptr %t891 + %t893 = icmp uge i64 %t892, 38 + %t894 = icmp ule i64 %t892, 38 + %t895 = and i1 %t893, %t894 ; instanceof %m14.BakedAssets + br i1 %t895, label %tern.t355, label %tern.f356 +tern.t355: + %t897 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t898 = load i32, ptr %exc.cell + %t899 = icmp ne i32 %t898, 0 + %t900 = call i1 @llvm.expect.i1(i1 %t899, i1 false) + br i1 %t900, label %exc.u358, label %exc.k359 +exc.u358: + call void @scr_dyn_release(ptr %t897) + call void @scr_dyn_release(ptr %t872) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888) + br label %exc.cleanup2 +exc.k359: + store ptr %t897, ptr %s896 + br label %tern.j357 +tern.f356: + %t901 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t902 = load i32, ptr %exc.cell + %t903 = icmp ne i32 %t902, 0 + %t904 = call i1 @llvm.expect.i1(i1 %t903, i1 false) + br i1 %t904, label %exc.u360, label %exc.k361 +exc.u360: + call void @scr_dyn_release(ptr %t901) + call void @scr_dyn_release(ptr %t872) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888) + br label %exc.cleanup2 +exc.k361: + store ptr %t901, ptr %s896 + br label %tern.j357 +tern.j357: + %t905 = load ptr, ptr %s896 + %t906 = call ptr @scr_dyn_obj_create(ptr %t905) + %t907 = load i32, ptr %exc.cell + %t908 = icmp ne i32 %t907, 0 + %t909 = call i1 @llvm.expect.i1(i1 %t908, i1 false) + br i1 %t909, label %exc.u362, label %exc.k363 +exc.u362: + call void @scr_dyn_release(ptr %t872) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888) + call void @scr_dyn_release(ptr %t905) + call void @scr_dyn_release(ptr %t906) + br label %exc.cleanup2 +exc.k363: + call void @scr_dyn_release(ptr %t872) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888) + call void @scr_dyn_release(ptr %t905) + %t910 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t910) + ret ptr %t906 +if.j347: + %t911 = load ptr, ptr %sc_l_p_0 + %t912 = call ptr @sc_rc_retain_dyn(ptr %t911) + %t914 = icmp ne ptr %t912, null + br i1 %t914, label %dc.inspect364, label %dc.checked367 +dc.inspect364: + %t919 = getelementptr inbounds i8, ptr %t912, i64 8 ; ->kind + %t920 = load i32, ptr %t919 + %t915 = icmp eq i32 %t920, 12 + br i1 %t915, label %dc.capsule365, label %dc.checked367 +dc.capsule365: + %t916 = getelementptr inbounds i8, ptr %t912, i64 40 ; ->v.typed_ref.type_key + %t917 = load ptr, ptr %t916 + %t918 = icmp eq ptr %t917, @sc_cs_3314970835853795 + br i1 %t918, label %dc.exact366, label %dc.checked367 +dc.exact366: + %t921 = getelementptr inbounds i8, ptr %t912, i64 16 ; ->v.typed_ref.ptr + %t922 = load ptr, ptr %t921 + %t923 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t922) + store ptr %t923, ptr %s913 + br label %dc.done368 +dc.checked367: + %t924 = call ptr @sc_dc_79(ptr %t912, ptr null) + store ptr %t924, ptr %s913 + %t925 = load i32, ptr %exc.cell + %t926 = icmp ne i32 %t925, 0 + %t927 = call i1 @llvm.expect.i1(i1 %t926, i1 false) + br i1 %t927, label %exc.u369, label %exc.k370 +exc.u369: + call void @scr_dyn_release(ptr %t912) + br label %exc.cleanup2 +exc.k370: + br label %dc.done368 +dc.done368: + %t928 = load ptr, ptr %s913 + %t929 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t928, i64 0, i32 2 + %t930 = load ptr, ptr %t929, !tbaa !204 + %t931 = call ptr @sc_rc_retain_dyn(ptr %t930) + call void @scr_dyn_release(ptr %t912) + call void @sc_release__x25_m6_AssetSource(ptr %t928) + %t932 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t932) + ret ptr %t931 +if.j338: + %t933 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s934 + %t935 = icmp ne ptr %t933, null + br i1 %t935, label %brand.inspect371, label %brand.done373 +brand.inspect371: + %t936 = getelementptr inbounds i8, ptr %t933, i64 8 ; ->kind + %t937 = load i32, ptr %t936 + %t938 = icmp eq i32 %t937, 12 + br i1 %t938, label %brand.capsule372, label %brand.done373 +brand.capsule372: + %t939 = getelementptr inbounds i8, ptr %t933, i64 40 ; ->v.typed_ref.type_key + %t940 = load ptr, ptr %t939 + %t941 = icmp eq ptr %t940, @sc_cs_3314970835853795 + store i1 true, ptr %s934 + br i1 %t941, label %brand.done373, label %brand.compare374 +brand.compare374: + %t942 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t933, ptr @sc_lit_3314970835853795) + store i1 %t942, ptr %s934 + br label %brand.done373 +brand.done373: + %t943 = load i1, ptr %s934 + br i1 %t943, label %if.t375, label %if.j376 +if.t375: + %t944 = load ptr, ptr %sc_l_p_0 + %t945 = call ptr @sc_rc_retain_dyn(ptr %t944) + %t947 = icmp ne ptr %t945, null + br i1 %t947, label %dc.inspect377, label %dc.checked380 +dc.inspect377: + %t952 = getelementptr inbounds i8, ptr %t945, i64 8 ; ->kind + %t953 = load i32, ptr %t952 + %t948 = icmp eq i32 %t953, 12 + br i1 %t948, label %dc.capsule378, label %dc.checked380 +dc.capsule378: + %t949 = getelementptr inbounds i8, ptr %t945, i64 40 ; ->v.typed_ref.type_key + %t950 = load ptr, ptr %t949 + %t951 = icmp eq ptr %t950, @sc_cs_3314970835853795 + br i1 %t951, label %dc.exact379, label %dc.checked380 +dc.exact379: + %t954 = getelementptr inbounds i8, ptr %t945, i64 16 ; ->v.typed_ref.ptr + %t955 = load ptr, ptr %t954 + %t956 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t955) + store ptr %t956, ptr %s946 + br label %dc.done381 +dc.checked380: + %t957 = call ptr @sc_dc_79(ptr %t945, ptr null) + store ptr %t957, ptr %s946 + %t958 = load i32, ptr %exc.cell + %t959 = icmp ne i32 %t958, 0 + %t960 = call i1 @llvm.expect.i1(i1 %t959, i1 false) + br i1 %t960, label %exc.u382, label %exc.k383 +exc.u382: + call void @scr_dyn_release(ptr %t945) + br label %exc.cleanup2 +exc.k383: + br label %dc.done381 +dc.done381: + %t961 = load ptr, ptr %s946 + %t962 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t961, i64 0, i32 2 + %t963 = load ptr, ptr %t962, !tbaa !204 + %t964 = getelementptr inbounds i8, ptr %t963, i64 8 ; ->kind + %t965 = load i32, ptr %t964 + %t966 = icmp eq i32 %t965, 6 + call void @scr_dyn_release(ptr %t945) + call void @sc_release__x25_m6_AssetSource(ptr %t961) + br i1 %t966, label %if.t384, label %if.j385 +if.t384: + %t967 = load ptr, ptr %sc_l_p_0 + %t968 = call ptr @sc_rc_retain_dyn(ptr %t967) + %t970 = icmp ne ptr %t968, null + br i1 %t970, label %dc.inspect386, label %dc.checked389 +dc.inspect386: + %t975 = getelementptr inbounds i8, ptr %t968, i64 8 ; ->kind + %t976 = load i32, ptr %t975 + %t971 = icmp eq i32 %t976, 12 + br i1 %t971, label %dc.capsule387, label %dc.checked389 +dc.capsule387: + %t972 = getelementptr inbounds i8, ptr %t968, i64 40 ; ->v.typed_ref.type_key + %t973 = load ptr, ptr %t972 + %t974 = icmp eq ptr %t973, @sc_cs_3314970835853795 + br i1 %t974, label %dc.exact388, label %dc.checked389 +dc.exact388: + %t977 = getelementptr inbounds i8, ptr %t968, i64 16 ; ->v.typed_ref.ptr + %t978 = load ptr, ptr %t977 + %t979 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t978) + store ptr %t979, ptr %s969 + br label %dc.done390 +dc.checked389: + %t980 = call ptr @sc_dc_79(ptr %t968, ptr null) + store ptr %t980, ptr %s969 + %t981 = load i32, ptr %exc.cell + %t982 = icmp ne i32 %t981, 0 + %t983 = call i1 @llvm.expect.i1(i1 %t982, i1 false) + br i1 %t983, label %exc.u391, label %exc.k392 +exc.u391: + call void @scr_dyn_release(ptr %t968) + br label %exc.cleanup2 +exc.k392: + br label %dc.done390 +dc.done390: + %t984 = load ptr, ptr %s969 + %t985 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t984, i64 0, i32 1 + %t986 = load ptr, ptr %t985 + %t987 = getelementptr inbounds %ScrVt, ptr %t986, i64 0, i32 0 + %t988 = load i64, ptr %t987 + %t989 = icmp uge i64 %t988, 37 + %t990 = icmp ule i64 %t988, 38 + %t991 = and i1 %t989, %t990 ; instanceof %m9.EmbeddedAssets + br i1 %t991, label %tern.t393, label %tern.f394 +tern.t393: + %t993 = load ptr, ptr %sc_l_p_0 + %t994 = call ptr @sc_rc_retain_dyn(ptr %t993) + %t996 = icmp ne ptr %t994, null + br i1 %t996, label %dc.inspect396, label %dc.checked399 +dc.inspect396: + %t1001 = getelementptr inbounds i8, ptr %t994, i64 8 ; ->kind + %t1002 = load i32, ptr %t1001 + %t997 = icmp eq i32 %t1002, 12 + br i1 %t997, label %dc.capsule397, label %dc.checked399 +dc.capsule397: + %t998 = getelementptr inbounds i8, ptr %t994, i64 40 ; ->v.typed_ref.type_key + %t999 = load ptr, ptr %t998 + %t1000 = icmp eq ptr %t999, @sc_cs_3314970835853795 + br i1 %t1000, label %dc.exact398, label %dc.checked399 +dc.exact398: + %t1003 = getelementptr inbounds i8, ptr %t994, i64 16 ; ->v.typed_ref.ptr + %t1004 = load ptr, ptr %t1003 + %t1005 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1004) + store ptr %t1005, ptr %s995 + br label %dc.done400 +dc.checked399: + %t1006 = call ptr @sc_dc_79(ptr %t994, ptr null) + store ptr %t1006, ptr %s995 + %t1007 = load i32, ptr %exc.cell + %t1008 = icmp ne i32 %t1007, 0 + %t1009 = call i1 @llvm.expect.i1(i1 %t1008, i1 false) + br i1 %t1009, label %exc.u401, label %exc.k402 +exc.u401: + call void @scr_dyn_release(ptr %t994) + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + br label %exc.cleanup2 +exc.k402: + br label %dc.done400 +dc.done400: + %t1010 = load ptr, ptr %s995 + %t1011 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1010, i64 0, i32 1 + %t1012 = load ptr, ptr %t1011 + %t1013 = getelementptr inbounds %ScrVt, ptr %t1012, i64 0, i32 0 + %t1014 = load i64, ptr %t1013 + %t1015 = icmp uge i64 %t1014, 38 + %t1016 = icmp ule i64 %t1014, 38 + %t1017 = and i1 %t1015, %t1016 ; instanceof %m14.BakedAssets + br i1 %t1017, label %tern.t403, label %tern.f404 +tern.t403: + %t1019 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1020 = load i32, ptr %exc.cell + %t1021 = icmp ne i32 %t1020, 0 + %t1022 = call i1 @llvm.expect.i1(i1 %t1021, i1 false) + br i1 %t1022, label %exc.u406, label %exc.k407 +exc.u406: + call void @scr_dyn_release(ptr %t1019) + call void @scr_dyn_release(ptr %t994) + call void @sc_release__x25_m6_AssetSource(ptr %t1010) + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + br label %exc.cleanup2 +exc.k407: + store ptr %t1019, ptr %s1018 + br label %tern.j405 +tern.f404: + %t1023 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t1024 = load i32, ptr %exc.cell + %t1025 = icmp ne i32 %t1024, 0 + %t1026 = call i1 @llvm.expect.i1(i1 %t1025, i1 false) + br i1 %t1026, label %exc.u408, label %exc.k409 +exc.u408: + call void @scr_dyn_release(ptr %t1023) + call void @scr_dyn_release(ptr %t994) + call void @sc_release__x25_m6_AssetSource(ptr %t1010) + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + br label %exc.cleanup2 +exc.k409: + store ptr %t1023, ptr %s1018 + br label %tern.j405 +tern.j405: + %t1027 = load ptr, ptr %s1018 + store ptr %t1027, ptr %s992 + call void @scr_dyn_release(ptr %t994) + call void @sc_release__x25_m6_AssetSource(ptr %t1010) + br label %tern.j395 +tern.f394: + %t1028 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource() + %t1029 = load i32, ptr %exc.cell + %t1030 = icmp ne i32 %t1029, 0 + %t1031 = call i1 @llvm.expect.i1(i1 %t1030, i1 false) + br i1 %t1031, label %exc.u410, label %exc.k411 +exc.u410: + call void @scr_dyn_release(ptr %t1028) + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + br label %exc.cleanup2 +exc.k411: + store ptr %t1028, ptr %s992 + br label %tern.j395 +tern.j395: + %t1032 = load ptr, ptr %s992 + %t1033 = call ptr @scr_dyn_obj_create(ptr %t1032) + %t1034 = load i32, ptr %exc.cell + %t1035 = icmp ne i32 %t1034, 0 + %t1036 = call i1 @llvm.expect.i1(i1 %t1035, i1 false) + br i1 %t1036, label %exc.u412, label %exc.k413 +exc.u412: + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + call void @scr_dyn_release(ptr %t1032) + call void @scr_dyn_release(ptr %t1033) + br label %exc.cleanup2 +exc.k413: + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + call void @scr_dyn_release(ptr %t1032) + %t1037 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1037) + ret ptr %t1033 +if.j385: + %t1038 = load ptr, ptr %sc_l_p_0 + %t1039 = call ptr @sc_rc_retain_dyn(ptr %t1038) + %t1041 = icmp ne ptr %t1039, null + br i1 %t1041, label %dc.inspect414, label %dc.checked417 +dc.inspect414: + %t1046 = getelementptr inbounds i8, ptr %t1039, i64 8 ; ->kind + %t1047 = load i32, ptr %t1046 + %t1042 = icmp eq i32 %t1047, 12 + br i1 %t1042, label %dc.capsule415, label %dc.checked417 +dc.capsule415: + %t1043 = getelementptr inbounds i8, ptr %t1039, i64 40 ; ->v.typed_ref.type_key + %t1044 = load ptr, ptr %t1043 + %t1045 = icmp eq ptr %t1044, @sc_cs_3314970835853795 + br i1 %t1045, label %dc.exact416, label %dc.checked417 +dc.exact416: + %t1048 = getelementptr inbounds i8, ptr %t1039, i64 16 ; ->v.typed_ref.ptr + %t1049 = load ptr, ptr %t1048 + %t1050 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1049) + store ptr %t1050, ptr %s1040 + br label %dc.done418 +dc.checked417: + %t1051 = call ptr @sc_dc_79(ptr %t1039, ptr null) + store ptr %t1051, ptr %s1040 + %t1052 = load i32, ptr %exc.cell + %t1053 = icmp ne i32 %t1052, 0 + %t1054 = call i1 @llvm.expect.i1(i1 %t1053, i1 false) + br i1 %t1054, label %exc.u419, label %exc.k420 +exc.u419: + call void @scr_dyn_release(ptr %t1039) + br label %exc.cleanup2 +exc.k420: + br label %dc.done418 +dc.done418: + %t1055 = load ptr, ptr %s1040 + %t1056 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1055, i64 0, i32 2 + %t1057 = load ptr, ptr %t1056, !tbaa !204 + %t1058 = call ptr @sc_rc_retain_dyn(ptr %t1057) + call void @scr_dyn_release(ptr %t1039) + call void @sc_release__x25_m6_AssetSource(ptr %t1055) + %t1059 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1059) + ret ptr %t1058 +if.j376: + %t1060 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1061 + %t1062 = icmp ne ptr %t1060, null + br i1 %t1062, label %brand.inspect421, label %brand.done423 +brand.inspect421: + %t1063 = getelementptr inbounds i8, ptr %t1060, i64 8 ; ->kind + %t1064 = load i32, ptr %t1063 + %t1065 = icmp eq i32 %t1064, 12 + br i1 %t1065, label %brand.capsule422, label %brand.done423 +brand.capsule422: + %t1066 = getelementptr inbounds i8, ptr %t1060, i64 40 ; ->v.typed_ref.type_key + %t1067 = load ptr, ptr %t1066 + %t1068 = icmp eq ptr %t1067, @sc_cs_864190948149583 + store i1 true, ptr %s1061 + br i1 %t1068, label %brand.done423, label %brand.compare424 +brand.compare424: + %t1069 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1060, ptr @sc_lit_864190948149583) + store i1 %t1069, ptr %s1061 + br label %brand.done423 +brand.done423: + %t1070 = load i1, ptr %s1061 + br i1 %t1070, label %if.t425, label %if.j426 +if.t425: + %t1071 = load ptr, ptr %sc_l_p_0 + %t1072 = call ptr @sc_rc_retain_dyn(ptr %t1071) + %t1074 = icmp ne ptr %t1072, null + br i1 %t1074, label %dc.inspect427, label %dc.checked430 +dc.inspect427: + %t1079 = getelementptr inbounds i8, ptr %t1072, i64 8 ; ->kind + %t1080 = load i32, ptr %t1079 + %t1075 = icmp eq i32 %t1080, 12 + br i1 %t1075, label %dc.capsule428, label %dc.checked430 +dc.capsule428: + %t1076 = getelementptr inbounds i8, ptr %t1072, i64 40 ; ->v.typed_ref.type_key + %t1077 = load ptr, ptr %t1076 + %t1078 = icmp eq ptr %t1077, @sc_cs_864190948149583 + br i1 %t1078, label %dc.exact429, label %dc.checked430 +dc.exact429: + %t1081 = getelementptr inbounds i8, ptr %t1072, i64 16 ; ->v.typed_ref.ptr + %t1082 = load ptr, ptr %t1081 + %t1083 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1082) + store ptr %t1083, ptr %s1073 + br label %dc.done431 +dc.checked430: + %t1084 = call ptr @sc_dc_103(ptr %t1072, ptr null) + store ptr %t1084, ptr %s1073 + %t1085 = load i32, ptr %exc.cell + %t1086 = icmp ne i32 %t1085, 0 + %t1087 = call i1 @llvm.expect.i1(i1 %t1086, i1 false) + br i1 %t1087, label %exc.u432, label %exc.k433 +exc.u432: + call void @scr_dyn_release(ptr %t1072) + br label %exc.cleanup2 +exc.k433: + br label %dc.done431 +dc.done431: + %t1088 = load ptr, ptr %s1073 + %t1089 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1088, i64 0, i32 6 + %t1090 = load ptr, ptr %t1089, !tbaa !204 + %t1091 = getelementptr inbounds i8, ptr %t1090, i64 8 ; ->kind + %t1092 = load i32, ptr %t1091 + %t1093 = icmp eq i32 %t1092, 6 + call void @scr_dyn_release(ptr %t1072) + call void @sc_release__x25_m11_StaticServer(ptr %t1088) + br i1 %t1093, label %if.t434, label %if.j435 +if.t434: + %t1094 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer() + %t1095 = load i32, ptr %exc.cell + %t1096 = icmp ne i32 %t1095, 0 + %t1097 = call i1 @llvm.expect.i1(i1 %t1096, i1 false) + br i1 %t1097, label %exc.u436, label %exc.k437 +exc.u436: + call void @scr_dyn_release(ptr %t1094) + br label %exc.cleanup2 +exc.k437: + %t1098 = call ptr @scr_dyn_obj_create(ptr %t1094) + %t1099 = load i32, ptr %exc.cell + %t1100 = icmp ne i32 %t1099, 0 + %t1101 = call i1 @llvm.expect.i1(i1 %t1100, i1 false) + br i1 %t1101, label %exc.u438, label %exc.k439 +exc.u438: + call void @scr_dyn_release(ptr %t1094) + call void @scr_dyn_release(ptr %t1098) + br label %exc.cleanup2 +exc.k439: + call void @scr_dyn_release(ptr %t1094) + %t1102 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1102) + ret ptr %t1098 +if.j435: + %t1103 = load ptr, ptr %sc_l_p_0 + %t1104 = call ptr @sc_rc_retain_dyn(ptr %t1103) + %t1106 = icmp ne ptr %t1104, null + br i1 %t1106, label %dc.inspect440, label %dc.checked443 +dc.inspect440: + %t1111 = getelementptr inbounds i8, ptr %t1104, i64 8 ; ->kind + %t1112 = load i32, ptr %t1111 + %t1107 = icmp eq i32 %t1112, 12 + br i1 %t1107, label %dc.capsule441, label %dc.checked443 +dc.capsule441: + %t1108 = getelementptr inbounds i8, ptr %t1104, i64 40 ; ->v.typed_ref.type_key + %t1109 = load ptr, ptr %t1108 + %t1110 = icmp eq ptr %t1109, @sc_cs_864190948149583 + br i1 %t1110, label %dc.exact442, label %dc.checked443 +dc.exact442: + %t1113 = getelementptr inbounds i8, ptr %t1104, i64 16 ; ->v.typed_ref.ptr + %t1114 = load ptr, ptr %t1113 + %t1115 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1114) + store ptr %t1115, ptr %s1105 + br label %dc.done444 +dc.checked443: + %t1116 = call ptr @sc_dc_103(ptr %t1104, ptr null) + store ptr %t1116, ptr %s1105 + %t1117 = load i32, ptr %exc.cell + %t1118 = icmp ne i32 %t1117, 0 + %t1119 = call i1 @llvm.expect.i1(i1 %t1118, i1 false) + br i1 %t1119, label %exc.u445, label %exc.k446 +exc.u445: + call void @scr_dyn_release(ptr %t1104) + br label %exc.cleanup2 +exc.k446: + br label %dc.done444 +dc.done444: + %t1120 = load ptr, ptr %s1105 + %t1121 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1120, i64 0, i32 6 + %t1122 = load ptr, ptr %t1121, !tbaa !204 + %t1123 = call ptr @sc_rc_retain_dyn(ptr %t1122) + call void @scr_dyn_release(ptr %t1104) + call void @sc_release__x25_m11_StaticServer(ptr %t1120) + %t1124 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1124) + ret ptr %t1123 +if.j426: + %t1125 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1126 + %t1127 = icmp ne ptr %t1125, null + br i1 %t1127, label %brand.inspect447, label %brand.done449 +brand.inspect447: + %t1128 = getelementptr inbounds i8, ptr %t1125, i64 8 ; ->kind + %t1129 = load i32, ptr %t1128 + %t1130 = icmp eq i32 %t1129, 12 + br i1 %t1130, label %brand.capsule448, label %brand.done449 +brand.capsule448: + %t1131 = getelementptr inbounds i8, ptr %t1125, i64 40 ; ->v.typed_ref.type_key + %t1132 = load ptr, ptr %t1131 + %t1133 = icmp eq ptr %t1132, @sc_cs_4074974279575818 + store i1 true, ptr %s1126 + br i1 %t1133, label %brand.done449, label %brand.compare450 +brand.compare450: + %t1134 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1125, ptr @sc_lit_4074974279575818) + store i1 %t1134, ptr %s1126 + br label %brand.done449 +brand.done449: + %t1135 = load i1, ptr %s1126 + br i1 %t1135, label %if.t451, label %if.j452 +if.t451: + %t1136 = load ptr, ptr %sc_l_p_0 + %t1137 = call ptr @sc_rc_retain_dyn(ptr %t1136) + %t1139 = icmp ne ptr %t1137, null + br i1 %t1139, label %dc.inspect453, label %dc.checked456 +dc.inspect453: + %t1144 = getelementptr inbounds i8, ptr %t1137, i64 8 ; ->kind + %t1145 = load i32, ptr %t1144 + %t1140 = icmp eq i32 %t1145, 12 + br i1 %t1140, label %dc.capsule454, label %dc.checked456 +dc.capsule454: + %t1141 = getelementptr inbounds i8, ptr %t1137, i64 40 ; ->v.typed_ref.type_key + %t1142 = load ptr, ptr %t1141 + %t1143 = icmp eq ptr %t1142, @sc_cs_4074974279575818 + br i1 %t1143, label %dc.exact455, label %dc.checked456 +dc.exact455: + %t1146 = getelementptr inbounds i8, ptr %t1137, i64 16 ; ->v.typed_ref.ptr + %t1147 = load ptr, ptr %t1146 + %t1148 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1147) + store ptr %t1148, ptr %s1138 + br label %dc.done457 +dc.checked456: + %t1149 = call ptr @sc_dc_104(ptr %t1137, ptr null) + store ptr %t1149, ptr %s1138 + %t1150 = load i32, ptr %exc.cell + %t1151 = icmp ne i32 %t1150, 0 + %t1152 = call i1 @llvm.expect.i1(i1 %t1151, i1 false) + br i1 %t1152, label %exc.u458, label %exc.k459 +exc.u458: + call void @scr_dyn_release(ptr %t1137) + br label %exc.cleanup2 +exc.k459: + br label %dc.done457 +dc.done457: + %t1153 = load ptr, ptr %s1138 + %t1154 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1153, i64 0, i32 2 + %t1155 = load ptr, ptr %t1154, !tbaa !204 + %t1156 = getelementptr inbounds i8, ptr %t1155, i64 8 ; ->kind + %t1157 = load i32, ptr %t1156 + %t1158 = icmp eq i32 %t1157, 6 + call void @scr_dyn_release(ptr %t1137) + call void @sc_release__x25_m3_LiteResponse(ptr %t1153) + br i1 %t1158, label %if.t460, label %if.j461 +if.t460: + %t1159 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1160 = load i32, ptr %exc.cell + %t1161 = icmp ne i32 %t1160, 0 + %t1162 = call i1 @llvm.expect.i1(i1 %t1161, i1 false) + br i1 %t1162, label %exc.u462, label %exc.k463 +exc.u462: + call void @scr_dyn_release(ptr %t1159) + br label %exc.cleanup2 +exc.k463: + %t1163 = call ptr @scr_dyn_obj_create(ptr %t1159) + %t1164 = load i32, ptr %exc.cell + %t1165 = icmp ne i32 %t1164, 0 + %t1166 = call i1 @llvm.expect.i1(i1 %t1165, i1 false) + br i1 %t1166, label %exc.u464, label %exc.k465 +exc.u464: + call void @scr_dyn_release(ptr %t1159) + call void @scr_dyn_release(ptr %t1163) + br label %exc.cleanup2 +exc.k465: + call void @scr_dyn_release(ptr %t1159) + %t1167 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1167) + ret ptr %t1163 +if.j461: + %t1168 = load ptr, ptr %sc_l_p_0 + %t1169 = call ptr @sc_rc_retain_dyn(ptr %t1168) + %t1171 = icmp ne ptr %t1169, null + br i1 %t1171, label %dc.inspect466, label %dc.checked469 +dc.inspect466: + %t1176 = getelementptr inbounds i8, ptr %t1169, i64 8 ; ->kind + %t1177 = load i32, ptr %t1176 + %t1172 = icmp eq i32 %t1177, 12 + br i1 %t1172, label %dc.capsule467, label %dc.checked469 +dc.capsule467: + %t1173 = getelementptr inbounds i8, ptr %t1169, i64 40 ; ->v.typed_ref.type_key + %t1174 = load ptr, ptr %t1173 + %t1175 = icmp eq ptr %t1174, @sc_cs_4074974279575818 + br i1 %t1175, label %dc.exact468, label %dc.checked469 +dc.exact468: + %t1178 = getelementptr inbounds i8, ptr %t1169, i64 16 ; ->v.typed_ref.ptr + %t1179 = load ptr, ptr %t1178 + %t1180 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1179) + store ptr %t1180, ptr %s1170 + br label %dc.done470 +dc.checked469: + %t1181 = call ptr @sc_dc_104(ptr %t1169, ptr null) + store ptr %t1181, ptr %s1170 + %t1182 = load i32, ptr %exc.cell + %t1183 = icmp ne i32 %t1182, 0 + %t1184 = call i1 @llvm.expect.i1(i1 %t1183, i1 false) + br i1 %t1184, label %exc.u471, label %exc.k472 +exc.u471: + call void @scr_dyn_release(ptr %t1169) + br label %exc.cleanup2 +exc.k472: + br label %dc.done470 +dc.done470: + %t1185 = load ptr, ptr %s1170 + %t1186 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1185, i64 0, i32 2 + %t1187 = load ptr, ptr %t1186, !tbaa !204 + %t1188 = call ptr @sc_rc_retain_dyn(ptr %t1187) + call void @scr_dyn_release(ptr %t1169) + call void @sc_release__x25_m3_LiteResponse(ptr %t1185) + %t1189 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1189) + ret ptr %t1188 +if.j452: + %t1190 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1191 + %t1192 = icmp ne ptr %t1190, null + br i1 %t1192, label %brand.inspect473, label %brand.done475 +brand.inspect473: + %t1193 = getelementptr inbounds i8, ptr %t1190, i64 8 ; ->kind + %t1194 = load i32, ptr %t1193 + %t1195 = icmp eq i32 %t1194, 12 + br i1 %t1195, label %brand.capsule474, label %brand.done475 +brand.capsule474: + %t1196 = getelementptr inbounds i8, ptr %t1190, i64 40 ; ->v.typed_ref.type_key + %t1197 = load ptr, ptr %t1196 + %t1198 = icmp eq ptr %t1197, @sc_cs_4408523527888294 + store i1 true, ptr %s1191 + br i1 %t1198, label %brand.done475, label %brand.compare476 +brand.compare476: + %t1199 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1190, ptr @sc_lit_4408523527888294) + store i1 %t1199, ptr %s1191 + br label %brand.done475 +brand.done475: + %t1200 = load i1, ptr %s1191 + br i1 %t1200, label %if.t477, label %if.j478 +if.t477: + %t1201 = load ptr, ptr %sc_l_p_0 + %t1202 = call ptr @sc_rc_retain_dyn(ptr %t1201) + %t1204 = icmp ne ptr %t1202, null + br i1 %t1204, label %dc.inspect479, label %dc.checked482 +dc.inspect479: + %t1209 = getelementptr inbounds i8, ptr %t1202, i64 8 ; ->kind + %t1210 = load i32, ptr %t1209 + %t1205 = icmp eq i32 %t1210, 12 + br i1 %t1205, label %dc.capsule480, label %dc.checked482 +dc.capsule480: + %t1206 = getelementptr inbounds i8, ptr %t1202, i64 40 ; ->v.typed_ref.type_key + %t1207 = load ptr, ptr %t1206 + %t1208 = icmp eq ptr %t1207, @sc_cs_4408523527888294 + br i1 %t1208, label %dc.exact481, label %dc.checked482 +dc.exact481: + %t1211 = getelementptr inbounds i8, ptr %t1202, i64 16 ; ->v.typed_ref.ptr + %t1212 = load ptr, ptr %t1211 + %t1213 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1212) + store ptr %t1213, ptr %s1203 + br label %dc.done483 +dc.checked482: + %t1214 = call ptr @sc_dc_21(ptr %t1202, ptr null) + store ptr %t1214, ptr %s1203 + %t1215 = load i32, ptr %exc.cell + %t1216 = icmp ne i32 %t1215, 0 + %t1217 = call i1 @llvm.expect.i1(i1 %t1216, i1 false) + br i1 %t1217, label %exc.u484, label %exc.k485 +exc.u484: + call void @scr_dyn_release(ptr %t1202) + br label %exc.cleanup2 +exc.k485: + br label %dc.done483 +dc.done483: + %t1218 = load ptr, ptr %s1203 + %t1219 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1218, i64 0, i32 7 + %t1220 = load ptr, ptr %t1219, !tbaa !204 + %t1221 = call ptr @sc_rc_retain_dyn(ptr %t1220) + call void @scr_dyn_release(ptr %t1202) + call void @sc_release__x25_m4_UploadedFile(ptr %t1218) + %t1222 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1222) + ret ptr %t1221 +if.j478: + %t1223 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1224 + %t1225 = icmp ne ptr %t1223, null + br i1 %t1225, label %brand.inspect486, label %brand.done488 +brand.inspect486: + %t1226 = getelementptr inbounds i8, ptr %t1223, i64 8 ; ->kind + %t1227 = load i32, ptr %t1226 + %t1228 = icmp eq i32 %t1227, 12 + br i1 %t1228, label %brand.capsule487, label %brand.done488 +brand.capsule487: + %t1229 = getelementptr inbounds i8, ptr %t1223, i64 40 ; ->v.typed_ref.type_key + %t1230 = load ptr, ptr %t1229 + %t1231 = icmp eq ptr %t1230, @sc_cs_3163508115280491 + store i1 true, ptr %s1224 + br i1 %t1231, label %brand.done488, label %brand.compare489 +brand.compare489: + %t1232 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1223, ptr @sc_lit_3163508115280491) + store i1 %t1232, ptr %s1224 + br label %brand.done488 +brand.done488: + %t1233 = load i1, ptr %s1224 + br i1 %t1233, label %if.t490, label %if.j491 +if.t490: + %t1234 = load ptr, ptr %sc_l_p_0 + %t1235 = call ptr @sc_rc_retain_dyn(ptr %t1234) + %t1237 = icmp ne ptr %t1235, null + br i1 %t1237, label %dc.inspect492, label %dc.checked495 +dc.inspect492: + %t1242 = getelementptr inbounds i8, ptr %t1235, i64 8 ; ->kind + %t1243 = load i32, ptr %t1242 + %t1238 = icmp eq i32 %t1243, 12 + br i1 %t1238, label %dc.capsule493, label %dc.checked495 +dc.capsule493: + %t1239 = getelementptr inbounds i8, ptr %t1235, i64 40 ; ->v.typed_ref.type_key + %t1240 = load ptr, ptr %t1239 + %t1241 = icmp eq ptr %t1240, @sc_cs_3163508115280491 + br i1 %t1241, label %dc.exact494, label %dc.checked495 +dc.exact494: + %t1244 = getelementptr inbounds i8, ptr %t1235, i64 16 ; ->v.typed_ref.ptr + %t1245 = load ptr, ptr %t1244 + %t1246 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1245) + store ptr %t1246, ptr %s1236 + br label %dc.done496 +dc.checked495: + %t1247 = call ptr @sc_dc_105(ptr %t1235, ptr null) + store ptr %t1247, ptr %s1236 + %t1248 = load i32, ptr %exc.cell + %t1249 = icmp ne i32 %t1248, 0 + %t1250 = call i1 @llvm.expect.i1(i1 %t1249, i1 false) + br i1 %t1250, label %exc.u497, label %exc.k498 +exc.u497: + call void @scr_dyn_release(ptr %t1235) + br label %exc.cleanup2 +exc.k498: + br label %dc.done496 +dc.done496: + %t1251 = load ptr, ptr %s1236 + %t1252 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1251, i64 0, i32 21 + %t1253 = load ptr, ptr %t1252, !tbaa !204 + %t1254 = getelementptr inbounds i8, ptr %t1253, i64 8 ; ->kind + %t1255 = load i32, ptr %t1254 + %t1256 = icmp eq i32 %t1255, 6 + call void @scr_dyn_release(ptr %t1235) + call void @sc_release__x25_m4_MultipartParser(ptr %t1251) + br i1 %t1256, label %if.t499, label %if.j500 +if.t499: + %t1257 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser() + %t1258 = load i32, ptr %exc.cell + %t1259 = icmp ne i32 %t1258, 0 + %t1260 = call i1 @llvm.expect.i1(i1 %t1259, i1 false) + br i1 %t1260, label %exc.u501, label %exc.k502 +exc.u501: + call void @scr_dyn_release(ptr %t1257) + br label %exc.cleanup2 +exc.k502: + %t1261 = call ptr @scr_dyn_obj_create(ptr %t1257) + %t1262 = load i32, ptr %exc.cell + %t1263 = icmp ne i32 %t1262, 0 + %t1264 = call i1 @llvm.expect.i1(i1 %t1263, i1 false) + br i1 %t1264, label %exc.u503, label %exc.k504 +exc.u503: + call void @scr_dyn_release(ptr %t1257) + call void @scr_dyn_release(ptr %t1261) + br label %exc.cleanup2 +exc.k504: + call void @scr_dyn_release(ptr %t1257) + %t1265 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1265) + ret ptr %t1261 +if.j500: + %t1266 = load ptr, ptr %sc_l_p_0 + %t1267 = call ptr @sc_rc_retain_dyn(ptr %t1266) + %t1269 = icmp ne ptr %t1267, null + br i1 %t1269, label %dc.inspect505, label %dc.checked508 +dc.inspect505: + %t1274 = getelementptr inbounds i8, ptr %t1267, i64 8 ; ->kind + %t1275 = load i32, ptr %t1274 + %t1270 = icmp eq i32 %t1275, 12 + br i1 %t1270, label %dc.capsule506, label %dc.checked508 +dc.capsule506: + %t1271 = getelementptr inbounds i8, ptr %t1267, i64 40 ; ->v.typed_ref.type_key + %t1272 = load ptr, ptr %t1271 + %t1273 = icmp eq ptr %t1272, @sc_cs_3163508115280491 + br i1 %t1273, label %dc.exact507, label %dc.checked508 +dc.exact507: + %t1276 = getelementptr inbounds i8, ptr %t1267, i64 16 ; ->v.typed_ref.ptr + %t1277 = load ptr, ptr %t1276 + %t1278 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1277) + store ptr %t1278, ptr %s1268 + br label %dc.done509 +dc.checked508: + %t1279 = call ptr @sc_dc_105(ptr %t1267, ptr null) + store ptr %t1279, ptr %s1268 + %t1280 = load i32, ptr %exc.cell + %t1281 = icmp ne i32 %t1280, 0 + %t1282 = call i1 @llvm.expect.i1(i1 %t1281, i1 false) + br i1 %t1282, label %exc.u510, label %exc.k511 +exc.u510: + call void @scr_dyn_release(ptr %t1267) + br label %exc.cleanup2 +exc.k511: + br label %dc.done509 +dc.done509: + %t1283 = load ptr, ptr %s1268 + %t1284 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1283, i64 0, i32 21 + %t1285 = load ptr, ptr %t1284, !tbaa !204 + %t1286 = call ptr @sc_rc_retain_dyn(ptr %t1285) + call void @scr_dyn_release(ptr %t1267) + call void @sc_release__x25_m4_MultipartParser(ptr %t1283) + %t1287 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1287) + ret ptr %t1286 +if.j491: + %t1288 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1289 + %t1290 = icmp ne ptr %t1288, null + br i1 %t1290, label %brand.inspect512, label %brand.done514 +brand.inspect512: + %t1291 = getelementptr inbounds i8, ptr %t1288, i64 8 ; ->kind + %t1292 = load i32, ptr %t1291 + %t1293 = icmp eq i32 %t1292, 12 + br i1 %t1293, label %brand.capsule513, label %brand.done514 +brand.capsule513: + %t1294 = getelementptr inbounds i8, ptr %t1288, i64 40 ; ->v.typed_ref.type_key + %t1295 = load ptr, ptr %t1294 + %t1296 = icmp eq ptr %t1295, @sc_cs_1875086966829314 + store i1 true, ptr %s1289 + br i1 %t1296, label %brand.done514, label %brand.compare515 +brand.compare515: + %t1297 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1288, ptr @sc_lit_1875086966829314) + store i1 %t1297, ptr %s1289 + br label %brand.done514 +brand.done514: + %t1298 = load i1, ptr %s1289 + br i1 %t1298, label %if.t516, label %if.j517 +if.t516: + %t1299 = load ptr, ptr %sc_l_p_0 + %t1300 = call ptr @sc_rc_retain_dyn(ptr %t1299) + %t1302 = icmp ne ptr %t1300, null + br i1 %t1302, label %dc.inspect518, label %dc.checked521 +dc.inspect518: + %t1307 = getelementptr inbounds i8, ptr %t1300, i64 8 ; ->kind + %t1308 = load i32, ptr %t1307 + %t1303 = icmp eq i32 %t1308, 12 + br i1 %t1303, label %dc.capsule519, label %dc.checked521 +dc.capsule519: + %t1304 = getelementptr inbounds i8, ptr %t1300, i64 40 ; ->v.typed_ref.type_key + %t1305 = load ptr, ptr %t1304 + %t1306 = icmp eq ptr %t1305, @sc_cs_1875086966829314 + br i1 %t1306, label %dc.exact520, label %dc.checked521 +dc.exact520: + %t1309 = getelementptr inbounds i8, ptr %t1300, i64 16 ; ->v.typed_ref.ptr + %t1310 = load ptr, ptr %t1309 + %t1311 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1310) + store ptr %t1311, ptr %s1301 + br label %dc.done522 +dc.checked521: + %t1312 = call ptr @sc_dc_106(ptr %t1300, ptr null) + store ptr %t1312, ptr %s1301 + %t1313 = load i32, ptr %exc.cell + %t1314 = icmp ne i32 %t1313, 0 + %t1315 = call i1 @llvm.expect.i1(i1 %t1314, i1 false) + br i1 %t1315, label %exc.u523, label %exc.k524 +exc.u523: + call void @scr_dyn_release(ptr %t1300) + br label %exc.cleanup2 +exc.k524: + br label %dc.done522 +dc.done522: + %t1316 = load ptr, ptr %s1301 + %t1317 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1316, i64 0, i32 22 + %t1318 = load ptr, ptr %t1317, !tbaa !204 + %t1319 = call ptr @sc_rc_retain_dyn(ptr %t1318) + call void @scr_dyn_release(ptr %t1300) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1316) + %t1320 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1320) + ret ptr %t1319 +if.j517: + %t1321 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1322 + %t1323 = icmp ne ptr %t1321, null + br i1 %t1323, label %brand.inspect525, label %brand.done527 +brand.inspect525: + %t1324 = getelementptr inbounds i8, ptr %t1321, i64 8 ; ->kind + %t1325 = load i32, ptr %t1324 + %t1326 = icmp eq i32 %t1325, 12 + br i1 %t1326, label %brand.capsule526, label %brand.done527 +brand.capsule526: + %t1327 = getelementptr inbounds i8, ptr %t1321, i64 40 ; ->v.typed_ref.type_key + %t1328 = load ptr, ptr %t1327 + %t1329 = icmp eq ptr %t1328, @sc_cs_2434838942941195 + store i1 true, ptr %s1322 + br i1 %t1329, label %brand.done527, label %brand.compare528 +brand.compare528: + %t1330 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1321, ptr @sc_lit_2434838942941195) + store i1 %t1330, ptr %s1322 + br label %brand.done527 +brand.done527: + %t1331 = load i1, ptr %s1322 + br i1 %t1331, label %tern.t529, label %tern.f530 +tern.t529: + %t1333 = load ptr, ptr %sc_l_p_0 + %t1334 = call ptr @sc_rc_retain_dyn(ptr %t1333) + %t1336 = icmp ne ptr %t1334, null + br i1 %t1336, label %dc.inspect532, label %dc.checked535 +dc.inspect532: + %t1341 = getelementptr inbounds i8, ptr %t1334, i64 8 ; ->kind + %t1342 = load i32, ptr %t1341 + %t1337 = icmp eq i32 %t1342, 12 + br i1 %t1337, label %dc.capsule533, label %dc.checked535 +dc.capsule533: + %t1338 = getelementptr inbounds i8, ptr %t1334, i64 40 ; ->v.typed_ref.type_key + %t1339 = load ptr, ptr %t1338 + %t1340 = icmp eq ptr %t1339, @sc_cs_2434838942941195 + br i1 %t1340, label %dc.exact534, label %dc.checked535 +dc.exact534: + %t1343 = getelementptr inbounds i8, ptr %t1334, i64 16 ; ->v.typed_ref.ptr + %t1344 = load ptr, ptr %t1343 + %t1345 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1344) + store ptr %t1345, ptr %s1335 + br label %dc.done536 +dc.checked535: + %t1346 = call ptr @sc_dc_52(ptr %t1334, ptr null) + store ptr %t1346, ptr %s1335 + %t1347 = load i32, ptr %exc.cell + %t1348 = icmp ne i32 %t1347, 0 + %t1349 = call i1 @llvm.expect.i1(i1 %t1348, i1 false) + br i1 %t1349, label %exc.u537, label %exc.k538 +exc.u537: + call void @scr_dyn_release(ptr %t1334) + br label %exc.cleanup2 +exc.k538: + br label %dc.done536 +dc.done536: + %t1350 = load ptr, ptr %s1335 + %t1351 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1350, i64 0, i32 1 + %t1352 = load ptr, ptr %t1351 + %t1353 = getelementptr inbounds %ScrVt, ptr %t1352, i64 0, i32 0 + %t1354 = load i64, ptr %t1353 + %t1355 = icmp uge i64 %t1354, 18 + %t1356 = icmp ule i64 %t1354, 18 + %t1357 = and i1 %t1355, %t1356 ; instanceof %m3.LiteResponse + store i1 %t1357, ptr %s1332 + call void @scr_dyn_release(ptr %t1334) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1350) + br label %tern.j531 +tern.f530: + store i1 false, ptr %s1332 + br label %tern.j531 +tern.j531: + %t1358 = load i1, ptr %s1332 + br i1 %t1358, label %if.t539, label %if.j540 +if.t539: + %t1359 = load ptr, ptr %sc_l_p_0 + %t1360 = call ptr @sc_rc_retain_dyn(ptr %t1359) + %t1362 = icmp ne ptr %t1360, null + br i1 %t1362, label %dc.inspect541, label %dc.checked544 +dc.inspect541: + %t1367 = getelementptr inbounds i8, ptr %t1360, i64 8 ; ->kind + %t1368 = load i32, ptr %t1367 + %t1363 = icmp eq i32 %t1368, 12 + br i1 %t1363, label %dc.capsule542, label %dc.checked544 +dc.capsule542: + %t1364 = getelementptr inbounds i8, ptr %t1360, i64 40 ; ->v.typed_ref.type_key + %t1365 = load ptr, ptr %t1364 + %t1366 = icmp eq ptr %t1365, @sc_cs_2434838942941195 + br i1 %t1366, label %dc.exact543, label %dc.checked544 +dc.exact543: + %t1369 = getelementptr inbounds i8, ptr %t1360, i64 16 ; ->v.typed_ref.ptr + %t1370 = load ptr, ptr %t1369 + %t1371 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1370) + store ptr %t1371, ptr %s1361 + br label %dc.done545 +dc.checked544: + %t1372 = call ptr @sc_dc_52(ptr %t1360, ptr null) + store ptr %t1372, ptr %s1361 + %t1373 = load i32, ptr %exc.cell + %t1374 = icmp ne i32 %t1373, 0 + %t1375 = call i1 @llvm.expect.i1(i1 %t1374, i1 false) + br i1 %t1375, label %exc.u546, label %exc.k547 +exc.u546: + call void @scr_dyn_release(ptr %t1360) + br label %exc.cleanup2 +exc.k547: + br label %dc.done545 +dc.done545: + %t1376 = load ptr, ptr %s1361 + %t1377 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1376, i64 0, i32 2 + %t1378 = load ptr, ptr %t1377, !tbaa !204 + %t1379 = getelementptr inbounds i8, ptr %t1378, i64 8 ; ->kind + %t1380 = load i32, ptr %t1379 + %t1381 = icmp eq i32 %t1380, 6 + call void @scr_dyn_release(ptr %t1360) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1376) + br i1 %t1381, label %if.t548, label %if.j549 +if.t548: + %t1382 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1383 = load i32, ptr %exc.cell + %t1384 = icmp ne i32 %t1383, 0 + %t1385 = call i1 @llvm.expect.i1(i1 %t1384, i1 false) + br i1 %t1385, label %exc.u550, label %exc.k551 +exc.u550: + call void @scr_dyn_release(ptr %t1382) + br label %exc.cleanup2 +exc.k551: + %t1386 = call ptr @scr_dyn_obj_create(ptr %t1382) + %t1387 = load i32, ptr %exc.cell + %t1388 = icmp ne i32 %t1387, 0 + %t1389 = call i1 @llvm.expect.i1(i1 %t1388, i1 false) + br i1 %t1389, label %exc.u552, label %exc.k553 +exc.u552: + call void @scr_dyn_release(ptr %t1382) + call void @scr_dyn_release(ptr %t1386) + br label %exc.cleanup2 +exc.k553: + call void @scr_dyn_release(ptr %t1382) + %t1390 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1390) + ret ptr %t1386 +if.j549: + %t1391 = load ptr, ptr %sc_l_p_0 + %t1392 = call ptr @sc_rc_retain_dyn(ptr %t1391) + %t1394 = icmp ne ptr %t1392, null + br i1 %t1394, label %dc.inspect554, label %dc.checked557 +dc.inspect554: + %t1399 = getelementptr inbounds i8, ptr %t1392, i64 8 ; ->kind + %t1400 = load i32, ptr %t1399 + %t1395 = icmp eq i32 %t1400, 12 + br i1 %t1395, label %dc.capsule555, label %dc.checked557 +dc.capsule555: + %t1396 = getelementptr inbounds i8, ptr %t1392, i64 40 ; ->v.typed_ref.type_key + %t1397 = load ptr, ptr %t1396 + %t1398 = icmp eq ptr %t1397, @sc_cs_2434838942941195 + br i1 %t1398, label %dc.exact556, label %dc.checked557 +dc.exact556: + %t1401 = getelementptr inbounds i8, ptr %t1392, i64 16 ; ->v.typed_ref.ptr + %t1402 = load ptr, ptr %t1401 + %t1403 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1402) + store ptr %t1403, ptr %s1393 + br label %dc.done558 +dc.checked557: + %t1404 = call ptr @sc_dc_52(ptr %t1392, ptr null) + store ptr %t1404, ptr %s1393 + %t1405 = load i32, ptr %exc.cell + %t1406 = icmp ne i32 %t1405, 0 + %t1407 = call i1 @llvm.expect.i1(i1 %t1406, i1 false) + br i1 %t1407, label %exc.u559, label %exc.k560 +exc.u559: + call void @scr_dyn_release(ptr %t1392) + br label %exc.cleanup2 +exc.k560: + br label %dc.done558 +dc.done558: + %t1408 = load ptr, ptr %s1393 + %t1409 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1408, i64 0, i32 2 + %t1410 = load ptr, ptr %t1409, !tbaa !204 + %t1411 = call ptr @sc_rc_retain_dyn(ptr %t1410) + call void @scr_dyn_release(ptr %t1392) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1408) + %t1412 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1412) + ret ptr %t1411 +if.j540: + %t1413 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1414 + %t1415 = icmp ne ptr %t1413, null + br i1 %t1415, label %brand.inspect561, label %brand.done563 +brand.inspect561: + %t1416 = getelementptr inbounds i8, ptr %t1413, i64 8 ; ->kind + %t1417 = load i32, ptr %t1416 + %t1418 = icmp eq i32 %t1417, 12 + br i1 %t1418, label %brand.capsule562, label %brand.done563 +brand.capsule562: + %t1419 = getelementptr inbounds i8, ptr %t1413, i64 40 ; ->v.typed_ref.type_key + %t1420 = load ptr, ptr %t1419 + %t1421 = icmp eq ptr %t1420, @sc_cs_2434838942941195 + store i1 true, ptr %s1414 + br i1 %t1421, label %brand.done563, label %brand.compare564 +brand.compare564: + %t1422 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1413, ptr @sc_lit_2434838942941195) + store i1 %t1422, ptr %s1414 + br label %brand.done563 +brand.done563: + %t1423 = load i1, ptr %s1414 + br i1 %t1423, label %if.t565, label %if.j566 +if.t565: + %t1424 = load ptr, ptr %sc_l_p_0 + %t1425 = call ptr @sc_rc_retain_dyn(ptr %t1424) + %t1427 = icmp ne ptr %t1425, null + br i1 %t1427, label %dc.inspect567, label %dc.checked570 +dc.inspect567: + %t1432 = getelementptr inbounds i8, ptr %t1425, i64 8 ; ->kind + %t1433 = load i32, ptr %t1432 + %t1428 = icmp eq i32 %t1433, 12 + br i1 %t1428, label %dc.capsule568, label %dc.checked570 +dc.capsule568: + %t1429 = getelementptr inbounds i8, ptr %t1425, i64 40 ; ->v.typed_ref.type_key + %t1430 = load ptr, ptr %t1429 + %t1431 = icmp eq ptr %t1430, @sc_cs_2434838942941195 + br i1 %t1431, label %dc.exact569, label %dc.checked570 +dc.exact569: + %t1434 = getelementptr inbounds i8, ptr %t1425, i64 16 ; ->v.typed_ref.ptr + %t1435 = load ptr, ptr %t1434 + %t1436 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1435) + store ptr %t1436, ptr %s1426 + br label %dc.done571 +dc.checked570: + %t1437 = call ptr @sc_dc_52(ptr %t1425, ptr null) + store ptr %t1437, ptr %s1426 + %t1438 = load i32, ptr %exc.cell + %t1439 = icmp ne i32 %t1438, 0 + %t1440 = call i1 @llvm.expect.i1(i1 %t1439, i1 false) + br i1 %t1440, label %exc.u572, label %exc.k573 +exc.u572: + call void @scr_dyn_release(ptr %t1425) + br label %exc.cleanup2 +exc.k573: + br label %dc.done571 +dc.done571: + %t1441 = load ptr, ptr %s1426 + %t1442 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1441, i64 0, i32 2 + %t1443 = load ptr, ptr %t1442, !tbaa !204 + %t1444 = getelementptr inbounds i8, ptr %t1443, i64 8 ; ->kind + %t1445 = load i32, ptr %t1444 + %t1446 = icmp eq i32 %t1445, 6 + call void @scr_dyn_release(ptr %t1425) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1441) + br i1 %t1446, label %if.t574, label %if.j575 +if.t574: + %t1447 = load ptr, ptr %sc_l_p_0 + %t1448 = call ptr @sc_rc_retain_dyn(ptr %t1447) + %t1450 = icmp ne ptr %t1448, null + br i1 %t1450, label %dc.inspect576, label %dc.checked579 +dc.inspect576: + %t1455 = getelementptr inbounds i8, ptr %t1448, i64 8 ; ->kind + %t1456 = load i32, ptr %t1455 + %t1451 = icmp eq i32 %t1456, 12 + br i1 %t1451, label %dc.capsule577, label %dc.checked579 +dc.capsule577: + %t1452 = getelementptr inbounds i8, ptr %t1448, i64 40 ; ->v.typed_ref.type_key + %t1453 = load ptr, ptr %t1452 + %t1454 = icmp eq ptr %t1453, @sc_cs_2434838942941195 + br i1 %t1454, label %dc.exact578, label %dc.checked579 +dc.exact578: + %t1457 = getelementptr inbounds i8, ptr %t1448, i64 16 ; ->v.typed_ref.ptr + %t1458 = load ptr, ptr %t1457 + %t1459 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1458) + store ptr %t1459, ptr %s1449 + br label %dc.done580 +dc.checked579: + %t1460 = call ptr @sc_dc_52(ptr %t1448, ptr null) + store ptr %t1460, ptr %s1449 + %t1461 = load i32, ptr %exc.cell + %t1462 = icmp ne i32 %t1461, 0 + %t1463 = call i1 @llvm.expect.i1(i1 %t1462, i1 false) + br i1 %t1463, label %exc.u581, label %exc.k582 +exc.u581: + call void @scr_dyn_release(ptr %t1448) + br label %exc.cleanup2 +exc.k582: + br label %dc.done580 +dc.done580: + %t1464 = load ptr, ptr %s1449 + %t1465 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1464, i64 0, i32 1 + %t1466 = load ptr, ptr %t1465 + %t1467 = getelementptr inbounds %ScrVt, ptr %t1466, i64 0, i32 0 + %t1468 = load i64, ptr %t1467 + %t1469 = icmp uge i64 %t1468, 18 + %t1470 = icmp ule i64 %t1468, 18 + %t1471 = and i1 %t1469, %t1470 ; instanceof %m3.LiteResponse + br i1 %t1471, label %tern.t583, label %tern.f584 +tern.t583: + %t1473 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1474 = load i32, ptr %exc.cell + %t1475 = icmp ne i32 %t1474, 0 + %t1476 = call i1 @llvm.expect.i1(i1 %t1475, i1 false) + br i1 %t1476, label %exc.u586, label %exc.k587 +exc.u586: + call void @scr_dyn_release(ptr %t1473) + call void @scr_dyn_release(ptr %t1448) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1464) + br label %exc.cleanup2 +exc.k587: + store ptr %t1473, ptr %s1472 + br label %tern.j585 +tern.f584: + %t1477 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t1478 = load i32, ptr %exc.cell + %t1479 = icmp ne i32 %t1478, 0 + %t1480 = call i1 @llvm.expect.i1(i1 %t1479, i1 false) + br i1 %t1480, label %exc.u588, label %exc.k589 +exc.u588: + call void @scr_dyn_release(ptr %t1477) + call void @scr_dyn_release(ptr %t1448) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1464) + br label %exc.cleanup2 +exc.k589: + store ptr %t1477, ptr %s1472 + br label %tern.j585 +tern.j585: + %t1481 = load ptr, ptr %s1472 + %t1482 = call ptr @scr_dyn_obj_create(ptr %t1481) + %t1483 = load i32, ptr %exc.cell + %t1484 = icmp ne i32 %t1483, 0 + %t1485 = call i1 @llvm.expect.i1(i1 %t1484, i1 false) + br i1 %t1485, label %exc.u590, label %exc.k591 +exc.u590: + call void @scr_dyn_release(ptr %t1448) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1464) + call void @scr_dyn_release(ptr %t1481) + call void @scr_dyn_release(ptr %t1482) + br label %exc.cleanup2 +exc.k591: + call void @scr_dyn_release(ptr %t1448) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1464) + call void @scr_dyn_release(ptr %t1481) + %t1486 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1486) + ret ptr %t1482 +if.j575: + %t1487 = load ptr, ptr %sc_l_p_0 + %t1488 = call ptr @sc_rc_retain_dyn(ptr %t1487) + %t1490 = icmp ne ptr %t1488, null + br i1 %t1490, label %dc.inspect592, label %dc.checked595 +dc.inspect592: + %t1495 = getelementptr inbounds i8, ptr %t1488, i64 8 ; ->kind + %t1496 = load i32, ptr %t1495 + %t1491 = icmp eq i32 %t1496, 12 + br i1 %t1491, label %dc.capsule593, label %dc.checked595 +dc.capsule593: + %t1492 = getelementptr inbounds i8, ptr %t1488, i64 40 ; ->v.typed_ref.type_key + %t1493 = load ptr, ptr %t1492 + %t1494 = icmp eq ptr %t1493, @sc_cs_2434838942941195 + br i1 %t1494, label %dc.exact594, label %dc.checked595 +dc.exact594: + %t1497 = getelementptr inbounds i8, ptr %t1488, i64 16 ; ->v.typed_ref.ptr + %t1498 = load ptr, ptr %t1497 + %t1499 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1498) + store ptr %t1499, ptr %s1489 + br label %dc.done596 +dc.checked595: + %t1500 = call ptr @sc_dc_52(ptr %t1488, ptr null) + store ptr %t1500, ptr %s1489 + %t1501 = load i32, ptr %exc.cell + %t1502 = icmp ne i32 %t1501, 0 + %t1503 = call i1 @llvm.expect.i1(i1 %t1502, i1 false) + br i1 %t1503, label %exc.u597, label %exc.k598 +exc.u597: + call void @scr_dyn_release(ptr %t1488) + br label %exc.cleanup2 +exc.k598: + br label %dc.done596 +dc.done596: + %t1504 = load ptr, ptr %s1489 + %t1505 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1504, i64 0, i32 2 + %t1506 = load ptr, ptr %t1505, !tbaa !204 + %t1507 = call ptr @sc_rc_retain_dyn(ptr %t1506) + call void @scr_dyn_release(ptr %t1488) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1504) + %t1508 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1508) + ret ptr %t1507 +if.j566: + %t1509 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1510 + %t1511 = icmp ne ptr %t1509, null + br i1 %t1511, label %brand.inspect599, label %brand.done601 +brand.inspect599: + %t1512 = getelementptr inbounds i8, ptr %t1509, i64 8 ; ->kind + %t1513 = load i32, ptr %t1512 + %t1514 = icmp eq i32 %t1513, 12 + br i1 %t1514, label %brand.capsule600, label %brand.done601 +brand.capsule600: + %t1515 = getelementptr inbounds i8, ptr %t1509, i64 40 ; ->v.typed_ref.type_key + %t1516 = load ptr, ptr %t1515 + %t1517 = icmp eq ptr %t1516, @sc_cs_67546268704151 + store i1 true, ptr %s1510 + br i1 %t1517, label %brand.done601, label %brand.compare602 +brand.compare602: + %t1518 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1509, ptr @sc_lit_67546268704151) + store i1 %t1518, ptr %s1510 + br label %brand.done601 +brand.done601: + %t1519 = load i1, ptr %s1510 + br i1 %t1519, label %if.t603, label %if.j604 +if.t603: + %t1520 = load ptr, ptr %sc_l_p_0 + %t1521 = call ptr @sc_rc_retain_dyn(ptr %t1520) + %t1523 = icmp ne ptr %t1521, null + br i1 %t1523, label %dc.inspect605, label %dc.checked608 +dc.inspect605: + %t1528 = getelementptr inbounds i8, ptr %t1521, i64 8 ; ->kind + %t1529 = load i32, ptr %t1528 + %t1524 = icmp eq i32 %t1529, 12 + br i1 %t1524, label %dc.capsule606, label %dc.checked608 +dc.capsule606: + %t1525 = getelementptr inbounds i8, ptr %t1521, i64 40 ; ->v.typed_ref.type_key + %t1526 = load ptr, ptr %t1525 + %t1527 = icmp eq ptr %t1526, @sc_cs_67546268704151 + br i1 %t1527, label %dc.exact607, label %dc.checked608 +dc.exact607: + %t1530 = getelementptr inbounds i8, ptr %t1521, i64 16 ; ->v.typed_ref.ptr + %t1531 = load ptr, ptr %t1530 + %t1532 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1531) + store ptr %t1532, ptr %s1522 + br label %dc.done609 +dc.checked608: + %t1533 = call ptr @sc_dc_107(ptr %t1521, ptr null) + store ptr %t1533, ptr %s1522 + %t1534 = load i32, ptr %exc.cell + %t1535 = icmp ne i32 %t1534, 0 + %t1536 = call i1 @llvm.expect.i1(i1 %t1535, i1 false) + br i1 %t1536, label %exc.u610, label %exc.k611 +exc.u610: + call void @scr_dyn_release(ptr %t1521) + br label %exc.cleanup2 +exc.k611: + br label %dc.done609 +dc.done609: + %t1537 = load ptr, ptr %s1522 + %t1538 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1537, i64 0, i32 2 + %t1539 = load ptr, ptr %t1538, !tbaa !204 + %t1540 = getelementptr inbounds i8, ptr %t1539, i64 8 ; ->kind + %t1541 = load i32, ptr %t1540 + %t1542 = icmp eq i32 %t1541, 6 + call void @scr_dyn_release(ptr %t1521) + call void @sc_release__x25_m3_LiteHeaders(ptr %t1537) + br i1 %t1542, label %if.t612, label %if.j613 +if.t612: + %t1543 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders() + %t1544 = load i32, ptr %exc.cell + %t1545 = icmp ne i32 %t1544, 0 + %t1546 = call i1 @llvm.expect.i1(i1 %t1545, i1 false) + br i1 %t1546, label %exc.u614, label %exc.k615 +exc.u614: + call void @scr_dyn_release(ptr %t1543) + br label %exc.cleanup2 +exc.k615: + %t1547 = call ptr @scr_dyn_obj_create(ptr %t1543) + %t1548 = load i32, ptr %exc.cell + %t1549 = icmp ne i32 %t1548, 0 + %t1550 = call i1 @llvm.expect.i1(i1 %t1549, i1 false) + br i1 %t1550, label %exc.u616, label %exc.k617 +exc.u616: + call void @scr_dyn_release(ptr %t1543) + call void @scr_dyn_release(ptr %t1547) + br label %exc.cleanup2 +exc.k617: + call void @scr_dyn_release(ptr %t1543) + %t1551 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1551) + ret ptr %t1547 +if.j613: + %t1552 = load ptr, ptr %sc_l_p_0 + %t1553 = call ptr @sc_rc_retain_dyn(ptr %t1552) + %t1555 = icmp ne ptr %t1553, null + br i1 %t1555, label %dc.inspect618, label %dc.checked621 +dc.inspect618: + %t1560 = getelementptr inbounds i8, ptr %t1553, i64 8 ; ->kind + %t1561 = load i32, ptr %t1560 + %t1556 = icmp eq i32 %t1561, 12 + br i1 %t1556, label %dc.capsule619, label %dc.checked621 +dc.capsule619: + %t1557 = getelementptr inbounds i8, ptr %t1553, i64 40 ; ->v.typed_ref.type_key + %t1558 = load ptr, ptr %t1557 + %t1559 = icmp eq ptr %t1558, @sc_cs_67546268704151 + br i1 %t1559, label %dc.exact620, label %dc.checked621 +dc.exact620: + %t1562 = getelementptr inbounds i8, ptr %t1553, i64 16 ; ->v.typed_ref.ptr + %t1563 = load ptr, ptr %t1562 + %t1564 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1563) + store ptr %t1564, ptr %s1554 + br label %dc.done622 +dc.checked621: + %t1565 = call ptr @sc_dc_107(ptr %t1553, ptr null) + store ptr %t1565, ptr %s1554 + %t1566 = load i32, ptr %exc.cell + %t1567 = icmp ne i32 %t1566, 0 + %t1568 = call i1 @llvm.expect.i1(i1 %t1567, i1 false) + br i1 %t1568, label %exc.u623, label %exc.k624 +exc.u623: + call void @scr_dyn_release(ptr %t1553) + br label %exc.cleanup2 +exc.k624: + br label %dc.done622 +dc.done622: + %t1569 = load ptr, ptr %s1554 + %t1570 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1569, i64 0, i32 2 + %t1571 = load ptr, ptr %t1570, !tbaa !204 + %t1572 = call ptr @sc_rc_retain_dyn(ptr %t1571) + call void @scr_dyn_release(ptr %t1553) + call void @sc_release__x25_m3_LiteHeaders(ptr %t1569) + %t1573 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1573) + ret ptr %t1572 +if.j604: + %t1574 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1575 + %t1576 = icmp ne ptr %t1574, null + br i1 %t1576, label %brand.inspect625, label %brand.done627 +brand.inspect625: + %t1577 = getelementptr inbounds i8, ptr %t1574, i64 8 ; ->kind + %t1578 = load i32, ptr %t1577 + %t1579 = icmp eq i32 %t1578, 12 + br i1 %t1579, label %brand.capsule626, label %brand.done627 +brand.capsule626: + %t1580 = getelementptr inbounds i8, ptr %t1574, i64 40 ; ->v.typed_ref.type_key + %t1581 = load ptr, ptr %t1580 + %t1582 = icmp eq ptr %t1581, @sc_cs_2519527309428716 + store i1 true, ptr %s1575 + br i1 %t1582, label %brand.done627, label %brand.compare628 +brand.compare628: + %t1583 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1574, ptr @sc_lit_2519527309428716) + store i1 %t1583, ptr %s1575 + br label %brand.done627 +brand.done627: + %t1584 = load i1, ptr %s1575 + br i1 %t1584, label %tern.t629, label %tern.f630 +tern.t629: + %t1586 = load ptr, ptr %sc_l_p_0 + %t1587 = call ptr @sc_rc_retain_dyn(ptr %t1586) + %t1589 = icmp ne ptr %t1587, null + br i1 %t1589, label %dc.inspect632, label %dc.checked635 +dc.inspect632: + %t1594 = getelementptr inbounds i8, ptr %t1587, i64 8 ; ->kind + %t1595 = load i32, ptr %t1594 + %t1590 = icmp eq i32 %t1595, 12 + br i1 %t1590, label %dc.capsule633, label %dc.checked635 +dc.capsule633: + %t1591 = getelementptr inbounds i8, ptr %t1587, i64 40 ; ->v.typed_ref.type_key + %t1592 = load ptr, ptr %t1591 + %t1593 = icmp eq ptr %t1592, @sc_cs_2519527309428716 + br i1 %t1593, label %dc.exact634, label %dc.checked635 +dc.exact634: + %t1596 = getelementptr inbounds i8, ptr %t1587, i64 16 ; ->v.typed_ref.ptr + %t1597 = load ptr, ptr %t1596 + %t1598 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1597) + store ptr %t1598, ptr %s1588 + br label %dc.done636 +dc.checked635: + %t1599 = call ptr @sc_dc_108(ptr %t1587, ptr null) + store ptr %t1599, ptr %s1588 + %t1600 = load i32, ptr %exc.cell + %t1601 = icmp ne i32 %t1600, 0 + %t1602 = call i1 @llvm.expect.i1(i1 %t1601, i1 false) + br i1 %t1602, label %exc.u637, label %exc.k638 +exc.u637: + call void @scr_dyn_release(ptr %t1587) + br label %exc.cleanup2 +exc.k638: + br label %dc.done636 +dc.done636: + %t1603 = load ptr, ptr %s1588 + %t1604 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1603, i64 0, i32 1 + %t1605 = load ptr, ptr %t1604 + %t1606 = getelementptr inbounds %ScrVt, ptr %t1605, i64 0, i32 0 + %t1607 = load i64, ptr %t1606 + %t1608 = icmp uge i64 %t1607, 38 + %t1609 = icmp ule i64 %t1607, 38 + %t1610 = and i1 %t1608, %t1609 ; instanceof %m14.BakedAssets + store i1 %t1610, ptr %s1585 + call void @scr_dyn_release(ptr %t1587) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1603) + br label %tern.j631 +tern.f630: + store i1 false, ptr %s1585 + br label %tern.j631 +tern.j631: + %t1611 = load i1, ptr %s1585 + br i1 %t1611, label %if.t639, label %if.j640 +if.t639: + %t1612 = load ptr, ptr %sc_l_p_0 + %t1613 = call ptr @sc_rc_retain_dyn(ptr %t1612) + %t1615 = icmp ne ptr %t1613, null + br i1 %t1615, label %dc.inspect641, label %dc.checked644 +dc.inspect641: + %t1620 = getelementptr inbounds i8, ptr %t1613, i64 8 ; ->kind + %t1621 = load i32, ptr %t1620 + %t1616 = icmp eq i32 %t1621, 12 + br i1 %t1616, label %dc.capsule642, label %dc.checked644 +dc.capsule642: + %t1617 = getelementptr inbounds i8, ptr %t1613, i64 40 ; ->v.typed_ref.type_key + %t1618 = load ptr, ptr %t1617 + %t1619 = icmp eq ptr %t1618, @sc_cs_2519527309428716 + br i1 %t1619, label %dc.exact643, label %dc.checked644 +dc.exact643: + %t1622 = getelementptr inbounds i8, ptr %t1613, i64 16 ; ->v.typed_ref.ptr + %t1623 = load ptr, ptr %t1622 + %t1624 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1623) + store ptr %t1624, ptr %s1614 + br label %dc.done645 +dc.checked644: + %t1625 = call ptr @sc_dc_108(ptr %t1613, ptr null) + store ptr %t1625, ptr %s1614 + %t1626 = load i32, ptr %exc.cell + %t1627 = icmp ne i32 %t1626, 0 + %t1628 = call i1 @llvm.expect.i1(i1 %t1627, i1 false) + br i1 %t1628, label %exc.u646, label %exc.k647 +exc.u646: + call void @scr_dyn_release(ptr %t1613) + br label %exc.cleanup2 +exc.k647: + br label %dc.done645 +dc.done645: + %t1629 = load ptr, ptr %s1614 + %t1630 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1629, i64 0, i32 2 + %t1631 = load ptr, ptr %t1630, !tbaa !204 + %t1632 = getelementptr inbounds i8, ptr %t1631, i64 8 ; ->kind + %t1633 = load i32, ptr %t1632 + %t1634 = icmp eq i32 %t1633, 6 + call void @scr_dyn_release(ptr %t1613) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1629) + br i1 %t1634, label %if.t648, label %if.j649 +if.t648: + %t1635 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1636 = load i32, ptr %exc.cell + %t1637 = icmp ne i32 %t1636, 0 + %t1638 = call i1 @llvm.expect.i1(i1 %t1637, i1 false) + br i1 %t1638, label %exc.u650, label %exc.k651 +exc.u650: + call void @scr_dyn_release(ptr %t1635) + br label %exc.cleanup2 +exc.k651: + %t1639 = call ptr @scr_dyn_obj_create(ptr %t1635) + %t1640 = load i32, ptr %exc.cell + %t1641 = icmp ne i32 %t1640, 0 + %t1642 = call i1 @llvm.expect.i1(i1 %t1641, i1 false) + br i1 %t1642, label %exc.u652, label %exc.k653 +exc.u652: + call void @scr_dyn_release(ptr %t1635) + call void @scr_dyn_release(ptr %t1639) + br label %exc.cleanup2 +exc.k653: + call void @scr_dyn_release(ptr %t1635) + %t1643 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1643) + ret ptr %t1639 +if.j649: + %t1644 = load ptr, ptr %sc_l_p_0 + %t1645 = call ptr @sc_rc_retain_dyn(ptr %t1644) + %t1647 = icmp ne ptr %t1645, null + br i1 %t1647, label %dc.inspect654, label %dc.checked657 +dc.inspect654: + %t1652 = getelementptr inbounds i8, ptr %t1645, i64 8 ; ->kind + %t1653 = load i32, ptr %t1652 + %t1648 = icmp eq i32 %t1653, 12 + br i1 %t1648, label %dc.capsule655, label %dc.checked657 +dc.capsule655: + %t1649 = getelementptr inbounds i8, ptr %t1645, i64 40 ; ->v.typed_ref.type_key + %t1650 = load ptr, ptr %t1649 + %t1651 = icmp eq ptr %t1650, @sc_cs_2519527309428716 + br i1 %t1651, label %dc.exact656, label %dc.checked657 +dc.exact656: + %t1654 = getelementptr inbounds i8, ptr %t1645, i64 16 ; ->v.typed_ref.ptr + %t1655 = load ptr, ptr %t1654 + %t1656 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1655) + store ptr %t1656, ptr %s1646 + br label %dc.done658 +dc.checked657: + %t1657 = call ptr @sc_dc_108(ptr %t1645, ptr null) + store ptr %t1657, ptr %s1646 + %t1658 = load i32, ptr %exc.cell + %t1659 = icmp ne i32 %t1658, 0 + %t1660 = call i1 @llvm.expect.i1(i1 %t1659, i1 false) + br i1 %t1660, label %exc.u659, label %exc.k660 +exc.u659: + call void @scr_dyn_release(ptr %t1645) + br label %exc.cleanup2 +exc.k660: + br label %dc.done658 +dc.done658: + %t1661 = load ptr, ptr %s1646 + %t1662 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1661, i64 0, i32 2 + %t1663 = load ptr, ptr %t1662, !tbaa !204 + %t1664 = call ptr @sc_rc_retain_dyn(ptr %t1663) + call void @scr_dyn_release(ptr %t1645) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1661) + %t1665 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1665) + ret ptr %t1664 +if.j640: + %t1666 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1667 + %t1668 = icmp ne ptr %t1666, null + br i1 %t1668, label %brand.inspect661, label %brand.done663 +brand.inspect661: + %t1669 = getelementptr inbounds i8, ptr %t1666, i64 8 ; ->kind + %t1670 = load i32, ptr %t1669 + %t1671 = icmp eq i32 %t1670, 12 + br i1 %t1671, label %brand.capsule662, label %brand.done663 +brand.capsule662: + %t1672 = getelementptr inbounds i8, ptr %t1666, i64 40 ; ->v.typed_ref.type_key + %t1673 = load ptr, ptr %t1672 + %t1674 = icmp eq ptr %t1673, @sc_cs_2519527309428716 + store i1 true, ptr %s1667 + br i1 %t1674, label %brand.done663, label %brand.compare664 +brand.compare664: + %t1675 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1666, ptr @sc_lit_2519527309428716) + store i1 %t1675, ptr %s1667 + br label %brand.done663 +brand.done663: + %t1676 = load i1, ptr %s1667 + br i1 %t1676, label %if.t665, label %if.j666 +if.t665: + %t1677 = load ptr, ptr %sc_l_p_0 + %t1678 = call ptr @sc_rc_retain_dyn(ptr %t1677) + %t1680 = icmp ne ptr %t1678, null + br i1 %t1680, label %dc.inspect667, label %dc.checked670 +dc.inspect667: + %t1685 = getelementptr inbounds i8, ptr %t1678, i64 8 ; ->kind + %t1686 = load i32, ptr %t1685 + %t1681 = icmp eq i32 %t1686, 12 + br i1 %t1681, label %dc.capsule668, label %dc.checked670 +dc.capsule668: + %t1682 = getelementptr inbounds i8, ptr %t1678, i64 40 ; ->v.typed_ref.type_key + %t1683 = load ptr, ptr %t1682 + %t1684 = icmp eq ptr %t1683, @sc_cs_2519527309428716 + br i1 %t1684, label %dc.exact669, label %dc.checked670 +dc.exact669: + %t1687 = getelementptr inbounds i8, ptr %t1678, i64 16 ; ->v.typed_ref.ptr + %t1688 = load ptr, ptr %t1687 + %t1689 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1688) + store ptr %t1689, ptr %s1679 + br label %dc.done671 +dc.checked670: + %t1690 = call ptr @sc_dc_108(ptr %t1678, ptr null) + store ptr %t1690, ptr %s1679 + %t1691 = load i32, ptr %exc.cell + %t1692 = icmp ne i32 %t1691, 0 + %t1693 = call i1 @llvm.expect.i1(i1 %t1692, i1 false) + br i1 %t1693, label %exc.u672, label %exc.k673 +exc.u672: + call void @scr_dyn_release(ptr %t1678) + br label %exc.cleanup2 +exc.k673: + br label %dc.done671 +dc.done671: + %t1694 = load ptr, ptr %s1679 + %t1695 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1694, i64 0, i32 2 + %t1696 = load ptr, ptr %t1695, !tbaa !204 + %t1697 = getelementptr inbounds i8, ptr %t1696, i64 8 ; ->kind + %t1698 = load i32, ptr %t1697 + %t1699 = icmp eq i32 %t1698, 6 + call void @scr_dyn_release(ptr %t1678) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1694) + br i1 %t1699, label %if.t674, label %if.j675 +if.t674: + %t1700 = load ptr, ptr %sc_l_p_0 + %t1701 = call ptr @sc_rc_retain_dyn(ptr %t1700) + %t1703 = icmp ne ptr %t1701, null + br i1 %t1703, label %dc.inspect676, label %dc.checked679 +dc.inspect676: + %t1708 = getelementptr inbounds i8, ptr %t1701, i64 8 ; ->kind + %t1709 = load i32, ptr %t1708 + %t1704 = icmp eq i32 %t1709, 12 + br i1 %t1704, label %dc.capsule677, label %dc.checked679 +dc.capsule677: + %t1705 = getelementptr inbounds i8, ptr %t1701, i64 40 ; ->v.typed_ref.type_key + %t1706 = load ptr, ptr %t1705 + %t1707 = icmp eq ptr %t1706, @sc_cs_2519527309428716 + br i1 %t1707, label %dc.exact678, label %dc.checked679 +dc.exact678: + %t1710 = getelementptr inbounds i8, ptr %t1701, i64 16 ; ->v.typed_ref.ptr + %t1711 = load ptr, ptr %t1710 + %t1712 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1711) + store ptr %t1712, ptr %s1702 + br label %dc.done680 +dc.checked679: + %t1713 = call ptr @sc_dc_108(ptr %t1701, ptr null) + store ptr %t1713, ptr %s1702 + %t1714 = load i32, ptr %exc.cell + %t1715 = icmp ne i32 %t1714, 0 + %t1716 = call i1 @llvm.expect.i1(i1 %t1715, i1 false) + br i1 %t1716, label %exc.u681, label %exc.k682 +exc.u681: + call void @scr_dyn_release(ptr %t1701) + br label %exc.cleanup2 +exc.k682: + br label %dc.done680 +dc.done680: + %t1717 = load ptr, ptr %s1702 + %t1718 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1717, i64 0, i32 1 + %t1719 = load ptr, ptr %t1718 + %t1720 = getelementptr inbounds %ScrVt, ptr %t1719, i64 0, i32 0 + %t1721 = load i64, ptr %t1720 + %t1722 = icmp uge i64 %t1721, 38 + %t1723 = icmp ule i64 %t1721, 38 + %t1724 = and i1 %t1722, %t1723 ; instanceof %m14.BakedAssets + br i1 %t1724, label %tern.t683, label %tern.f684 +tern.t683: + %t1726 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1727 = load i32, ptr %exc.cell + %t1728 = icmp ne i32 %t1727, 0 + %t1729 = call i1 @llvm.expect.i1(i1 %t1728, i1 false) + br i1 %t1729, label %exc.u686, label %exc.k687 +exc.u686: + call void @scr_dyn_release(ptr %t1726) + call void @scr_dyn_release(ptr %t1701) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1717) + br label %exc.cleanup2 +exc.k687: + store ptr %t1726, ptr %s1725 + br label %tern.j685 +tern.f684: + %t1730 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t1731 = load i32, ptr %exc.cell + %t1732 = icmp ne i32 %t1731, 0 + %t1733 = call i1 @llvm.expect.i1(i1 %t1732, i1 false) + br i1 %t1733, label %exc.u688, label %exc.k689 +exc.u688: + call void @scr_dyn_release(ptr %t1730) + call void @scr_dyn_release(ptr %t1701) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1717) + br label %exc.cleanup2 +exc.k689: + store ptr %t1730, ptr %s1725 + br label %tern.j685 +tern.j685: + %t1734 = load ptr, ptr %s1725 + %t1735 = call ptr @scr_dyn_obj_create(ptr %t1734) + %t1736 = load i32, ptr %exc.cell + %t1737 = icmp ne i32 %t1736, 0 + %t1738 = call i1 @llvm.expect.i1(i1 %t1737, i1 false) + br i1 %t1738, label %exc.u690, label %exc.k691 +exc.u690: + call void @scr_dyn_release(ptr %t1701) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1717) + call void @scr_dyn_release(ptr %t1734) + call void @scr_dyn_release(ptr %t1735) + br label %exc.cleanup2 +exc.k691: + call void @scr_dyn_release(ptr %t1701) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1717) + call void @scr_dyn_release(ptr %t1734) + %t1739 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1739) + ret ptr %t1735 +if.j675: + %t1740 = load ptr, ptr %sc_l_p_0 + %t1741 = call ptr @sc_rc_retain_dyn(ptr %t1740) + %t1743 = icmp ne ptr %t1741, null + br i1 %t1743, label %dc.inspect692, label %dc.checked695 +dc.inspect692: + %t1748 = getelementptr inbounds i8, ptr %t1741, i64 8 ; ->kind + %t1749 = load i32, ptr %t1748 + %t1744 = icmp eq i32 %t1749, 12 + br i1 %t1744, label %dc.capsule693, label %dc.checked695 +dc.capsule693: + %t1745 = getelementptr inbounds i8, ptr %t1741, i64 40 ; ->v.typed_ref.type_key + %t1746 = load ptr, ptr %t1745 + %t1747 = icmp eq ptr %t1746, @sc_cs_2519527309428716 + br i1 %t1747, label %dc.exact694, label %dc.checked695 +dc.exact694: + %t1750 = getelementptr inbounds i8, ptr %t1741, i64 16 ; ->v.typed_ref.ptr + %t1751 = load ptr, ptr %t1750 + %t1752 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1751) + store ptr %t1752, ptr %s1742 + br label %dc.done696 +dc.checked695: + %t1753 = call ptr @sc_dc_108(ptr %t1741, ptr null) + store ptr %t1753, ptr %s1742 + %t1754 = load i32, ptr %exc.cell + %t1755 = icmp ne i32 %t1754, 0 + %t1756 = call i1 @llvm.expect.i1(i1 %t1755, i1 false) + br i1 %t1756, label %exc.u697, label %exc.k698 +exc.u697: + call void @scr_dyn_release(ptr %t1741) + br label %exc.cleanup2 +exc.k698: + br label %dc.done696 +dc.done696: + %t1757 = load ptr, ptr %s1742 + %t1758 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1757, i64 0, i32 2 + %t1759 = load ptr, ptr %t1758, !tbaa !204 + %t1760 = call ptr @sc_rc_retain_dyn(ptr %t1759) + call void @scr_dyn_release(ptr %t1741) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1757) + %t1761 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1761) + ret ptr %t1760 +if.j666: + %t1762 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1763 + %t1764 = icmp ne ptr %t1762, null + br i1 %t1764, label %brand.inspect699, label %brand.done701 +brand.inspect699: + %t1765 = getelementptr inbounds i8, ptr %t1762, i64 8 ; ->kind + %t1766 = load i32, ptr %t1765 + %t1767 = icmp eq i32 %t1766, 12 + br i1 %t1767, label %brand.capsule700, label %brand.done701 +brand.capsule700: + %t1768 = getelementptr inbounds i8, ptr %t1762, i64 40 ; ->v.typed_ref.type_key + %t1769 = load ptr, ptr %t1768 + %t1770 = icmp eq ptr %t1769, @sc_cs_629517122853751 + store i1 true, ptr %s1763 + br i1 %t1770, label %brand.done701, label %brand.compare702 +brand.compare702: + %t1771 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1762, ptr @sc_lit_629517122853751) + store i1 %t1771, ptr %s1763 + br label %brand.done701 +brand.done701: + %t1772 = load i1, ptr %s1763 + br i1 %t1772, label %tern.t703, label %tern.f704 +tern.t703: + %t1774 = load ptr, ptr %sc_l_p_0 + %t1775 = call ptr @sc_rc_retain_dyn(ptr %t1774) + %t1777 = icmp ne ptr %t1775, null + br i1 %t1777, label %dc.inspect706, label %dc.checked709 +dc.inspect706: + %t1782 = getelementptr inbounds i8, ptr %t1775, i64 8 ; ->kind + %t1783 = load i32, ptr %t1782 + %t1778 = icmp eq i32 %t1783, 12 + br i1 %t1778, label %dc.capsule707, label %dc.checked709 +dc.capsule707: + %t1779 = getelementptr inbounds i8, ptr %t1775, i64 40 ; ->v.typed_ref.type_key + %t1780 = load ptr, ptr %t1779 + %t1781 = icmp eq ptr %t1780, @sc_cs_629517122853751 + br i1 %t1781, label %dc.exact708, label %dc.checked709 +dc.exact708: + %t1784 = getelementptr inbounds i8, ptr %t1775, i64 16 ; ->v.typed_ref.ptr + %t1785 = load ptr, ptr %t1784 + %t1786 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1785) + store ptr %t1786, ptr %s1776 + br label %dc.done710 +dc.checked709: + %t1787 = call ptr @sc_dc_29(ptr %t1775, ptr null) + store ptr %t1787, ptr %s1776 + %t1788 = load i32, ptr %exc.cell + %t1789 = icmp ne i32 %t1788, 0 + %t1790 = call i1 @llvm.expect.i1(i1 %t1789, i1 false) + br i1 %t1790, label %exc.u711, label %exc.k712 +exc.u711: + call void @scr_dyn_release(ptr %t1775) + br label %exc.cleanup2 +exc.k712: + br label %dc.done710 +dc.done710: + %t1791 = load ptr, ptr %s1776 + %t1792 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t1791, i64 0, i32 1 + %t1793 = load ptr, ptr %t1792 + %t1794 = getelementptr inbounds %ScrVt, ptr %t1793, i64 0, i32 0 + %t1795 = load i64, ptr %t1794 + %t1796 = icmp uge i64 %t1795, 18 + %t1797 = icmp ule i64 %t1795, 18 + %t1798 = and i1 %t1796, %t1797 ; instanceof %m3.LiteResponse + store i1 %t1798, ptr %s1773 + call void @scr_dyn_release(ptr %t1775) + call void @sc_release__x25_m2_ResponseSink(ptr %t1791) + br label %tern.j705 +tern.f704: + store i1 false, ptr %s1773 + br label %tern.j705 +tern.j705: + %t1799 = load i1, ptr %s1773 + br i1 %t1799, label %if.t713, label %if.j714 +if.t713: + %t1800 = load ptr, ptr %sc_l_p_0 + %t1801 = call ptr @sc_rc_retain_dyn(ptr %t1800) + %t1803 = icmp ne ptr %t1801, null + br i1 %t1803, label %dc.inspect715, label %dc.checked718 +dc.inspect715: + %t1808 = getelementptr inbounds i8, ptr %t1801, i64 8 ; ->kind + %t1809 = load i32, ptr %t1808 + %t1804 = icmp eq i32 %t1809, 12 + br i1 %t1804, label %dc.capsule716, label %dc.checked718 +dc.capsule716: + %t1805 = getelementptr inbounds i8, ptr %t1801, i64 40 ; ->v.typed_ref.type_key + %t1806 = load ptr, ptr %t1805 + %t1807 = icmp eq ptr %t1806, @sc_cs_629517122853751 + br i1 %t1807, label %dc.exact717, label %dc.checked718 +dc.exact717: + %t1810 = getelementptr inbounds i8, ptr %t1801, i64 16 ; ->v.typed_ref.ptr + %t1811 = load ptr, ptr %t1810 + %t1812 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1811) + store ptr %t1812, ptr %s1802 + br label %dc.done719 +dc.checked718: + %t1813 = call ptr @sc_dc_29(ptr %t1801, ptr null) + store ptr %t1813, ptr %s1802 + %t1814 = load i32, ptr %exc.cell + %t1815 = icmp ne i32 %t1814, 0 + %t1816 = call i1 @llvm.expect.i1(i1 %t1815, i1 false) + br i1 %t1816, label %exc.u720, label %exc.k721 +exc.u720: + call void @scr_dyn_release(ptr %t1801) + br label %exc.cleanup2 +exc.k721: + br label %dc.done719 +dc.done719: + %t1817 = load ptr, ptr %s1802 + %t1818 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1817, i64 0, i32 2 + %t1819 = load ptr, ptr %t1818, !tbaa !204 + %t1820 = getelementptr inbounds i8, ptr %t1819, i64 8 ; ->kind + %t1821 = load i32, ptr %t1820 + %t1822 = icmp eq i32 %t1821, 6 + call void @scr_dyn_release(ptr %t1801) + call void @sc_release__x25_m2_ResponseSink(ptr %t1817) + br i1 %t1822, label %if.t722, label %if.j723 +if.t722: + %t1823 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1824 = load i32, ptr %exc.cell + %t1825 = icmp ne i32 %t1824, 0 + %t1826 = call i1 @llvm.expect.i1(i1 %t1825, i1 false) + br i1 %t1826, label %exc.u724, label %exc.k725 +exc.u724: + call void @scr_dyn_release(ptr %t1823) + br label %exc.cleanup2 +exc.k725: + %t1827 = call ptr @scr_dyn_obj_create(ptr %t1823) + %t1828 = load i32, ptr %exc.cell + %t1829 = icmp ne i32 %t1828, 0 + %t1830 = call i1 @llvm.expect.i1(i1 %t1829, i1 false) + br i1 %t1830, label %exc.u726, label %exc.k727 +exc.u726: + call void @scr_dyn_release(ptr %t1823) + call void @scr_dyn_release(ptr %t1827) + br label %exc.cleanup2 +exc.k727: + call void @scr_dyn_release(ptr %t1823) + %t1831 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1831) + ret ptr %t1827 +if.j723: + %t1832 = load ptr, ptr %sc_l_p_0 + %t1833 = call ptr @sc_rc_retain_dyn(ptr %t1832) + %t1835 = icmp ne ptr %t1833, null + br i1 %t1835, label %dc.inspect728, label %dc.checked731 +dc.inspect728: + %t1840 = getelementptr inbounds i8, ptr %t1833, i64 8 ; ->kind + %t1841 = load i32, ptr %t1840 + %t1836 = icmp eq i32 %t1841, 12 + br i1 %t1836, label %dc.capsule729, label %dc.checked731 +dc.capsule729: + %t1837 = getelementptr inbounds i8, ptr %t1833, i64 40 ; ->v.typed_ref.type_key + %t1838 = load ptr, ptr %t1837 + %t1839 = icmp eq ptr %t1838, @sc_cs_629517122853751 + br i1 %t1839, label %dc.exact730, label %dc.checked731 +dc.exact730: + %t1842 = getelementptr inbounds i8, ptr %t1833, i64 16 ; ->v.typed_ref.ptr + %t1843 = load ptr, ptr %t1842 + %t1844 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1843) + store ptr %t1844, ptr %s1834 + br label %dc.done732 +dc.checked731: + %t1845 = call ptr @sc_dc_29(ptr %t1833, ptr null) + store ptr %t1845, ptr %s1834 + %t1846 = load i32, ptr %exc.cell + %t1847 = icmp ne i32 %t1846, 0 + %t1848 = call i1 @llvm.expect.i1(i1 %t1847, i1 false) + br i1 %t1848, label %exc.u733, label %exc.k734 +exc.u733: + call void @scr_dyn_release(ptr %t1833) + br label %exc.cleanup2 +exc.k734: + br label %dc.done732 +dc.done732: + %t1849 = load ptr, ptr %s1834 + %t1850 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1849, i64 0, i32 2 + %t1851 = load ptr, ptr %t1850, !tbaa !204 + %t1852 = call ptr @sc_rc_retain_dyn(ptr %t1851) + call void @scr_dyn_release(ptr %t1833) + call void @sc_release__x25_m2_ResponseSink(ptr %t1849) + %t1853 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1853) + ret ptr %t1852 +if.j714: + %t1854 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1855 + %t1856 = icmp ne ptr %t1854, null + br i1 %t1856, label %brand.inspect735, label %brand.done737 +brand.inspect735: + %t1857 = getelementptr inbounds i8, ptr %t1854, i64 8 ; ->kind + %t1858 = load i32, ptr %t1857 + %t1859 = icmp eq i32 %t1858, 12 + br i1 %t1859, label %brand.capsule736, label %brand.done737 +brand.capsule736: + %t1860 = getelementptr inbounds i8, ptr %t1854, i64 40 ; ->v.typed_ref.type_key + %t1861 = load ptr, ptr %t1860 + %t1862 = icmp eq ptr %t1861, @sc_cs_629517122853751 + store i1 true, ptr %s1855 + br i1 %t1862, label %brand.done737, label %brand.compare738 +brand.compare738: + %t1863 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1854, ptr @sc_lit_629517122853751) + store i1 %t1863, ptr %s1855 + br label %brand.done737 +brand.done737: + %t1864 = load i1, ptr %s1855 + br i1 %t1864, label %tern.t739, label %tern.f740 +tern.t739: + %t1866 = load ptr, ptr %sc_l_p_0 + %t1867 = call ptr @sc_rc_retain_dyn(ptr %t1866) + %t1869 = icmp ne ptr %t1867, null + br i1 %t1869, label %dc.inspect742, label %dc.checked745 +dc.inspect742: + %t1874 = getelementptr inbounds i8, ptr %t1867, i64 8 ; ->kind + %t1875 = load i32, ptr %t1874 + %t1870 = icmp eq i32 %t1875, 12 + br i1 %t1870, label %dc.capsule743, label %dc.checked745 +dc.capsule743: + %t1871 = getelementptr inbounds i8, ptr %t1867, i64 40 ; ->v.typed_ref.type_key + %t1872 = load ptr, ptr %t1871 + %t1873 = icmp eq ptr %t1872, @sc_cs_629517122853751 + br i1 %t1873, label %dc.exact744, label %dc.checked745 +dc.exact744: + %t1876 = getelementptr inbounds i8, ptr %t1867, i64 16 ; ->v.typed_ref.ptr + %t1877 = load ptr, ptr %t1876 + %t1878 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1877) + store ptr %t1878, ptr %s1868 + br label %dc.done746 +dc.checked745: + %t1879 = call ptr @sc_dc_29(ptr %t1867, ptr null) + store ptr %t1879, ptr %s1868 + %t1880 = load i32, ptr %exc.cell + %t1881 = icmp ne i32 %t1880, 0 + %t1882 = call i1 @llvm.expect.i1(i1 %t1881, i1 false) + br i1 %t1882, label %exc.u747, label %exc.k748 +exc.u747: + call void @scr_dyn_release(ptr %t1867) + br label %exc.cleanup2 +exc.k748: + br label %dc.done746 +dc.done746: + %t1883 = load ptr, ptr %s1868 + %t1884 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t1883, i64 0, i32 1 + %t1885 = load ptr, ptr %t1884 + %t1886 = getelementptr inbounds %ScrVt, ptr %t1885, i64 0, i32 0 + %t1887 = load i64, ptr %t1886 + %t1888 = icmp uge i64 %t1887, 17 + %t1889 = icmp ule i64 %t1887, 18 + %t1890 = and i1 %t1888, %t1889 ; instanceof %m2.FetchResponseSink + store i1 %t1890, ptr %s1865 + call void @scr_dyn_release(ptr %t1867) + call void @sc_release__x25_m2_ResponseSink(ptr %t1883) + br label %tern.j741 +tern.f740: + store i1 false, ptr %s1865 + br label %tern.j741 +tern.j741: + %t1891 = load i1, ptr %s1865 + br i1 %t1891, label %if.t749, label %if.j750 +if.t749: + %t1892 = load ptr, ptr %sc_l_p_0 + %t1893 = call ptr @sc_rc_retain_dyn(ptr %t1892) + %t1895 = icmp ne ptr %t1893, null + br i1 %t1895, label %dc.inspect751, label %dc.checked754 +dc.inspect751: + %t1900 = getelementptr inbounds i8, ptr %t1893, i64 8 ; ->kind + %t1901 = load i32, ptr %t1900 + %t1896 = icmp eq i32 %t1901, 12 + br i1 %t1896, label %dc.capsule752, label %dc.checked754 +dc.capsule752: + %t1897 = getelementptr inbounds i8, ptr %t1893, i64 40 ; ->v.typed_ref.type_key + %t1898 = load ptr, ptr %t1897 + %t1899 = icmp eq ptr %t1898, @sc_cs_629517122853751 + br i1 %t1899, label %dc.exact753, label %dc.checked754 +dc.exact753: + %t1902 = getelementptr inbounds i8, ptr %t1893, i64 16 ; ->v.typed_ref.ptr + %t1903 = load ptr, ptr %t1902 + %t1904 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1903) + store ptr %t1904, ptr %s1894 + br label %dc.done755 +dc.checked754: + %t1905 = call ptr @sc_dc_29(ptr %t1893, ptr null) + store ptr %t1905, ptr %s1894 + %t1906 = load i32, ptr %exc.cell + %t1907 = icmp ne i32 %t1906, 0 + %t1908 = call i1 @llvm.expect.i1(i1 %t1907, i1 false) + br i1 %t1908, label %exc.u756, label %exc.k757 +exc.u756: + call void @scr_dyn_release(ptr %t1893) + br label %exc.cleanup2 +exc.k757: + br label %dc.done755 +dc.done755: + %t1909 = load ptr, ptr %s1894 + %t1910 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1909, i64 0, i32 2 + %t1911 = load ptr, ptr %t1910, !tbaa !204 + %t1912 = getelementptr inbounds i8, ptr %t1911, i64 8 ; ->kind + %t1913 = load i32, ptr %t1912 + %t1914 = icmp eq i32 %t1913, 6 + call void @scr_dyn_release(ptr %t1893) + call void @sc_release__x25_m2_ResponseSink(ptr %t1909) + br i1 %t1914, label %if.t758, label %if.j759 +if.t758: + %t1915 = load ptr, ptr %sc_l_p_0 + %t1916 = call ptr @sc_rc_retain_dyn(ptr %t1915) + %t1918 = icmp ne ptr %t1916, null + br i1 %t1918, label %dc.inspect760, label %dc.checked763 +dc.inspect760: + %t1923 = getelementptr inbounds i8, ptr %t1916, i64 8 ; ->kind + %t1924 = load i32, ptr %t1923 + %t1919 = icmp eq i32 %t1924, 12 + br i1 %t1919, label %dc.capsule761, label %dc.checked763 +dc.capsule761: + %t1920 = getelementptr inbounds i8, ptr %t1916, i64 40 ; ->v.typed_ref.type_key + %t1921 = load ptr, ptr %t1920 + %t1922 = icmp eq ptr %t1921, @sc_cs_629517122853751 + br i1 %t1922, label %dc.exact762, label %dc.checked763 +dc.exact762: + %t1925 = getelementptr inbounds i8, ptr %t1916, i64 16 ; ->v.typed_ref.ptr + %t1926 = load ptr, ptr %t1925 + %t1927 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1926) + store ptr %t1927, ptr %s1917 + br label %dc.done764 +dc.checked763: + %t1928 = call ptr @sc_dc_29(ptr %t1916, ptr null) + store ptr %t1928, ptr %s1917 + %t1929 = load i32, ptr %exc.cell + %t1930 = icmp ne i32 %t1929, 0 + %t1931 = call i1 @llvm.expect.i1(i1 %t1930, i1 false) + br i1 %t1931, label %exc.u765, label %exc.k766 +exc.u765: + call void @scr_dyn_release(ptr %t1916) + br label %exc.cleanup2 +exc.k766: + br label %dc.done764 +dc.done764: + %t1932 = load ptr, ptr %s1917 + %t1933 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1932, i64 0, i32 1 + %t1934 = load ptr, ptr %t1933 + %t1935 = getelementptr inbounds %ScrVt, ptr %t1934, i64 0, i32 0 + %t1936 = load i64, ptr %t1935 + %t1937 = icmp uge i64 %t1936, 18 + %t1938 = icmp ule i64 %t1936, 18 + %t1939 = and i1 %t1937, %t1938 ; instanceof %m3.LiteResponse + br i1 %t1939, label %tern.t767, label %tern.f768 +tern.t767: + %t1941 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1942 = load i32, ptr %exc.cell + %t1943 = icmp ne i32 %t1942, 0 + %t1944 = call i1 @llvm.expect.i1(i1 %t1943, i1 false) + br i1 %t1944, label %exc.u770, label %exc.k771 +exc.u770: + call void @scr_dyn_release(ptr %t1941) + call void @scr_dyn_release(ptr %t1916) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1932) + br label %exc.cleanup2 +exc.k771: + store ptr %t1941, ptr %s1940 + br label %tern.j769 +tern.f768: + %t1945 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t1946 = load i32, ptr %exc.cell + %t1947 = icmp ne i32 %t1946, 0 + %t1948 = call i1 @llvm.expect.i1(i1 %t1947, i1 false) + br i1 %t1948, label %exc.u772, label %exc.k773 +exc.u772: + call void @scr_dyn_release(ptr %t1945) + call void @scr_dyn_release(ptr %t1916) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1932) + br label %exc.cleanup2 +exc.k773: + store ptr %t1945, ptr %s1940 + br label %tern.j769 +tern.j769: + %t1949 = load ptr, ptr %s1940 + %t1950 = call ptr @scr_dyn_obj_create(ptr %t1949) + %t1951 = load i32, ptr %exc.cell + %t1952 = icmp ne i32 %t1951, 0 + %t1953 = call i1 @llvm.expect.i1(i1 %t1952, i1 false) + br i1 %t1953, label %exc.u774, label %exc.k775 +exc.u774: + call void @scr_dyn_release(ptr %t1916) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1932) + call void @scr_dyn_release(ptr %t1949) + call void @scr_dyn_release(ptr %t1950) + br label %exc.cleanup2 +exc.k775: + call void @scr_dyn_release(ptr %t1916) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1932) + call void @scr_dyn_release(ptr %t1949) + %t1954 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1954) + ret ptr %t1950 +if.j759: + %t1955 = load ptr, ptr %sc_l_p_0 + %t1956 = call ptr @sc_rc_retain_dyn(ptr %t1955) + %t1958 = icmp ne ptr %t1956, null + br i1 %t1958, label %dc.inspect776, label %dc.checked779 +dc.inspect776: + %t1963 = getelementptr inbounds i8, ptr %t1956, i64 8 ; ->kind + %t1964 = load i32, ptr %t1963 + %t1959 = icmp eq i32 %t1964, 12 + br i1 %t1959, label %dc.capsule777, label %dc.checked779 +dc.capsule777: + %t1960 = getelementptr inbounds i8, ptr %t1956, i64 40 ; ->v.typed_ref.type_key + %t1961 = load ptr, ptr %t1960 + %t1962 = icmp eq ptr %t1961, @sc_cs_629517122853751 + br i1 %t1962, label %dc.exact778, label %dc.checked779 +dc.exact778: + %t1965 = getelementptr inbounds i8, ptr %t1956, i64 16 ; ->v.typed_ref.ptr + %t1966 = load ptr, ptr %t1965 + %t1967 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1966) + store ptr %t1967, ptr %s1957 + br label %dc.done780 +dc.checked779: + %t1968 = call ptr @sc_dc_29(ptr %t1956, ptr null) + store ptr %t1968, ptr %s1957 + %t1969 = load i32, ptr %exc.cell + %t1970 = icmp ne i32 %t1969, 0 + %t1971 = call i1 @llvm.expect.i1(i1 %t1970, i1 false) + br i1 %t1971, label %exc.u781, label %exc.k782 +exc.u781: + call void @scr_dyn_release(ptr %t1956) + br label %exc.cleanup2 +exc.k782: + br label %dc.done780 +dc.done780: + %t1972 = load ptr, ptr %s1957 + %t1973 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1972, i64 0, i32 2 + %t1974 = load ptr, ptr %t1973, !tbaa !204 + %t1975 = call ptr @sc_rc_retain_dyn(ptr %t1974) + call void @scr_dyn_release(ptr %t1956) + call void @sc_release__x25_m2_ResponseSink(ptr %t1972) + %t1976 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1976) + ret ptr %t1975 +if.j750: + %t1977 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1978 + %t1979 = icmp ne ptr %t1977, null + br i1 %t1979, label %brand.inspect783, label %brand.done785 +brand.inspect783: + %t1980 = getelementptr inbounds i8, ptr %t1977, i64 8 ; ->kind + %t1981 = load i32, ptr %t1980 + %t1982 = icmp eq i32 %t1981, 12 + br i1 %t1982, label %brand.capsule784, label %brand.done785 +brand.capsule784: + %t1983 = getelementptr inbounds i8, ptr %t1977, i64 40 ; ->v.typed_ref.type_key + %t1984 = load ptr, ptr %t1983 + %t1985 = icmp eq ptr %t1984, @sc_cs_629517122853751 + store i1 true, ptr %s1978 + br i1 %t1985, label %brand.done785, label %brand.compare786 +brand.compare786: + %t1986 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1977, ptr @sc_lit_629517122853751) + store i1 %t1986, ptr %s1978 + br label %brand.done785 +brand.done785: + %t1987 = load i1, ptr %s1978 + br i1 %t1987, label %tern.t787, label %tern.f788 +tern.t787: + %t1989 = load ptr, ptr %sc_l_p_0 + %t1990 = call ptr @sc_rc_retain_dyn(ptr %t1989) + %t1992 = icmp ne ptr %t1990, null + br i1 %t1992, label %dc.inspect790, label %dc.checked793 +dc.inspect790: + %t1997 = getelementptr inbounds i8, ptr %t1990, i64 8 ; ->kind + %t1998 = load i32, ptr %t1997 + %t1993 = icmp eq i32 %t1998, 12 + br i1 %t1993, label %dc.capsule791, label %dc.checked793 +dc.capsule791: + %t1994 = getelementptr inbounds i8, ptr %t1990, i64 40 ; ->v.typed_ref.type_key + %t1995 = load ptr, ptr %t1994 + %t1996 = icmp eq ptr %t1995, @sc_cs_629517122853751 + br i1 %t1996, label %dc.exact792, label %dc.checked793 +dc.exact792: + %t1999 = getelementptr inbounds i8, ptr %t1990, i64 16 ; ->v.typed_ref.ptr + %t2000 = load ptr, ptr %t1999 + %t2001 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2000) + store ptr %t2001, ptr %s1991 + br label %dc.done794 +dc.checked793: + %t2002 = call ptr @sc_dc_29(ptr %t1990, ptr null) + store ptr %t2002, ptr %s1991 + %t2003 = load i32, ptr %exc.cell + %t2004 = icmp ne i32 %t2003, 0 + %t2005 = call i1 @llvm.expect.i1(i1 %t2004, i1 false) + br i1 %t2005, label %exc.u795, label %exc.k796 +exc.u795: + call void @scr_dyn_release(ptr %t1990) + br label %exc.cleanup2 +exc.k796: + br label %dc.done794 +dc.done794: + %t2006 = load ptr, ptr %s1991 + %t2007 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2006, i64 0, i32 1 + %t2008 = load ptr, ptr %t2007 + %t2009 = getelementptr inbounds %ScrVt, ptr %t2008, i64 0, i32 0 + %t2010 = load i64, ptr %t2009 + %t2011 = icmp uge i64 %t2010, 16 + %t2012 = icmp ule i64 %t2010, 16 + %t2013 = and i1 %t2011, %t2012 ; instanceof %m2.NodeResponseSink + store i1 %t2013, ptr %s1988 + call void @scr_dyn_release(ptr %t1990) + call void @sc_release__x25_m2_ResponseSink(ptr %t2006) + br label %tern.j789 +tern.f788: + store i1 false, ptr %s1988 + br label %tern.j789 +tern.j789: + %t2014 = load i1, ptr %s1988 + br i1 %t2014, label %if.t797, label %if.j798 +if.t797: + %t2015 = load ptr, ptr %sc_l_p_0 + %t2016 = call ptr @sc_rc_retain_dyn(ptr %t2015) + %t2018 = icmp ne ptr %t2016, null + br i1 %t2018, label %dc.inspect799, label %dc.checked802 +dc.inspect799: + %t2023 = getelementptr inbounds i8, ptr %t2016, i64 8 ; ->kind + %t2024 = load i32, ptr %t2023 + %t2019 = icmp eq i32 %t2024, 12 + br i1 %t2019, label %dc.capsule800, label %dc.checked802 +dc.capsule800: + %t2020 = getelementptr inbounds i8, ptr %t2016, i64 40 ; ->v.typed_ref.type_key + %t2021 = load ptr, ptr %t2020 + %t2022 = icmp eq ptr %t2021, @sc_cs_629517122853751 + br i1 %t2022, label %dc.exact801, label %dc.checked802 +dc.exact801: + %t2025 = getelementptr inbounds i8, ptr %t2016, i64 16 ; ->v.typed_ref.ptr + %t2026 = load ptr, ptr %t2025 + %t2027 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2026) + store ptr %t2027, ptr %s2017 + br label %dc.done803 +dc.checked802: + %t2028 = call ptr @sc_dc_29(ptr %t2016, ptr null) + store ptr %t2028, ptr %s2017 + %t2029 = load i32, ptr %exc.cell + %t2030 = icmp ne i32 %t2029, 0 + %t2031 = call i1 @llvm.expect.i1(i1 %t2030, i1 false) + br i1 %t2031, label %exc.u804, label %exc.k805 +exc.u804: + call void @scr_dyn_release(ptr %t2016) + br label %exc.cleanup2 +exc.k805: + br label %dc.done803 +dc.done803: + %t2032 = load ptr, ptr %s2017 + %t2033 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2032, i64 0, i32 2 + %t2034 = load ptr, ptr %t2033, !tbaa !204 + %t2035 = getelementptr inbounds i8, ptr %t2034, i64 8 ; ->kind + %t2036 = load i32, ptr %t2035 + %t2037 = icmp eq i32 %t2036, 6 + call void @scr_dyn_release(ptr %t2016) + call void @sc_release__x25_m2_ResponseSink(ptr %t2032) + br i1 %t2037, label %if.t806, label %if.j807 +if.t806: + %t2038 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t2039 = load i32, ptr %exc.cell + %t2040 = icmp ne i32 %t2039, 0 + %t2041 = call i1 @llvm.expect.i1(i1 %t2040, i1 false) + br i1 %t2041, label %exc.u808, label %exc.k809 +exc.u808: + call void @scr_dyn_release(ptr %t2038) + br label %exc.cleanup2 +exc.k809: + %t2042 = call ptr @scr_dyn_obj_create(ptr %t2038) + %t2043 = load i32, ptr %exc.cell + %t2044 = icmp ne i32 %t2043, 0 + %t2045 = call i1 @llvm.expect.i1(i1 %t2044, i1 false) + br i1 %t2045, label %exc.u810, label %exc.k811 +exc.u810: + call void @scr_dyn_release(ptr %t2038) + call void @scr_dyn_release(ptr %t2042) + br label %exc.cleanup2 +exc.k811: + call void @scr_dyn_release(ptr %t2038) + %t2046 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2046) + ret ptr %t2042 +if.j807: + %t2047 = load ptr, ptr %sc_l_p_0 + %t2048 = call ptr @sc_rc_retain_dyn(ptr %t2047) + %t2050 = icmp ne ptr %t2048, null + br i1 %t2050, label %dc.inspect812, label %dc.checked815 +dc.inspect812: + %t2055 = getelementptr inbounds i8, ptr %t2048, i64 8 ; ->kind + %t2056 = load i32, ptr %t2055 + %t2051 = icmp eq i32 %t2056, 12 + br i1 %t2051, label %dc.capsule813, label %dc.checked815 +dc.capsule813: + %t2052 = getelementptr inbounds i8, ptr %t2048, i64 40 ; ->v.typed_ref.type_key + %t2053 = load ptr, ptr %t2052 + %t2054 = icmp eq ptr %t2053, @sc_cs_629517122853751 + br i1 %t2054, label %dc.exact814, label %dc.checked815 +dc.exact814: + %t2057 = getelementptr inbounds i8, ptr %t2048, i64 16 ; ->v.typed_ref.ptr + %t2058 = load ptr, ptr %t2057 + %t2059 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2058) + store ptr %t2059, ptr %s2049 + br label %dc.done816 +dc.checked815: + %t2060 = call ptr @sc_dc_29(ptr %t2048, ptr null) + store ptr %t2060, ptr %s2049 + %t2061 = load i32, ptr %exc.cell + %t2062 = icmp ne i32 %t2061, 0 + %t2063 = call i1 @llvm.expect.i1(i1 %t2062, i1 false) + br i1 %t2063, label %exc.u817, label %exc.k818 +exc.u817: + call void @scr_dyn_release(ptr %t2048) + br label %exc.cleanup2 +exc.k818: + br label %dc.done816 +dc.done816: + %t2064 = load ptr, ptr %s2049 + %t2065 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2064, i64 0, i32 2 + %t2066 = load ptr, ptr %t2065, !tbaa !204 + %t2067 = call ptr @sc_rc_retain_dyn(ptr %t2066) + call void @scr_dyn_release(ptr %t2048) + call void @sc_release__x25_m2_ResponseSink(ptr %t2064) + %t2068 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2068) + ret ptr %t2067 +if.j798: + %t2069 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2070 + %t2071 = icmp ne ptr %t2069, null + br i1 %t2071, label %brand.inspect819, label %brand.done821 +brand.inspect819: + %t2072 = getelementptr inbounds i8, ptr %t2069, i64 8 ; ->kind + %t2073 = load i32, ptr %t2072 + %t2074 = icmp eq i32 %t2073, 12 + br i1 %t2074, label %brand.capsule820, label %brand.done821 +brand.capsule820: + %t2075 = getelementptr inbounds i8, ptr %t2069, i64 40 ; ->v.typed_ref.type_key + %t2076 = load ptr, ptr %t2075 + %t2077 = icmp eq ptr %t2076, @sc_cs_629517122853751 + store i1 true, ptr %s2070 + br i1 %t2077, label %brand.done821, label %brand.compare822 +brand.compare822: + %t2078 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2069, ptr @sc_lit_629517122853751) + store i1 %t2078, ptr %s2070 + br label %brand.done821 +brand.done821: + %t2079 = load i1, ptr %s2070 + br i1 %t2079, label %if.t823, label %if.j824 +if.t823: + %t2080 = load ptr, ptr %sc_l_p_0 + %t2081 = call ptr @sc_rc_retain_dyn(ptr %t2080) + %t2083 = icmp ne ptr %t2081, null + br i1 %t2083, label %dc.inspect825, label %dc.checked828 +dc.inspect825: + %t2088 = getelementptr inbounds i8, ptr %t2081, i64 8 ; ->kind + %t2089 = load i32, ptr %t2088 + %t2084 = icmp eq i32 %t2089, 12 + br i1 %t2084, label %dc.capsule826, label %dc.checked828 +dc.capsule826: + %t2085 = getelementptr inbounds i8, ptr %t2081, i64 40 ; ->v.typed_ref.type_key + %t2086 = load ptr, ptr %t2085 + %t2087 = icmp eq ptr %t2086, @sc_cs_629517122853751 + br i1 %t2087, label %dc.exact827, label %dc.checked828 +dc.exact827: + %t2090 = getelementptr inbounds i8, ptr %t2081, i64 16 ; ->v.typed_ref.ptr + %t2091 = load ptr, ptr %t2090 + %t2092 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2091) + store ptr %t2092, ptr %s2082 + br label %dc.done829 +dc.checked828: + %t2093 = call ptr @sc_dc_29(ptr %t2081, ptr null) + store ptr %t2093, ptr %s2082 + %t2094 = load i32, ptr %exc.cell + %t2095 = icmp ne i32 %t2094, 0 + %t2096 = call i1 @llvm.expect.i1(i1 %t2095, i1 false) + br i1 %t2096, label %exc.u830, label %exc.k831 +exc.u830: + call void @scr_dyn_release(ptr %t2081) + br label %exc.cleanup2 +exc.k831: + br label %dc.done829 +dc.done829: + %t2097 = load ptr, ptr %s2082 + %t2098 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2097, i64 0, i32 2 + %t2099 = load ptr, ptr %t2098, !tbaa !204 + %t2100 = getelementptr inbounds i8, ptr %t2099, i64 8 ; ->kind + %t2101 = load i32, ptr %t2100 + %t2102 = icmp eq i32 %t2101, 6 + call void @scr_dyn_release(ptr %t2081) + call void @sc_release__x25_m2_ResponseSink(ptr %t2097) + br i1 %t2102, label %if.t832, label %if.j833 +if.t832: + %t2103 = load ptr, ptr %sc_l_p_0 + %t2104 = call ptr @sc_rc_retain_dyn(ptr %t2103) + %t2106 = icmp ne ptr %t2104, null + br i1 %t2106, label %dc.inspect834, label %dc.checked837 +dc.inspect834: + %t2111 = getelementptr inbounds i8, ptr %t2104, i64 8 ; ->kind + %t2112 = load i32, ptr %t2111 + %t2107 = icmp eq i32 %t2112, 12 + br i1 %t2107, label %dc.capsule835, label %dc.checked837 +dc.capsule835: + %t2108 = getelementptr inbounds i8, ptr %t2104, i64 40 ; ->v.typed_ref.type_key + %t2109 = load ptr, ptr %t2108 + %t2110 = icmp eq ptr %t2109, @sc_cs_629517122853751 + br i1 %t2110, label %dc.exact836, label %dc.checked837 +dc.exact836: + %t2113 = getelementptr inbounds i8, ptr %t2104, i64 16 ; ->v.typed_ref.ptr + %t2114 = load ptr, ptr %t2113 + %t2115 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2114) + store ptr %t2115, ptr %s2105 + br label %dc.done838 +dc.checked837: + %t2116 = call ptr @sc_dc_29(ptr %t2104, ptr null) + store ptr %t2116, ptr %s2105 + %t2117 = load i32, ptr %exc.cell + %t2118 = icmp ne i32 %t2117, 0 + %t2119 = call i1 @llvm.expect.i1(i1 %t2118, i1 false) + br i1 %t2119, label %exc.u839, label %exc.k840 +exc.u839: + call void @scr_dyn_release(ptr %t2104) + br label %exc.cleanup2 +exc.k840: + br label %dc.done838 +dc.done838: + %t2120 = load ptr, ptr %s2105 + %t2121 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2120, i64 0, i32 1 + %t2122 = load ptr, ptr %t2121 + %t2123 = getelementptr inbounds %ScrVt, ptr %t2122, i64 0, i32 0 + %t2124 = load i64, ptr %t2123 + %t2125 = icmp uge i64 %t2124, 17 + %t2126 = icmp ule i64 %t2124, 18 + %t2127 = and i1 %t2125, %t2126 ; instanceof %m2.FetchResponseSink + br i1 %t2127, label %tern.t841, label %tern.f842 +tern.t841: + %t2129 = load ptr, ptr %sc_l_p_0 + %t2130 = call ptr @sc_rc_retain_dyn(ptr %t2129) + %t2132 = icmp ne ptr %t2130, null + br i1 %t2132, label %dc.inspect844, label %dc.checked847 +dc.inspect844: + %t2137 = getelementptr inbounds i8, ptr %t2130, i64 8 ; ->kind + %t2138 = load i32, ptr %t2137 + %t2133 = icmp eq i32 %t2138, 12 + br i1 %t2133, label %dc.capsule845, label %dc.checked847 +dc.capsule845: + %t2134 = getelementptr inbounds i8, ptr %t2130, i64 40 ; ->v.typed_ref.type_key + %t2135 = load ptr, ptr %t2134 + %t2136 = icmp eq ptr %t2135, @sc_cs_629517122853751 + br i1 %t2136, label %dc.exact846, label %dc.checked847 +dc.exact846: + %t2139 = getelementptr inbounds i8, ptr %t2130, i64 16 ; ->v.typed_ref.ptr + %t2140 = load ptr, ptr %t2139 + %t2141 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2140) + store ptr %t2141, ptr %s2131 + br label %dc.done848 +dc.checked847: + %t2142 = call ptr @sc_dc_29(ptr %t2130, ptr null) + store ptr %t2142, ptr %s2131 + %t2143 = load i32, ptr %exc.cell + %t2144 = icmp ne i32 %t2143, 0 + %t2145 = call i1 @llvm.expect.i1(i1 %t2144, i1 false) + br i1 %t2145, label %exc.u849, label %exc.k850 +exc.u849: + call void @scr_dyn_release(ptr %t2130) + call void @scr_dyn_release(ptr %t2104) + call void @sc_release__x25_m2_ResponseSink(ptr %t2120) + br label %exc.cleanup2 +exc.k850: + br label %dc.done848 +dc.done848: + %t2146 = load ptr, ptr %s2131 + %t2147 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2146, i64 0, i32 1 + %t2148 = load ptr, ptr %t2147 + %t2149 = getelementptr inbounds %ScrVt, ptr %t2148, i64 0, i32 0 + %t2150 = load i64, ptr %t2149 + %t2151 = icmp uge i64 %t2150, 18 + %t2152 = icmp ule i64 %t2150, 18 + %t2153 = and i1 %t2151, %t2152 ; instanceof %m3.LiteResponse + br i1 %t2153, label %tern.t851, label %tern.f852 +tern.t851: + %t2155 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t2156 = load i32, ptr %exc.cell + %t2157 = icmp ne i32 %t2156, 0 + %t2158 = call i1 @llvm.expect.i1(i1 %t2157, i1 false) + br i1 %t2158, label %exc.u854, label %exc.k855 +exc.u854: + call void @scr_dyn_release(ptr %t2155) + call void @scr_dyn_release(ptr %t2130) + call void @sc_release__x25_m2_ResponseSink(ptr %t2146) + call void @scr_dyn_release(ptr %t2104) + call void @sc_release__x25_m2_ResponseSink(ptr %t2120) + br label %exc.cleanup2 +exc.k855: + store ptr %t2155, ptr %s2154 + br label %tern.j853 +tern.f852: + %t2159 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t2160 = load i32, ptr %exc.cell + %t2161 = icmp ne i32 %t2160, 0 + %t2162 = call i1 @llvm.expect.i1(i1 %t2161, i1 false) + br i1 %t2162, label %exc.u856, label %exc.k857 +exc.u856: + call void @scr_dyn_release(ptr %t2159) + call void @scr_dyn_release(ptr %t2130) + call void @sc_release__x25_m2_ResponseSink(ptr %t2146) + call void @scr_dyn_release(ptr %t2104) + call void @sc_release__x25_m2_ResponseSink(ptr %t2120) + br label %exc.cleanup2 +exc.k857: + store ptr %t2159, ptr %s2154 + br label %tern.j853 +tern.j853: + %t2163 = load ptr, ptr %s2154 + store ptr %t2163, ptr %s2128 + call void @scr_dyn_release(ptr %t2130) + call void @sc_release__x25_m2_ResponseSink(ptr %t2146) + br label %tern.j843 +tern.f842: + %t2164 = load ptr, ptr %sc_l_p_0 + %t2165 = call ptr @sc_rc_retain_dyn(ptr %t2164) + %t2167 = icmp ne ptr %t2165, null + br i1 %t2167, label %dc.inspect858, label %dc.checked861 +dc.inspect858: + %t2172 = getelementptr inbounds i8, ptr %t2165, i64 8 ; ->kind + %t2173 = load i32, ptr %t2172 + %t2168 = icmp eq i32 %t2173, 12 + br i1 %t2168, label %dc.capsule859, label %dc.checked861 +dc.capsule859: + %t2169 = getelementptr inbounds i8, ptr %t2165, i64 40 ; ->v.typed_ref.type_key + %t2170 = load ptr, ptr %t2169 + %t2171 = icmp eq ptr %t2170, @sc_cs_629517122853751 + br i1 %t2171, label %dc.exact860, label %dc.checked861 +dc.exact860: + %t2174 = getelementptr inbounds i8, ptr %t2165, i64 16 ; ->v.typed_ref.ptr + %t2175 = load ptr, ptr %t2174 + %t2176 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2175) + store ptr %t2176, ptr %s2166 + br label %dc.done862 +dc.checked861: + %t2177 = call ptr @sc_dc_29(ptr %t2165, ptr null) + store ptr %t2177, ptr %s2166 + %t2178 = load i32, ptr %exc.cell + %t2179 = icmp ne i32 %t2178, 0 + %t2180 = call i1 @llvm.expect.i1(i1 %t2179, i1 false) + br i1 %t2180, label %exc.u863, label %exc.k864 +exc.u863: + call void @scr_dyn_release(ptr %t2165) + call void @scr_dyn_release(ptr %t2104) + call void @sc_release__x25_m2_ResponseSink(ptr %t2120) + br label %exc.cleanup2 +exc.k864: + br label %dc.done862 +dc.done862: + %t2181 = load ptr, ptr %s2166 + %t2182 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2181, i64 0, i32 1 + %t2183 = load ptr, ptr %t2182 + %t2184 = getelementptr inbounds %ScrVt, ptr %t2183, i64 0, i32 0 + %t2185 = load i64, ptr %t2184 + %t2186 = icmp uge i64 %t2185, 16 + %t2187 = icmp ule i64 %t2185, 16 + %t2188 = and i1 %t2186, %t2187 ; instanceof %m2.NodeResponseSink + br i1 %t2188, label %tern.t865, label %tern.f866 +tern.t865: + %t2190 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t2191 = load i32, ptr %exc.cell + %t2192 = icmp ne i32 %t2191, 0 + %t2193 = call i1 @llvm.expect.i1(i1 %t2192, i1 false) + br i1 %t2193, label %exc.u868, label %exc.k869 +exc.u868: + call void @scr_dyn_release(ptr %t2190) + call void @scr_dyn_release(ptr %t2165) + call void @sc_release__x25_m2_ResponseSink(ptr %t2181) + call void @scr_dyn_release(ptr %t2104) + call void @sc_release__x25_m2_ResponseSink(ptr %t2120) + br label %exc.cleanup2 +exc.k869: + store ptr %t2190, ptr %s2189 + br label %tern.j867 +tern.f866: + %t2194 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink() + %t2195 = load i32, ptr %exc.cell + %t2196 = icmp ne i32 %t2195, 0 + %t2197 = call i1 @llvm.expect.i1(i1 %t2196, i1 false) + br i1 %t2197, label %exc.u870, label %exc.k871 +exc.u870: + call void @scr_dyn_release(ptr %t2194) + call void @scr_dyn_release(ptr %t2165) + call void @sc_release__x25_m2_ResponseSink(ptr %t2181) + call void @scr_dyn_release(ptr %t2104) + call void @sc_release__x25_m2_ResponseSink(ptr %t2120) + br label %exc.cleanup2 +exc.k871: + store ptr %t2194, ptr %s2189 + br label %tern.j867 +tern.j867: + %t2198 = load ptr, ptr %s2189 + store ptr %t2198, ptr %s2128 + call void @scr_dyn_release(ptr %t2165) + call void @sc_release__x25_m2_ResponseSink(ptr %t2181) + br label %tern.j843 +tern.j843: + %t2199 = load ptr, ptr %s2128 + %t2200 = call ptr @scr_dyn_obj_create(ptr %t2199) + %t2201 = load i32, ptr %exc.cell + %t2202 = icmp ne i32 %t2201, 0 + %t2203 = call i1 @llvm.expect.i1(i1 %t2202, i1 false) + br i1 %t2203, label %exc.u872, label %exc.k873 +exc.u872: + call void @scr_dyn_release(ptr %t2104) + call void @sc_release__x25_m2_ResponseSink(ptr %t2120) + call void @scr_dyn_release(ptr %t2199) + call void @scr_dyn_release(ptr %t2200) + br label %exc.cleanup2 +exc.k873: + call void @scr_dyn_release(ptr %t2104) + call void @sc_release__x25_m2_ResponseSink(ptr %t2120) + call void @scr_dyn_release(ptr %t2199) + %t2204 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2204) + ret ptr %t2200 +if.j833: + %t2205 = load ptr, ptr %sc_l_p_0 + %t2206 = call ptr @sc_rc_retain_dyn(ptr %t2205) + %t2208 = icmp ne ptr %t2206, null + br i1 %t2208, label %dc.inspect874, label %dc.checked877 +dc.inspect874: + %t2213 = getelementptr inbounds i8, ptr %t2206, i64 8 ; ->kind + %t2214 = load i32, ptr %t2213 + %t2209 = icmp eq i32 %t2214, 12 + br i1 %t2209, label %dc.capsule875, label %dc.checked877 +dc.capsule875: + %t2210 = getelementptr inbounds i8, ptr %t2206, i64 40 ; ->v.typed_ref.type_key + %t2211 = load ptr, ptr %t2210 + %t2212 = icmp eq ptr %t2211, @sc_cs_629517122853751 + br i1 %t2212, label %dc.exact876, label %dc.checked877 +dc.exact876: + %t2215 = getelementptr inbounds i8, ptr %t2206, i64 16 ; ->v.typed_ref.ptr + %t2216 = load ptr, ptr %t2215 + %t2217 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2216) + store ptr %t2217, ptr %s2207 + br label %dc.done878 +dc.checked877: + %t2218 = call ptr @sc_dc_29(ptr %t2206, ptr null) + store ptr %t2218, ptr %s2207 + %t2219 = load i32, ptr %exc.cell + %t2220 = icmp ne i32 %t2219, 0 + %t2221 = call i1 @llvm.expect.i1(i1 %t2220, i1 false) + br i1 %t2221, label %exc.u879, label %exc.k880 +exc.u879: + call void @scr_dyn_release(ptr %t2206) + br label %exc.cleanup2 +exc.k880: + br label %dc.done878 +dc.done878: + %t2222 = load ptr, ptr %s2207 + %t2223 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2222, i64 0, i32 2 + %t2224 = load ptr, ptr %t2223, !tbaa !204 + %t2225 = call ptr @sc_rc_retain_dyn(ptr %t2224) + call void @scr_dyn_release(ptr %t2206) + call void @sc_release__x25_m2_ResponseSink(ptr %t2222) + %t2226 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2226) + ret ptr %t2225 +if.j824: + %t2227 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2228 + %t2229 = icmp ne ptr %t2227, null + br i1 %t2229, label %brand.inspect881, label %brand.done883 +brand.inspect881: + %t2230 = getelementptr inbounds i8, ptr %t2227, i64 8 ; ->kind + %t2231 = load i32, ptr %t2230 + %t2232 = icmp eq i32 %t2231, 12 + br i1 %t2232, label %brand.capsule882, label %brand.done883 +brand.capsule882: + %t2233 = getelementptr inbounds i8, ptr %t2227, i64 40 ; ->v.typed_ref.type_key + %t2234 = load ptr, ptr %t2233 + %t2235 = icmp eq ptr %t2234, @sc_cs_660811353369478 + store i1 true, ptr %s2228 + br i1 %t2235, label %brand.done883, label %brand.compare884 +brand.compare884: + %t2236 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2227, ptr @sc_lit_660811353369478) + store i1 %t2236, ptr %s2228 + br label %brand.done883 +brand.done883: + %t2237 = load i1, ptr %s2228 + br i1 %t2237, label %if.t885, label %if.j886 +if.t885: + %t2238 = load ptr, ptr %sc_l_p_0 + %t2239 = call ptr @sc_rc_retain_dyn(ptr %t2238) + %t2241 = icmp ne ptr %t2239, null + br i1 %t2241, label %dc.inspect887, label %dc.checked890 +dc.inspect887: + %t2246 = getelementptr inbounds i8, ptr %t2239, i64 8 ; ->kind + %t2247 = load i32, ptr %t2246 + %t2242 = icmp eq i32 %t2247, 12 + br i1 %t2242, label %dc.capsule888, label %dc.checked890 +dc.capsule888: + %t2243 = getelementptr inbounds i8, ptr %t2239, i64 40 ; ->v.typed_ref.type_key + %t2244 = load ptr, ptr %t2243 + %t2245 = icmp eq ptr %t2244, @sc_cs_660811353369478 + br i1 %t2245, label %dc.exact889, label %dc.checked890 +dc.exact889: + %t2248 = getelementptr inbounds i8, ptr %t2239, i64 16 ; ->v.typed_ref.ptr + %t2249 = load ptr, ptr %t2248 + %t2250 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2249) + store ptr %t2250, ptr %s2240 + br label %dc.done891 +dc.checked890: + %t2251 = call ptr @sc_dc_28(ptr %t2239, ptr null) + store ptr %t2251, ptr %s2240 + %t2252 = load i32, ptr %exc.cell + %t2253 = icmp ne i32 %t2252, 0 + %t2254 = call i1 @llvm.expect.i1(i1 %t2253, i1 false) + br i1 %t2254, label %exc.u892, label %exc.k893 +exc.u892: + call void @scr_dyn_release(ptr %t2239) + br label %exc.cleanup2 +exc.k893: + br label %dc.done891 +dc.done891: + %t2255 = load ptr, ptr %s2240 + %t2256 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2255, i64 0, i32 17 + %t2257 = load ptr, ptr %t2256, !tbaa !204 + %t2258 = getelementptr inbounds i8, ptr %t2257, i64 8 ; ->kind + %t2259 = load i32, ptr %t2258 + %t2260 = icmp eq i32 %t2259, 6 + call void @scr_dyn_release(ptr %t2239) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2255) + br i1 %t2260, label %if.t894, label %if.j895 +if.t894: + %t2261 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore() + %t2262 = load i32, ptr %exc.cell + %t2263 = icmp ne i32 %t2262, 0 + %t2264 = call i1 @llvm.expect.i1(i1 %t2263, i1 false) + br i1 %t2264, label %exc.u896, label %exc.k897 +exc.u896: + call void @scr_dyn_release(ptr %t2261) + br label %exc.cleanup2 +exc.k897: + %t2265 = call ptr @scr_dyn_obj_create(ptr %t2261) + %t2266 = load i32, ptr %exc.cell + %t2267 = icmp ne i32 %t2266, 0 + %t2268 = call i1 @llvm.expect.i1(i1 %t2267, i1 false) + br i1 %t2268, label %exc.u898, label %exc.k899 +exc.u898: + call void @scr_dyn_release(ptr %t2261) + call void @scr_dyn_release(ptr %t2265) + br label %exc.cleanup2 +exc.k899: + call void @scr_dyn_release(ptr %t2261) + %t2269 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2269) + ret ptr %t2265 +if.j895: + %t2270 = load ptr, ptr %sc_l_p_0 + %t2271 = call ptr @sc_rc_retain_dyn(ptr %t2270) + %t2273 = icmp ne ptr %t2271, null + br i1 %t2273, label %dc.inspect900, label %dc.checked903 +dc.inspect900: + %t2278 = getelementptr inbounds i8, ptr %t2271, i64 8 ; ->kind + %t2279 = load i32, ptr %t2278 + %t2274 = icmp eq i32 %t2279, 12 + br i1 %t2274, label %dc.capsule901, label %dc.checked903 +dc.capsule901: + %t2275 = getelementptr inbounds i8, ptr %t2271, i64 40 ; ->v.typed_ref.type_key + %t2276 = load ptr, ptr %t2275 + %t2277 = icmp eq ptr %t2276, @sc_cs_660811353369478 + br i1 %t2277, label %dc.exact902, label %dc.checked903 +dc.exact902: + %t2280 = getelementptr inbounds i8, ptr %t2271, i64 16 ; ->v.typed_ref.ptr + %t2281 = load ptr, ptr %t2280 + %t2282 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2281) + store ptr %t2282, ptr %s2272 + br label %dc.done904 +dc.checked903: + %t2283 = call ptr @sc_dc_28(ptr %t2271, ptr null) + store ptr %t2283, ptr %s2272 + %t2284 = load i32, ptr %exc.cell + %t2285 = icmp ne i32 %t2284, 0 + %t2286 = call i1 @llvm.expect.i1(i1 %t2285, i1 false) + br i1 %t2286, label %exc.u905, label %exc.k906 +exc.u905: + call void @scr_dyn_release(ptr %t2271) + br label %exc.cleanup2 +exc.k906: + br label %dc.done904 +dc.done904: + %t2287 = load ptr, ptr %s2272 + %t2288 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2287, i64 0, i32 17 + %t2289 = load ptr, ptr %t2288, !tbaa !204 + %t2290 = call ptr @sc_rc_retain_dyn(ptr %t2289) + call void @scr_dyn_release(ptr %t2271) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2287) + %t2291 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2291) + ret ptr %t2290 +if.j886: + %t2292 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2293 + %t2294 = icmp ne ptr %t2292, null + br i1 %t2294, label %brand.inspect907, label %brand.done909 +brand.inspect907: + %t2295 = getelementptr inbounds i8, ptr %t2292, i64 8 ; ->kind + %t2296 = load i32, ptr %t2295 + %t2297 = icmp eq i32 %t2296, 12 + br i1 %t2297, label %brand.capsule908, label %brand.done909 +brand.capsule908: + %t2298 = getelementptr inbounds i8, ptr %t2292, i64 40 ; ->v.typed_ref.type_key + %t2299 = load ptr, ptr %t2298 + %t2300 = icmp eq ptr %t2299, @sc_cs_4336131790391205 + store i1 true, ptr %s2293 + br i1 %t2300, label %brand.done909, label %brand.compare910 +brand.compare910: + %t2301 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2292, ptr @sc_lit_4336131790391205) + store i1 %t2301, ptr %s2293 + br label %brand.done909 +brand.done909: + %t2302 = load i1, ptr %s2293 + br i1 %t2302, label %if.t911, label %if.j912 +if.t911: + %t2303 = load ptr, ptr %sc_l_p_0 + %t2304 = call ptr @sc_rc_retain_dyn(ptr %t2303) + %t2306 = icmp ne ptr %t2304, null + br i1 %t2306, label %dc.inspect913, label %dc.checked916 +dc.inspect913: + %t2311 = getelementptr inbounds i8, ptr %t2304, i64 8 ; ->kind + %t2312 = load i32, ptr %t2311 + %t2307 = icmp eq i32 %t2312, 12 + br i1 %t2307, label %dc.capsule914, label %dc.checked916 +dc.capsule914: + %t2308 = getelementptr inbounds i8, ptr %t2304, i64 40 ; ->v.typed_ref.type_key + %t2309 = load ptr, ptr %t2308 + %t2310 = icmp eq ptr %t2309, @sc_cs_4336131790391205 + br i1 %t2310, label %dc.exact915, label %dc.checked916 +dc.exact915: + %t2313 = getelementptr inbounds i8, ptr %t2304, i64 16 ; ->v.typed_ref.ptr + %t2314 = load ptr, ptr %t2313 + %t2315 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2314) + store ptr %t2315, ptr %s2305 + br label %dc.done917 +dc.checked916: + %t2316 = call ptr @sc_dc_43(ptr %t2304, ptr null) + store ptr %t2316, ptr %s2305 + %t2317 = load i32, ptr %exc.cell + %t2318 = icmp ne i32 %t2317, 0 + %t2319 = call i1 @llvm.expect.i1(i1 %t2318, i1 false) + br i1 %t2319, label %exc.u918, label %exc.k919 +exc.u918: + call void @scr_dyn_release(ptr %t2304) + br label %exc.cleanup2 +exc.k919: + br label %dc.done917 +dc.done917: + %t2320 = load ptr, ptr %s2305 + %t2321 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2320, i64 0, i32 6 + %t2322 = load ptr, ptr %t2321, !tbaa !204 + %t2323 = call ptr @sc_rc_retain_dyn(ptr %t2322) + call void @scr_dyn_release(ptr %t2304) + call void @sc_release__x25_m5_MpCfg(ptr %t2320) + %t2324 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2324) + ret ptr %t2323 +if.j912: + %t2325 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2326 + %t2327 = icmp ne ptr %t2325, null + br i1 %t2327, label %brand.inspect920, label %brand.done922 +brand.inspect920: + %t2328 = getelementptr inbounds i8, ptr %t2325, i64 8 ; ->kind + %t2329 = load i32, ptr %t2328 + %t2330 = icmp eq i32 %t2329, 12 + br i1 %t2330, label %brand.capsule921, label %brand.done922 +brand.capsule921: + %t2331 = getelementptr inbounds i8, ptr %t2325, i64 40 ; ->v.typed_ref.type_key + %t2332 = load ptr, ptr %t2331 + %t2333 = icmp eq ptr %t2332, @sc_cs_3635319175845957 + store i1 true, ptr %s2326 + br i1 %t2333, label %brand.done922, label %brand.compare923 +brand.compare923: + %t2334 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2325, ptr @sc_lit_3635319175845957) + store i1 %t2334, ptr %s2326 + br label %brand.done922 +brand.done922: + %t2335 = load i1, ptr %s2326 + br i1 %t2335, label %tern.t924, label %tern.f925 +tern.t924: + %t2337 = load ptr, ptr %sc_l_p_0 + %t2338 = call ptr @sc_rc_retain_dyn(ptr %t2337) + %t2340 = icmp ne ptr %t2338, null + br i1 %t2340, label %dc.inspect927, label %dc.checked930 +dc.inspect927: + %t2345 = getelementptr inbounds i8, ptr %t2338, i64 8 ; ->kind + %t2346 = load i32, ptr %t2345 + %t2341 = icmp eq i32 %t2346, 12 + br i1 %t2341, label %dc.capsule928, label %dc.checked930 +dc.capsule928: + %t2342 = getelementptr inbounds i8, ptr %t2338, i64 40 ; ->v.typed_ref.type_key + %t2343 = load ptr, ptr %t2342 + %t2344 = icmp eq ptr %t2343, @sc_cs_3635319175845957 + br i1 %t2344, label %dc.exact929, label %dc.checked930 +dc.exact929: + %t2347 = getelementptr inbounds i8, ptr %t2338, i64 16 ; ->v.typed_ref.ptr + %t2348 = load ptr, ptr %t2347 + %t2349 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2348) + store ptr %t2349, ptr %s2339 + br label %dc.done931 +dc.checked930: + %t2350 = call ptr @sc_dc_24(ptr %t2338, ptr null) + store ptr %t2350, ptr %s2339 + %t2351 = load i32, ptr %exc.cell + %t2352 = icmp ne i32 %t2351, 0 + %t2353 = call i1 @llvm.expect.i1(i1 %t2352, i1 false) + br i1 %t2353, label %exc.u932, label %exc.k933 +exc.u932: + call void @scr_dyn_release(ptr %t2338) + br label %exc.cleanup2 +exc.k933: + br label %dc.done931 +dc.done931: + %t2354 = load ptr, ptr %s2339 + %t2355 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2354, i64 0, i32 1 + %t2356 = load ptr, ptr %t2355 + %t2357 = getelementptr inbounds %ScrVt, ptr %t2356, i64 0, i32 0 + %t2358 = load i64, ptr %t2357 + %t2359 = icmp uge i64 %t2358, 26 + %t2360 = icmp ule i64 %t2358, 26 + %t2361 = and i1 %t2359, %t2360 ; instanceof %m4.MemoryStorage + store i1 %t2361, ptr %s2336 + call void @scr_dyn_release(ptr %t2338) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2354) + br label %tern.j926 +tern.f925: + store i1 false, ptr %s2336 + br label %tern.j926 +tern.j926: + %t2362 = load i1, ptr %s2336 + br i1 %t2362, label %if.t934, label %if.j935 +if.t934: + %t2363 = load ptr, ptr %sc_l_p_0 + %t2364 = call ptr @sc_rc_retain_dyn(ptr %t2363) + %t2366 = icmp ne ptr %t2364, null + br i1 %t2366, label %dc.inspect936, label %dc.checked939 +dc.inspect936: + %t2371 = getelementptr inbounds i8, ptr %t2364, i64 8 ; ->kind + %t2372 = load i32, ptr %t2371 + %t2367 = icmp eq i32 %t2372, 12 + br i1 %t2367, label %dc.capsule937, label %dc.checked939 +dc.capsule937: + %t2368 = getelementptr inbounds i8, ptr %t2364, i64 40 ; ->v.typed_ref.type_key + %t2369 = load ptr, ptr %t2368 + %t2370 = icmp eq ptr %t2369, @sc_cs_3635319175845957 + br i1 %t2370, label %dc.exact938, label %dc.checked939 +dc.exact938: + %t2373 = getelementptr inbounds i8, ptr %t2364, i64 16 ; ->v.typed_ref.ptr + %t2374 = load ptr, ptr %t2373 + %t2375 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2374) + store ptr %t2375, ptr %s2365 + br label %dc.done940 +dc.checked939: + %t2376 = call ptr @sc_dc_24(ptr %t2364, ptr null) + store ptr %t2376, ptr %s2365 + %t2377 = load i32, ptr %exc.cell + %t2378 = icmp ne i32 %t2377, 0 + %t2379 = call i1 @llvm.expect.i1(i1 %t2378, i1 false) + br i1 %t2379, label %exc.u941, label %exc.k942 +exc.u941: + call void @scr_dyn_release(ptr %t2364) + br label %exc.cleanup2 +exc.k942: + br label %dc.done940 +dc.done940: + %t2380 = load ptr, ptr %s2365 + %t2381 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t2380, i64 0, i32 2 + %t2382 = load ptr, ptr %t2381, !tbaa !204 + %t2383 = getelementptr inbounds i8, ptr %t2382, i64 8 ; ->kind + %t2384 = load i32, ptr %t2383 + %t2385 = icmp eq i32 %t2384, 6 + call void @scr_dyn_release(ptr %t2364) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2380) + br i1 %t2385, label %if.t943, label %if.j944 +if.t943: + %t2386 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t2387 = load i32, ptr %exc.cell + %t2388 = icmp ne i32 %t2387, 0 + %t2389 = call i1 @llvm.expect.i1(i1 %t2388, i1 false) + br i1 %t2389, label %exc.u945, label %exc.k946 +exc.u945: + call void @scr_dyn_release(ptr %t2386) + br label %exc.cleanup2 +exc.k946: + %t2390 = call ptr @scr_dyn_obj_create(ptr %t2386) + %t2391 = load i32, ptr %exc.cell + %t2392 = icmp ne i32 %t2391, 0 + %t2393 = call i1 @llvm.expect.i1(i1 %t2392, i1 false) + br i1 %t2393, label %exc.u947, label %exc.k948 +exc.u947: + call void @scr_dyn_release(ptr %t2386) + call void @scr_dyn_release(ptr %t2390) + br label %exc.cleanup2 +exc.k948: + call void @scr_dyn_release(ptr %t2386) + %t2394 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2394) + ret ptr %t2390 +if.j944: + %t2395 = load ptr, ptr %sc_l_p_0 + %t2396 = call ptr @sc_rc_retain_dyn(ptr %t2395) + %t2398 = icmp ne ptr %t2396, null + br i1 %t2398, label %dc.inspect949, label %dc.checked952 +dc.inspect949: + %t2403 = getelementptr inbounds i8, ptr %t2396, i64 8 ; ->kind + %t2404 = load i32, ptr %t2403 + %t2399 = icmp eq i32 %t2404, 12 + br i1 %t2399, label %dc.capsule950, label %dc.checked952 +dc.capsule950: + %t2400 = getelementptr inbounds i8, ptr %t2396, i64 40 ; ->v.typed_ref.type_key + %t2401 = load ptr, ptr %t2400 + %t2402 = icmp eq ptr %t2401, @sc_cs_3635319175845957 + br i1 %t2402, label %dc.exact951, label %dc.checked952 +dc.exact951: + %t2405 = getelementptr inbounds i8, ptr %t2396, i64 16 ; ->v.typed_ref.ptr + %t2406 = load ptr, ptr %t2405 + %t2407 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2406) + store ptr %t2407, ptr %s2397 + br label %dc.done953 +dc.checked952: + %t2408 = call ptr @sc_dc_24(ptr %t2396, ptr null) + store ptr %t2408, ptr %s2397 + %t2409 = load i32, ptr %exc.cell + %t2410 = icmp ne i32 %t2409, 0 + %t2411 = call i1 @llvm.expect.i1(i1 %t2410, i1 false) + br i1 %t2411, label %exc.u954, label %exc.k955 +exc.u954: + call void @scr_dyn_release(ptr %t2396) + br label %exc.cleanup2 +exc.k955: + br label %dc.done953 +dc.done953: + %t2412 = load ptr, ptr %s2397 + %t2413 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t2412, i64 0, i32 2 + %t2414 = load ptr, ptr %t2413, !tbaa !204 + %t2415 = call ptr @sc_rc_retain_dyn(ptr %t2414) + call void @scr_dyn_release(ptr %t2396) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2412) + %t2416 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2416) + ret ptr %t2415 +if.j935: + %t2417 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2418 + %t2419 = icmp ne ptr %t2417, null + br i1 %t2419, label %brand.inspect956, label %brand.done958 +brand.inspect956: + %t2420 = getelementptr inbounds i8, ptr %t2417, i64 8 ; ->kind + %t2421 = load i32, ptr %t2420 + %t2422 = icmp eq i32 %t2421, 12 + br i1 %t2422, label %brand.capsule957, label %brand.done958 +brand.capsule957: + %t2423 = getelementptr inbounds i8, ptr %t2417, i64 40 ; ->v.typed_ref.type_key + %t2424 = load ptr, ptr %t2423 + %t2425 = icmp eq ptr %t2424, @sc_cs_3635319175845957 + store i1 true, ptr %s2418 + br i1 %t2425, label %brand.done958, label %brand.compare959 +brand.compare959: + %t2426 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2417, ptr @sc_lit_3635319175845957) + store i1 %t2426, ptr %s2418 + br label %brand.done958 +brand.done958: + %t2427 = load i1, ptr %s2418 + br i1 %t2427, label %if.t960, label %if.j961 +if.t960: + %t2428 = load ptr, ptr %sc_l_p_0 + %t2429 = call ptr @sc_rc_retain_dyn(ptr %t2428) + %t2431 = icmp ne ptr %t2429, null + br i1 %t2431, label %dc.inspect962, label %dc.checked965 +dc.inspect962: + %t2436 = getelementptr inbounds i8, ptr %t2429, i64 8 ; ->kind + %t2437 = load i32, ptr %t2436 + %t2432 = icmp eq i32 %t2437, 12 + br i1 %t2432, label %dc.capsule963, label %dc.checked965 +dc.capsule963: + %t2433 = getelementptr inbounds i8, ptr %t2429, i64 40 ; ->v.typed_ref.type_key + %t2434 = load ptr, ptr %t2433 + %t2435 = icmp eq ptr %t2434, @sc_cs_3635319175845957 + br i1 %t2435, label %dc.exact964, label %dc.checked965 +dc.exact964: + %t2438 = getelementptr inbounds i8, ptr %t2429, i64 16 ; ->v.typed_ref.ptr + %t2439 = load ptr, ptr %t2438 + %t2440 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2439) + store ptr %t2440, ptr %s2430 + br label %dc.done966 +dc.checked965: + %t2441 = call ptr @sc_dc_24(ptr %t2429, ptr null) + store ptr %t2441, ptr %s2430 + %t2442 = load i32, ptr %exc.cell + %t2443 = icmp ne i32 %t2442, 0 + %t2444 = call i1 @llvm.expect.i1(i1 %t2443, i1 false) + br i1 %t2444, label %exc.u967, label %exc.k968 +exc.u967: + call void @scr_dyn_release(ptr %t2429) + br label %exc.cleanup2 +exc.k968: + br label %dc.done966 +dc.done966: + %t2445 = load ptr, ptr %s2430 + %t2446 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2445, i64 0, i32 2 + %t2447 = load ptr, ptr %t2446, !tbaa !204 + %t2448 = getelementptr inbounds i8, ptr %t2447, i64 8 ; ->kind + %t2449 = load i32, ptr %t2448 + %t2450 = icmp eq i32 %t2449, 6 + call void @scr_dyn_release(ptr %t2429) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2445) + br i1 %t2450, label %if.t969, label %if.j970 +if.t969: + %t2451 = load ptr, ptr %sc_l_p_0 + %t2452 = call ptr @sc_rc_retain_dyn(ptr %t2451) + %t2454 = icmp ne ptr %t2452, null + br i1 %t2454, label %dc.inspect971, label %dc.checked974 +dc.inspect971: + %t2459 = getelementptr inbounds i8, ptr %t2452, i64 8 ; ->kind + %t2460 = load i32, ptr %t2459 + %t2455 = icmp eq i32 %t2460, 12 + br i1 %t2455, label %dc.capsule972, label %dc.checked974 +dc.capsule972: + %t2456 = getelementptr inbounds i8, ptr %t2452, i64 40 ; ->v.typed_ref.type_key + %t2457 = load ptr, ptr %t2456 + %t2458 = icmp eq ptr %t2457, @sc_cs_3635319175845957 + br i1 %t2458, label %dc.exact973, label %dc.checked974 +dc.exact973: + %t2461 = getelementptr inbounds i8, ptr %t2452, i64 16 ; ->v.typed_ref.ptr + %t2462 = load ptr, ptr %t2461 + %t2463 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2462) + store ptr %t2463, ptr %s2453 + br label %dc.done975 +dc.checked974: + %t2464 = call ptr @sc_dc_24(ptr %t2452, ptr null) + store ptr %t2464, ptr %s2453 + %t2465 = load i32, ptr %exc.cell + %t2466 = icmp ne i32 %t2465, 0 + %t2467 = call i1 @llvm.expect.i1(i1 %t2466, i1 false) + br i1 %t2467, label %exc.u976, label %exc.k977 +exc.u976: + call void @scr_dyn_release(ptr %t2452) + br label %exc.cleanup2 +exc.k977: + br label %dc.done975 +dc.done975: + %t2468 = load ptr, ptr %s2453 + %t2469 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2468, i64 0, i32 1 + %t2470 = load ptr, ptr %t2469 + %t2471 = getelementptr inbounds %ScrVt, ptr %t2470, i64 0, i32 0 + %t2472 = load i64, ptr %t2471 + %t2473 = icmp uge i64 %t2472, 26 + %t2474 = icmp ule i64 %t2472, 26 + %t2475 = and i1 %t2473, %t2474 ; instanceof %m4.MemoryStorage + br i1 %t2475, label %tern.t978, label %tern.f979 +tern.t978: + %t2477 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t2478 = load i32, ptr %exc.cell + %t2479 = icmp ne i32 %t2478, 0 + %t2480 = call i1 @llvm.expect.i1(i1 %t2479, i1 false) + br i1 %t2480, label %exc.u981, label %exc.k982 +exc.u981: + call void @scr_dyn_release(ptr %t2477) + call void @scr_dyn_release(ptr %t2452) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2468) + br label %exc.cleanup2 +exc.k982: + store ptr %t2477, ptr %s2476 + br label %tern.j980 +tern.f979: + %t2481 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage() + %t2482 = load i32, ptr %exc.cell + %t2483 = icmp ne i32 %t2482, 0 + %t2484 = call i1 @llvm.expect.i1(i1 %t2483, i1 false) + br i1 %t2484, label %exc.u983, label %exc.k984 +exc.u983: + call void @scr_dyn_release(ptr %t2481) + call void @scr_dyn_release(ptr %t2452) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2468) + br label %exc.cleanup2 +exc.k984: + store ptr %t2481, ptr %s2476 + br label %tern.j980 +tern.j980: + %t2485 = load ptr, ptr %s2476 + %t2486 = call ptr @scr_dyn_obj_create(ptr %t2485) + %t2487 = load i32, ptr %exc.cell + %t2488 = icmp ne i32 %t2487, 0 + %t2489 = call i1 @llvm.expect.i1(i1 %t2488, i1 false) + br i1 %t2489, label %exc.u985, label %exc.k986 +exc.u985: + call void @scr_dyn_release(ptr %t2452) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2468) + call void @scr_dyn_release(ptr %t2485) + call void @scr_dyn_release(ptr %t2486) + br label %exc.cleanup2 +exc.k986: + call void @scr_dyn_release(ptr %t2452) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2468) + call void @scr_dyn_release(ptr %t2485) + %t2490 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2490) + ret ptr %t2486 +if.j970: + %t2491 = load ptr, ptr %sc_l_p_0 + %t2492 = call ptr @sc_rc_retain_dyn(ptr %t2491) + %t2494 = icmp ne ptr %t2492, null + br i1 %t2494, label %dc.inspect987, label %dc.checked990 +dc.inspect987: + %t2499 = getelementptr inbounds i8, ptr %t2492, i64 8 ; ->kind + %t2500 = load i32, ptr %t2499 + %t2495 = icmp eq i32 %t2500, 12 + br i1 %t2495, label %dc.capsule988, label %dc.checked990 +dc.capsule988: + %t2496 = getelementptr inbounds i8, ptr %t2492, i64 40 ; ->v.typed_ref.type_key + %t2497 = load ptr, ptr %t2496 + %t2498 = icmp eq ptr %t2497, @sc_cs_3635319175845957 + br i1 %t2498, label %dc.exact989, label %dc.checked990 +dc.exact989: + %t2501 = getelementptr inbounds i8, ptr %t2492, i64 16 ; ->v.typed_ref.ptr + %t2502 = load ptr, ptr %t2501 + %t2503 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2502) + store ptr %t2503, ptr %s2493 + br label %dc.done991 +dc.checked990: + %t2504 = call ptr @sc_dc_24(ptr %t2492, ptr null) + store ptr %t2504, ptr %s2493 + %t2505 = load i32, ptr %exc.cell + %t2506 = icmp ne i32 %t2505, 0 + %t2507 = call i1 @llvm.expect.i1(i1 %t2506, i1 false) + br i1 %t2507, label %exc.u992, label %exc.k993 +exc.u992: + call void @scr_dyn_release(ptr %t2492) + br label %exc.cleanup2 +exc.k993: + br label %dc.done991 +dc.done991: + %t2508 = load ptr, ptr %s2493 + %t2509 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2508, i64 0, i32 2 + %t2510 = load ptr, ptr %t2509, !tbaa !204 + %t2511 = call ptr @sc_rc_retain_dyn(ptr %t2510) + call void @scr_dyn_release(ptr %t2492) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2508) + %t2512 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2512) + ret ptr %t2511 +if.j961: + %t2513 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2514 + %t2515 = icmp ne ptr %t2513, null + br i1 %t2515, label %brand.inspect994, label %brand.done996 +brand.inspect994: + %t2516 = getelementptr inbounds i8, ptr %t2513, i64 8 ; ->kind + %t2517 = load i32, ptr %t2516 + %t2518 = icmp eq i32 %t2517, 12 + br i1 %t2518, label %brand.capsule995, label %brand.done996 +brand.capsule995: + %t2519 = getelementptr inbounds i8, ptr %t2513, i64 40 ; ->v.typed_ref.type_key + %t2520 = load ptr, ptr %t2519 + %t2521 = icmp eq ptr %t2520, @sc_cs_4143564844538255 + store i1 true, ptr %s2514 + br i1 %t2521, label %brand.done996, label %brand.compare997 +brand.compare997: + %t2522 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2513, ptr @sc_lit_4143564844538255) + store i1 %t2522, ptr %s2514 + br label %brand.done996 +brand.done996: + %t2523 = load i1, ptr %s2514 + br i1 %t2523, label %if.t998, label %if.j999 +if.t998: + %t2524 = load ptr, ptr %sc_l_p_0 + %t2525 = call ptr @sc_rc_retain_dyn(ptr %t2524) + %t2527 = icmp ne ptr %t2525, null + br i1 %t2527, label %dc.inspect1000, label %dc.checked1003 +dc.inspect1000: + %t2532 = getelementptr inbounds i8, ptr %t2525, i64 8 ; ->kind + %t2533 = load i32, ptr %t2532 + %t2528 = icmp eq i32 %t2533, 12 + br i1 %t2528, label %dc.capsule1001, label %dc.checked1003 +dc.capsule1001: + %t2529 = getelementptr inbounds i8, ptr %t2525, i64 40 ; ->v.typed_ref.type_key + %t2530 = load ptr, ptr %t2529 + %t2531 = icmp eq ptr %t2530, @sc_cs_4143564844538255 + br i1 %t2531, label %dc.exact1002, label %dc.checked1003 +dc.exact1002: + %t2534 = getelementptr inbounds i8, ptr %t2525, i64 16 ; ->v.typed_ref.ptr + %t2535 = load ptr, ptr %t2534 + %t2536 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t2535) + store ptr %t2536, ptr %s2526 + br label %dc.done1004 +dc.checked1003: + %t2537 = call ptr @sc_dc_109(ptr %t2525, ptr null) + store ptr %t2537, ptr %s2526 + %t2538 = load i32, ptr %exc.cell + %t2539 = icmp ne i32 %t2538, 0 + %t2540 = call i1 @llvm.expect.i1(i1 %t2539, i1 false) + br i1 %t2540, label %exc.u1005, label %exc.k1006 +exc.u1005: + call void @scr_dyn_release(ptr %t2525) + br label %exc.cleanup2 +exc.k1006: + br label %dc.done1004 +dc.done1004: + %t2541 = load ptr, ptr %s2526 + %t2542 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2541, i64 0, i32 2 + %t2543 = load ptr, ptr %t2542, !tbaa !204 + %t2544 = getelementptr inbounds i8, ptr %t2543, i64 8 ; ->kind + %t2545 = load i32, ptr %t2544 + %t2546 = icmp eq i32 %t2545, 6 + call void @scr_dyn_release(ptr %t2525) + call void @sc_release__x25_m14_BakedAssets(ptr %t2541) + br i1 %t2546, label %if.t1007, label %if.j1008 +if.t1007: + %t2547 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t2548 = load i32, ptr %exc.cell + %t2549 = icmp ne i32 %t2548, 0 + %t2550 = call i1 @llvm.expect.i1(i1 %t2549, i1 false) + br i1 %t2550, label %exc.u1009, label %exc.k1010 +exc.u1009: + call void @scr_dyn_release(ptr %t2547) + br label %exc.cleanup2 +exc.k1010: + %t2551 = call ptr @scr_dyn_obj_create(ptr %t2547) + %t2552 = load i32, ptr %exc.cell + %t2553 = icmp ne i32 %t2552, 0 + %t2554 = call i1 @llvm.expect.i1(i1 %t2553, i1 false) + br i1 %t2554, label %exc.u1011, label %exc.k1012 +exc.u1011: + call void @scr_dyn_release(ptr %t2547) + call void @scr_dyn_release(ptr %t2551) + br label %exc.cleanup2 +exc.k1012: + call void @scr_dyn_release(ptr %t2547) + %t2555 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2555) + ret ptr %t2551 +if.j1008: + %t2556 = load ptr, ptr %sc_l_p_0 + %t2557 = call ptr @sc_rc_retain_dyn(ptr %t2556) + %t2559 = icmp ne ptr %t2557, null + br i1 %t2559, label %dc.inspect1013, label %dc.checked1016 +dc.inspect1013: + %t2564 = getelementptr inbounds i8, ptr %t2557, i64 8 ; ->kind + %t2565 = load i32, ptr %t2564 + %t2560 = icmp eq i32 %t2565, 12 + br i1 %t2560, label %dc.capsule1014, label %dc.checked1016 +dc.capsule1014: + %t2561 = getelementptr inbounds i8, ptr %t2557, i64 40 ; ->v.typed_ref.type_key + %t2562 = load ptr, ptr %t2561 + %t2563 = icmp eq ptr %t2562, @sc_cs_4143564844538255 + br i1 %t2563, label %dc.exact1015, label %dc.checked1016 +dc.exact1015: + %t2566 = getelementptr inbounds i8, ptr %t2557, i64 16 ; ->v.typed_ref.ptr + %t2567 = load ptr, ptr %t2566 + %t2568 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t2567) + store ptr %t2568, ptr %s2558 + br label %dc.done1017 +dc.checked1016: + %t2569 = call ptr @sc_dc_109(ptr %t2557, ptr null) + store ptr %t2569, ptr %s2558 + %t2570 = load i32, ptr %exc.cell + %t2571 = icmp ne i32 %t2570, 0 + %t2572 = call i1 @llvm.expect.i1(i1 %t2571, i1 false) + br i1 %t2572, label %exc.u1018, label %exc.k1019 +exc.u1018: + call void @scr_dyn_release(ptr %t2557) + br label %exc.cleanup2 +exc.k1019: + br label %dc.done1017 +dc.done1017: + %t2573 = load ptr, ptr %s2558 + %t2574 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2573, i64 0, i32 2 + %t2575 = load ptr, ptr %t2574, !tbaa !204 + %t2576 = call ptr @sc_rc_retain_dyn(ptr %t2575) + call void @scr_dyn_release(ptr %t2557) + call void @sc_release__x25_m14_BakedAssets(ptr %t2573) + %t2577 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2577) + ret ptr %t2576 +if.j999: + %t2578 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2579 + %t2580 = icmp ne ptr %t2578, null + br i1 %t2580, label %brand.inspect1020, label %brand.done1022 +brand.inspect1020: + %t2581 = getelementptr inbounds i8, ptr %t2578, i64 8 ; ->kind + %t2582 = load i32, ptr %t2581 + %t2583 = icmp eq i32 %t2582, 12 + br i1 %t2583, label %brand.capsule1021, label %brand.done1022 +brand.capsule1021: + %t2584 = getelementptr inbounds i8, ptr %t2578, i64 40 ; ->v.typed_ref.type_key + %t2585 = load ptr, ptr %t2584 + %t2586 = icmp eq ptr %t2585, @sc_cs_2875643240706496 + store i1 true, ptr %s2579 + br i1 %t2586, label %brand.done1022, label %brand.compare1023 +brand.compare1023: + %t2587 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2578, ptr @sc_lit_2875643240706496) + store i1 %t2587, ptr %s2579 + br label %brand.done1022 +brand.done1022: + %t2588 = load i1, ptr %s2579 + br i1 %t2588, label %if.t1024, label %if.j1025 +if.t1024: + %t2589 = load ptr, ptr %sc_l_p_0 + %t2590 = call ptr @sc_rc_retain_dyn(ptr %t2589) + %t2592 = icmp ne ptr %t2590, null + br i1 %t2592, label %dc.inspect1026, label %dc.checked1029 +dc.inspect1026: + %t2597 = getelementptr inbounds i8, ptr %t2590, i64 8 ; ->kind + %t2598 = load i32, ptr %t2597 + %t2593 = icmp eq i32 %t2598, 12 + br i1 %t2593, label %dc.capsule1027, label %dc.checked1029 +dc.capsule1027: + %t2594 = getelementptr inbounds i8, ptr %t2590, i64 40 ; ->v.typed_ref.type_key + %t2595 = load ptr, ptr %t2594 + %t2596 = icmp eq ptr %t2595, @sc_cs_2875643240706496 + br i1 %t2596, label %dc.exact1028, label %dc.checked1029 +dc.exact1028: + %t2599 = getelementptr inbounds i8, ptr %t2590, i64 16 ; ->v.typed_ref.ptr + %t2600 = load ptr, ptr %t2599 + %t2601 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t2600) + store ptr %t2601, ptr %s2591 + br label %dc.done1030 +dc.checked1029: + %t2602 = call ptr @sc_dc_48(ptr %t2590, ptr null) + store ptr %t2602, ptr %s2591 + %t2603 = load i32, ptr %exc.cell + %t2604 = icmp ne i32 %t2603, 0 + %t2605 = call i1 @llvm.expect.i1(i1 %t2604, i1 false) + br i1 %t2605, label %exc.u1031, label %exc.k1032 +exc.u1031: + call void @scr_dyn_release(ptr %t2590) + br label %exc.cleanup2 +exc.k1032: + br label %dc.done1030 +dc.done1030: + %t2606 = load ptr, ptr %s2591 + %t2607 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t2606, i64 0, i32 8 + %t2608 = load ptr, ptr %t2607, !tbaa !204 + %t2609 = getelementptr inbounds i8, ptr %t2608, i64 8 ; ->kind + %t2610 = load i32, ptr %t2609 + %t2611 = icmp eq i32 %t2610, 6 + call void @scr_dyn_release(ptr %t2590) + call void @sc_release__x25_m5_CtxCore(ptr %t2606) + br i1 %t2611, label %if.t1033, label %if.j1034 +if.t1033: + %t2612 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore() + %t2613 = load i32, ptr %exc.cell + %t2614 = icmp ne i32 %t2613, 0 + %t2615 = call i1 @llvm.expect.i1(i1 %t2614, i1 false) + br i1 %t2615, label %exc.u1035, label %exc.k1036 +exc.u1035: + call void @scr_dyn_release(ptr %t2612) + br label %exc.cleanup2 +exc.k1036: + %t2616 = call ptr @scr_dyn_obj_create(ptr %t2612) + %t2617 = load i32, ptr %exc.cell + %t2618 = icmp ne i32 %t2617, 0 + %t2619 = call i1 @llvm.expect.i1(i1 %t2618, i1 false) + br i1 %t2619, label %exc.u1037, label %exc.k1038 +exc.u1037: + call void @scr_dyn_release(ptr %t2612) + call void @scr_dyn_release(ptr %t2616) + br label %exc.cleanup2 +exc.k1038: + call void @scr_dyn_release(ptr %t2612) + %t2620 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2620) + ret ptr %t2616 +if.j1034: + %t2621 = load ptr, ptr %sc_l_p_0 + %t2622 = call ptr @sc_rc_retain_dyn(ptr %t2621) + %t2624 = icmp ne ptr %t2622, null + br i1 %t2624, label %dc.inspect1039, label %dc.checked1042 +dc.inspect1039: + %t2629 = getelementptr inbounds i8, ptr %t2622, i64 8 ; ->kind + %t2630 = load i32, ptr %t2629 + %t2625 = icmp eq i32 %t2630, 12 + br i1 %t2625, label %dc.capsule1040, label %dc.checked1042 +dc.capsule1040: + %t2626 = getelementptr inbounds i8, ptr %t2622, i64 40 ; ->v.typed_ref.type_key + %t2627 = load ptr, ptr %t2626 + %t2628 = icmp eq ptr %t2627, @sc_cs_2875643240706496 + br i1 %t2628, label %dc.exact1041, label %dc.checked1042 +dc.exact1041: + %t2631 = getelementptr inbounds i8, ptr %t2622, i64 16 ; ->v.typed_ref.ptr + %t2632 = load ptr, ptr %t2631 + %t2633 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t2632) + store ptr %t2633, ptr %s2623 + br label %dc.done1043 +dc.checked1042: + %t2634 = call ptr @sc_dc_48(ptr %t2622, ptr null) + store ptr %t2634, ptr %s2623 + %t2635 = load i32, ptr %exc.cell + %t2636 = icmp ne i32 %t2635, 0 + %t2637 = call i1 @llvm.expect.i1(i1 %t2636, i1 false) + br i1 %t2637, label %exc.u1044, label %exc.k1045 +exc.u1044: + call void @scr_dyn_release(ptr %t2622) + br label %exc.cleanup2 +exc.k1045: + br label %dc.done1043 +dc.done1043: + %t2638 = load ptr, ptr %s2623 + %t2639 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t2638, i64 0, i32 8 + %t2640 = load ptr, ptr %t2639, !tbaa !204 + %t2641 = call ptr @sc_rc_retain_dyn(ptr %t2640) + call void @scr_dyn_release(ptr %t2622) + call void @sc_release__x25_m5_CtxCore(ptr %t2638) + %t2642 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2642) + ret ptr %t2641 +if.j1025: + %t2643 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2644 + %t2645 = icmp ne ptr %t2643, null + br i1 %t2645, label %brand.inspect1046, label %brand.done1048 +brand.inspect1046: + %t2646 = getelementptr inbounds i8, ptr %t2643, i64 8 ; ->kind + %t2647 = load i32, ptr %t2646 + %t2648 = icmp eq i32 %t2647, 12 + br i1 %t2648, label %brand.capsule1047, label %brand.done1048 +brand.capsule1047: + %t2649 = getelementptr inbounds i8, ptr %t2643, i64 40 ; ->v.typed_ref.type_key + %t2650 = load ptr, ptr %t2649 + %t2651 = icmp eq ptr %t2650, @sc_cs_21424698936986 + store i1 true, ptr %s2644 + br i1 %t2651, label %brand.done1048, label %brand.compare1049 +brand.compare1049: + %t2652 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2643, ptr @sc_lit_21424698936986) + store i1 %t2652, ptr %s2644 + br label %brand.done1048 +brand.done1048: + %t2653 = load i1, ptr %s2644 + br i1 %t2653, label %if.t1050, label %if.j1051 +if.t1050: + %t2654 = load ptr, ptr %sc_l_p_0 + %t2655 = call ptr @sc_rc_retain_dyn(ptr %t2654) + %t2657 = icmp ne ptr %t2655, null + br i1 %t2657, label %dc.inspect1052, label %dc.checked1055 +dc.inspect1052: + %t2662 = getelementptr inbounds i8, ptr %t2655, i64 8 ; ->kind + %t2663 = load i32, ptr %t2662 + %t2658 = icmp eq i32 %t2663, 12 + br i1 %t2658, label %dc.capsule1053, label %dc.checked1055 +dc.capsule1053: + %t2659 = getelementptr inbounds i8, ptr %t2655, i64 40 ; ->v.typed_ref.type_key + %t2660 = load ptr, ptr %t2659 + %t2661 = icmp eq ptr %t2660, @sc_cs_21424698936986 + br i1 %t2661, label %dc.exact1054, label %dc.checked1055 +dc.exact1054: + %t2664 = getelementptr inbounds i8, ptr %t2655, i64 16 ; ->v.typed_ref.ptr + %t2665 = load ptr, ptr %t2664 + %t2666 = call ptr @sc_retain__x25_m5_App(ptr %t2665) + store ptr %t2666, ptr %s2656 + br label %dc.done1056 +dc.checked1055: + %t2667 = call ptr @sc_dc_91(ptr %t2655, ptr null) + store ptr %t2667, ptr %s2656 + %t2668 = load i32, ptr %exc.cell + %t2669 = icmp ne i32 %t2668, 0 + %t2670 = call i1 @llvm.expect.i1(i1 %t2669, i1 false) + br i1 %t2670, label %exc.u1057, label %exc.k1058 +exc.u1057: + call void @scr_dyn_release(ptr %t2655) + br label %exc.cleanup2 +exc.k1058: + br label %dc.done1056 +dc.done1056: + %t2671 = load ptr, ptr %s2656 + %t2672 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t2671, i64 0, i32 18 + %t2673 = load ptr, ptr %t2672, !tbaa !204 + %t2674 = getelementptr inbounds i8, ptr %t2673, i64 8 ; ->kind + %t2675 = load i32, ptr %t2674 + %t2676 = icmp eq i32 %t2675, 6 + call void @scr_dyn_release(ptr %t2655) + call void @sc_release__x25_m5_App(ptr %t2671) + br i1 %t2676, label %if.t1059, label %if.j1060 +if.t1059: + %t2677 = call ptr @sc_f__x25_prototype_data__x25_m5_App() + %t2678 = load i32, ptr %exc.cell + %t2679 = icmp ne i32 %t2678, 0 + %t2680 = call i1 @llvm.expect.i1(i1 %t2679, i1 false) + br i1 %t2680, label %exc.u1061, label %exc.k1062 +exc.u1061: + call void @scr_dyn_release(ptr %t2677) + br label %exc.cleanup2 +exc.k1062: + %t2681 = call ptr @scr_dyn_obj_create(ptr %t2677) + %t2682 = load i32, ptr %exc.cell + %t2683 = icmp ne i32 %t2682, 0 + %t2684 = call i1 @llvm.expect.i1(i1 %t2683, i1 false) + br i1 %t2684, label %exc.u1063, label %exc.k1064 +exc.u1063: + call void @scr_dyn_release(ptr %t2677) + call void @scr_dyn_release(ptr %t2681) + br label %exc.cleanup2 +exc.k1064: + call void @scr_dyn_release(ptr %t2677) + %t2685 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2685) + ret ptr %t2681 +if.j1060: + %t2686 = load ptr, ptr %sc_l_p_0 + %t2687 = call ptr @sc_rc_retain_dyn(ptr %t2686) + %t2689 = icmp ne ptr %t2687, null + br i1 %t2689, label %dc.inspect1065, label %dc.checked1068 +dc.inspect1065: + %t2694 = getelementptr inbounds i8, ptr %t2687, i64 8 ; ->kind + %t2695 = load i32, ptr %t2694 + %t2690 = icmp eq i32 %t2695, 12 + br i1 %t2690, label %dc.capsule1066, label %dc.checked1068 +dc.capsule1066: + %t2691 = getelementptr inbounds i8, ptr %t2687, i64 40 ; ->v.typed_ref.type_key + %t2692 = load ptr, ptr %t2691 + %t2693 = icmp eq ptr %t2692, @sc_cs_21424698936986 + br i1 %t2693, label %dc.exact1067, label %dc.checked1068 +dc.exact1067: + %t2696 = getelementptr inbounds i8, ptr %t2687, i64 16 ; ->v.typed_ref.ptr + %t2697 = load ptr, ptr %t2696 + %t2698 = call ptr @sc_retain__x25_m5_App(ptr %t2697) + store ptr %t2698, ptr %s2688 + br label %dc.done1069 +dc.checked1068: + %t2699 = call ptr @sc_dc_91(ptr %t2687, ptr null) + store ptr %t2699, ptr %s2688 + %t2700 = load i32, ptr %exc.cell + %t2701 = icmp ne i32 %t2700, 0 + %t2702 = call i1 @llvm.expect.i1(i1 %t2701, i1 false) + br i1 %t2702, label %exc.u1070, label %exc.k1071 +exc.u1070: + call void @scr_dyn_release(ptr %t2687) + br label %exc.cleanup2 +exc.k1071: + br label %dc.done1069 +dc.done1069: + %t2703 = load ptr, ptr %s2688 + %t2704 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t2703, i64 0, i32 18 + %t2705 = load ptr, ptr %t2704, !tbaa !204 + %t2706 = call ptr @sc_rc_retain_dyn(ptr %t2705) + call void @scr_dyn_release(ptr %t2687) + call void @sc_release__x25_m5_App(ptr %t2703) + %t2707 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2707) + ret ptr %t2706 +if.j1051: + %t2708 = load ptr, ptr %sc_l_p_0 + ret ptr %t2708 +exc.cleanup2: + %t2709 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2709) + ret ptr null +} + +define internal ptr @sc_f__x25_prototype_data__x25_m5_CtxCore() #0 { ; %prototype.data.%m5.CtxCore +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + call void @scr_dyn_release(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + store i1 true, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_161925136240866) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect) + %t13 = call ptr @sc_dfb_32(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + call void @scr_dyn_release(ptr %t25) + ret ptr null +exc.k11: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + call void @scr_dyn_release(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_2677147133778287) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text) + %t34 = call ptr @sc_dfb_33(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + call void @scr_dyn_release(ptr %t46) + ret ptr null +exc.k19: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + call void @scr_dyn_release(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_528144782449140) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header) + %t55 = call ptr @sc_dfb_34(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + call void @scr_dyn_release(ptr %t67) + ret ptr null +exc.k27: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + call void @scr_dyn_release(ptr %t67) + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = call ptr @sc_td_0(ptr @sc_lit_127274431826284) + %t74 = call ptr @scr_dyn_new_obj() + %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status) + %t76 = call ptr @sc_dfb_35(ptr %t75, ptr null) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u28, label %exc.k29 +exc.u28: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + ret ptr null +exc.k29: + %t80 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + ret ptr null +exc.k31: + %t84 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + ret ptr null +exc.k33: + %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u34, label %exc.k35 +exc.u34: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + call void @scr_dyn_release(ptr %t88) + ret ptr null +exc.k35: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + call void @scr_dyn_release(ptr %t88) + %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + %t94 = call ptr @sc_td_0(ptr @sc_lit_1950596786618243) + %t95 = call ptr @scr_dyn_new_obj() + %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set) + %t97 = call ptr @sc_dfb_36(ptr %t96, ptr null) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + ret ptr null +exc.k37: + %t101 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + ret ptr null +exc.k39: + %t105 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + ret ptr null +exc.k41: + %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + call void @scr_dyn_release(ptr %t109) + ret ptr null +exc.k43: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + call void @scr_dyn_release(ptr %t109) + %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t114 = call ptr @sc_rc_retain_dyn(ptr %t113) + %t115 = call ptr @sc_td_0(ptr @sc_lit_48178627029362) + %t116 = call ptr @scr_dyn_new_obj() + %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json) + %t118 = call ptr @sc_dfb_37(ptr %t117, ptr null) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118) + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + ret ptr null +exc.k45: + %t122 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + ret ptr null +exc.k47: + %t126 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126) + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + ret ptr null +exc.k49: + %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u50, label %exc.k51 +exc.u50: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + call void @scr_dyn_release(ptr %t130) + ret ptr null +exc.k51: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + call void @scr_dyn_release(ptr %t130) + %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t135 = call ptr @sc_rc_retain_dyn(ptr %t134) + %t136 = call ptr @sc_td_0(ptr @sc_lit_4044156596960274) + %t137 = call ptr @scr_dyn_new_obj() + %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html) + %t139 = call ptr @sc_dfb_33(ptr %t138, ptr null) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + ret ptr null +exc.k53: + %t143 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + ret ptr null +exc.k55: + %t147 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + ret ptr null +exc.k57: + %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + call void @scr_dyn_release(ptr %t151) + ret ptr null +exc.k59: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + call void @scr_dyn_release(ptr %t151) + %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t156 = call ptr @sc_rc_retain_dyn(ptr %t155) + %t157 = call ptr @sc_td_0(ptr @sc_lit_693828840439997) + %t158 = call ptr @scr_dyn_new_obj() + %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes) + %t160 = call ptr @sc_dfb_38(ptr %t159, ptr null) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160) + %t161 = load i32, ptr %exc.cell + %t162 = icmp ne i32 %t161, 0 + %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false) + br i1 %t163, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + ret ptr null +exc.k61: + %t164 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164) + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + ret ptr null +exc.k63: + %t168 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u64, label %exc.k65 +exc.u64: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + ret ptr null +exc.k65: + %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u66, label %exc.k67 +exc.u66: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + call void @scr_dyn_release(ptr %t172) + ret ptr null +exc.k67: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + call void @scr_dyn_release(ptr %t172) + %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t177 = call ptr @sc_rc_retain_dyn(ptr %t176) + %t178 = call ptr @sc_td_0(ptr @sc_lit_587707337530151) + %t179 = call ptr @scr_dyn_new_obj() + %t180 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send) + %t181 = call ptr @sc_dfb_39(ptr %t180, ptr null) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3610950885518037, ptr %t181) + %t182 = load i32, ptr %exc.cell + %t183 = icmp ne i32 %t182, 0 + %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false) + br i1 %t184, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + ret ptr null +exc.k69: + %t185 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_1948131179100861, ptr %t185) + %t186 = load i32, ptr %exc.cell + %t187 = icmp ne i32 %t186, 0 + %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false) + br i1 %t188, label %exc.u70, label %exc.k71 +exc.u70: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + ret ptr null +exc.k71: + %t189 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3198935257758645, ptr %t189) + %t190 = load i32, ptr %exc.cell + %t191 = icmp ne i32 %t190, 0 + %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false) + br i1 %t192, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + ret ptr null +exc.k73: + %t193 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t177, ptr %t178, ptr %t179) + %t194 = load i32, ptr %exc.cell + %t195 = icmp ne i32 %t194, 0 + %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false) + br i1 %t196, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + call void @scr_dyn_release(ptr %t193) + ret ptr null +exc.k75: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + call void @scr_dyn_release(ptr %t193) + br label %if.j3 +if.j3: + %t197 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + ret ptr %t198 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m5.CtxCore +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_2875643240706496 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_2875643240706496) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_2875643240706496 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_48(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m5_CtxCore(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.CtxCore.redirect +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = call ptr @sc_bf__x25__x25_m5_CtxCore_redirect(ptr %t5, ptr %t9, ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k5: + %t15 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr %t15 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_union_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxCore.text +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_CtxCore_text(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + call void @sc_release__x25_m5_CtxCore(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.CtxCore.header +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = load ptr, ptr %sc_l_p_2 + %t12 = call ptr @sc_bf__x25__x25_m5_CtxCore_header(ptr %t5, ptr %t9, ptr %t10, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k5: + %t16 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t12) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr %t16 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rrelease_r4(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_status(double %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxCore.status +entry: + %sc_l_p_0 = alloca double ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store double %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load double, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_CtxCore_status(ptr %t5, double %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k5: + %t14 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t10) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr %t14 +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.CtxCore.set +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m5_CtxCore_set(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxCore.json +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_CtxCore_json(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + call void @sc_release__x25_m5_CtxCore(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxCore.html +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_CtxCore_html(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + call void @sc_release__x25_m5_CtxCore(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.CtxCore.bytes +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = call ptr @sc_bf__x25__x25_m5_CtxCore_bytes(ptr %t5, ptr %t9, ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k5: + %t15 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr %t15 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %p0, ptr %p1) + call void @scr_bytes_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.CtxCore._send +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = call ptr @sc_bf__x25__x25_m5_CtxCore__send(ptr %t5, ptr %t9, ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr null +exc.k5: + %t15 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11) + call void @sc_release__x25_m5_CtxCore(ptr %t5) + ret ptr %t15 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn0(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn0 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s10 = alloca ptr + %s26 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t0 = load ptr, ptr %sc_l_c_0 + store ptr %t0, ptr %sc_l__x25_callbackReceiver_0 + %t1 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t2 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t1) + %t3 = load i32, ptr %exc.cell + %t4 = icmp ne i32 %t3, 0 + %t5 = call i1 @llvm.expect.i1(i1 %t4, i1 false) + br i1 %t5, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t2) + ret ptr null +exc.k1: + store ptr %t2, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t6 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %tern.t2, label %tern.f3 +tern.t2: + %t12 = call ptr @scr_dyn_undefined() + %t11 = call ptr @scr_dyn_retain_v(ptr %t12) + store ptr %t11, ptr %s10 + br label %tern.j4 +tern.f3: + %t13 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t14 = call ptr @sc_rc_retain_dyn(ptr %t13) + %t15 = call ptr @sc_f__x25_dyn_class_property_31(ptr %t14) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t15) + br label %exc.cleanup7 +exc.k6: + store ptr %t15, ptr %s10 + br label %tern.j4 +tern.j4: + %t19 = load ptr, ptr %s10 + store ptr %t19, ptr %sc_l__x25_callback_0 + %t20 = load ptr, ptr %sc_l__x25_callback_0 + %t21 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t22 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t21, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t23 = call ptr @sc_rnew_r21() + %t24 = getelementptr inbounds %sc_rs_r21, ptr %t23, i64 0, i32 1 + store ptr @sc_lit_23007219113608, ptr %t24 + %t25 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t23, ptr @sc_rretain_r21, ptr @sc_rrelease_r21, ptr @sc_cs_1122325011748487, i64 10, ptr @sc_ldr_58_materialize, ptr @sc_ldr_58_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t25, ptr @sc_ldr_58_materialize_rops) + %t27 = getelementptr inbounds [1 x ptr], ptr %s26, i64 0, i64 0 + store ptr %t25, ptr %t27 + call void @scr_dyn_this_push_dyn(ptr %t22) + %t28 = call ptr @scr_dyn_call(ptr %t20, ptr %s26, i64 1, ptr @sc_cs_4290884524289030) + call void @scr_dyn_this_pop() + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rrelease_r21(ptr %t23) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t28) + br label %exc.cleanup10 +exc.k9: + %t32 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t28) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rrelease_r21(ptr %t23) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_release__x25_m5_CtxCore(ptr %t32) + br label %exc.cleanup10 +exc.k12: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rrelease_r21(ptr %t23) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t28) + %t36 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t36) + %t37 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t37) + ret ptr %t32 +exc.cleanup7: + %t38 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.cleanup10: + %t39 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t39) + %t40 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t40) + ret ptr null +} +define internal ptr @sc_f__x25_fn0(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn0(ptr %sc_env, ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn_adapt_0_impl(ptr %sc_env, ptr %p_sc_l_a_0) #0 { ; %fn.adapt.0.impl +entry: + %sc_l_f_0 = alloca ptr ; f + %sc_l_a_0 = alloca ptr ; a0 + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_f_0 ; captured f + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t7 = load ptr, ptr %sc_l_f_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @scr_dyn_this_get() + %t11 = load ptr, ptr %sc_l_a_0 + %t12 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11) + %t13 = getelementptr inbounds %ScrClosure, ptr %t9, i64 0, i32 1 + %t14 = load ptr, ptr %t13 + call void @scr_dyn_this_push_dyn(ptr %t10) + %t15 = call ptr %t14(ptr %t9, ptr %t12) + call void @scr_dyn_this_pop() + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_release__x25_m5_CtxCore(ptr %t15) + ret ptr null +exc.k3: + %t19 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t15, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_release__x25_m5_CtxCore(ptr %t15) + ret ptr %t19 +} +define internal ptr @sc_f__x25_fn_adapt_0_impl(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn_adapt_0_impl(ptr %sc_env, ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn_adapt_0(ptr %p_sc_l_f_0) #0 { ; %fn.adapt.0 +entry: + %sc_l_f_0 = alloca ptr ; f + %s0 = alloca ptr ; lazy box f + store ptr null, ptr %s0 + store ptr %p_sc_l_f_0, ptr %sc_l_f_0 + %t1 = call ptr @scr_closure_new(ptr @sc_f__x25_fn_adapt_0_impl, i64 1) + %t2 = getelementptr inbounds %ScrClosure, ptr %t1, i64 0, i32 7 + store ptr @sc_bf__x25_fn_adapt_0_impl, ptr %t2 + %t3 = load ptr, ptr %s0 + %t4 = icmp eq ptr %t3, null + br i1 %t4, label %lazy.box0, label %lazy.box.j1 +lazy.box0: + %t5 = call ptr @scr_box_new(i32 4) + %t6 = load ptr, ptr %sc_l_f_0 + %t7 = call ptr @scr_closure_retain_v(ptr %t6) + call void @scr_box_set_ref(ptr %t5, ptr %t7) + store ptr %t5, ptr %s0 + br label %lazy.box.j1 +lazy.box.j1: + %t8 = load ptr, ptr %s0 + %t9 = call ptr @sc_retain_box(ptr %t8) + %t10 = getelementptr inbounds %ScrClosure, ptr %t1, i64 1 ; caps + %t11 = getelementptr inbounds ptr, ptr %t10, i64 0 ; caps[0] + store ptr %t9, ptr %t11 + %t12 = getelementptr inbounds %ScrBox, ptr %t8, i64 0, i32 5 + %t13 = load ptr, ptr %t12 + call void @scr_closure_adopt_identity(ptr %t1, ptr %t13, i32 1) + %t14 = load ptr, ptr %s0 + %t15 = icmp ne ptr %t14, null + br i1 %t15, label %lazy.release2, label %lazy.release.j3 +lazy.release2: + call void @scr_box_release(ptr %t14) + br label %lazy.release.j3 +lazy.release.j3: + ret ptr %t1 +} +define internal ptr @sc_f__x25_fn_adapt_0(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn_adapt_0(ptr %p0) + call void @scr_closure_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn1(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn1 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s30 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_c_0 + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t4, label %tern.f5 +tern.t4: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j6 +tern.f5: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_31(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup9 +exc.k8: + store ptr %t19, ptr %s14 + br label %tern.j6 +tern.j6: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t27 = call ptr @sc_rnew_r21() + %t28 = getelementptr inbounds %sc_rs_r21, ptr %t27, i64 0, i32 1 + store ptr @sc_lit_23007219113608, ptr %t28 + %t29 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t27, ptr @sc_rretain_r21, ptr @sc_rrelease_r21, ptr @sc_cs_1122325011748487, i64 10, ptr @sc_ldr_58_materialize, ptr @sc_ldr_58_materialize_commit) + call void @scr_dyn_typed_ref_bind_record(ptr %t29, ptr @sc_ldr_58_materialize_rops) + %t31 = getelementptr inbounds [1 x ptr], ptr %s30, i64 0, i64 0 + store ptr %t29, ptr %t31 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t32 = call ptr @scr_dyn_call(ptr %t24, ptr %s30, i64 1, ptr @sc_cs_4290884524289030) + call void @scr_dyn_this_pop() + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rrelease_r21(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t32) + br label %exc.cleanup12 +exc.k11: + %t36 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t32) + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rrelease_r21(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_release__x25_m5_CtxCore(ptr %t36) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rrelease_r21(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t32) + %t40 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t41) + ret ptr %t36 +exc.cleanup9: + %t42 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.cleanup12: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +} +define internal ptr @sc_f__x25_fn1(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn1(ptr %sc_env, ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m6_AssetSource() #0 { ; %prototype.data.%m6.AssetSource +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + store i1 true, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_731773075116702) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get) + %t13 = call ptr @sc_dfb_40(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + br label %if.j3 +if.j3: + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + ret ptr %t30 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m6_AssetSource(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m6.AssetSource +entry: + %sc_l_this_0 = alloca ptr ; this + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s29 = alloca i1 + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + %s85 = alloca i1 + %s96 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_3314970835853795 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3314970835853795) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_this_0 + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_3314970835853795 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_79(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + ret ptr %t27 +if.j5: + %t28 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s29 + %t30 = icmp ne ptr %t28, null + br i1 %t30, label %brand.inspect13, label %brand.done15 +brand.inspect13: + %t31 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t33 = icmp eq i32 %t32, 12 + br i1 %t33, label %brand.capsule14, label %brand.done15 +brand.capsule14: + %t34 = getelementptr inbounds i8, ptr %t28, i64 40 ; ->v.typed_ref.type_key + %t35 = load ptr, ptr %t34 + %t36 = icmp eq ptr %t35, @sc_cs_3595188456357610 + store i1 true, ptr %s29 + br i1 %t36, label %brand.done15, label %brand.compare16 +brand.compare16: + %t37 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t28, ptr @sc_lit_3595188456357610) + store i1 %t37, ptr %s29 + br label %brand.done15 +brand.done15: + %t38 = load i1, ptr %s29 + br i1 %t38, label %if.t17, label %if.j18 +if.t17: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect19, label %dc.checked22 +dc.inspect19: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule20, label %dc.checked22 +dc.capsule20: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_3595188456357610 + br i1 %t45, label %dc.exact21, label %dc.checked22 +dc.exact21: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m8_DiskAssets(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done23 +dc.checked22: + %t51 = call ptr @sc_dc_113(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u24, label %exc.k25 +exc.u24: + ret ptr null +exc.k25: + br label %dc.done23 +dc.done23: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j18: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect26, label %brand.done28 +brand.inspect26: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule27, label %brand.done28 +brand.capsule27: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_2519527309428716 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done28, label %brand.compare29 +brand.compare29: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2519527309428716) + store i1 %t65, ptr %s57 + br label %brand.done28 +brand.done28: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t30, label %if.j31 +if.t30: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect32, label %dc.checked35 +dc.inspect32: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule33, label %dc.checked35 +dc.capsule33: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_2519527309428716 + br i1 %t73, label %dc.exact34, label %dc.checked35 +dc.exact34: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done36 +dc.checked35: + %t79 = call ptr @sc_dc_108(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u37, label %exc.k38 +exc.u37: + ret ptr null +exc.k38: + br label %dc.done36 +dc.done36: + %t83 = load ptr, ptr %s68 + ret ptr %t83 +if.j31: + %t84 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s85 + %t86 = icmp ne ptr %t84, null + br i1 %t86, label %brand.inspect39, label %brand.done41 +brand.inspect39: + %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 12 + br i1 %t89, label %brand.capsule40, label %brand.done41 +brand.capsule40: + %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key + %t91 = load ptr, ptr %t90 + %t92 = icmp eq ptr %t91, @sc_cs_4143564844538255 + store i1 true, ptr %s85 + br i1 %t92, label %brand.done41, label %brand.compare42 +brand.compare42: + %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_4143564844538255) + store i1 %t93, ptr %s85 + br label %brand.done41 +brand.done41: + %t94 = load i1, ptr %s85 + br i1 %t94, label %if.t43, label %if.j44 +if.t43: + %t95 = load ptr, ptr %sc_l_this_0 + %t97 = icmp ne ptr %t95, null + br i1 %t97, label %dc.inspect45, label %dc.checked48 +dc.inspect45: + %t102 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind + %t103 = load i32, ptr %t102 + %t98 = icmp eq i32 %t103, 12 + br i1 %t98, label %dc.capsule46, label %dc.checked48 +dc.capsule46: + %t99 = getelementptr inbounds i8, ptr %t95, i64 40 ; ->v.typed_ref.type_key + %t100 = load ptr, ptr %t99 + %t101 = icmp eq ptr %t100, @sc_cs_4143564844538255 + br i1 %t101, label %dc.exact47, label %dc.checked48 +dc.exact47: + %t104 = getelementptr inbounds i8, ptr %t95, i64 16 ; ->v.typed_ref.ptr + %t105 = load ptr, ptr %t104 + %t106 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t105) + store ptr %t106, ptr %s96 + br label %dc.done49 +dc.checked48: + %t107 = call ptr @sc_dc_109(ptr %t95, ptr null) + store ptr %t107, ptr %s96 + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u50, label %exc.k51 +exc.u50: + ret ptr null +exc.k51: + br label %dc.done49 +dc.done49: + %t111 = load ptr, ptr %s96 + ret ptr %t111 +if.j44: + %t112 = load ptr, ptr %sc_l_this_0 + %t113 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m6_AssetSource(ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_release__x25_m6_AssetSource(ptr %t113) + ret ptr null +exc.k53: + ret ptr %t113 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m6_AssetSource(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m6_AssetSource(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m6.AssetSource.get +entry: + %sc_l_p_0 = alloca ptr ; p0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m6_AssetSource_get(ptr %t0) ; borrowed result + ret ptr %t1 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r11(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_str_release(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() #0 { ; %prototype.data.%m9.EmbeddedAssets +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k5: + %t10 = call ptr @scr_dyn_obj_create(ptr %t6) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k7: + %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + call void @sc_rc_release_dyn(ptr %t14) + store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + call void @sc_rc_release_dyn(ptr %t6) + store i1 true, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets_ready + %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + %t17 = call ptr @sc_td_0(ptr @sc_lit_731773075116702) + %t18 = call ptr @scr_dyn_new_obj() + %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get) + %t20 = call ptr @sc_dfb_40(ptr %t19, ptr null) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + ret ptr null +exc.k9: + %t24 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k11: + %t28 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + ret ptr null +exc.k13: + %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t32) + %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_td_0(ptr @sc_lit_2227497482646049) + %t39 = call ptr @scr_dyn_new_obj() + %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add) + %t41 = call ptr @sc_dfb_41(ptr %t40, ptr null) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + ret ptr null +exc.k17: + %t45 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t45) + ret ptr null +exc.k19: + %t49 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49) + %t50 = load i32, ptr %exc.cell + %t51 = icmp ne i32 %t50, 0 + %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false) + br i1 %t52, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.k21: + %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39) + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_rc_release_dyn(ptr %t53) + ret ptr null +exc.k23: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_rc_release_dyn(ptr %t53) + %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + %t58 = call ptr @sc_rc_retain_dyn(ptr %t57) + %t59 = call ptr @sc_td_0(ptr @sc_lit_228045523956680) + %t60 = call ptr @scr_dyn_new_obj() + %t61 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load) + %t62 = call ptr @sc_dfb_42(ptr %t61, ptr null) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3610950885518037, ptr %t62) + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + ret ptr null +exc.k25: + %t66 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_1948131179100861, ptr %t66) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t66) + ret ptr null +exc.k27: + %t70 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3198935257758645, ptr %t70) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t70) + ret ptr null +exc.k29: + %t74 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t58, ptr %t59, ptr %t60) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t74) + ret ptr null +exc.k31: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t74) + br label %if.j3 +if.j3: + %t78 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + ret ptr %t79 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m9.EmbeddedAssets +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + %s85 = alloca i1 + %s96 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_3314970835853795 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_3314970835853795) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_3314970835853795 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_79(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 37 + %t37 = icmp ule i64 %t35, 38 + %t38 = and i1 %t36, %t37 ; instanceof %m9.EmbeddedAssets + call void @sc_release__x25_m6_AssetSource(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_3314970835853795 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_79(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect24, label %brand.done26 +brand.inspect24: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule25, label %brand.done26 +brand.capsule25: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_2519527309428716 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done26, label %brand.compare27 +brand.compare27: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2519527309428716) + store i1 %t65, ptr %s57 + br label %brand.done26 +brand.done26: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t28, label %if.j29 +if.t28: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect30, label %dc.checked33 +dc.inspect30: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule31, label %dc.checked33 +dc.capsule31: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_2519527309428716 + br i1 %t73, label %dc.exact32, label %dc.checked33 +dc.exact32: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done34 +dc.checked33: + %t79 = call ptr @sc_dc_108(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u35, label %exc.k36 +exc.u35: + ret ptr null +exc.k36: + br label %dc.done34 +dc.done34: + %t83 = load ptr, ptr %s68 + ret ptr %t83 +if.j29: + %t84 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s85 + %t86 = icmp ne ptr %t84, null + br i1 %t86, label %brand.inspect37, label %brand.done39 +brand.inspect37: + %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 12 + br i1 %t89, label %brand.capsule38, label %brand.done39 +brand.capsule38: + %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key + %t91 = load ptr, ptr %t90 + %t92 = icmp eq ptr %t91, @sc_cs_4143564844538255 + store i1 true, ptr %s85 + br i1 %t92, label %brand.done39, label %brand.compare40 +brand.compare40: + %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_4143564844538255) + store i1 %t93, ptr %s85 + br label %brand.done39 +brand.done39: + %t94 = load i1, ptr %s85 + br i1 %t94, label %if.t41, label %if.j42 +if.t41: + %t95 = load ptr, ptr %sc_l_this_0 + %t97 = icmp ne ptr %t95, null + br i1 %t97, label %dc.inspect43, label %dc.checked46 +dc.inspect43: + %t102 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind + %t103 = load i32, ptr %t102 + %t98 = icmp eq i32 %t103, 12 + br i1 %t98, label %dc.capsule44, label %dc.checked46 +dc.capsule44: + %t99 = getelementptr inbounds i8, ptr %t95, i64 40 ; ->v.typed_ref.type_key + %t100 = load ptr, ptr %t99 + %t101 = icmp eq ptr %t100, @sc_cs_4143564844538255 + br i1 %t101, label %dc.exact45, label %dc.checked46 +dc.exact45: + %t104 = getelementptr inbounds i8, ptr %t95, i64 16 ; ->v.typed_ref.ptr + %t105 = load ptr, ptr %t104 + %t106 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t105) + store ptr %t106, ptr %s96 + br label %dc.done47 +dc.checked46: + %t107 = call ptr @sc_dc_109(ptr %t95, ptr null) + store ptr %t107, ptr %s96 + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u48, label %exc.k49 +exc.u48: + ret ptr null +exc.k49: + br label %dc.done47 +dc.done47: + %t111 = load ptr, ptr %s96 + ret ptr %t111 +if.j42: + %t112 = load ptr, ptr %sc_l_this_0 + %t113 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m9_EmbeddedAssets(ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t113) + ret ptr null +exc.k51: + ret ptr %t113 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m9.EmbeddedAssets.get +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + call void @sc_rrelease_r11(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m9.EmbeddedAssets.add +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m9_EmbeddedAssets_add(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @sc_rrelease_r11(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m9.EmbeddedAssets.load +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m9_EmbeddedAssets_load(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %p0) + call void @scr_arr_release(ptr %p0) + ret void +} + +define internal ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() #0 { ; %prototype.data.%m14.BakedAssets +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k5: + %t10 = call ptr @scr_dyn_obj_create(ptr %t6) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k7: + %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets + call void @sc_rc_release_dyn(ptr %t14) + store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets + call void @sc_rc_release_dyn(ptr %t6) + store i1 true, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets_ready + br label %if.j3 +if.j3: + %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + ret ptr %t16 +} + +define internal ptr @sc_bf__x25_fn2(ptr %sc_env, ptr %p_sc_l_c_0, ptr %p_sc_l_next_0) #0 { ; %fn2 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_next_0 = alloca ptr ; next + %sc_l_prefix_0 = alloca ptr ; prefix + %sc_l_rest_0 = alloca ptr ; rest + %sc_l_prefix_1 = alloca ptr ; prefix + %sc_l_rest_1 = alloca ptr ; rest + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_prefix_1 + store ptr null, ptr %sc_l_rest_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_prefix_0 ; captured prefix + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_rest_0 ; captured rest + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + store ptr %p_sc_l_next_0, ptr %sc_l_next_0 + %t6 = call ptr @llvm.stacksave.p0() + %t7 = load ptr, ptr @scr_stack_guard + %t8 = icmp ult ptr %t6, %t7 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t10 = load ptr, ptr %sc_l_prefix_0 + %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5 + %t12 = load ptr, ptr %t11 + store ptr %t12, ptr %sc_l_prefix_1 + %t13 = load ptr, ptr %sc_l_rest_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_rest_1 + %t16 = load ptr, ptr %sc_l_c_0 + %t17 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t16, i64 0, i32 1 + %t18 = load ptr, ptr %t17, !tbaa !24 + %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t18, i64 0, i32 7 + %t20 = load ptr, ptr %t19, !tbaa !96 + %t21 = load ptr, ptr %sc_l_prefix_1 + %t22 = call i1 @sc_bf__x25_m5_matchUsePath(ptr %t20, ptr %t21) + br i1 %t22, label %if.t2, label %if.j3 +if.t2: + %t23 = load ptr, ptr %sc_l_rest_1 + %t24 = load ptr, ptr %sc_l_c_0 + %t25 = load ptr, ptr %sc_l_next_0 + %t26 = call ptr @sc_bf__x25_m5_runPrefixed(ptr %t23, double 0x0000000000000000, ptr %t24, ptr %t25) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t26) + ret ptr null +exc.k5: + ret ptr %t26 +if.j3: + %t30 = load ptr, ptr %sc_l_next_0 + %t31 = getelementptr inbounds %ScrClosure, ptr %t30, i64 0, i32 1 + %t32 = load ptr, ptr %t31 + call void @scr_dyn_this_push_dyn(ptr null) + %t33 = call ptr %t32(ptr %t30) + call void @scr_dyn_this_pop() + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t33) + ret ptr null +exc.k7: + ret ptr %t33 +} +define internal ptr @sc_f__x25_fn2(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_fn2(ptr %sc_env, ptr %p0, ptr %p1) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + call void @scr_closure_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_union_narrow_0(ptr %p_sc_l_u_0) #0 { ; %union.narrow.0 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1 + %t2 = load i32, ptr %t3 + %t1 = icmp eq i32 %t2, 0 + br i1 %t1, label %if.t0, label %if.j1 +if.t0: + %t4 = load ptr, ptr %sc_l_u_0 + %t5 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @scr_closure_retain_v(ptr %t6) + ret ptr %t7 +if.j1: + %t8 = load ptr, ptr %sc_l_u_0 + %t11 = getelementptr inbounds %ScrUnion, ptr %t8, i64 0, i32 1 + %t10 = load i32, ptr %t11 + %t9 = icmp eq i32 %t10, 1 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t12 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t12, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_0(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_union_narrow_0(ptr %p0) + call void @scr_union_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch() #0 { ; %prototype.data.%m0.GenDispatch +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + store i1 true, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_3862385552412238) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch) + %t13 = call ptr @sc_dfb_6(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + br label %if.j3 +if.j3: + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + ret ptr %t30 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m0_GenDispatch(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m0.GenDispatch +entry: + %sc_l_this_0 = alloca ptr ; this + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_2165660704272757 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_2165660704272757) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_this_0 + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_2165660704272757 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_92(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + ret ptr %t27 +if.j5: + %t28 = load ptr, ptr %sc_l_this_0 + %t29 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenDispatch(ptr %t28) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_release__x25_m0_GenDispatch(ptr %t29) + ret ptr null +exc.k14: + ret ptr %t29 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m0_GenDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m0_GenDispatch(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m0.GenDispatch.dispatch +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + %t2 = call i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %t0, ptr %t1) + ret i1 %t2 +} +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1) + call void @scr_http_req_release(ptr %p0) + call void @scr_http_res_release(ptr %p1) + ret i1 %result +} + +define internal i1 @sc_bf__x25_fn3(ptr %sc_env, ptr %p_sc_l_rq_0, ptr %p_sc_l_rs_0) #0 { ; %fn3 +entry: + %sc_l_rq_0 = alloca ptr ; rq + %sc_l_rs_0 = alloca ptr ; rs + %sc_l_g_0 = alloca ptr ; g + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_g_1 = alloca ptr ; g + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + %s37 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_g_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_g_0 ; captured g + store ptr %p_sc_l_rq_0, ptr %sc_l_rq_0 + store ptr %p_sc_l_rs_0, ptr %sc_l_rs_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t7 = load ptr, ptr %sc_l_g_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_g_1 + %t10 = load ptr, ptr %sc_l_g_1 + store ptr %t10, ptr %sc_l__x25_callbackReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenDispatch(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t12) + ret i1 false +exc.k3: + store ptr %t12, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t16 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 6 + br i1 %t19, label %tern.t4, label %tern.f5 +tern.t4: + %t22 = call ptr @scr_dyn_undefined() + %t21 = call ptr @scr_dyn_retain_v(ptr %t22) + store ptr %t21, ptr %s20 + br label %tern.j6 +tern.f5: + %t23 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_property_54(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup9 +exc.k8: + store ptr %t25, ptr %s20 + br label %tern.j6 +tern.j6: + %t29 = load ptr, ptr %s20 + store ptr %t29, ptr %sc_l__x25_callback_0 + %t30 = load ptr, ptr %sc_l__x25_callback_0 + %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t33 = load ptr, ptr %sc_l_rq_0 + %t34 = call ptr @sc_td_10(ptr %t33) + %t35 = load ptr, ptr %sc_l_rs_0 + %t36 = call ptr @sc_td_7(ptr %t35) + %t38 = getelementptr inbounds [2 x ptr], ptr %s37, i64 0, i64 0 + store ptr %t34, ptr %t38 + %t39 = getelementptr inbounds [2 x ptr], ptr %s37, i64 0, i64 1 + store ptr %t36, ptr %t39 + call void @scr_dyn_this_push_dyn(ptr %t32) + %t40 = call ptr @scr_dyn_call(ptr %t30, ptr %s37, i64 2, ptr @sc_cs_2374877263538670) + call void @scr_dyn_this_pop() + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup12 +exc.k11: + %t44 = call zeroext i1 @sc_dc_3(ptr %t40, ptr null) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t40) + %t48 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t48) + %t49 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t49) + ret i1 %t44 +exc.cleanup9: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + ret i1 false +exc.cleanup12: + %t51 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t51) + %t52 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t52) + ret i1 false +} +define internal i1 @sc_f__x25_fn3(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_fn3(ptr %sc_env, ptr %p0, ptr %p1) + call void @scr_http_req_release(ptr %p0) + call void @scr_http_res_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m0_GenFetch() #0 { ; %prototype.data.%m0.GenFetch +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + store i1 true, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_437194258546139) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch) + %t13 = call ptr @sc_dfb_7(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + br label %if.j3 +if.j3: + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + ret ptr %t30 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m0_GenFetch(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m0.GenFetch +entry: + %sc_l_this_0 = alloca ptr ; this + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_2798802470260116 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_2798802470260116) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_this_0 + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_2798802470260116 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_93(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + ret ptr %t27 +if.j5: + %t28 = load ptr, ptr %sc_l_this_0 + %t29 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenFetch(ptr %t28) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_release__x25_m0_GenFetch(ptr %t29) + ret ptr null +exc.k14: + ret ptr %t29 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m0_GenFetch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m0_GenFetch(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3, ptr %p_sc_l_p_4, ptr %p_sc_l_p_5, ptr %p_sc_l_p_6) #0 { ; %method.value:%%m0.GenFetch.dispatchFetch +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_3 = alloca ptr ; p3 + %sc_l_p_4 = alloca ptr ; p4 + %sc_l_p_5 = alloca ptr ; p5 + %sc_l_p_6 = alloca ptr ; p6 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_3, ptr %sc_l_p_3 + store ptr %p_sc_l_p_4, ptr %sc_l_p_4 + store ptr %p_sc_l_p_5, ptr %sc_l_p_5 + store ptr %p_sc_l_p_6, ptr %sc_l_p_6 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = load ptr, ptr %sc_l_p_1 + %t6 = load ptr, ptr %sc_l_p_2 + %t7 = load ptr, ptr %sc_l_p_3 + %t8 = load ptr, ptr %sc_l_p_4 + %t9 = load ptr, ptr %sc_l_p_5 + %t10 = load ptr, ptr %sc_l_p_6 + %t11 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %t4, ptr %t5, ptr %t6, ptr %t7, ptr %t8, ptr %t9, ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_promise_release(ptr %t11) + ret ptr null +exc.k3: + ret ptr %t11 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rrelease_r0(ptr %p2) + call void @sc_rc_release_dyn(ptr %p3) + call void @scr_str_release(ptr %p4) + call void @scr_union_release(ptr %p5) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p6) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn4(ptr %sc_env, ptr %p_sc_l_m_0, ptr %p_sc_l_u_0, ptr %p_sc_l_h_0, ptr %p_sc_l_w_0, ptr %p_sc_l_b_0, ptr %p_sc_l_b8_0, ptr %p_sc_l_s_0) #0 { ; %fn4 +entry: + %sc_l_m_0 = alloca ptr ; m + %sc_l_u_0 = alloca ptr ; u + %sc_l_h_0 = alloca ptr ; h + %sc_l_w_0 = alloca ptr ; w + %sc_l_b_0 = alloca ptr ; b + %sc_l_b8_0 = alloca ptr ; b8 + %sc_l_s_0 = alloca ptr ; s + %sc_l_g_0 = alloca ptr ; g + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_g_1 = alloca ptr ; g + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + %s46 = alloca [7 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_g_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_g_0 ; captured g + store ptr %p_sc_l_m_0, ptr %sc_l_m_0 + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + store ptr %p_sc_l_h_0, ptr %sc_l_h_0 + store ptr %p_sc_l_w_0, ptr %sc_l_w_0 + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + store ptr %p_sc_l_b8_0, ptr %sc_l_b8_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t7 = load ptr, ptr %sc_l_g_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_g_1 + %t10 = load ptr, ptr %sc_l_g_1 + store ptr %t10, ptr %sc_l__x25_callbackReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenFetch(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t12) + ret ptr null +exc.k3: + store ptr %t12, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t16 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 6 + br i1 %t19, label %tern.t4, label %tern.f5 +tern.t4: + %t22 = call ptr @scr_dyn_undefined() + %t21 = call ptr @scr_dyn_retain_v(ptr %t22) + store ptr %t21, ptr %s20 + br label %tern.j6 +tern.f5: + %t23 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_property_55(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup9 +exc.k8: + store ptr %t25, ptr %s20 + br label %tern.j6 +tern.j6: + %t29 = load ptr, ptr %s20 + store ptr %t29, ptr %sc_l__x25_callback_0 + %t30 = load ptr, ptr %sc_l__x25_callback_0 + %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t33 = load ptr, ptr %sc_l_m_0 + %t34 = call ptr @sc_td_0(ptr %t33) + %t35 = load ptr, ptr %sc_l_u_0 + %t36 = call ptr @sc_td_0(ptr %t35) + %t37 = load ptr, ptr %sc_l_h_0 + %t38 = call ptr @sc_ldu_10(ptr %t37) + %t39 = load ptr, ptr %sc_l_w_0 + %t40 = load ptr, ptr %sc_l_b_0 + %t41 = call ptr @sc_td_0(ptr %t40) + %t42 = load ptr, ptr %sc_l_b8_0 + %t43 = call ptr @sc_td_18(ptr %t42) + %t44 = load ptr, ptr %sc_l_s_0 + %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t47 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 0 + store ptr %t34, ptr %t47 + %t48 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 1 + store ptr %t36, ptr %t48 + %t49 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 2 + store ptr %t38, ptr %t49 + %t50 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 3 + store ptr %t39, ptr %t50 + %t51 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 4 + store ptr %t41, ptr %t51 + %t52 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 5 + store ptr %t43, ptr %t52 + %t53 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 6 + store ptr %t45, ptr %t53 + call void @scr_dyn_this_push_dyn(ptr %t32) + %t54 = call ptr @scr_dyn_call(ptr %t30, ptr %s46, i64 7, ptr @sc_cs_3205401475211014) + call void @scr_dyn_this_pop() + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t54) + br label %exc.cleanup12 +exc.k11: + %t58 = call ptr @sc_dc_46(ptr %t54, ptr null) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t54) + call void @scr_promise_release(ptr %t58) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t54) + %t62 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t62) + %t63 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t63) + ret ptr %t58 +exc.cleanup9: + %t64 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t64) + ret ptr null +exc.cleanup12: + %t65 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t65) + %t66 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t66) + ret ptr null +} +define internal ptr @sc_f__x25_fn4(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 { +entry: + %result = call ptr @sc_bf__x25_fn4(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rrelease_r0(ptr %p2) + call void @sc_rc_release_dyn(ptr %p3) + call void @scr_str_release(ptr %p4) + call void @scr_union_release(ptr %p5) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p6) + ret ptr %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch() #0 { ; %prototype.data.%m1.UpgradeDispatch +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + store i1 true, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_2250671438728133) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade) + %t13 = call ptr @sc_dfb_8(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + br label %if.j3 +if.j3: + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + ret ptr %t30 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m1_UpgradeDispatch(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m1.UpgradeDispatch +entry: + %sc_l_this_0 = alloca ptr ; this + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_3870085012327510 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3870085012327510) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_this_0 + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_3870085012327510 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_94(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + ret ptr %t27 +if.j5: + %t28 = load ptr, ptr %sc_l_this_0 + %t29 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m1_UpgradeDispatch(ptr %t28) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t29) + ret ptr null +exc.k14: + ret ptr %t29 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m1_UpgradeDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m1_UpgradeDispatch(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m1.UpgradeDispatch.upgrade +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + %t2 = load ptr, ptr %sc_l_p_2 + %t3 = call i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %t0, ptr %t1, ptr %t2) + ret i1 %t3 +} +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2) + call void @scr_http_req_release(ptr %p0) + call void @scr_net_sock_release(ptr %p1) + call void @scr_bytes_release(ptr %p2) + ret i1 %result +} + +define internal i1 @sc_bf__x25_fn5(ptr %sc_env, ptr %p_sc_l_rq_0, ptr %p_sc_l_sk_0, ptr %p_sc_l_hd_0) #0 { ; %fn5 +entry: + %sc_l_rq_0 = alloca ptr ; rq + %sc_l_sk_0 = alloca ptr ; sk + %sc_l_hd_0 = alloca ptr ; hd + %sc_l_g_0 = alloca ptr ; g + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_g_1 = alloca ptr ; g + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + %s39 = alloca [3 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_g_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_g_0 ; captured g + store ptr %p_sc_l_rq_0, ptr %sc_l_rq_0 + store ptr %p_sc_l_sk_0, ptr %sc_l_sk_0 + store ptr %p_sc_l_hd_0, ptr %sc_l_hd_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t7 = load ptr, ptr %sc_l_g_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_g_1 + %t10 = load ptr, ptr %sc_l_g_1 + store ptr %t10, ptr %sc_l__x25_callbackReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m1_UpgradeDispatch(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t12) + ret i1 false +exc.k3: + store ptr %t12, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t16 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 6 + br i1 %t19, label %tern.t4, label %tern.f5 +tern.t4: + %t22 = call ptr @scr_dyn_undefined() + %t21 = call ptr @scr_dyn_retain_v(ptr %t22) + store ptr %t21, ptr %s20 + br label %tern.j6 +tern.f5: + %t23 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_property_56(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup9 +exc.k8: + store ptr %t25, ptr %s20 + br label %tern.j6 +tern.j6: + %t29 = load ptr, ptr %s20 + store ptr %t29, ptr %sc_l__x25_callback_0 + %t30 = load ptr, ptr %sc_l__x25_callback_0 + %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t33 = load ptr, ptr %sc_l_rq_0 + %t34 = call ptr @sc_td_10(ptr %t33) + %t35 = load ptr, ptr %sc_l_sk_0 + %t36 = call ptr @sc_td_20(ptr %t35) + %t37 = load ptr, ptr %sc_l_hd_0 + %t38 = call ptr @sc_td_1(ptr %t37) + %t40 = getelementptr inbounds [3 x ptr], ptr %s39, i64 0, i64 0 + store ptr %t34, ptr %t40 + %t41 = getelementptr inbounds [3 x ptr], ptr %s39, i64 0, i64 1 + store ptr %t36, ptr %t41 + %t42 = getelementptr inbounds [3 x ptr], ptr %s39, i64 0, i64 2 + store ptr %t38, ptr %t42 + call void @scr_dyn_this_push_dyn(ptr %t32) + %t43 = call ptr @scr_dyn_call(ptr %t30, ptr %s39, i64 3, ptr @sc_cs_1137312206133953) + call void @scr_dyn_this_pop() + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + br label %exc.cleanup12 +exc.k11: + %t47 = call zeroext i1 @sc_dc_3(ptr %t43, ptr null) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + %t51 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t51) + %t52 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t52) + ret i1 %t47 +exc.cleanup9: + %t53 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t53) + ret i1 false +exc.cleanup12: + %t54 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t54) + %t55 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t55) + ret i1 false +} +define internal i1 @sc_f__x25_fn5(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call i1 @sc_bf__x25_fn5(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) + call void @scr_http_req_release(ptr %p0) + call void @scr_net_sock_release(ptr %p1) + call void @scr_bytes_release(ptr %p2) + ret i1 %result +} + +define internal void @sc_bf__x25_fn6(ptr %sc_env, ptr %p_sc_l_req_0, ptr %p_sc_l_socket_0, ptr %p_sc_l_head_0) #0 { ; %fn6 +entry: + %sc_l_req_0 = alloca ptr ; req + %sc_l_socket_0 = alloca ptr ; socket + %sc_l_head_0 = alloca ptr ; head + %sc_l_app_0 = alloca ptr ; app + %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver + %sc_l_e_0 = alloca ptr ; e + %sc_l_app_1 = alloca ptr ; app + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l__x25_callReceiver_0 + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l_app_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_app_0 ; captured app + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store ptr %p_sc_l_socket_0, ptr %sc_l_socket_0 + store ptr %p_sc_l_head_0, ptr %sc_l_head_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_app_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_app_1 + %t10 = load ptr, ptr %sc_l_app_1 + store ptr %t10, ptr %sc_l__x25_callReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t12 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t11, i64 0, i32 17 + %t13 = load ptr, ptr %t12, !tbaa !186 + %t14 = call ptr @scr_closure_retain_v(ptr %t13) + %t15 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t16 = call ptr @sc_retain__x25_m5_App(ptr %t15) + %t17 = load ptr, ptr %sc_l_req_0 + %t18 = call ptr @scr_http_req_retain_v(ptr %t17) + %t19 = load ptr, ptr %sc_l_socket_0 + %t20 = call ptr @scr_net_sock_retain_v(ptr %t19) + %t21 = load ptr, ptr %sc_l_head_0 + %t22 = call ptr @scr_bytes_retain_v(ptr %t21) + %t23 = getelementptr inbounds %ScrClosure, ptr %t14, i64 0, i32 1 + %t24 = load ptr, ptr %t23 + call void @scr_dyn_this_push_typed(ptr %t16, ptr @sc_trr_0) + %t25 = call i1 %t24(ptr %t14, ptr %t18, ptr %t20, ptr %t22) + call void @scr_dyn_this_pop() + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u5, label %exc.k6 +exc.u5: + call void @scr_closure_release(ptr %t14) + call void @sc_release__x25_m5_App(ptr %t16) + br label %try.c2 +exc.k6: + %t29 = xor i1 %t25, true + call void @scr_closure_release(ptr %t14) + call void @sc_release__x25_m5_App(ptr %t16) + br i1 %t29, label %if.t7, label %if.j8 +if.t7: + %t30 = load ptr, ptr %sc_l_socket_0 + %t31 = call ptr @scr_net_sock_retain_v(ptr %t30) + call void @scr_net_sock_destroy(ptr %t31) + call void @scr_net_sock_release(ptr %t31) + br label %if.j8 +if.j8: + br label %try.e4 +try.c2: + %t32 = call ptr @scr_exc_take() ; catch binding + store ptr %t32, ptr %sc_l_e_0 + %t33 = load ptr, ptr %sc_l_socket_0 + %t34 = call ptr @scr_net_sock_retain_v(ptr %t33) + call void @scr_net_sock_destroy(ptr %t34) + call void @scr_net_sock_release(ptr %t34) + %t35 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t35) + br label %try.e4 +try.e4: + ret void +} +define internal void @sc_f__x25_fn6(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25_fn6(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) + call void @scr_http_req_release(ptr %p0) + call void @scr_net_sock_release(ptr %p1) + call void @scr_bytes_release(ptr %p2) + ret void +} + +define internal void @sc_bf__x25_fn7(ptr %sc_env, ptr %p_sc_l_req_0, ptr %p_sc_l_res_0) #0 { ; %fn7 +entry: + %sc_l_req_0 = alloca ptr ; req + %sc_l_res_0 = alloca ptr ; res + %sc_l_app_0 = alloca ptr ; app + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_app_1 = alloca ptr ; app + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + %s41 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_app_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_app_0 ; captured app + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store ptr %p_sc_l_res_0, ptr %sc_l_res_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_app_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_app_1 + %t10 = load ptr, ptr %sc_l_app_1 + store ptr %t10, ptr %sc_l__x25_callbackReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t12) + ret void +exc.k3: + store ptr %t12, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t16 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 6 + br i1 %t19, label %tern.t4, label %tern.f5 +tern.t4: + %t22 = call ptr @scr_dyn_undefined() + %t21 = call ptr @scr_dyn_retain_v(ptr %t22) + store ptr %t21, ptr %s20 + br label %tern.j6 +tern.f5: + %t23 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_property_57(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup9 +exc.k8: + store ptr %t25, ptr %s20 + br label %tern.j6 +tern.j6: + %t29 = load ptr, ptr %s20 + store ptr %t29, ptr %sc_l__x25_callback_0 + %t30 = load ptr, ptr %sc_l__x25_callback_0 + %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t33 = load ptr, ptr %sc_l_req_0 + %t34 = call ptr @sc_td_10(ptr %t33) + %t35 = call ptr @sc_new__x25_m2_NodeResponseSink() + %t36 = load ptr, ptr %sc_l_res_0 + call void @sc_bf__x25__x25_m2_NodeResponseSink_constructor(ptr %t35, ptr %t36) + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t35) + br label %exc.cleanup12 +exc.k11: + %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t35, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t42 = getelementptr inbounds [2 x ptr], ptr %s41, i64 0, i64 0 + store ptr %t34, ptr %t42 + %t43 = getelementptr inbounds [2 x ptr], ptr %s41, i64 0, i64 1 + store ptr %t40, ptr %t43 + call void @scr_dyn_this_push_dyn(ptr %t32) + %t44 = call ptr @scr_dyn_call(ptr %t30, ptr %s41, i64 2, ptr @sc_cs_3694455830285465) + call void @scr_dyn_this_pop() + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t35) + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t44) + br label %exc.cleanup12 +exc.k14: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t35) + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t44) + %t48 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t48) + %t49 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t49) + ret void +exc.cleanup9: + %t50 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t50) + ret void +exc.cleanup12: + %t51 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t51) + %t52 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t52) + ret void +} +define internal void @sc_f__x25_fn7(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_fn7(ptr %sc_env, ptr %p0, ptr %p1) + call void @scr_http_req_release(ptr %p0) + call void @scr_http_res_release(ptr %p1) + ret void +} + +define internal i1 @sc_bf__x25_obj_hasOwn_0(ptr %p_sc_l_r_0, ptr %p_sc_l_k_0) #0 { ; %obj.hasOwn.0 +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_k_0 = alloca ptr ; k + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_r_0 + %t5 = call ptr @sc_rretain_r0(ptr %t4) + %t6 = load ptr, ptr %sc_l_k_0 + %t7 = call ptr @sc_rc_retain_str(ptr %t6) + %t8 = getelementptr inbounds %sc_rs_r0, ptr %t5, i64 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call zeroext i1 @scr_map_has_str(ptr %t9, ptr %t7) + call void @sc_rrelease_r0(ptr %t5) + call void @scr_str_release(ptr %t7) + ret i1 %t10 +} +define internal i1 @sc_f__x25_obj_hasOwn_0(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_obj_hasOwn_0(ptr %p0, ptr %p1) + call void @sc_rrelease_r0(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest() #0 { ; %prototype.data.%m3.LiteRequest +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + store i1 true, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_2677147133778287) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text) + %t13 = call ptr @sc_dfb_43(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_1207708014012541) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer) + %t34 = call ptr @sc_dfb_44(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_551454763233869) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request) + %t55 = call ptr @sc_dfb_2(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + ret ptr null +exc.k27: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + br label %if.j3 +if.j3: + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + ret ptr %t72 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m3.LiteRequest +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_4041255434968695 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_4041255434968695) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_4041255434968695 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_101(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteRequest(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m3_LiteRequest(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_text() #0 { ; %method.value:%%m3.LiteRequest.text +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m3_LiteRequest_text(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + call void @scr_promise_release(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer() #0 { ; %method.value:%%m3.LiteRequest.arrayBuffer +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m3_LiteRequest_arrayBuffer(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + call void @scr_promise_release(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_request() #0 { ; %method.value:%%m3.LiteRequest.request +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m3_LiteRequest_request(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + call void @sc_rc_release_dyn(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m3_LiteRequest(ptr %t5) + ret ptr %t9 +} + +define internal void @sc_bf__x25_fn11(ptr %sc_env, ptr %p_sc_l_v_0) #0 { ; %fn11 +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_res_0 = alloca ptr ; res + %sc_l_step_0 = alloca ptr ; step + %sc_l_res_1 = alloca ptr ; res + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_res_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_res_0 ; captured res + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_step_0 ; captured step + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t6 = call ptr @llvm.stacksave.p0() + %t7 = load ptr, ptr @scr_stack_guard + %t8 = icmp ult ptr %t6, %t7 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t10 = load ptr, ptr %sc_l_res_0 + %t11 = call ptr @scr_box_get_ref(ptr %t10) + store ptr %t11, ptr %sc_l_res_1 + %t12 = load ptr, ptr %sc_l_v_0 + %t13 = getelementptr inbounds %sc_rs_r23, ptr %t12, i64 0, i32 1 + %t14 = load i8, ptr %t13 + %t15 = trunc i8 %t14 to i1 + %t16 = icmp eq i1 %t15, true + br i1 %t16, label %if.t2, label %if.j3 +if.t2: + %t17 = load ptr, ptr %sc_l_res_1 + %t18 = call ptr @scr_http_res_retain_v(ptr %t17) + call void @scr_http_res_end(ptr %t18) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_http_res_release(ptr %t18) + br label %exc.cleanup6 +exc.k5: + call void @scr_http_res_release(ptr %t18) + %t22 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t22) + ret void +if.j3: + %t23 = load ptr, ptr %sc_l_res_1 + %t24 = call ptr @scr_http_res_retain_v(ptr %t23) + %t25 = load ptr, ptr %sc_l_v_0 + %t26 = getelementptr inbounds %sc_rs_r23, ptr %t25, i64 0, i32 2 + %t27 = load ptr, ptr %t26 + %t28 = getelementptr inbounds %ScrUnion, ptr %t27, i64 0, i32 1 + %t29 = load i32, ptr %t28 + %t30 = icmp eq i32 %t29, 1 + %t31 = getelementptr inbounds %ScrUnion, ptr %t27, i64 0, i32 5 + %t32 = load i64, ptr %t31 + %t33 = icmp eq i64 %t32, 1 + %t34 = and i1 %t30, %t33 + %t35 = select i1 %t34, ptr @sc_unit_7, ptr %t27 + %t36 = getelementptr inbounds %ScrUnion, ptr %t35, i64 0, i32 5 + %t37 = load ptr, ptr %t36 + %t38 = call ptr @scr_bytes_retain_v(ptr %t37) + call void @scr_http_res_write_bytes(ptr %t24, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u7, label %exc.k8 +exc.u7: + call void @scr_http_res_release(ptr %t24) + call void @scr_bytes_release(ptr %t38) + br label %exc.cleanup6 +exc.k8: + call void @scr_http_res_release(ptr %t24) + call void @scr_bytes_release(ptr %t38) + %t42 = load ptr, ptr %sc_l_step_0 + %t43 = getelementptr inbounds %ScrBox, ptr %t42, i64 0, i32 5 + %t44 = load i64, ptr %t43 + %t45 = icmp eq i64 %t44, 0 + br i1 %t45, label %tdz.t9, label %tdz.k10 +tdz.t9: + call void @scr_throw_error_named(ptr @sc_lit_2408580547322579, ptr @sc_lit_874990306745984) + br label %exc.cleanup6 +tdz.k10: + %t46 = call ptr @scr_box_get_ref(ptr %t42) + %t47 = getelementptr inbounds %ScrClosure, ptr %t46, i64 0, i32 1 + %t48 = load ptr, ptr %t47 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t48(ptr %t46) + call void @scr_dyn_this_pop() + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u11, label %exc.k12 +exc.u11: + call void @scr_closure_release(ptr %t46) + br label %exc.cleanup6 +exc.k12: + call void @scr_closure_release(ptr %t46) + %t52 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t52) + ret void +exc.cleanup6: + %t53 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t53) + ret void +} +define internal void @sc_f__x25_fn11(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn11(ptr %sc_env, ptr %p0) + call void @sc_rrelease_r23(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn12(ptr %sc_env) #0 { ; %fn12 +entry: + %sc_l_res_0 = alloca ptr ; res + %sc_l_res_1 = alloca ptr ; res + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_res_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_res_0 ; captured res + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_res_0 + %t8 = call ptr @scr_box_get_ref(ptr %t7) + store ptr %t8, ptr %sc_l_res_1 + %t9 = load ptr, ptr %sc_l_res_1 + %t10 = call ptr @scr_http_res_retain_v(ptr %t9) + call void @scr_http_res_end(ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t10) + br label %exc.cleanup4 +exc.k3: + call void @scr_http_res_release(ptr %t10) + %t14 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t14) + ret void +exc.cleanup4: + %t15 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t15) + ret void +} + +define internal void @sc_f__x25_fn13_then2(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_f_0, ptr %p_sc_l_r_0) #0 { ; %fn13_then2 +entry: + %sc_l_p_0 = alloca ptr ; p + %sc_l_f_0 = alloca ptr ; f + %sc_l_r_0 = alloca ptr ; r + %sc_l_e_0 = alloca ptr ; e + %sc_l_v_0 = alloca ptr ; v + %s20 = alloca [1 x ptr] + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_f_0, ptr %sc_l_f_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @scr_promise_retain_v(ptr %t4) + %t6 = call ptr @scr_await_ref(ptr %t5) + %t7 = load ptr, ptr @scr_exc_active + %t8 = load i32, ptr %t7 + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_promise_release(ptr %t5) + call void @sc_rrelease_r23(ptr %t6) + br label %try.c3 +exc.k7: + store ptr %t6, ptr %sc_l_v_0 + call void @scr_promise_release(ptr %t5) + %t11 = load ptr, ptr %sc_l_v_0 + call void @sc_rrelease_r23(ptr %t11) + br label %try.e5 +try.c3: + %t12 = call ptr @scr_exc_take() ; catch binding + store ptr %t12, ptr %sc_l_e_0 + %t13 = load ptr, ptr %sc_l_r_0 + %t14 = load ptr, ptr %sc_l_e_0 + %t15 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t14) + %t16 = load ptr, ptr @scr_exc_active + %t17 = load i32, ptr %t16 + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t15) + br label %exc.cleanup10 +exc.k9: + %t21 = getelementptr inbounds [1 x ptr], ptr %s20, i64 0, i64 0 + store ptr %t15, ptr %t21 + call void @scr_dyn_this_push_dyn(ptr null) + %t22 = call ptr @scr_dyn_call(ptr %t13, ptr %s20, i64 1, ptr @sc_cs_1235448592878459) + call void @scr_dyn_this_pop() + %t23 = load ptr, ptr @scr_exc_active + %t24 = load i32, ptr %t23 + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup10 +exc.k12: + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t22) + %t27 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t27) + %t28 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t28) + %t29 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t29) + %t30 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t30) + ret void +try.e5: + %t31 = load ptr, ptr %sc_l_f_0 + %t32 = load ptr, ptr %sc_l_v_0 + %t33 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 1 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 7 + %t36 = load ptr, ptr %t35 + %t37 = icmp ne ptr %t36, null + br i1 %t37, label %callback.lend13, label %callback.own14 +callback.lend13: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t36(ptr %t31, ptr %t32) + call void @scr_dyn_this_pop() + br label %callback.done15 +callback.own14: + %t38 = call ptr @sc_rretain_r23(ptr %t32) + call void @scr_dyn_this_push_dyn(ptr null) + call void %t34(ptr %t31, ptr %t38) + call void @scr_dyn_this_pop() + br label %callback.done15 +callback.done15: + %t39 = load ptr, ptr @scr_exc_active + %t40 = load i32, ptr %t39 + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u16, label %exc.k17 +exc.u16: + br label %exc.cleanup2 +exc.k17: + %t43 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t43) + %t44 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t44) + %t45 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t45) + ret void +exc.cleanup2: + %t46 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t46) + %t47 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t47) + %t48 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t48) + ret void +exc.cleanup10: + %t49 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t49) + %t50 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t50) + %t51 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t51) + %t52 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t52) + ret void +} + +define internal void @sc_f__x25_fn10(ptr %sc_env) #0 { ; %fn10 +entry: + %sc_l_reader_0 = alloca ptr ; reader + %sc_l_res_0 = alloca ptr ; res + %sc_l_step_0 = alloca ptr ; step + %sc_l_reader_1 = alloca ptr ; reader + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_reader_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_reader_0 ; captured reader + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_res_0 ; captured res + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_step_0 ; captured step + %t9 = call ptr @llvm.stacksave.p0() + %t10 = load ptr, ptr @scr_stack_guard + %t11 = icmp ult ptr %t9, %t10 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t13 = load ptr, ptr %sc_l_reader_0 + %t14 = call ptr @scr_box_get_ref(ptr %t13) + store ptr %t14, ptr %sc_l_reader_1 + %t15 = call ptr @scr_closure_new(ptr @sc_as__x25_fn13_then2, i64 0) + %t16 = getelementptr inbounds %ScrClosure, ptr %t15, i64 0, i32 4 + store i32 2, ptr %t16 + %t17 = load ptr, ptr %sc_l_reader_1 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @scr_fetch_reader_read(ptr %t18) + %t20 = call ptr @scr_promise_new() + call void @scr_promise_race_add(ptr %t20, ptr %t19, ptr @sc_dpa_1) + %t21 = call ptr @scr_closure_new(ptr @sc_f__x25_fn11, i64 2) + %t22 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + store i32 4, ptr %t22 + %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 7 + store ptr @sc_bf__x25_fn11, ptr %t23 + %t24 = load ptr, ptr %sc_l_res_0 + %t25 = call ptr @sc_retain_box(ptr %t24) + %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t27 = getelementptr inbounds ptr, ptr %t26, i64 0 ; caps[0] + store ptr %t25, ptr %t27 + %t28 = load ptr, ptr %sc_l_step_0 + %t29 = call ptr @sc_retain_box(ptr %t28) + %t30 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t31 = getelementptr inbounds ptr, ptr %t30, i64 1 ; caps[1] + store ptr %t29, ptr %t31 + %t32 = call ptr @scr_closure_new(ptr @sc_f__x25_fn12, i64 1) + %t33 = getelementptr inbounds %ScrClosure, ptr %t32, i64 0, i32 4 + store i32 4, ptr %t33 + %t34 = load ptr, ptr %sc_l_res_0 + %t35 = call ptr @sc_retain_box(ptr %t34) + %t36 = getelementptr inbounds %ScrClosure, ptr %t32, i64 1 ; caps + %t37 = getelementptr inbounds ptr, ptr %t36, i64 0 ; caps[0] + store ptr %t35, ptr %t37 + %t38 = call ptr @sc_dfb_1(ptr %t32, ptr null) + %t39 = getelementptr inbounds %ScrClosure, ptr %t15, i64 0, i32 1 + %t40 = load ptr, ptr %t39 + call void @scr_dyn_this_push_dyn(ptr null) + %t41 = call ptr %t40(ptr %t15, ptr %t20, ptr %t21, ptr %t38) + call void @scr_dyn_this_pop() + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_closure_release(ptr %t15) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_promise_release(ptr %t19) + call void @scr_closure_release(ptr %t32) + call void @scr_promise_release(ptr %t41) + br label %exc.cleanup4 +exc.k3: + call void @scr_closure_release(ptr %t15) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_promise_release(ptr %t19) + call void @scr_closure_release(ptr %t32) + call void @scr_promise_release(ptr %t41) + %t45 = load ptr, ptr %sc_l_reader_1 + call void @sc_rc_release_dyn(ptr %t45) + ret void +exc.cleanup4: + %t46 = load ptr, ptr %sc_l_reader_1 + call void @sc_rc_release_dyn(ptr %t46) + ret void +} + +define internal void @sc_f__x25_fn9(ptr %sc_env) #0 { ; %fn9 +entry: + %sc_l_bodyU8_0 = alloca ptr ; bodyU8 + %sc_l_ct_0 = alloca ptr ; ct + %sc_l_hs_0 = alloca ptr ; hs + %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver + %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey + %sc_l_method_0 = alloca ptr ; method + %sc_l_lite_0 = alloca ptr ; lite + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_app_0 = alloca ptr ; app + %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver + %sc_l_url_0 = alloca ptr ; url + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_handled_0 = alloca i1 ; handled + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l_a_0 = alloca ptr ; a + %sc_l_b_0 = alloca ptr ; b + %sc_l_reader_0 = alloca ptr ; reader + %sc_l_res_0 = alloca ptr ; res + %sc_l_step_0 = alloca ptr ; step + %sc_l_hs_1 = alloca ptr ; hs + %sc_l_method_1 = alloca ptr ; method + %sc_l_lite_1 = alloca ptr ; lite + %sc_l_app_1 = alloca ptr ; app + %sc_l_url_1 = alloca ptr ; url + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_res_1 = alloca ptr ; res + %s52 = alloca ptr + %s62 = alloca i1 + %s67 = alloca i1 + %s88 = alloca ptr + %s181 = alloca ptr + %s209 = alloca [7 x ptr] + store ptr null, ptr %sc_l_bodyU8_0 + store ptr null, ptr %sc_l_ct_0 + store ptr null, ptr %sc_l__x25_ownReceiver_0 + store ptr null, ptr %sc_l__x25_ownKey_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callReceiver_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l_a_0 + store ptr null, ptr %sc_l_b_0 + store ptr null, ptr %sc_l_reader_0 + store ptr null, ptr %sc_l_step_0 + store ptr null, ptr %sc_l_hs_1 + store ptr null, ptr %sc_l_method_1 + store ptr null, ptr %sc_l_lite_1 + store ptr null, ptr %sc_l_app_1 + store ptr null, ptr %sc_l_url_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_res_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_hs_0 ; captured hs + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_method_0 ; captured method + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_lite_0 ; captured lite + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_app_0 ; captured app + %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4] + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %sc_l_url_0 ; captured url + %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5] + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %sc_l_sink_0 ; captured sink + %t18 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t19 = getelementptr inbounds ptr, ptr %t18, i64 6 ; caps[6] + %t20 = load ptr, ptr %t19 + store ptr %t20, ptr %sc_l_res_0 ; captured res + %t21 = call ptr @llvm.stacksave.p0() + %t22 = load ptr, ptr @scr_stack_guard + %t23 = icmp ult ptr %t21, %t22 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t25 = load ptr, ptr %sc_l_hs_0 + %t26 = call ptr @scr_box_get_ref(ptr %t25) + store ptr %t26, ptr %sc_l_hs_1 + %t27 = load ptr, ptr %sc_l_method_0 + %t28 = call ptr @scr_box_get_ref(ptr %t27) + store ptr %t28, ptr %sc_l_method_1 + %t29 = load ptr, ptr %sc_l_lite_0 + %t30 = call ptr @scr_box_get_ref(ptr %t29) + store ptr %t30, ptr %sc_l_lite_1 + %t31 = load ptr, ptr %sc_l_app_0 + %t32 = call ptr @scr_box_get_ref(ptr %t31) + store ptr %t32, ptr %sc_l_app_1 + %t33 = load ptr, ptr %sc_l_url_0 + %t34 = call ptr @scr_box_get_ref(ptr %t33) + store ptr %t34, ptr %sc_l_url_1 + %t35 = load ptr, ptr %sc_l_sink_0 + %t36 = call ptr @scr_box_get_ref(ptr %t35) + store ptr %t36, ptr %sc_l_sink_1 + %t37 = load ptr, ptr %sc_l_res_0 + %t38 = call ptr @scr_box_get_ref(ptr %t37) + store ptr %t38, ptr %sc_l_res_1 + store ptr @sc_unit_2, ptr %sc_l_bodyU8_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_ct_0 + %t39 = load ptr, ptr %sc_l_hs_1 + %t40 = call ptr @sc_rretain_r0(ptr %t39) + store ptr %t40, ptr %sc_l__x25_ownReceiver_0 + store ptr @sc_lit_2329537264393449, ptr %sc_l__x25_ownKey_0 + %t41 = load ptr, ptr %sc_l__x25_ownReceiver_0 + %t42 = load ptr, ptr %sc_l__x25_ownKey_0 + %t43 = call i1 @sc_bf__x25_obj_hasOwn_0(ptr %t41, ptr %t42) + %t44 = load ptr, ptr @scr_exc_active + %t45 = load i32, ptr %t44 + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u2, label %exc.k3 +exc.u2: + br label %exc.cleanup4 +exc.k3: + %t48 = load ptr, ptr %sc_l__x25_ownReceiver_0 + call void @sc_rrelease_r0(ptr %t48) + %t49 = load ptr, ptr %sc_l__x25_ownKey_0 + call void @scr_str_release(ptr %t49) + br i1 %t43, label %if.t5, label %if.j6 +if.t5: + %t50 = load ptr, ptr %sc_l_hs_1 + %t51 = call ptr @sc_rretain_r0(ptr %t50) + %t53 = getelementptr inbounds %sc_rs_r0, ptr %t51, i64 0, i32 1 + %t54 = load ptr, ptr %t53 + %t55 = call ptr @scr_map_get_str_ref(ptr %t54, ptr @sc_lit_2329537264393449) + %t56 = icmp eq ptr %t55, null + br i1 %t56, label %rkg.n9, label %rkg.h8 +rkg.h8: + store ptr %t55, ptr %s52 + br label %rkg.j7 +rkg.n9: + call void @sc_bad_key() + unreachable +rkg.j7: + %t57 = load ptr, ptr %s52 + %t58 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t58) + store ptr %t57, ptr %sc_l_ct_0 + call void @sc_rrelease_r0(ptr %t51) + br label %if.j6 +if.j6: + %t59 = load ptr, ptr %sc_l_ct_0 + %t60 = call zeroext i1 @sc_streq_4005573543169985(ptr %t59) + %t61 = xor i1 %t60, true + store i1 %t61, ptr %s62 + br i1 %t61, label %log.r10, label %log.j11 +log.r10: + %t63 = load ptr, ptr %sc_l_method_1 + %t64 = call zeroext i1 @sc_streq_367446482893939(ptr %t63) + %t65 = xor i1 %t64, true + store i1 %t65, ptr %s62 + br label %log.j11 +log.j11: + %t66 = load i1, ptr %s62 + store i1 %t66, ptr %s67 + br i1 %t66, label %log.r12, label %log.j13 +log.r12: + %t68 = load ptr, ptr %sc_l_method_1 + %t69 = call zeroext i1 @sc_streq_3185835515143599(ptr %t68) + %t70 = xor i1 %t69, true + store i1 %t70, ptr %s67 + br label %log.j13 +log.j13: + %t71 = load i1, ptr %s67 + br i1 %t71, label %if.t14, label %if.j15 +if.t14: + %t72 = load ptr, ptr %sc_l_ct_0 + %t73 = call ptr @scr_str_to_lower(ptr %t72) + %t74 = call double @scr_str_index_of(ptr %t73, ptr @sc_lit_1841737023330611, double 0x0000000000000000) + %t75 = fcmp oeq double %t74, 0x0000000000000000 + call void @scr_str_release(ptr %t73) + br i1 %t75, label %if.t16, label %if.j17 +if.t16: + %t76 = load ptr, ptr %sc_l_lite_1 + %t77 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t76) + store ptr %t77, ptr %sc_l__x25_callbackReceiver_0 + %t78 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t79 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteRequest(ptr %t78) + %t80 = load ptr, ptr @scr_exc_active + %t81 = load i32, ptr %t80 + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t79) + br label %exc.cleanup20 +exc.k19: + store ptr %t79, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t84 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t85 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind + %t86 = load i32, ptr %t85 + %t87 = icmp eq i32 %t86, 6 + br i1 %t87, label %tern.t21, label %tern.f22 +tern.t21: + %t90 = call ptr @scr_dyn_undefined() + %t89 = call ptr @scr_dyn_retain_v(ptr %t90) + store ptr %t89, ptr %s88 + br label %tern.j23 +tern.f22: + %t91 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t92 = call ptr @sc_rc_retain_dyn(ptr %t91) + %t93 = call ptr @sc_f__x25_dyn_class_property_58(ptr %t92) + %t94 = load ptr, ptr @scr_exc_active + %t95 = load i32, ptr %t94 + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t93) + br label %exc.cleanup26 +exc.k25: + store ptr %t93, ptr %s88 + br label %tern.j23 +tern.j23: + %t98 = load ptr, ptr %s88 + store ptr %t98, ptr %sc_l__x25_callback_0 + %t99 = load ptr, ptr %sc_l__x25_callback_0 + %t100 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t101) + %t102 = call ptr @scr_dyn_call(ptr %t99, ptr null, i64 0, ptr @sc_cs_2774677165392416) + call void @scr_dyn_this_pop() + %t103 = load ptr, ptr @scr_exc_active + %t104 = load i32, ptr %t103 + %t105 = icmp ne i32 %t104, 0 + %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false) + br i1 %t106, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + br label %exc.cleanup29 +exc.k28: + %t107 = call ptr @sc_dc_116(ptr %t102, ptr null) + %t108 = load ptr, ptr @scr_exc_active + %t109 = load i32, ptr %t108 + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + call void @scr_promise_release(ptr %t107) + br label %exc.cleanup29 +exc.k31: + %t112 = call ptr @scr_await_ref(ptr %t107) + %t113 = load ptr, ptr @scr_exc_active + %t114 = load i32, ptr %t113 + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + call void @scr_promise_release(ptr %t107) + %t117 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t117) + %t118 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t118) + %t119 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m3_LiteRequest(ptr %t119) + call void @sc_rc_release_dyn(ptr %t112) + br label %exc.cleanup34 +exc.k33: + %t120 = call ptr @scr_bytes_from_dyn(i32 0, ptr %t112, i1 zeroext false) + %t121 = load ptr, ptr @scr_exc_active + %t122 = load i32, ptr %t121 + %t123 = icmp ne i32 %t122, 0 + %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false) + br i1 %t124, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + call void @scr_promise_release(ptr %t107) + %t125 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t125) + %t126 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t126) + %t127 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m3_LiteRequest(ptr %t127) + call void @sc_rc_release_dyn(ptr %t112) + call void @scr_bytes_release(ptr %t120) + br label %exc.cleanup34 +exc.k36: + %t128 = call ptr @scr_union_new_ref(i32 0, ptr %t120, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null) + %t129 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t129) + store ptr %t128, ptr %sc_l_bodyU8_0 + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + call void @scr_promise_release(ptr %t107) + %t130 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t130) + %t131 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m3_LiteRequest(ptr %t132) + call void @sc_rc_release_dyn(ptr %t112) + br label %if.j17 +if.j17: + br label %if.j15 +if.j15: + %t133 = load ptr, ptr %sc_l_app_1 + %t134 = call ptr @sc_retain__x25_m5_App(ptr %t133) + store ptr %t134, ptr %sc_l__x25_callReceiver_0 + %t135 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t136 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t135, i64 0, i32 16 + %t137 = load ptr, ptr %t136, !tbaa !184 + %t138 = call ptr @scr_closure_retain_v(ptr %t137) + %t139 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t140 = call ptr @sc_retain__x25_m5_App(ptr %t139) + %t141 = load ptr, ptr %sc_l_method_1 + %t142 = call ptr @sc_rc_retain_str(ptr %t141) + %t143 = load ptr, ptr %sc_l_url_1 + %t144 = call ptr @sc_rc_retain_str(ptr %t143) + %t145 = load ptr, ptr %sc_l_hs_1 + %t146 = call ptr @sc_rretain_r0(ptr %t145) + %t147 = load ptr, ptr %sc_l_lite_1 + %t148 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t147, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t149 = load ptr, ptr %sc_l_bodyU8_0 + %t150 = call ptr @scr_union_retain_v(ptr %t149) + %t151 = load ptr, ptr %sc_l_sink_1 + %t152 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t151) + %t153 = getelementptr inbounds %ScrClosure, ptr %t138, i64 0, i32 1 + %t154 = load ptr, ptr %t153 + call void @scr_dyn_this_push_typed(ptr %t140, ptr @sc_trr_0) + %t155 = call ptr %t154(ptr %t138, ptr %t142, ptr %t144, ptr %t146, ptr %t148, ptr @sc_lit_4005573543169985, ptr %t150, ptr %t152) + call void @scr_dyn_this_pop() + %t156 = load ptr, ptr @scr_exc_active + %t157 = load i32, ptr %t156 + %t158 = icmp ne i32 %t157, 0 + %t159 = call i1 @llvm.expect.i1(i1 %t158, i1 false) + br i1 %t159, label %exc.u37, label %exc.k38 +exc.u37: + call void @scr_closure_release(ptr %t138) + call void @sc_release__x25_m5_App(ptr %t140) + call void @scr_promise_release(ptr %t155) + br label %exc.cleanup39 +exc.k38: + %t160 = call zeroext i1 @scr_await_bool(ptr %t155) + %t161 = load ptr, ptr @scr_exc_active + %t162 = load i32, ptr %t161 + %t163 = icmp ne i32 %t162, 0 + %t164 = call i1 @llvm.expect.i1(i1 %t163, i1 false) + br i1 %t164, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_closure_release(ptr %t138) + call void @sc_release__x25_m5_App(ptr %t140) + call void @scr_promise_release(ptr %t155) + %t165 = load ptr, ptr %sc_l__x25_callReceiver_0 + call void @sc_release__x25_m5_App(ptr %t165) + br label %exc.cleanup34 +exc.k41: + store i1 %t160, ptr %sc_l_handled_0 + call void @scr_closure_release(ptr %t138) + call void @sc_release__x25_m5_App(ptr %t140) + call void @scr_promise_release(ptr %t155) + %t166 = load ptr, ptr %sc_l__x25_callReceiver_0 + call void @sc_release__x25_m5_App(ptr %t166) + %t167 = load i1, ptr %sc_l_handled_0 + %t168 = icmp eq i1 %t167, false + br i1 %t168, label %if.t42, label %if.j43 +if.t42: + %t169 = load ptr, ptr %sc_l_app_1 + %t170 = call ptr @sc_retain__x25_m5_App(ptr %t169) + store ptr %t170, ptr %sc_l__x25_callbackReceiver_1 + %t171 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t172 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t171) + %t173 = load ptr, ptr @scr_exc_active + %t174 = load i32, ptr %t173 + %t175 = icmp ne i32 %t174, 0 + %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false) + br i1 %t176, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t172) + br label %exc.cleanup46 +exc.k45: + store ptr %t172, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t177 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t178 = getelementptr inbounds i8, ptr %t177, i64 8 ; ->kind + %t179 = load i32, ptr %t178 + %t180 = icmp eq i32 %t179, 6 + br i1 %t180, label %tern.t47, label %tern.f48 +tern.t47: + %t183 = call ptr @scr_dyn_undefined() + %t182 = call ptr @scr_dyn_retain_v(ptr %t183) + store ptr %t182, ptr %s181 + br label %tern.j49 +tern.f48: + %t184 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t185 = call ptr @sc_rc_retain_dyn(ptr %t184) + %t186 = call ptr @sc_f__x25_dyn_class_property_59(ptr %t185) + %t187 = load ptr, ptr @scr_exc_active + %t188 = load i32, ptr %t187 + %t189 = icmp ne i32 %t188, 0 + %t190 = call i1 @llvm.expect.i1(i1 %t189, i1 false) + br i1 %t190, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t186) + br label %exc.cleanup52 +exc.k51: + store ptr %t186, ptr %s181 + br label %tern.j49 +tern.j49: + %t191 = load ptr, ptr %s181 + store ptr %t191, ptr %sc_l__x25_callback_1 + %t192 = load ptr, ptr %sc_l__x25_callback_1 + %t193 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t195 = load ptr, ptr %sc_l_method_1 + %t196 = call ptr @sc_td_0(ptr %t195) + %t197 = load ptr, ptr %sc_l_url_1 + %t198 = call ptr @sc_td_0(ptr %t197) + %t199 = load ptr, ptr %sc_l_hs_1 + %t200 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t199, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + %t201 = load ptr, ptr %sc_l_lite_1 + %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t203 = call ptr @sc_td_0(ptr @sc_lit_4005573543169985) + %t204 = load ptr, ptr %sc_l_bodyU8_0 + %t205 = call ptr @scr_union_retain_v(ptr %t204) + %t206 = call ptr @sc_td_18(ptr %t205) + %t207 = load ptr, ptr %sc_l_sink_1 + %t208 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t207, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t210 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 0 + store ptr %t196, ptr %t210 + %t211 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 1 + store ptr %t198, ptr %t211 + %t212 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 2 + store ptr %t200, ptr %t212 + %t213 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 3 + store ptr %t202, ptr %t213 + %t214 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 4 + store ptr %t203, ptr %t214 + %t215 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 5 + store ptr %t206, ptr %t215 + %t216 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 6 + store ptr %t208, ptr %t216 + call void @scr_dyn_this_push_dyn(ptr %t194) + %t217 = call ptr @scr_dyn_call(ptr %t192, ptr %s209, i64 7, ptr @sc_cs_3930082970088621) + call void @scr_dyn_this_pop() + %t218 = load ptr, ptr @scr_exc_active + %t219 = load i32, ptr %t218 + %t220 = icmp ne i32 %t219, 0 + %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false) + br i1 %t221, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t196) + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t200) + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t203) + call void @scr_union_release(ptr %t205) + call void @sc_rc_release_dyn(ptr %t206) + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t217) + br label %exc.cleanup55 +exc.k54: + %t222 = call ptr @sc_dc_117(ptr %t217, ptr null) + %t223 = load ptr, ptr @scr_exc_active + %t224 = load i32, ptr %t223 + %t225 = icmp ne i32 %t224, 0 + %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false) + br i1 %t226, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t196) + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t200) + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t203) + call void @scr_union_release(ptr %t205) + call void @sc_rc_release_dyn(ptr %t206) + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t217) + call void @scr_promise_release(ptr %t222) + br label %exc.cleanup55 +exc.k57: + call void @scr_await_void(ptr %t222) + %t227 = load ptr, ptr @scr_exc_active + %t228 = load i32, ptr %t227 + %t229 = icmp ne i32 %t228, 0 + %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false) + br i1 %t230, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t196) + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t200) + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t203) + call void @scr_union_release(ptr %t205) + call void @sc_rc_release_dyn(ptr %t206) + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t217) + call void @scr_promise_release(ptr %t222) + %t231 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t231) + %t232 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t232) + %t233 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_App(ptr %t233) + br label %exc.cleanup34 +exc.k59: + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t196) + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t200) + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t203) + call void @scr_union_release(ptr %t205) + call void @sc_rc_release_dyn(ptr %t206) + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t217) + call void @scr_promise_release(ptr %t222) + %t234 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t234) + %t235 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t235) + %t236 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_App(ptr %t236) + br label %if.j43 +if.j43: + %t237 = load ptr, ptr %sc_l_sink_1 + %t238 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t237, i64 0, i32 10 + %t239 = load ptr, ptr %t238, !tbaa !64 + %t240 = call ptr @sc_rretain_r1(ptr %t239) + store ptr %t240, ptr %sc_l_a_0 + %t241 = load ptr, ptr %sc_l_a_0 + %t243 = icmp ne ptr %t241, null + br i1 %t243, label %if.t60, label %if.j61 +if.t60: + %t244 = load ptr, ptr %sc_l_a_0 + %t245 = getelementptr inbounds %sc_rs_r1, ptr %t244, i64 0, i32 1 + %t246 = load ptr, ptr %t245 + %t247 = call ptr @sc_rc_retain_dyn(ptr %t246) + store ptr %t247, ptr %sc_l_b_0 + %t248 = load ptr, ptr %sc_l_b_0 + %t249 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t250 = load i32, ptr %t249 + %t251 = icmp eq i32 %t250, 0 + %t252 = xor i1 %t251, true + br i1 %t252, label %if.t62, label %if.j63 +if.t62: + %t253 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) ; let reader (boxed) + store ptr %t253, ptr %sc_l_reader_0 + %t254 = load ptr, ptr %sc_l_b_0 + %t255 = call ptr @scr_dyn_prepare_method(ptr %t254, ptr @sc_cs_3875089545086560) + %t256 = load ptr, ptr @scr_exc_active + %t257 = load i32, ptr %t256 + %t258 = icmp ne i32 %t257, 0 + %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false) + br i1 %t259, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t255) + br label %exc.cleanup66 +exc.k65: + %t260 = call ptr @scr_dyn_invoke_prepared(ptr %t254, ptr %t255, ptr @sc_cs_3875089545086560, ptr null, i64 0, ptr @sc_cs_1259827915176370) + %t261 = load ptr, ptr @scr_exc_active + %t262 = load i32, ptr %t261 + %t263 = icmp ne i32 %t262, 0 + %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false) + br i1 %t264, label %exc.u67, label %exc.k68 +exc.u67: + call void @sc_rc_release_dyn(ptr %t255) + call void @sc_rc_release_dyn(ptr %t260) + br label %exc.cleanup66 +exc.k68: + call void @scr_box_set_ref(ptr %t253, ptr %t260) + call void @sc_rc_release_dyn(ptr %t255) + %t265 = call ptr @scr_box_new(i32 4) ; let step (boxed) + store ptr %t265, ptr %sc_l_step_0 + %t266 = call ptr @scr_closure_new(ptr @sc_f__x25_fn10, i64 3) + %t267 = getelementptr inbounds %ScrClosure, ptr %t266, i64 0, i32 4 + store i32 4, ptr %t267 + %t268 = load ptr, ptr %sc_l_reader_0 + %t269 = call ptr @sc_retain_box(ptr %t268) + %t270 = getelementptr inbounds %ScrClosure, ptr %t266, i64 1 ; caps + %t271 = getelementptr inbounds ptr, ptr %t270, i64 0 ; caps[0] + store ptr %t269, ptr %t271 + %t272 = load ptr, ptr %sc_l_res_0 + %t273 = call ptr @sc_retain_box(ptr %t272) + %t274 = getelementptr inbounds %ScrClosure, ptr %t266, i64 1 ; caps + %t275 = getelementptr inbounds ptr, ptr %t274, i64 1 ; caps[1] + store ptr %t273, ptr %t275 + %t276 = load ptr, ptr %sc_l_step_0 + %t277 = call ptr @sc_retain_box(ptr %t276) + %t278 = getelementptr inbounds %ScrClosure, ptr %t266, i64 1 ; caps + %t279 = getelementptr inbounds ptr, ptr %t278, i64 2 ; caps[2] + store ptr %t277, ptr %t279 + %t280 = load ptr, ptr %sc_l_step_0 + call void @scr_box_set_ref(ptr %t280, ptr %t266) + %t281 = load ptr, ptr %sc_l_step_0 + %t282 = getelementptr inbounds %ScrBox, ptr %t281, i64 0, i32 5 + %t283 = load i64, ptr %t282 + %t284 = icmp eq i64 %t283, 0 + br i1 %t284, label %tdz.t69, label %tdz.k70 +tdz.t69: + call void @scr_throw_error_named(ptr @sc_lit_2408580547322579, ptr @sc_lit_874990306745984) + br label %exc.cleanup71 +tdz.k70: + %t285 = call ptr @scr_box_get_ref(ptr %t281) + %t286 = getelementptr inbounds %ScrClosure, ptr %t285, i64 0, i32 1 + %t287 = load ptr, ptr %t286 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t287(ptr %t285) + call void @scr_dyn_this_pop() + %t288 = load ptr, ptr @scr_exc_active + %t289 = load i32, ptr %t288 + %t290 = icmp ne i32 %t289, 0 + %t291 = call i1 @llvm.expect.i1(i1 %t290, i1 false) + br i1 %t291, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_closure_release(ptr %t285) + br label %exc.cleanup71 +exc.k73: + call void @scr_closure_release(ptr %t285) + %t292 = load ptr, ptr %sc_l_reader_0 + call void @scr_box_release(ptr %t292) + %t293 = load ptr, ptr %sc_l_step_0 + call void @scr_box_release(ptr %t293) + %t294 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t294) + %t295 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t295) + %t296 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t296) + %t297 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t297) + %t298 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t298) + %t299 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t299) + %t300 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t300) + %t301 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t301) + %t302 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t302) + %t303 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t303) + %t304 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t304) + ret void +if.j63: + %t305 = load ptr, ptr %sc_l_res_1 + %t306 = call ptr @scr_http_res_retain_v(ptr %t305) + %t307 = call zeroext i1 @scr_http_res_writable_ended(ptr %t306) + %t308 = icmp eq i1 %t307, false + call void @scr_http_res_release(ptr %t306) + br i1 %t308, label %if.t74, label %if.j75 +if.t74: + %t309 = load ptr, ptr %sc_l_res_1 + %t310 = call ptr @scr_http_res_retain_v(ptr %t309) + call void @scr_http_res_end(ptr %t310) + %t311 = load ptr, ptr @scr_exc_active + %t312 = load i32, ptr %t311 + %t313 = icmp ne i32 %t312, 0 + %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false) + br i1 %t314, label %exc.u76, label %exc.k77 +exc.u76: + call void @scr_http_res_release(ptr %t310) + br label %exc.cleanup78 +exc.k77: + call void @scr_http_res_release(ptr %t310) + br label %if.j75 +if.j75: + %t315 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t315) + br label %if.j61 +if.j61: + %t316 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t316) + %t317 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t317) + %t318 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t318) + %t319 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t319) + %t320 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t320) + %t321 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t321) + %t322 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t322) + %t323 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t323) + %t324 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t324) + %t325 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t325) + ret void +exc.cleanup4: + %t326 = load ptr, ptr %sc_l__x25_ownReceiver_0 + call void @sc_rrelease_r0(ptr %t326) + %t327 = load ptr, ptr %sc_l__x25_ownKey_0 + call void @scr_str_release(ptr %t327) + %t328 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t328) + %t329 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t329) + %t330 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t330) + %t331 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t331) + %t332 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t332) + %t333 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t333) + %t334 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t334) + %t335 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t335) + %t336 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t336) + ret void +exc.cleanup20: + %t337 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m3_LiteRequest(ptr %t337) + %t338 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t338) + %t339 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t339) + %t340 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t340) + %t341 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t341) + %t342 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t342) + %t343 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t343) + %t344 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t344) + %t345 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t345) + %t346 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t346) + ret void +exc.cleanup26: + %t347 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t347) + %t348 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m3_LiteRequest(ptr %t348) + %t349 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t349) + %t350 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t350) + %t351 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t351) + %t352 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t352) + %t353 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t353) + %t354 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t354) + %t355 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t355) + %t356 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t356) + %t357 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t357) + ret void +exc.cleanup29: + %t358 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t358) + %t359 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t359) + %t360 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m3_LiteRequest(ptr %t360) + %t361 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t361) + %t362 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t362) + %t363 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t363) + %t364 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t364) + %t365 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t365) + %t366 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t366) + %t367 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t367) + %t368 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t368) + %t369 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t369) + ret void +exc.cleanup34: + %t370 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t370) + %t371 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t371) + %t372 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t372) + %t373 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t373) + %t374 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t374) + %t375 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t375) + %t376 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t376) + %t377 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t377) + %t378 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t378) + ret void +exc.cleanup39: + %t379 = load ptr, ptr %sc_l__x25_callReceiver_0 + call void @sc_release__x25_m5_App(ptr %t379) + %t380 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t380) + %t381 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t381) + %t382 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t382) + %t383 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t383) + %t384 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t384) + %t385 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t385) + %t386 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t386) + %t387 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t387) + %t388 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t388) + ret void +exc.cleanup46: + %t389 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_App(ptr %t389) + %t390 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t390) + %t391 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t391) + %t392 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t392) + %t393 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t393) + %t394 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t394) + %t395 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t395) + %t396 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t396) + %t397 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t397) + %t398 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t398) + ret void +exc.cleanup52: + %t399 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t399) + %t400 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_App(ptr %t400) + %t401 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t401) + %t402 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t402) + %t403 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t403) + %t404 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t404) + %t405 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t405) + %t406 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t406) + %t407 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t407) + %t408 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t408) + %t409 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t409) + ret void +exc.cleanup55: + %t410 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t410) + %t411 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t411) + %t412 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m5_App(ptr %t412) + %t413 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t413) + %t414 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t414) + %t415 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t415) + %t416 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t416) + %t417 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t417) + %t418 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t418) + %t419 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t419) + %t420 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t420) + %t421 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t421) + ret void +exc.cleanup66: + %t422 = load ptr, ptr %sc_l_reader_0 + call void @scr_box_release(ptr %t422) + %t423 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t423) + %t424 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t424) + %t425 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t425) + %t426 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t426) + %t427 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t427) + %t428 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t428) + %t429 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t429) + %t430 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t430) + %t431 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t431) + %t432 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t432) + %t433 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t433) + ret void +exc.cleanup71: + %t434 = load ptr, ptr %sc_l_reader_0 + call void @scr_box_release(ptr %t434) + %t435 = load ptr, ptr %sc_l_step_0 + call void @scr_box_release(ptr %t435) + %t436 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t436) + %t437 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t437) + %t438 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t438) + %t439 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t439) + %t440 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t440) + %t441 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t441) + %t442 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t442) + %t443 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t443) + %t444 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t444) + %t445 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t445) + %t446 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t446) + ret void +exc.cleanup78: + %t447 = load ptr, ptr %sc_l_b_0 + call void @sc_rc_release_dyn(ptr %t447) + %t448 = load ptr, ptr %sc_l_hs_1 + call void @sc_rrelease_r0(ptr %t448) + %t449 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t449) + %t450 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t450) + %t451 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t451) + %t452 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t452) + %t453 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m3_LiteResponse(ptr %t453) + %t454 = load ptr, ptr %sc_l_res_1 + call void @scr_http_res_release(ptr %t454) + %t455 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t455) + %t456 = load ptr, ptr %sc_l_ct_0 + call void @scr_str_release(ptr %t456) + %t457 = load ptr, ptr %sc_l_a_0 + call void @sc_rrelease_r1(ptr %t457) + ret void +} + +define internal void @sc_f__x25_fn14(ptr %sc_env) #0 { ; %fn14 +entry: + ret void +} + +define internal void @sc_f__x25_fn15(ptr %sc_env) #0 { ; %fn15 +entry: + %sc_l_res_0 = alloca ptr ; res + %sc_l_res_1 = alloca ptr ; res + store ptr null, ptr %sc_l_res_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_res_0 ; captured res + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_res_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_res_1 + %t10 = load ptr, ptr %sc_l_res_1 + %t11 = call ptr @scr_http_res_retain_v(ptr %t10) + call void @scr_http_res_destroy(ptr %t11) + call void @scr_http_res_release(ptr %t11) + ret void +} + +define internal void @sc_f__x25_fn16_then2(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_f_0, ptr %p_sc_l_r_0) #0 { ; %fn16_then2 +entry: + %sc_l_p_0 = alloca ptr ; p + %sc_l_f_0 = alloca ptr ; f + %sc_l_r_0 = alloca ptr ; r + %sc_l_e_0 = alloca ptr ; e + %s18 = alloca [1 x ptr] + store ptr null, ptr %sc_l_e_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_f_0, ptr %sc_l_f_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @scr_promise_retain_v(ptr %t4) + call void @scr_await_void(ptr %t5) + %t6 = load ptr, ptr @scr_exc_active + %t7 = load i32, ptr %t6 + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_promise_release(ptr %t5) + br label %try.c3 +exc.k7: + call void @scr_promise_release(ptr %t5) + br label %try.e5 +try.c3: + %t10 = call ptr @scr_exc_take() ; catch binding + store ptr %t10, ptr %sc_l_e_0 + %t11 = load ptr, ptr %sc_l_r_0 + %t12 = load ptr, ptr %sc_l_e_0 + %t13 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t12) + %t14 = load ptr, ptr @scr_exc_active + %t15 = load i32, ptr %t14 + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t13) + br label %exc.cleanup10 +exc.k9: + %t19 = getelementptr inbounds [1 x ptr], ptr %s18, i64 0, i64 0 + store ptr %t13, ptr %t19 + call void @scr_dyn_this_push_dyn(ptr null) + %t20 = call ptr @scr_dyn_call(ptr %t11, ptr %s18, i64 1, ptr @sc_cs_1235448592878459) + call void @scr_dyn_this_pop() + %t21 = load ptr, ptr @scr_exc_active + %t22 = load i32, ptr %t21 + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup10 +exc.k12: + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t20) + %t25 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t25) + %t26 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t26) + %t27 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t27) + %t28 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t28) + ret void +try.e5: + %t29 = load ptr, ptr %sc_l_f_0 + %t30 = getelementptr inbounds %ScrClosure, ptr %t29, i64 0, i32 1 + %t31 = load ptr, ptr %t30 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t31(ptr %t29) + call void @scr_dyn_this_pop() + %t32 = load ptr, ptr @scr_exc_active + %t33 = load i32, ptr %t32 + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u13, label %exc.k14 +exc.u13: + br label %exc.cleanup2 +exc.k14: + %t36 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t36) + %t37 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t37) + %t38 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t38) + ret void +exc.cleanup2: + %t39 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t39) + %t40 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t40) + %t41 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t41) + ret void +exc.cleanup10: + %t42 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t42) + %t43 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t43) + %t44 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t44) + %t45 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t45) + ret void +} + +define internal void @sc_bf__x25_fn8(ptr %sc_env, ptr %p_sc_l_req_0, ptr %p_sc_l_res_0) #0 { ; %fn8 +entry: + %sc_l_req_0 = alloca ptr ; req + %sc_l_res_0 = alloca ptr ; res + %sc_l_lite_0 = alloca ptr ; lite + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_method_0 = alloca ptr ; method + %sc_l_url_0 = alloca ptr ; url + %sc_l_hs_0 = alloca ptr ; hs + %sc_l_app_0 = alloca ptr ; app + %sc_l_p_0 = alloca ptr ; p + %sc_l_lite_1 = alloca ptr ; lite + %s3 = alloca ptr ; lazy box res + %exc.cell = load ptr, ptr @scr_exc_active + %s31 = alloca ptr + store ptr null, ptr %sc_l_lite_0 + store ptr null, ptr %sc_l_sink_0 + store ptr null, ptr %sc_l_method_0 + store ptr null, ptr %sc_l_url_0 + store ptr null, ptr %sc_l_hs_0 + store ptr null, ptr %sc_l_p_0 + store ptr null, ptr %sc_l_lite_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_app_0 ; captured app + store ptr null, ptr %s3 + store ptr %p_sc_l_req_0, ptr %sc_l_req_0 + store ptr %p_sc_l_res_0, ptr %sc_l_res_0 + %t4 = call ptr @llvm.stacksave.p0() + %t5 = load ptr, ptr @scr_stack_guard + %t6 = icmp ult ptr %t4, %t5 + %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false) + br i1 %t7, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t8 = call ptr @sc_new__x25_m3_LiteRequest() + %t9 = load ptr, ptr %sc_l_req_0 + call void @sc_bf__x25__x25_m3_LiteRequest_constructor(ptr %t8, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_release__x25_m3_LiteRequest(ptr %t8) + br label %exc.cleanup2 +exc.k4: + store ptr %t8, ptr %sc_l_lite_1 + %t13 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let lite (boxed) + store ptr %t13, ptr %sc_l_lite_0 + %t14 = load ptr, ptr %sc_l_lite_1 + %t15 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t14) + call void @scr_box_set_ref(ptr %t13, ptr %t15) + %t16 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_trace__x25_m3_LiteResponse) ; let sink (boxed) + store ptr %t16, ptr %sc_l_sink_0 + %t17 = call ptr @sc_new__x25_m3_LiteResponse() + %t18 = load ptr, ptr %sc_l_res_0 + call void @sc_bf__x25__x25_m3_LiteResponse_constructor(ptr %t17, ptr %t18) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_release__x25_m3_LiteResponse(ptr %t17) + br label %exc.cleanup7 +exc.k6: + call void @scr_box_set_ref(ptr %t16, ptr %t17) + %t22 = call ptr @scr_box_new(i32 2) ; let method (boxed) + store ptr %t22, ptr %sc_l_method_0 + %t23 = load ptr, ptr %sc_l_lite_1 + %t24 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t23, i64 0, i32 1 + %t25 = load ptr, ptr %t24, !tbaa !76 + %t26 = call ptr @sc_rc_retain_str(ptr %t25) + call void @scr_box_set_ref(ptr %t22, ptr %t26) + %t27 = call ptr @scr_box_new(i32 2) ; let url (boxed) + store ptr %t27, ptr %sc_l_url_0 + %t28 = load ptr, ptr %sc_l_req_0 + %t29 = call ptr @scr_http_req_retain_v(ptr %t28) + %t30 = call ptr @scr_http_req_url(ptr %t29) + store ptr %t30, ptr %s31 + %t32 = getelementptr inbounds %ScrStr, ptr %t30, i64 0, i32 1 + %t33 = load i64, ptr %t32 + %t34 = icmp ne i64 %t33, 0 + br i1 %t34, label %log.j9, label %log.r8 +log.r8: + call void @scr_str_release(ptr %t30) + store ptr @sc_lit_2434240011052594, ptr %s31 + br label %log.j9 +log.j9: + %t35 = load ptr, ptr %s31 + call void @scr_box_set_ref(ptr %t27, ptr %t35) + call void @scr_http_req_release(ptr %t29) + %t36 = call ptr @scr_box_new_obj(ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr null) ; let hs (boxed) + store ptr %t36, ptr %sc_l_hs_0 + %t37 = load ptr, ptr %sc_l_lite_1 + %t38 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t37, i64 0, i32 5 + %t39 = load ptr, ptr %t38, !tbaa !86 + %t40 = call ptr @sc_rretain_r0(ptr %t39) + call void @scr_box_set_ref(ptr %t36, ptr %t40) + %t41 = call ptr @scr_closure_new(ptr @sc_as__x25_fn9, i64 7) + %t42 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 4 + store i32 2, ptr %t42 + %t43 = load ptr, ptr %sc_l_hs_0 + %t44 = call ptr @sc_retain_box(ptr %t43) + %t45 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t46 = getelementptr inbounds ptr, ptr %t45, i64 0 ; caps[0] + store ptr %t44, ptr %t46 + %t47 = load ptr, ptr %sc_l_method_0 + %t48 = call ptr @sc_retain_box(ptr %t47) + %t49 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t50 = getelementptr inbounds ptr, ptr %t49, i64 1 ; caps[1] + store ptr %t48, ptr %t50 + %t51 = load ptr, ptr %sc_l_lite_0 + %t52 = call ptr @sc_retain_box(ptr %t51) + %t53 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t54 = getelementptr inbounds ptr, ptr %t53, i64 2 ; caps[2] + store ptr %t52, ptr %t54 + %t55 = load ptr, ptr %sc_l_app_0 + %t56 = call ptr @sc_retain_box(ptr %t55) + %t57 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t58 = getelementptr inbounds ptr, ptr %t57, i64 3 ; caps[3] + store ptr %t56, ptr %t58 + %t59 = load ptr, ptr %sc_l_url_0 + %t60 = call ptr @sc_retain_box(ptr %t59) + %t61 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t62 = getelementptr inbounds ptr, ptr %t61, i64 4 ; caps[4] + store ptr %t60, ptr %t62 + %t63 = load ptr, ptr %sc_l_sink_0 + %t64 = call ptr @sc_retain_box(ptr %t63) + %t65 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t66 = getelementptr inbounds ptr, ptr %t65, i64 5 ; caps[5] + store ptr %t64, ptr %t66 + %t67 = load ptr, ptr %s3 + %t68 = icmp eq ptr %t67, null + br i1 %t68, label %lazy.box10, label %lazy.box.j11 +lazy.box10: + %t69 = call ptr @scr_box_new_obj(ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null) + %t70 = load ptr, ptr %sc_l_res_0 + %t71 = call ptr @scr_http_res_retain_v(ptr %t70) + call void @scr_box_set_ref(ptr %t69, ptr %t71) + store ptr %t69, ptr %s3 + br label %lazy.box.j11 +lazy.box.j11: + %t72 = load ptr, ptr %s3 + %t73 = call ptr @sc_retain_box(ptr %t72) + %t74 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps + %t75 = getelementptr inbounds ptr, ptr %t74, i64 6 ; caps[6] + store ptr %t73, ptr %t75 + %t76 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 1 + %t77 = load ptr, ptr %t76 + call void @scr_dyn_this_push_dyn(ptr null) + %t78 = call ptr %t77(ptr %t41) + call void @scr_dyn_this_pop() + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_closure_release(ptr %t41) + call void @scr_promise_release(ptr %t78) + br label %exc.cleanup14 +exc.k13: + store ptr %t78, ptr %sc_l_p_0 + call void @scr_closure_release(ptr %t41) + %t82 = call ptr @scr_closure_new(ptr @sc_as__x25_fn16_then2, i64 0) + %t83 = getelementptr inbounds %ScrClosure, ptr %t82, i64 0, i32 4 + store i32 2, ptr %t83 + %t84 = load ptr, ptr %sc_l_p_0 + %t85 = call ptr @scr_promise_retain_v(ptr %t84) + %t86 = call ptr @scr_closure_new(ptr @sc_f__x25_fn14, i64 0) + %t87 = getelementptr inbounds %ScrClosure, ptr %t86, i64 0, i32 4 + store i32 4, ptr %t87 + %t88 = call ptr @scr_closure_new(ptr @sc_f__x25_fn15, i64 1) + %t89 = getelementptr inbounds %ScrClosure, ptr %t88, i64 0, i32 4 + store i32 4, ptr %t89 + %t90 = load ptr, ptr %s3 + %t91 = icmp eq ptr %t90, null + br i1 %t91, label %lazy.box15, label %lazy.box.j16 +lazy.box15: + %t92 = call ptr @scr_box_new_obj(ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null) + %t93 = load ptr, ptr %sc_l_res_0 + %t94 = call ptr @scr_http_res_retain_v(ptr %t93) + call void @scr_box_set_ref(ptr %t92, ptr %t94) + store ptr %t92, ptr %s3 + br label %lazy.box.j16 +lazy.box.j16: + %t95 = load ptr, ptr %s3 + %t96 = call ptr @sc_retain_box(ptr %t95) + %t97 = getelementptr inbounds %ScrClosure, ptr %t88, i64 1 ; caps + %t98 = getelementptr inbounds ptr, ptr %t97, i64 0 ; caps[0] + store ptr %t96, ptr %t98 + %t99 = call ptr @sc_dfb_1(ptr %t88, ptr null) + %t100 = getelementptr inbounds %ScrClosure, ptr %t82, i64 0, i32 1 + %t101 = load ptr, ptr %t100 + call void @scr_dyn_this_push_dyn(ptr null) + %t102 = call ptr %t101(ptr %t82, ptr %t85, ptr %t86, ptr %t99) + call void @scr_dyn_this_pop() + %t103 = load i32, ptr %exc.cell + %t104 = icmp ne i32 %t103, 0 + %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false) + br i1 %t105, label %exc.u17, label %exc.k18 +exc.u17: + call void @scr_closure_release(ptr %t82) + call void @scr_closure_release(ptr %t88) + call void @scr_promise_release(ptr %t102) + br label %exc.cleanup19 +exc.k18: + call void @scr_closure_release(ptr %t82) + call void @scr_closure_release(ptr %t88) + call void @scr_promise_release(ptr %t102) + %t106 = load ptr, ptr %s3 + %t107 = icmp ne ptr %t106, null + br i1 %t107, label %lazy.release20, label %lazy.release.j21 +lazy.release20: + call void @scr_box_release(ptr %t106) + br label %lazy.release.j21 +lazy.release.j21: + %t108 = load ptr, ptr %sc_l_res_0 + call void @scr_http_res_release(ptr %t108) + %t109 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t109) + %t110 = load ptr, ptr %sc_l_lite_0 + call void @scr_box_release(ptr %t110) + %t111 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t111) + %t112 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t112) + %t113 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t113) + %t114 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t114) + %t115 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t115) + ret void +exc.cleanup2: + %t116 = load ptr, ptr %s3 + %t117 = icmp ne ptr %t116, null + br i1 %t117, label %lazy.release22, label %lazy.release.j23 +lazy.release22: + call void @scr_box_release(ptr %t116) + br label %lazy.release.j23 +lazy.release.j23: + %t118 = load ptr, ptr %sc_l_res_0 + call void @scr_http_res_release(ptr %t118) + ret void +exc.cleanup7: + %t119 = load ptr, ptr %s3 + %t120 = icmp ne ptr %t119, null + br i1 %t120, label %lazy.release24, label %lazy.release.j25 +lazy.release24: + call void @scr_box_release(ptr %t119) + br label %lazy.release.j25 +lazy.release.j25: + %t121 = load ptr, ptr %sc_l_res_0 + call void @scr_http_res_release(ptr %t121) + %t122 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t122) + %t123 = load ptr, ptr %sc_l_lite_0 + call void @scr_box_release(ptr %t123) + %t124 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t124) + ret void +exc.cleanup14: + %t125 = load ptr, ptr %s3 + %t126 = icmp ne ptr %t125, null + br i1 %t126, label %lazy.release26, label %lazy.release.j27 +lazy.release26: + call void @scr_box_release(ptr %t125) + br label %lazy.release.j27 +lazy.release.j27: + %t127 = load ptr, ptr %sc_l_res_0 + call void @scr_http_res_release(ptr %t127) + %t128 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t128) + %t129 = load ptr, ptr %sc_l_lite_0 + call void @scr_box_release(ptr %t129) + %t130 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t130) + %t131 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t131) + %t132 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t132) + %t133 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t133) + ret void +exc.cleanup19: + %t134 = load ptr, ptr %s3 + %t135 = icmp ne ptr %t134, null + br i1 %t135, label %lazy.release28, label %lazy.release.j29 +lazy.release28: + call void @scr_box_release(ptr %t134) + br label %lazy.release.j29 +lazy.release.j29: + %t136 = load ptr, ptr %sc_l_res_0 + call void @scr_http_res_release(ptr %t136) + %t137 = load ptr, ptr %sc_l_lite_1 + call void @sc_release__x25_m3_LiteRequest(ptr %t137) + %t138 = load ptr, ptr %sc_l_lite_0 + call void @scr_box_release(ptr %t138) + %t139 = load ptr, ptr %sc_l_sink_0 + call void @scr_box_release(ptr %t139) + %t140 = load ptr, ptr %sc_l_method_0 + call void @scr_box_release(ptr %t140) + %t141 = load ptr, ptr %sc_l_url_0 + call void @scr_box_release(ptr %t141) + %t142 = load ptr, ptr %sc_l_hs_0 + call void @scr_box_release(ptr %t142) + %t143 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t143) + ret void +} +define internal void @sc_f__x25_fn8(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_fn8(ptr %sc_env, ptr %p0, ptr %p1) + call void @scr_http_req_release(ptr %p0) + ret void +} + +define internal double @sc_bf__x25_union_narrow_1(ptr %p_sc_l_u_0) #0 { ; %union.narrow.1 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1 + %t2 = load i32, ptr %t3 + %t1 = icmp eq i32 %t2, 0 + br i1 %t1, label %if.t0, label %if.j1 +if.t0: + %t4 = load ptr, ptr %sc_l_u_0 + %t5 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 5 + %t6 = load double, ptr %t5 + ret double %t6 +if.j1: + %t7 = load ptr, ptr %sc_l_u_0 + %t10 = getelementptr inbounds %ScrUnion, ptr %t7, i64 0, i32 1 + %t9 = load i32, ptr %t10 + %t8 = icmp eq i32 %t9, 1 + br i1 %t8, label %if.t2, label %if.j3 +if.t2: + %t11 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t11, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret double 0x0000000000000000 +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret double 0x0000000000000000 +} +define internal double @sc_f__x25_union_narrow_1(ptr %p0) #0 { +entry: + %result = call double @sc_bf__x25_union_narrow_1(ptr %p0) + call void @scr_union_release(ptr %p0) + ret double %result +} + +define internal ptr @sc_bf__x25_union_narrow_2(ptr %p_sc_l_u_0) #0 { ; %union.narrow.2 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_2(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_2(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m5_MpCfg(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m5_MpCfg(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink() #0 { ; %prototype.data.%m2.ResponseSink +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + call void @scr_dyn_release(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + store i1 true, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_3752021314181142) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus) + %t13 = call ptr @sc_dfb_45(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + call void @scr_dyn_release(ptr %t25) + ret ptr null +exc.k11: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + call void @scr_dyn_release(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_2364278031517622) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader) + %t34 = call ptr @sc_dfb_9(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + call void @scr_dyn_release(ptr %t46) + ret ptr null +exc.k19: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + call void @scr_dyn_release(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_470306239805907) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader) + %t55 = call ptr @sc_dfb_9(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + call void @scr_dyn_release(ptr %t67) + ret ptr null +exc.k27: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + call void @scr_dyn_release(ptr %t67) + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = call ptr @sc_td_0(ptr @sc_lit_4133069531575059) + %t74 = call ptr @scr_dyn_new_obj() + %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody) + %t76 = call ptr @sc_dfb_46(ptr %t75, ptr null) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u28, label %exc.k29 +exc.u28: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + ret ptr null +exc.k29: + %t80 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + ret ptr null +exc.k31: + %t84 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + ret ptr null +exc.k33: + %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u34, label %exc.k35 +exc.u34: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + call void @scr_dyn_release(ptr %t88) + ret ptr null +exc.k35: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + call void @scr_dyn_release(ptr %t88) + %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + %t94 = call ptr @sc_td_0(ptr @sc_lit_2253648670486996) + %t95 = call ptr @scr_dyn_new_obj() + %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes) + %t97 = call ptr @sc_dfb_47(ptr %t96, ptr null) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + ret ptr null +exc.k37: + %t101 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + ret ptr null +exc.k39: + %t105 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + ret ptr null +exc.k41: + %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + call void @scr_dyn_release(ptr %t109) + ret ptr null +exc.k43: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + call void @scr_dyn_release(ptr %t109) + %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t114 = call ptr @sc_rc_retain_dyn(ptr %t113) + %t115 = call ptr @sc_td_0(ptr @sc_lit_161925136240866) + %t116 = call ptr @scr_dyn_new_obj() + %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect) + %t118 = call ptr @sc_dfb_48(ptr %t117, ptr null) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118) + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + ret ptr null +exc.k45: + %t122 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + ret ptr null +exc.k47: + %t126 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126) + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + ret ptr null +exc.k49: + %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u50, label %exc.k51 +exc.u50: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + call void @scr_dyn_release(ptr %t130) + ret ptr null +exc.k51: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + call void @scr_dyn_release(ptr %t130) + %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t135 = call ptr @sc_rc_retain_dyn(ptr %t134) + %t136 = call ptr @sc_td_0(ptr @sc_lit_298897322184109) + %t137 = call ptr @scr_dyn_new_obj() + %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write) + %t139 = call ptr @sc_dfb_46(ptr %t138, ptr null) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + ret ptr null +exc.k53: + %t143 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + ret ptr null +exc.k55: + %t147 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + ret ptr null +exc.k57: + %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + call void @scr_dyn_release(ptr %t151) + ret ptr null +exc.k59: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + call void @scr_dyn_release(ptr %t151) + %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t156 = call ptr @sc_rc_retain_dyn(ptr %t155) + %t157 = call ptr @sc_td_0(ptr @sc_lit_4085448292571548) + %t158 = call ptr @scr_dyn_new_obj() + %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead) + %t160 = call ptr @sc_dfb_49(ptr %t159, ptr null) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160) + %t161 = load i32, ptr %exc.cell + %t162 = icmp ne i32 %t161, 0 + %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false) + br i1 %t163, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + ret ptr null +exc.k61: + %t164 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164) + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + ret ptr null +exc.k63: + %t168 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u64, label %exc.k65 +exc.u64: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + ret ptr null +exc.k65: + %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u66, label %exc.k67 +exc.u66: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + call void @scr_dyn_release(ptr %t172) + ret ptr null +exc.k67: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + call void @scr_dyn_release(ptr %t172) + %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t177 = call ptr @sc_rc_retain_dyn(ptr %t176) + %t178 = call ptr @sc_td_0(ptr @sc_lit_3561861343106386) + %t179 = call ptr @scr_dyn_new_obj() + %t180 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream) + %t181 = call ptr @sc_dfb_1(ptr %t180, ptr null) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3610950885518037, ptr %t181) + %t182 = load i32, ptr %exc.cell + %t183 = icmp ne i32 %t182, 0 + %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false) + br i1 %t184, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + ret ptr null +exc.k69: + %t185 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_1948131179100861, ptr %t185) + %t186 = load i32, ptr %exc.cell + %t187 = icmp ne i32 %t186, 0 + %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false) + br i1 %t188, label %exc.u70, label %exc.k71 +exc.u70: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + ret ptr null +exc.k71: + %t189 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3198935257758645, ptr %t189) + %t190 = load i32, ptr %exc.cell + %t191 = icmp ne i32 %t190, 0 + %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false) + br i1 %t192, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + ret ptr null +exc.k73: + %t193 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t177, ptr %t178, ptr %t179) + %t194 = load i32, ptr %exc.cell + %t195 = icmp ne i32 %t194, 0 + %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false) + br i1 %t196, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + call void @scr_dyn_release(ptr %t193) + ret ptr null +exc.k75: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + call void @scr_dyn_release(ptr %t193) + %t197 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t199 = call ptr @sc_td_0(ptr @sc_lit_3108123016971750) + %t200 = call ptr @scr_dyn_new_obj() + %t201 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt) + %t202 = call ptr @sc_dfb_50(ptr %t201, ptr null) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3610950885518037, ptr %t202) + %t203 = load i32, ptr %exc.cell + %t204 = icmp ne i32 %t203, 0 + %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false) + br i1 %t205, label %exc.u76, label %exc.k77 +exc.u76: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + ret ptr null +exc.k77: + %t206 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_1948131179100861, ptr %t206) + %t207 = load i32, ptr %exc.cell + %t208 = icmp ne i32 %t207, 0 + %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false) + br i1 %t209, label %exc.u78, label %exc.k79 +exc.u78: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + ret ptr null +exc.k79: + %t210 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3198935257758645, ptr %t210) + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u80, label %exc.k81 +exc.u80: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + ret ptr null +exc.k81: + %t214 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t198, ptr %t199, ptr %t200) + %t215 = load i32, ptr %exc.cell + %t216 = icmp ne i32 %t215, 0 + %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false) + br i1 %t217, label %exc.u82, label %exc.k83 +exc.u82: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + call void @scr_dyn_release(ptr %t214) + ret ptr null +exc.k83: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + call void @scr_dyn_release(ptr %t214) + %t218 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t219 = call ptr @sc_rc_retain_dyn(ptr %t218) + %t220 = call ptr @sc_td_0(ptr @sc_lit_2529432852777196) + %t221 = call ptr @scr_dyn_new_obj() + %t222 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent) + %t223 = call ptr @sc_dfb_51(ptr %t222, ptr null) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3610950885518037, ptr %t223) + %t224 = load i32, ptr %exc.cell + %t225 = icmp ne i32 %t224, 0 + %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false) + br i1 %t226, label %exc.u84, label %exc.k85 +exc.u84: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + ret ptr null +exc.k85: + %t227 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_1948131179100861, ptr %t227) + %t228 = load i32, ptr %exc.cell + %t229 = icmp ne i32 %t228, 0 + %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false) + br i1 %t230, label %exc.u86, label %exc.k87 +exc.u86: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + ret ptr null +exc.k87: + %t231 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3198935257758645, ptr %t231) + %t232 = load i32, ptr %exc.cell + %t233 = icmp ne i32 %t232, 0 + %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false) + br i1 %t234, label %exc.u88, label %exc.k89 +exc.u88: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + ret ptr null +exc.k89: + %t235 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t219, ptr %t220, ptr %t221) + %t236 = load i32, ptr %exc.cell + %t237 = icmp ne i32 %t236, 0 + %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false) + br i1 %t238, label %exc.u90, label %exc.k91 +exc.u90: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + call void @scr_dyn_release(ptr %t235) + ret ptr null +exc.k91: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + call void @scr_dyn_release(ptr %t235) + %t239 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t240 = call ptr @sc_rc_retain_dyn(ptr %t239) + %t241 = call ptr @sc_td_0(ptr @sc_lit_4297539476301093) + %t242 = call ptr @scr_dyn_new_obj() + %t243 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent) + %t244 = call ptr @sc_dfb_51(ptr %t243, ptr null) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3610950885518037, ptr %t244) + %t245 = load i32, ptr %exc.cell + %t246 = icmp ne i32 %t245, 0 + %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false) + br i1 %t247, label %exc.u92, label %exc.k93 +exc.u92: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + ret ptr null +exc.k93: + %t248 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_1948131179100861, ptr %t248) + %t249 = load i32, ptr %exc.cell + %t250 = icmp ne i32 %t249, 0 + %t251 = call i1 @llvm.expect.i1(i1 %t250, i1 false) + br i1 %t251, label %exc.u94, label %exc.k95 +exc.u94: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + ret ptr null +exc.k95: + %t252 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3198935257758645, ptr %t252) + %t253 = load i32, ptr %exc.cell + %t254 = icmp ne i32 %t253, 0 + %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false) + br i1 %t255, label %exc.u96, label %exc.k97 +exc.u96: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + ret ptr null +exc.k97: + %t256 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t240, ptr %t241, ptr %t242) + %t257 = load i32, ptr %exc.cell + %t258 = icmp ne i32 %t257, 0 + %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false) + br i1 %t259, label %exc.u98, label %exc.k99 +exc.u98: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + call void @scr_dyn_release(ptr %t256) + ret ptr null +exc.k99: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + call void @scr_dyn_release(ptr %t256) + %t260 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t261 = call ptr @sc_rc_retain_dyn(ptr %t260) + %t262 = call ptr @sc_td_0(ptr @sc_lit_1959461887910059) + %t263 = call ptr @scr_dyn_new_obj() + %t264 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy) + %t265 = call ptr @sc_dfb_1(ptr %t264, ptr null) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3610950885518037, ptr %t265) + %t266 = load i32, ptr %exc.cell + %t267 = icmp ne i32 %t266, 0 + %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false) + br i1 %t268, label %exc.u100, label %exc.k101 +exc.u100: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + ret ptr null +exc.k101: + %t269 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_1948131179100861, ptr %t269) + %t270 = load i32, ptr %exc.cell + %t271 = icmp ne i32 %t270, 0 + %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false) + br i1 %t272, label %exc.u102, label %exc.k103 +exc.u102: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + ret ptr null +exc.k103: + %t273 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3198935257758645, ptr %t273) + %t274 = load i32, ptr %exc.cell + %t275 = icmp ne i32 %t274, 0 + %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false) + br i1 %t276, label %exc.u104, label %exc.k105 +exc.u104: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + ret ptr null +exc.k105: + %t277 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t261, ptr %t262, ptr %t263) + %t278 = load i32, ptr %exc.cell + %t279 = icmp ne i32 %t278, 0 + %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false) + br i1 %t280, label %exc.u106, label %exc.k107 +exc.u106: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + call void @scr_dyn_release(ptr %t277) + ret ptr null +exc.k107: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + call void @scr_dyn_release(ptr %t277) + %t281 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t282 = call ptr @sc_rc_retain_dyn(ptr %t281) + %t283 = call ptr @sc_td_0(ptr @sc_lit_181663572509014) + %t284 = call ptr @scr_dyn_new_obj() + %t285 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf) + %t286 = call ptr @sc_dfb_52(ptr %t285, ptr null) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3610950885518037, ptr %t286) + %t287 = load i32, ptr %exc.cell + %t288 = icmp ne i32 %t287, 0 + %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false) + br i1 %t289, label %exc.u108, label %exc.k109 +exc.u108: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + ret ptr null +exc.k109: + %t290 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_1948131179100861, ptr %t290) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u110, label %exc.k111 +exc.u110: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + ret ptr null +exc.k111: + %t294 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3198935257758645, ptr %t294) + %t295 = load i32, ptr %exc.cell + %t296 = icmp ne i32 %t295, 0 + %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false) + br i1 %t297, label %exc.u112, label %exc.k113 +exc.u112: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + ret ptr null +exc.k113: + %t298 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t282, ptr %t283, ptr %t284) + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u114, label %exc.k115 +exc.u114: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + call void @scr_dyn_release(ptr %t298) + ret ptr null +exc.k115: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + call void @scr_dyn_release(ptr %t298) + %t302 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t303 = call ptr @sc_rc_retain_dyn(ptr %t302) + %t304 = call ptr @sc_td_0(ptr @sc_lit_992600386266231) + %t305 = call ptr @scr_dyn_new_obj() + %t306 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf) + %t307 = call ptr @sc_dfb_53(ptr %t306, ptr null) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3610950885518037, ptr %t307) + %t308 = load i32, ptr %exc.cell + %t309 = icmp ne i32 %t308, 0 + %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false) + br i1 %t310, label %exc.u116, label %exc.k117 +exc.u116: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + ret ptr null +exc.k117: + %t311 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_1948131179100861, ptr %t311) + %t312 = load i32, ptr %exc.cell + %t313 = icmp ne i32 %t312, 0 + %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false) + br i1 %t314, label %exc.u118, label %exc.k119 +exc.u118: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + ret ptr null +exc.k119: + %t315 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3198935257758645, ptr %t315) + %t316 = load i32, ptr %exc.cell + %t317 = icmp ne i32 %t316, 0 + %t318 = call i1 @llvm.expect.i1(i1 %t317, i1 false) + br i1 %t318, label %exc.u120, label %exc.k121 +exc.u120: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + ret ptr null +exc.k121: + %t319 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t303, ptr %t304, ptr %t305) + %t320 = load i32, ptr %exc.cell + %t321 = icmp ne i32 %t320, 0 + %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false) + br i1 %t322, label %exc.u122, label %exc.k123 +exc.u122: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + call void @scr_dyn_release(ptr %t319) + ret ptr null +exc.k123: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + call void @scr_dyn_release(ptr %t319) + %t323 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t324 = call ptr @sc_rc_retain_dyn(ptr %t323) + %t325 = call ptr @sc_td_0(ptr @sc_lit_4198614539576238) + %t326 = call ptr @scr_dyn_new_obj() + %t327 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap) + %t328 = call ptr @sc_dfb_54(ptr %t327, ptr null) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3610950885518037, ptr %t328) + %t329 = load i32, ptr %exc.cell + %t330 = icmp ne i32 %t329, 0 + %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false) + br i1 %t331, label %exc.u124, label %exc.k125 +exc.u124: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + ret ptr null +exc.k125: + %t332 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_1948131179100861, ptr %t332) + %t333 = load i32, ptr %exc.cell + %t334 = icmp ne i32 %t333, 0 + %t335 = call i1 @llvm.expect.i1(i1 %t334, i1 false) + br i1 %t335, label %exc.u126, label %exc.k127 +exc.u126: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + ret ptr null +exc.k127: + %t336 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3198935257758645, ptr %t336) + %t337 = load i32, ptr %exc.cell + %t338 = icmp ne i32 %t337, 0 + %t339 = call i1 @llvm.expect.i1(i1 %t338, i1 false) + br i1 %t339, label %exc.u128, label %exc.k129 +exc.u128: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + ret ptr null +exc.k129: + %t340 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t324, ptr %t325, ptr %t326) + %t341 = load i32, ptr %exc.cell + %t342 = icmp ne i32 %t341, 0 + %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false) + br i1 %t343, label %exc.u130, label %exc.k131 +exc.u130: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + call void @scr_dyn_release(ptr %t340) + ret ptr null +exc.k131: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + call void @scr_dyn_release(ptr %t340) + %t344 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t345 = call ptr @sc_rc_retain_dyn(ptr %t344) + %t346 = call ptr @sc_td_0(ptr @sc_lit_3908714124573206) + %t347 = call ptr @scr_dyn_new_obj() + %t348 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes) + %t349 = call ptr @sc_dfb_55(ptr %t348, ptr null) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3610950885518037, ptr %t349) + %t350 = load i32, ptr %exc.cell + %t351 = icmp ne i32 %t350, 0 + %t352 = call i1 @llvm.expect.i1(i1 %t351, i1 false) + br i1 %t352, label %exc.u132, label %exc.k133 +exc.u132: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + ret ptr null +exc.k133: + %t353 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_1948131179100861, ptr %t353) + %t354 = load i32, ptr %exc.cell + %t355 = icmp ne i32 %t354, 0 + %t356 = call i1 @llvm.expect.i1(i1 %t355, i1 false) + br i1 %t356, label %exc.u134, label %exc.k135 +exc.u134: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + ret ptr null +exc.k135: + %t357 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3198935257758645, ptr %t357) + %t358 = load i32, ptr %exc.cell + %t359 = icmp ne i32 %t358, 0 + %t360 = call i1 @llvm.expect.i1(i1 %t359, i1 false) + br i1 %t360, label %exc.u136, label %exc.k137 +exc.u136: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + ret ptr null +exc.k137: + %t361 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t345, ptr %t346, ptr %t347) + %t362 = load i32, ptr %exc.cell + %t363 = icmp ne i32 %t362, 0 + %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false) + br i1 %t364, label %exc.u138, label %exc.k139 +exc.u138: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + call void @scr_dyn_release(ptr %t361) + ret ptr null +exc.k139: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + call void @scr_dyn_release(ptr %t361) + br label %if.j3 +if.j3: + %t365 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + %t366 = call ptr @sc_rc_retain_dyn(ptr %t365) + ret ptr %t366 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m2_ResponseSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m2.ResponseSink +entry: + %sc_l_this_0 = alloca ptr ; this + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s29 = alloca i1 + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + %s85 = alloca i1 + %s96 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_629517122853751 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_629517122853751) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_this_0 + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_629517122853751 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_29(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + ret ptr %t27 +if.j5: + %t28 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s29 + %t30 = icmp ne ptr %t28, null + br i1 %t30, label %brand.inspect13, label %brand.done15 +brand.inspect13: + %t31 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t33 = icmp eq i32 %t32, 12 + br i1 %t33, label %brand.capsule14, label %brand.done15 +brand.capsule14: + %t34 = getelementptr inbounds i8, ptr %t28, i64 40 ; ->v.typed_ref.type_key + %t35 = load ptr, ptr %t34 + %t36 = icmp eq ptr %t35, @sc_cs_3326437563644705 + store i1 true, ptr %s29 + br i1 %t36, label %brand.done15, label %brand.compare16 +brand.compare16: + %t37 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t28, ptr @sc_lit_3326437563644705) + store i1 %t37, ptr %s29 + br label %brand.done15 +brand.done15: + %t38 = load i1, ptr %s29 + br i1 %t38, label %if.t17, label %if.j18 +if.t17: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect19, label %dc.checked22 +dc.inspect19: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule20, label %dc.checked22 +dc.capsule20: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_3326437563644705 + br i1 %t45, label %dc.exact21, label %dc.checked22 +dc.exact21: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done23 +dc.checked22: + %t51 = call ptr @sc_dc_102(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u24, label %exc.k25 +exc.u24: + ret ptr null +exc.k25: + br label %dc.done23 +dc.done23: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j18: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect26, label %brand.done28 +brand.inspect26: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule27, label %brand.done28 +brand.capsule27: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_2434838942941195 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done28, label %brand.compare29 +brand.compare29: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2434838942941195) + store i1 %t65, ptr %s57 + br label %brand.done28 +brand.done28: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t30, label %if.j31 +if.t30: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect32, label %dc.checked35 +dc.inspect32: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule33, label %dc.checked35 +dc.capsule33: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_2434838942941195 + br i1 %t73, label %dc.exact34, label %dc.checked35 +dc.exact34: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done36 +dc.checked35: + %t79 = call ptr @sc_dc_52(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u37, label %exc.k38 +exc.u37: + ret ptr null +exc.k38: + br label %dc.done36 +dc.done36: + %t83 = load ptr, ptr %s68 + ret ptr %t83 +if.j31: + %t84 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s85 + %t86 = icmp ne ptr %t84, null + br i1 %t86, label %brand.inspect39, label %brand.done41 +brand.inspect39: + %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 12 + br i1 %t89, label %brand.capsule40, label %brand.done41 +brand.capsule40: + %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key + %t91 = load ptr, ptr %t90 + %t92 = icmp eq ptr %t91, @sc_cs_4074974279575818 + store i1 true, ptr %s85 + br i1 %t92, label %brand.done41, label %brand.compare42 +brand.compare42: + %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_4074974279575818) + store i1 %t93, ptr %s85 + br label %brand.done41 +brand.done41: + %t94 = load i1, ptr %s85 + br i1 %t94, label %if.t43, label %if.j44 +if.t43: + %t95 = load ptr, ptr %sc_l_this_0 + %t97 = icmp ne ptr %t95, null + br i1 %t97, label %dc.inspect45, label %dc.checked48 +dc.inspect45: + %t102 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind + %t103 = load i32, ptr %t102 + %t98 = icmp eq i32 %t103, 12 + br i1 %t98, label %dc.capsule46, label %dc.checked48 +dc.capsule46: + %t99 = getelementptr inbounds i8, ptr %t95, i64 40 ; ->v.typed_ref.type_key + %t100 = load ptr, ptr %t99 + %t101 = icmp eq ptr %t100, @sc_cs_4074974279575818 + br i1 %t101, label %dc.exact47, label %dc.checked48 +dc.exact47: + %t104 = getelementptr inbounds i8, ptr %t95, i64 16 ; ->v.typed_ref.ptr + %t105 = load ptr, ptr %t104 + %t106 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t105) + store ptr %t106, ptr %s96 + br label %dc.done49 +dc.checked48: + %t107 = call ptr @sc_dc_104(ptr %t95, ptr null) + store ptr %t107, ptr %s96 + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u50, label %exc.k51 +exc.u50: + ret ptr null +exc.k51: + br label %dc.done49 +dc.done49: + %t111 = load ptr, ptr %s96 + ret ptr %t111 +if.j44: + %t112 = load ptr, ptr %sc_l_this_0 + %t113 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_ResponseSink(ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_release__x25_m2_ResponseSink(ptr %t113) + ret ptr null +exc.k53: + ret ptr %t113 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m2_ResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_ResponseSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus(double %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.setStatus +entry: + %sc_l_p_0 = alloca double ; p0 + store double %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load double, ptr %sc_l_p_0 + call void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setStatus(double %t0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.setHeader +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %t0, ptr %t1) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.appendHeader +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %t0, ptr %t1) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.writeBody +entry: + %sc_l_p_0 = alloca ptr ; p0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %t0) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.bodyBytes +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %t0, ptr %t1) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1) + call void @scr_bytes_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p_sc_l_p_0, double %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.redirect +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca double ; p1 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store double %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load double, ptr %sc_l_p_1 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_redirect(ptr %t0, double %t1) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p0, double %p1) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.write +entry: + %sc_l_p_0 = alloca ptr ; p0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_write(ptr %t0) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.writeHead +entry: + %sc_l_p_0 = alloca double ; p0 + %sc_l_p_1 = alloca ptr ; p1 + store double %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = load double, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeHead(double %t0, ptr %t1) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %p0, ptr %p1) + call void @scr_arr_release(ptr %p1) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream() #0 { ; %method.value:%%m2.ResponseSink.endStream +entry: + call void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_endStream() + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.adopt +entry: + %sc_l_p_0 = alloca ptr ; p0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_adopt(ptr %t0) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p0) + call void @sc_rrelease_r1(ptr %p0) + ret void +} + +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent() #0 { ; %method.value:%%m2.ResponseSink.isSent +entry: + %t0 = call i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_isSent() + ret i1 %t0 +} + +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent() #0 { ; %method.value:%%m2.ResponseSink.isHeadersSent +entry: + %t0 = call i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_isHeadersSent() + ret i1 %t0 +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy() #0 { ; %method.value:%%m2.ResponseSink.destroy +entry: + call void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_destroy() + ret void +} + +define internal double @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf() #0 { ; %method.value:%%m2.ResponseSink.statusOf +entry: + %t0 = call i32 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_statusOf.i32() + %t1 = sitofp i32 %t0 to double + ret double %t1 +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.headerOf +entry: + %sc_l_p_0 = alloca ptr ; p0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %t0) ; borrowed result + ret ptr %t1 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_nretain_string(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_str_release(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap() #0 { ; %method.value:%%m2.ResponseSink.headersMap +entry: + %t0 = call ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headersMap() + ret ptr %t0 +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes() #0 { ; %method.value:%%m2.ResponseSink.nodeRes +entry: + %t0 = call ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_nodeRes() + ret ptr %t0 +} + +define internal ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() #0 { ; %prototype.data.%m2.FetchResponseSink +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_dyn_release(ptr %t6) + ret ptr null +exc.k5: + %t10 = call ptr @scr_dyn_obj_create(ptr %t6) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_dyn_release(ptr %t6) + call void @scr_dyn_release(ptr %t10) + ret ptr null +exc.k7: + %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + call void @scr_dyn_release(ptr %t14) + store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + call void @scr_dyn_release(ptr %t6) + store i1 true, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink_ready + %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + %t17 = call ptr @sc_td_0(ptr @sc_lit_3752021314181142) + %t18 = call ptr @scr_dyn_new_obj() + %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus) + %t20 = call ptr @sc_dfb_45(ptr %t19, ptr null) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + ret ptr null +exc.k9: + %t24 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + ret ptr null +exc.k11: + %t28 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + ret ptr null +exc.k13: + %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + call void @scr_dyn_release(ptr %t32) + ret ptr null +exc.k15: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + call void @scr_dyn_release(ptr %t32) + %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_td_0(ptr @sc_lit_2364278031517622) + %t39 = call ptr @scr_dyn_new_obj() + %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader) + %t41 = call ptr @sc_dfb_9(ptr %t40, ptr null) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + ret ptr null +exc.k17: + %t45 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + ret ptr null +exc.k19: + %t49 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49) + %t50 = load i32, ptr %exc.cell + %t51 = icmp ne i32 %t50, 0 + %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false) + br i1 %t52, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + ret ptr null +exc.k21: + %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39) + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + call void @scr_dyn_release(ptr %t53) + ret ptr null +exc.k23: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + call void @scr_dyn_release(ptr %t53) + %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t58 = call ptr @sc_rc_retain_dyn(ptr %t57) + %t59 = call ptr @sc_td_0(ptr @sc_lit_470306239805907) + %t60 = call ptr @scr_dyn_new_obj() + %t61 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader) + %t62 = call ptr @sc_dfb_9(ptr %t61, ptr null) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3610950885518037, ptr %t62) + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + ret ptr null +exc.k25: + %t66 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_1948131179100861, ptr %t66) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + ret ptr null +exc.k27: + %t70 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3198935257758645, ptr %t70) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u28, label %exc.k29 +exc.u28: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + ret ptr null +exc.k29: + %t74 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t58, ptr %t59, ptr %t60) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + call void @scr_dyn_release(ptr %t74) + ret ptr null +exc.k31: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + call void @scr_dyn_release(ptr %t74) + %t78 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + %t80 = call ptr @sc_td_0(ptr @sc_lit_4133069531575059) + %t81 = call ptr @scr_dyn_new_obj() + %t82 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody) + %t83 = call ptr @sc_dfb_46(ptr %t82, ptr null) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3610950885518037, ptr %t83) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + ret ptr null +exc.k33: + %t87 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_1948131179100861, ptr %t87) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u34, label %exc.k35 +exc.u34: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + ret ptr null +exc.k35: + %t91 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3198935257758645, ptr %t91) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + ret ptr null +exc.k37: + %t95 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t79, ptr %t80, ptr %t81) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + call void @scr_dyn_release(ptr %t95) + ret ptr null +exc.k39: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + call void @scr_dyn_release(ptr %t95) + %t99 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t100 = call ptr @sc_rc_retain_dyn(ptr %t99) + %t101 = call ptr @sc_td_0(ptr @sc_lit_2253648670486996) + %t102 = call ptr @scr_dyn_new_obj() + %t103 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes) + %t104 = call ptr @sc_dfb_47(ptr %t103, ptr null) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3610950885518037, ptr %t104) + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + ret ptr null +exc.k41: + %t108 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_1948131179100861, ptr %t108) + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + ret ptr null +exc.k43: + %t112 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3198935257758645, ptr %t112) + %t113 = load i32, ptr %exc.cell + %t114 = icmp ne i32 %t113, 0 + %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false) + br i1 %t115, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + ret ptr null +exc.k45: + %t116 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t100, ptr %t101, ptr %t102) + %t117 = load i32, ptr %exc.cell + %t118 = icmp ne i32 %t117, 0 + %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false) + br i1 %t119, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + call void @scr_dyn_release(ptr %t116) + ret ptr null +exc.k47: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + call void @scr_dyn_release(ptr %t116) + %t120 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t121 = call ptr @sc_rc_retain_dyn(ptr %t120) + %t122 = call ptr @sc_td_0(ptr @sc_lit_161925136240866) + %t123 = call ptr @scr_dyn_new_obj() + %t124 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect) + %t125 = call ptr @sc_dfb_48(ptr %t124, ptr null) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3610950885518037, ptr %t125) + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + ret ptr null +exc.k49: + %t129 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_1948131179100861, ptr %t129) + %t130 = load i32, ptr %exc.cell + %t131 = icmp ne i32 %t130, 0 + %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false) + br i1 %t132, label %exc.u50, label %exc.k51 +exc.u50: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + ret ptr null +exc.k51: + %t133 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3198935257758645, ptr %t133) + %t134 = load i32, ptr %exc.cell + %t135 = icmp ne i32 %t134, 0 + %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false) + br i1 %t136, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + ret ptr null +exc.k53: + %t137 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t121, ptr %t122, ptr %t123) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + call void @scr_dyn_release(ptr %t137) + ret ptr null +exc.k55: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + call void @scr_dyn_release(ptr %t137) + %t141 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t142 = call ptr @sc_rc_retain_dyn(ptr %t141) + %t143 = call ptr @sc_td_0(ptr @sc_lit_298897322184109) + %t144 = call ptr @scr_dyn_new_obj() + %t145 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write) + %t146 = call ptr @sc_dfb_46(ptr %t145, ptr null) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3610950885518037, ptr %t146) + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + ret ptr null +exc.k57: + %t150 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_1948131179100861, ptr %t150) + %t151 = load i32, ptr %exc.cell + %t152 = icmp ne i32 %t151, 0 + %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false) + br i1 %t153, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + ret ptr null +exc.k59: + %t154 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3198935257758645, ptr %t154) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + ret ptr null +exc.k61: + %t158 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t142, ptr %t143, ptr %t144) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + call void @scr_dyn_release(ptr %t158) + ret ptr null +exc.k63: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + call void @scr_dyn_release(ptr %t158) + %t162 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t163 = call ptr @sc_rc_retain_dyn(ptr %t162) + %t164 = call ptr @sc_td_0(ptr @sc_lit_4085448292571548) + %t165 = call ptr @scr_dyn_new_obj() + %t166 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead) + %t167 = call ptr @sc_dfb_49(ptr %t166, ptr null) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3610950885518037, ptr %t167) + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u64, label %exc.k65 +exc.u64: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + ret ptr null +exc.k65: + %t171 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_1948131179100861, ptr %t171) + %t172 = load i32, ptr %exc.cell + %t173 = icmp ne i32 %t172, 0 + %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false) + br i1 %t174, label %exc.u66, label %exc.k67 +exc.u66: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + ret ptr null +exc.k67: + %t175 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3198935257758645, ptr %t175) + %t176 = load i32, ptr %exc.cell + %t177 = icmp ne i32 %t176, 0 + %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false) + br i1 %t178, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + ret ptr null +exc.k69: + %t179 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t163, ptr %t164, ptr %t165) + %t180 = load i32, ptr %exc.cell + %t181 = icmp ne i32 %t180, 0 + %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false) + br i1 %t182, label %exc.u70, label %exc.k71 +exc.u70: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + call void @scr_dyn_release(ptr %t179) + ret ptr null +exc.k71: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + call void @scr_dyn_release(ptr %t179) + %t183 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t184 = call ptr @sc_rc_retain_dyn(ptr %t183) + %t185 = call ptr @sc_td_0(ptr @sc_lit_3561861343106386) + %t186 = call ptr @scr_dyn_new_obj() + %t187 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream) + %t188 = call ptr @sc_dfb_1(ptr %t187, ptr null) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3610950885518037, ptr %t188) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + ret ptr null +exc.k73: + %t192 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_1948131179100861, ptr %t192) + %t193 = load i32, ptr %exc.cell + %t194 = icmp ne i32 %t193, 0 + %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false) + br i1 %t195, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + ret ptr null +exc.k75: + %t196 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3198935257758645, ptr %t196) + %t197 = load i32, ptr %exc.cell + %t198 = icmp ne i32 %t197, 0 + %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false) + br i1 %t199, label %exc.u76, label %exc.k77 +exc.u76: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + ret ptr null +exc.k77: + %t200 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t184, ptr %t185, ptr %t186) + %t201 = load i32, ptr %exc.cell + %t202 = icmp ne i32 %t201, 0 + %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false) + br i1 %t203, label %exc.u78, label %exc.k79 +exc.u78: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + call void @scr_dyn_release(ptr %t200) + ret ptr null +exc.k79: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + call void @scr_dyn_release(ptr %t200) + %t204 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t205 = call ptr @sc_rc_retain_dyn(ptr %t204) + %t206 = call ptr @sc_td_0(ptr @sc_lit_3108123016971750) + %t207 = call ptr @scr_dyn_new_obj() + %t208 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt) + %t209 = call ptr @sc_dfb_50(ptr %t208, ptr null) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3610950885518037, ptr %t209) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u80, label %exc.k81 +exc.u80: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + ret ptr null +exc.k81: + %t213 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_1948131179100861, ptr %t213) + %t214 = load i32, ptr %exc.cell + %t215 = icmp ne i32 %t214, 0 + %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false) + br i1 %t216, label %exc.u82, label %exc.k83 +exc.u82: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + ret ptr null +exc.k83: + %t217 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3198935257758645, ptr %t217) + %t218 = load i32, ptr %exc.cell + %t219 = icmp ne i32 %t218, 0 + %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false) + br i1 %t220, label %exc.u84, label %exc.k85 +exc.u84: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + ret ptr null +exc.k85: + %t221 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t205, ptr %t206, ptr %t207) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u86, label %exc.k87 +exc.u86: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + call void @scr_dyn_release(ptr %t221) + ret ptr null +exc.k87: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + call void @scr_dyn_release(ptr %t221) + %t225 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t226 = call ptr @sc_rc_retain_dyn(ptr %t225) + %t227 = call ptr @sc_td_0(ptr @sc_lit_2529432852777196) + %t228 = call ptr @scr_dyn_new_obj() + %t229 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent) + %t230 = call ptr @sc_dfb_51(ptr %t229, ptr null) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3610950885518037, ptr %t230) + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u88, label %exc.k89 +exc.u88: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + ret ptr null +exc.k89: + %t234 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_1948131179100861, ptr %t234) + %t235 = load i32, ptr %exc.cell + %t236 = icmp ne i32 %t235, 0 + %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false) + br i1 %t237, label %exc.u90, label %exc.k91 +exc.u90: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + ret ptr null +exc.k91: + %t238 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3198935257758645, ptr %t238) + %t239 = load i32, ptr %exc.cell + %t240 = icmp ne i32 %t239, 0 + %t241 = call i1 @llvm.expect.i1(i1 %t240, i1 false) + br i1 %t241, label %exc.u92, label %exc.k93 +exc.u92: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + ret ptr null +exc.k93: + %t242 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t226, ptr %t227, ptr %t228) + %t243 = load i32, ptr %exc.cell + %t244 = icmp ne i32 %t243, 0 + %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false) + br i1 %t245, label %exc.u94, label %exc.k95 +exc.u94: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + call void @scr_dyn_release(ptr %t242) + ret ptr null +exc.k95: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + call void @scr_dyn_release(ptr %t242) + %t246 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t247 = call ptr @sc_rc_retain_dyn(ptr %t246) + %t248 = call ptr @sc_td_0(ptr @sc_lit_4297539476301093) + %t249 = call ptr @scr_dyn_new_obj() + %t250 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent) + %t251 = call ptr @sc_dfb_51(ptr %t250, ptr null) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3610950885518037, ptr %t251) + %t252 = load i32, ptr %exc.cell + %t253 = icmp ne i32 %t252, 0 + %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false) + br i1 %t254, label %exc.u96, label %exc.k97 +exc.u96: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + ret ptr null +exc.k97: + %t255 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_1948131179100861, ptr %t255) + %t256 = load i32, ptr %exc.cell + %t257 = icmp ne i32 %t256, 0 + %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false) + br i1 %t258, label %exc.u98, label %exc.k99 +exc.u98: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + ret ptr null +exc.k99: + %t259 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3198935257758645, ptr %t259) + %t260 = load i32, ptr %exc.cell + %t261 = icmp ne i32 %t260, 0 + %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false) + br i1 %t262, label %exc.u100, label %exc.k101 +exc.u100: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + ret ptr null +exc.k101: + %t263 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t247, ptr %t248, ptr %t249) + %t264 = load i32, ptr %exc.cell + %t265 = icmp ne i32 %t264, 0 + %t266 = call i1 @llvm.expect.i1(i1 %t265, i1 false) + br i1 %t266, label %exc.u102, label %exc.k103 +exc.u102: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + call void @scr_dyn_release(ptr %t263) + ret ptr null +exc.k103: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + call void @scr_dyn_release(ptr %t263) + %t267 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t268 = call ptr @sc_rc_retain_dyn(ptr %t267) + %t269 = call ptr @sc_td_0(ptr @sc_lit_1959461887910059) + %t270 = call ptr @scr_dyn_new_obj() + %t271 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy) + %t272 = call ptr @sc_dfb_1(ptr %t271, ptr null) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3610950885518037, ptr %t272) + %t273 = load i32, ptr %exc.cell + %t274 = icmp ne i32 %t273, 0 + %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false) + br i1 %t275, label %exc.u104, label %exc.k105 +exc.u104: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + ret ptr null +exc.k105: + %t276 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_1948131179100861, ptr %t276) + %t277 = load i32, ptr %exc.cell + %t278 = icmp ne i32 %t277, 0 + %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false) + br i1 %t279, label %exc.u106, label %exc.k107 +exc.u106: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + ret ptr null +exc.k107: + %t280 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3198935257758645, ptr %t280) + %t281 = load i32, ptr %exc.cell + %t282 = icmp ne i32 %t281, 0 + %t283 = call i1 @llvm.expect.i1(i1 %t282, i1 false) + br i1 %t283, label %exc.u108, label %exc.k109 +exc.u108: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + ret ptr null +exc.k109: + %t284 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t268, ptr %t269, ptr %t270) + %t285 = load i32, ptr %exc.cell + %t286 = icmp ne i32 %t285, 0 + %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false) + br i1 %t287, label %exc.u110, label %exc.k111 +exc.u110: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + call void @scr_dyn_release(ptr %t284) + ret ptr null +exc.k111: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + call void @scr_dyn_release(ptr %t284) + %t288 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t289 = call ptr @sc_rc_retain_dyn(ptr %t288) + %t290 = call ptr @sc_td_0(ptr @sc_lit_181663572509014) + %t291 = call ptr @scr_dyn_new_obj() + %t292 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf) + %t293 = call ptr @sc_dfb_52(ptr %t292, ptr null) + call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_3610950885518037, ptr %t293) + %t294 = load i32, ptr %exc.cell + %t295 = icmp ne i32 %t294, 0 + %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false) + br i1 %t296, label %exc.u112, label %exc.k113 +exc.u112: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + ret ptr null +exc.k113: + %t297 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_1948131179100861, ptr %t297) + %t298 = load i32, ptr %exc.cell + %t299 = icmp ne i32 %t298, 0 + %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false) + br i1 %t300, label %exc.u114, label %exc.k115 +exc.u114: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + call void @scr_dyn_release(ptr %t297) + ret ptr null +exc.k115: + %t301 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_3198935257758645, ptr %t301) + %t302 = load i32, ptr %exc.cell + %t303 = icmp ne i32 %t302, 0 + %t304 = call i1 @llvm.expect.i1(i1 %t303, i1 false) + br i1 %t304, label %exc.u116, label %exc.k117 +exc.u116: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + call void @scr_dyn_release(ptr %t297) + call void @scr_dyn_release(ptr %t301) + ret ptr null +exc.k117: + %t305 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t289, ptr %t290, ptr %t291) + %t306 = load i32, ptr %exc.cell + %t307 = icmp ne i32 %t306, 0 + %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false) + br i1 %t308, label %exc.u118, label %exc.k119 +exc.u118: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + call void @scr_dyn_release(ptr %t297) + call void @scr_dyn_release(ptr %t301) + call void @scr_dyn_release(ptr %t305) + ret ptr null +exc.k119: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + call void @scr_dyn_release(ptr %t297) + call void @scr_dyn_release(ptr %t301) + call void @scr_dyn_release(ptr %t305) + %t309 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t310 = call ptr @sc_rc_retain_dyn(ptr %t309) + %t311 = call ptr @sc_td_0(ptr @sc_lit_992600386266231) + %t312 = call ptr @scr_dyn_new_obj() + %t313 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf) + %t314 = call ptr @sc_dfb_53(ptr %t313, ptr null) + call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_3610950885518037, ptr %t314) + %t315 = load i32, ptr %exc.cell + %t316 = icmp ne i32 %t315, 0 + %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false) + br i1 %t317, label %exc.u120, label %exc.k121 +exc.u120: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + ret ptr null +exc.k121: + %t318 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_1948131179100861, ptr %t318) + %t319 = load i32, ptr %exc.cell + %t320 = icmp ne i32 %t319, 0 + %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false) + br i1 %t321, label %exc.u122, label %exc.k123 +exc.u122: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + ret ptr null +exc.k123: + %t322 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_3198935257758645, ptr %t322) + %t323 = load i32, ptr %exc.cell + %t324 = icmp ne i32 %t323, 0 + %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false) + br i1 %t325, label %exc.u124, label %exc.k125 +exc.u124: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + call void @scr_dyn_release(ptr %t322) + ret ptr null +exc.k125: + %t326 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t310, ptr %t311, ptr %t312) + %t327 = load i32, ptr %exc.cell + %t328 = icmp ne i32 %t327, 0 + %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false) + br i1 %t329, label %exc.u126, label %exc.k127 +exc.u126: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + call void @scr_dyn_release(ptr %t322) + call void @scr_dyn_release(ptr %t326) + ret ptr null +exc.k127: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + call void @scr_dyn_release(ptr %t322) + call void @scr_dyn_release(ptr %t326) + %t330 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t331 = call ptr @sc_rc_retain_dyn(ptr %t330) + %t332 = call ptr @sc_td_0(ptr @sc_lit_4198614539576238) + %t333 = call ptr @scr_dyn_new_obj() + %t334 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap) + %t335 = call ptr @sc_dfb_54(ptr %t334, ptr null) + call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_3610950885518037, ptr %t335) + %t336 = load i32, ptr %exc.cell + %t337 = icmp ne i32 %t336, 0 + %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false) + br i1 %t338, label %exc.u128, label %exc.k129 +exc.u128: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + ret ptr null +exc.k129: + %t339 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_1948131179100861, ptr %t339) + %t340 = load i32, ptr %exc.cell + %t341 = icmp ne i32 %t340, 0 + %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false) + br i1 %t342, label %exc.u130, label %exc.k131 +exc.u130: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + call void @scr_dyn_release(ptr %t339) + ret ptr null +exc.k131: + %t343 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_3198935257758645, ptr %t343) + %t344 = load i32, ptr %exc.cell + %t345 = icmp ne i32 %t344, 0 + %t346 = call i1 @llvm.expect.i1(i1 %t345, i1 false) + br i1 %t346, label %exc.u132, label %exc.k133 +exc.u132: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + call void @scr_dyn_release(ptr %t339) + call void @scr_dyn_release(ptr %t343) + ret ptr null +exc.k133: + %t347 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t331, ptr %t332, ptr %t333) + %t348 = load i32, ptr %exc.cell + %t349 = icmp ne i32 %t348, 0 + %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false) + br i1 %t350, label %exc.u134, label %exc.k135 +exc.u134: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + call void @scr_dyn_release(ptr %t339) + call void @scr_dyn_release(ptr %t343) + call void @scr_dyn_release(ptr %t347) + ret ptr null +exc.k135: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + call void @scr_dyn_release(ptr %t339) + call void @scr_dyn_release(ptr %t343) + call void @scr_dyn_release(ptr %t347) + %t351 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t352 = call ptr @sc_rc_retain_dyn(ptr %t351) + %t353 = call ptr @sc_td_0(ptr @sc_lit_4028208071947570) + %t354 = call ptr @scr_dyn_new_obj() + %t355 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse) + %t356 = call ptr @sc_dfb_2(ptr %t355, ptr null) + call void @scr_dyn_key_set(ptr %t354, ptr @sc_lit_3610950885518037, ptr %t356) + %t357 = load i32, ptr %exc.cell + %t358 = icmp ne i32 %t357, 0 + %t359 = call i1 @llvm.expect.i1(i1 %t358, i1 false) + br i1 %t359, label %exc.u136, label %exc.k137 +exc.u136: + call void @scr_dyn_release(ptr %t352) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t354) + call void @scr_closure_release(ptr %t355) + call void @scr_dyn_release(ptr %t356) + ret ptr null +exc.k137: + %t360 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t354, ptr @sc_lit_1948131179100861, ptr %t360) + %t361 = load i32, ptr %exc.cell + %t362 = icmp ne i32 %t361, 0 + %t363 = call i1 @llvm.expect.i1(i1 %t362, i1 false) + br i1 %t363, label %exc.u138, label %exc.k139 +exc.u138: + call void @scr_dyn_release(ptr %t352) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t354) + call void @scr_closure_release(ptr %t355) + call void @scr_dyn_release(ptr %t356) + call void @scr_dyn_release(ptr %t360) + ret ptr null +exc.k139: + %t364 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t354, ptr @sc_lit_3198935257758645, ptr %t364) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u140, label %exc.k141 +exc.u140: + call void @scr_dyn_release(ptr %t352) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t354) + call void @scr_closure_release(ptr %t355) + call void @scr_dyn_release(ptr %t356) + call void @scr_dyn_release(ptr %t360) + call void @scr_dyn_release(ptr %t364) + ret ptr null +exc.k141: + %t368 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t352, ptr %t353, ptr %t354) + %t369 = load i32, ptr %exc.cell + %t370 = icmp ne i32 %t369, 0 + %t371 = call i1 @llvm.expect.i1(i1 %t370, i1 false) + br i1 %t371, label %exc.u142, label %exc.k143 +exc.u142: + call void @scr_dyn_release(ptr %t352) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t354) + call void @scr_closure_release(ptr %t355) + call void @scr_dyn_release(ptr %t356) + call void @scr_dyn_release(ptr %t360) + call void @scr_dyn_release(ptr %t364) + call void @scr_dyn_release(ptr %t368) + ret ptr null +exc.k143: + call void @scr_dyn_release(ptr %t352) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t354) + call void @scr_closure_release(ptr %t355) + call void @scr_dyn_release(ptr %t356) + call void @scr_dyn_release(ptr %t360) + call void @scr_dyn_release(ptr %t364) + call void @scr_dyn_release(ptr %t368) + br label %if.j3 +if.j3: + %t372 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + %t373 = call ptr @sc_rc_retain_dyn(ptr %t372) + ret ptr %t373 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m2.FetchResponseSink +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + %s85 = alloca i1 + %s96 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_629517122853751 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_629517122853751 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_29(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 17 + %t37 = icmp ule i64 %t35, 18 + %t38 = and i1 %t36, %t37 ; instanceof %m2.FetchResponseSink + call void @sc_release__x25_m2_ResponseSink(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_629517122853751 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_29(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect24, label %brand.done26 +brand.inspect24: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule25, label %brand.done26 +brand.capsule25: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_2434838942941195 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done26, label %brand.compare27 +brand.compare27: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2434838942941195) + store i1 %t65, ptr %s57 + br label %brand.done26 +brand.done26: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t28, label %if.j29 +if.t28: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect30, label %dc.checked33 +dc.inspect30: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule31, label %dc.checked33 +dc.capsule31: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_2434838942941195 + br i1 %t73, label %dc.exact32, label %dc.checked33 +dc.exact32: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done34 +dc.checked33: + %t79 = call ptr @sc_dc_52(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u35, label %exc.k36 +exc.u35: + ret ptr null +exc.k36: + br label %dc.done34 +dc.done34: + %t83 = load ptr, ptr %s68 + ret ptr %t83 +if.j29: + %t84 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s85 + %t86 = icmp ne ptr %t84, null + br i1 %t86, label %brand.inspect37, label %brand.done39 +brand.inspect37: + %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 12 + br i1 %t89, label %brand.capsule38, label %brand.done39 +brand.capsule38: + %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key + %t91 = load ptr, ptr %t90 + %t92 = icmp eq ptr %t91, @sc_cs_4074974279575818 + store i1 true, ptr %s85 + br i1 %t92, label %brand.done39, label %brand.compare40 +brand.compare40: + %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_4074974279575818) + store i1 %t93, ptr %s85 + br label %brand.done39 +brand.done39: + %t94 = load i1, ptr %s85 + br i1 %t94, label %if.t41, label %if.j42 +if.t41: + %t95 = load ptr, ptr %sc_l_this_0 + %t97 = icmp ne ptr %t95, null + br i1 %t97, label %dc.inspect43, label %dc.checked46 +dc.inspect43: + %t102 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind + %t103 = load i32, ptr %t102 + %t98 = icmp eq i32 %t103, 12 + br i1 %t98, label %dc.capsule44, label %dc.checked46 +dc.capsule44: + %t99 = getelementptr inbounds i8, ptr %t95, i64 40 ; ->v.typed_ref.type_key + %t100 = load ptr, ptr %t99 + %t101 = icmp eq ptr %t100, @sc_cs_4074974279575818 + br i1 %t101, label %dc.exact45, label %dc.checked46 +dc.exact45: + %t104 = getelementptr inbounds i8, ptr %t95, i64 16 ; ->v.typed_ref.ptr + %t105 = load ptr, ptr %t104 + %t106 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t105) + store ptr %t106, ptr %s96 + br label %dc.done47 +dc.checked46: + %t107 = call ptr @sc_dc_104(ptr %t95, ptr null) + store ptr %t107, ptr %s96 + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u48, label %exc.k49 +exc.u48: + ret ptr null +exc.k49: + br label %dc.done47 +dc.done47: + %t111 = load ptr, ptr %s96 + ret ptr %t111 +if.j42: + %t112 = load ptr, ptr %sc_l_this_0 + %t113 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_FetchResponseSink(ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t113) + ret ptr null +exc.k51: + ret ptr %t113 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus(double %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.setStatus +entry: + %sc_l_p_0 = alloca double ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store double %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load double, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m2_FetchResponseSink_setStatus(ptr %t5, double %t9) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.setHeader +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_FetchResponseSink_setHeader(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.appendHeader +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_FetchResponseSink_appendHeader(ptr %t5, ptr %t9, ptr %t10) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.writeBody +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m2_FetchResponseSink_writeBody(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.bodyBytes +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p0, ptr %p1) + call void @scr_bytes_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %p_sc_l_p_0, double %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.redirect +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca double ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store double %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load double, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_FetchResponseSink_redirect(ptr %t5, ptr %t9, double %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %p0, double %p1) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.write +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m2_FetchResponseSink_write(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.writeHead +entry: + %sc_l_p_0 = alloca double ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store double %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load double, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_FetchResponseSink_writeHead(ptr %t5, double %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %p0, ptr %p1) + call void @scr_arr_release(ptr %p1) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream() #0 { ; %method.value:%%m2.FetchResponseSink.endStream +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m2_FetchResponseSink_endStream(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.adopt +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m2_FetchResponseSink_adopt(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %p0) + call void @sc_rrelease_r1(ptr %p0) + ret void +} + +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent() #0 { ; %method.value:%%m2.FetchResponseSink.isSent +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret i1 false +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call i1 @sc_bf__x25__x25_m2_FetchResponseSink_isSent(ptr %t5) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret i1 %t9 +} + +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent() #0 { ; %method.value:%%m2.FetchResponseSink.isHeadersSent +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret i1 false +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call i1 @sc_bf__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %t5) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret i1 %t9 +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy() #0 { ; %method.value:%%m2.FetchResponseSink.destroy +entry: + call void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_FetchResponseSink_destroy() + ret void +} + +define internal double @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf() #0 { ; %method.value:%%m2.FetchResponseSink.statusOf +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret double 0x0000000000000000 +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret double 0x0000000000000000 +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call double @sc_bf__x25__x25_m2_FetchResponseSink_statusOf(ptr %t5) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret double %t9 +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.headerOf +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + call void @scr_str_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap() #0 { ; %method.value:%%m2.FetchResponseSink.headersMap +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + call void @sc_rrelease_r0(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse() #0 { ; %method.value:%%m2.FetchResponseSink.toResponse +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_toResponse(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + call void @sc_rc_release_dyn(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m2_FetchResponseSink(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_fn17(ptr %sc_env) #0 { ; %fn17 +entry: + %sc_l_req_0 = alloca ptr ; req + %sc_l_ctH_0 = alloca ptr ; ctH + %sc_l_isMp_0 = alloca i1 ; isMp + %sc_l_body_0 = alloca ptr ; body + %sc_l_bodyU8_0 = alloca ptr ; bodyU8 + %sc_l_method_0 = alloca ptr ; method + %sc_l_hs_0 = alloca ptr ; hs + %sc_l_app_0 = alloca ptr ; app + %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver + %sc_l_url_0 = alloca ptr ; url + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_handled_0 = alloca i1 ; handled + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l__x25_dispatch_receiver_20 = alloca ptr ; receiver + %sc_l__x25_dispatch_receiver_21 = alloca ptr ; receiver + %sc_l_req_1 = alloca ptr ; req + %sc_l_method_1 = alloca ptr ; method + %sc_l_app_1 = alloca ptr ; app + %sc_l_url_1 = alloca ptr ; url + %sc_l_sink_1 = alloca ptr ; sink + %s61 = alloca i1 + %s68 = alloca i1 + %s73 = alloca i1 + %s165 = alloca ptr + %s194 = alloca [7 x ptr] + %s235 = alloca ptr + store ptr null, ptr %sc_l_ctH_0 + store ptr null, ptr %sc_l_body_0 + store ptr null, ptr %sc_l_bodyU8_0 + store ptr null, ptr %sc_l_hs_0 + store ptr null, ptr %sc_l__x25_callReceiver_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l__x25_dispatch_receiver_20 + store ptr null, ptr %sc_l__x25_dispatch_receiver_21 + store ptr null, ptr %sc_l_req_1 + store ptr null, ptr %sc_l_method_1 + store ptr null, ptr %sc_l_app_1 + store ptr null, ptr %sc_l_url_1 + store ptr null, ptr %sc_l_sink_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_req_0 ; captured req + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_method_0 ; captured method + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_app_0 ; captured app + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_url_0 ; captured url + %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4] + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %sc_l_sink_0 ; captured sink + %t15 = call ptr @llvm.stacksave.p0() + %t16 = load ptr, ptr @scr_stack_guard + %t17 = icmp ult ptr %t15, %t16 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t19 = load ptr, ptr %sc_l_req_0 + %t20 = call ptr @scr_box_get_ref(ptr %t19) + store ptr %t20, ptr %sc_l_req_1 + %t21 = load ptr, ptr %sc_l_method_0 + %t22 = call ptr @scr_box_get_ref(ptr %t21) + store ptr %t22, ptr %sc_l_method_1 + %t23 = load ptr, ptr %sc_l_app_0 + %t24 = call ptr @scr_box_get_ref(ptr %t23) + store ptr %t24, ptr %sc_l_app_1 + %t25 = load ptr, ptr %sc_l_url_0 + %t26 = call ptr @scr_box_get_ref(ptr %t25) + store ptr %t26, ptr %sc_l_url_1 + %t27 = load ptr, ptr %sc_l_sink_0 + %t28 = call ptr @scr_box_get_ref(ptr %t27) + store ptr %t28, ptr %sc_l_sink_1 + %t29 = load ptr, ptr %sc_l_req_1 + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_f__x25_dyn_class_property_50(ptr %t30) + %t32 = load ptr, ptr @scr_exc_active + %t33 = load i32, ptr %t32 + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t31) + br label %exc.cleanup4 +exc.k3: + store ptr %t31, ptr %sc_l__x25_dispatch_receiver_20 + %t36 = load ptr, ptr %sc_l__x25_dispatch_receiver_20 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = load ptr, ptr %sc_l__x25_dispatch_receiver_20 + %t39 = call ptr @sc_rc_retain_dyn(ptr %t38) + %t40 = call ptr @sc_f__x25_dyn_class_callback_1(ptr %t39) + %t41 = load ptr, ptr @scr_exc_active + %t42 = load i32, ptr %t41 + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup7 +exc.k6: + %t45 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449) + %t46 = call ptr @sc_bf__x25_dyn_class_call_1(ptr %t37, ptr %t40, ptr %t45, ptr @sc_lit_2856513345585464) + %t47 = load ptr, ptr @scr_exc_active + %t48 = load i32, ptr %t47 + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t46) + br label %exc.cleanup7 +exc.k9: + call void @sc_rc_release_dyn(ptr %t40) + call void @sc_rc_release_dyn(ptr %t45) + %t51 = call ptr @sc_dc_22(ptr %t46, ptr null) + %t52 = load ptr, ptr @scr_exc_active + %t53 = load i32, ptr %t52 + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t46) + %t56 = load ptr, ptr %sc_l__x25_dispatch_receiver_20 + call void @sc_rc_release_dyn(ptr %t56) + call void @scr_str_release(ptr %t51) + br label %exc.cleanup4 +exc.k11: + store ptr %t51, ptr %sc_l_ctH_0 + call void @sc_rc_release_dyn(ptr %t46) + %t57 = load ptr, ptr %sc_l__x25_dispatch_receiver_20 + call void @sc_rc_release_dyn(ptr %t57) + %t58 = load ptr, ptr %sc_l_ctH_0 + %t60 = icmp ne ptr %t58, null + store i1 %t60, ptr %s61 + br i1 %t60, label %log.r12, label %log.j13 +log.r12: + %t62 = load ptr, ptr %sc_l_ctH_0 + %t63 = call ptr @scr_str_to_lower(ptr %t62) + %t64 = call double @scr_str_index_of(ptr %t63, ptr @sc_lit_1841737023330611, double 0x0000000000000000) + %t65 = fcmp oeq double %t64, 0x0000000000000000 + store i1 %t65, ptr %s61 + call void @scr_str_release(ptr %t63) + br label %log.j13 +log.j13: + %t66 = load i1, ptr %s61 + store i1 %t66, ptr %sc_l_isMp_0 + store ptr @sc_lit_4005573543169985, ptr %sc_l_body_0 + store ptr @sc_unit_2, ptr %sc_l_bodyU8_0 + %t67 = load i1, ptr %sc_l_isMp_0 + store i1 %t67, ptr %s68 + br i1 %t67, label %log.r14, label %log.j15 +log.r14: + %t69 = load ptr, ptr %sc_l_method_1 + %t70 = call zeroext i1 @sc_streq_367446482893939(ptr %t69) + %t71 = xor i1 %t70, true + store i1 %t71, ptr %s68 + br label %log.j15 +log.j15: + %t72 = load i1, ptr %s68 + store i1 %t72, ptr %s73 + br i1 %t72, label %log.r16, label %log.j17 +log.r16: + %t74 = load ptr, ptr %sc_l_method_1 + %t75 = call zeroext i1 @sc_streq_3185835515143599(ptr %t74) + %t76 = xor i1 %t75, true + store i1 %t76, ptr %s73 + br label %log.j17 +log.j17: + %t77 = load i1, ptr %s73 + br i1 %t77, label %if.t18, label %if.j19 +if.t18: + %t78 = load ptr, ptr %sc_l_req_1 + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + store ptr %t79, ptr %sc_l__x25_dispatch_receiver_21 + %t80 = load ptr, ptr %sc_l__x25_dispatch_receiver_21 + %t81 = call ptr @sc_rc_retain_dyn(ptr %t80) + %t82 = load ptr, ptr %sc_l__x25_dispatch_receiver_21 + %t83 = call ptr @sc_rc_retain_dyn(ptr %t82) + %t84 = call ptr @sc_f__x25_dyn_class_callback_2(ptr %t83) + %t85 = load ptr, ptr @scr_exc_active + %t86 = load i32, ptr %t85 + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t81) + call void @sc_rc_release_dyn(ptr %t84) + br label %exc.cleanup22 +exc.k21: + %t89 = call ptr @sc_bf__x25_dyn_class_call_2(ptr %t81, ptr %t84, ptr @sc_lit_3359878076732110) + %t90 = load ptr, ptr @scr_exc_active + %t91 = load i32, ptr %t90 + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u23, label %exc.k24 +exc.u23: + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t89) + br label %exc.cleanup22 +exc.k24: + call void @sc_rc_release_dyn(ptr %t84) + %t94 = call ptr @scr_await_dyn_value(ptr %t89) + %t95 = load ptr, ptr @scr_exc_active + %t96 = load i32, ptr %t95 + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u25, label %exc.k26 +exc.u25: + call void @sc_rc_release_dyn(ptr %t89) + %t99 = load ptr, ptr %sc_l__x25_dispatch_receiver_21 + call void @sc_rc_release_dyn(ptr %t99) + call void @sc_rc_release_dyn(ptr %t94) + br label %exc.cleanup27 +exc.k26: + %t100 = call ptr @scr_bytes_from_dyn(i32 0, ptr %t94, i1 zeroext false) + %t101 = load ptr, ptr @scr_exc_active + %t102 = load i32, ptr %t101 + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t89) + %t105 = load ptr, ptr %sc_l__x25_dispatch_receiver_21 + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t94) + call void @scr_bytes_release(ptr %t100) + br label %exc.cleanup27 +exc.k29: + %t106 = call ptr @scr_union_new_ref(i32 0, ptr %t100, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null) + %t107 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t107) + store ptr %t106, ptr %sc_l_bodyU8_0 + call void @sc_rc_release_dyn(ptr %t89) + %t108 = load ptr, ptr %sc_l__x25_dispatch_receiver_21 + call void @sc_rc_release_dyn(ptr %t108) + call void @sc_rc_release_dyn(ptr %t94) + br label %if.j19 +if.j19: + %t109 = load ptr, ptr %sc_l_req_1 + %t110 = call ptr @sc_bf__x25_m5_headersFromRaw(ptr %t109) + %t111 = load ptr, ptr @scr_exc_active + %t112 = load i32, ptr %t111 + %t113 = icmp ne i32 %t112, 0 + %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false) + br i1 %t114, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rrelease_r0(ptr %t110) + br label %exc.cleanup27 +exc.k31: + store ptr %t110, ptr %sc_l_hs_0 + %t115 = load ptr, ptr %sc_l_app_1 + %t116 = call ptr @sc_retain__x25_m5_App(ptr %t115) + store ptr %t116, ptr %sc_l__x25_callReceiver_0 + %t117 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t118 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t117, i64 0, i32 16 + %t119 = load ptr, ptr %t118, !tbaa !184 + %t120 = call ptr @scr_closure_retain_v(ptr %t119) + %t121 = load ptr, ptr %sc_l__x25_callReceiver_0 + %t122 = call ptr @sc_retain__x25_m5_App(ptr %t121) + %t123 = load ptr, ptr %sc_l_method_1 + %t124 = call ptr @sc_rc_retain_str(ptr %t123) + %t125 = load ptr, ptr %sc_l_url_1 + %t126 = call ptr @sc_rc_retain_str(ptr %t125) + %t127 = load ptr, ptr %sc_l_hs_0 + %t128 = call ptr @sc_rretain_r0(ptr %t127) + %t129 = load ptr, ptr %sc_l_req_1 + %t130 = call ptr @sc_rc_retain_dyn(ptr %t129) + %t131 = load ptr, ptr %sc_l_body_0 + %t132 = call ptr @sc_rc_retain_str(ptr %t131) + %t133 = load ptr, ptr %sc_l_bodyU8_0 + %t134 = call ptr @scr_union_retain_v(ptr %t133) + %t135 = load ptr, ptr %sc_l_sink_1 + %t136 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t135) + %t137 = getelementptr inbounds %ScrClosure, ptr %t120, i64 0, i32 1 + %t138 = load ptr, ptr %t137 + call void @scr_dyn_this_push_typed(ptr %t122, ptr @sc_trr_0) + %t139 = call ptr %t138(ptr %t120, ptr %t124, ptr %t126, ptr %t128, ptr %t130, ptr %t132, ptr %t134, ptr %t136) + call void @scr_dyn_this_pop() + %t140 = load ptr, ptr @scr_exc_active + %t141 = load i32, ptr %t140 + %t142 = icmp ne i32 %t141, 0 + %t143 = call i1 @llvm.expect.i1(i1 %t142, i1 false) + br i1 %t143, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_closure_release(ptr %t120) + call void @sc_release__x25_m5_App(ptr %t122) + call void @scr_promise_release(ptr %t139) + br label %exc.cleanup34 +exc.k33: + %t144 = call zeroext i1 @scr_await_bool(ptr %t139) + %t145 = load ptr, ptr @scr_exc_active + %t146 = load i32, ptr %t145 + %t147 = icmp ne i32 %t146, 0 + %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false) + br i1 %t148, label %exc.u35, label %exc.k36 +exc.u35: + call void @scr_closure_release(ptr %t120) + call void @sc_release__x25_m5_App(ptr %t122) + call void @scr_promise_release(ptr %t139) + %t149 = load ptr, ptr %sc_l__x25_callReceiver_0 + call void @sc_release__x25_m5_App(ptr %t149) + br label %exc.cleanup37 +exc.k36: + store i1 %t144, ptr %sc_l_handled_0 + call void @scr_closure_release(ptr %t120) + call void @sc_release__x25_m5_App(ptr %t122) + call void @scr_promise_release(ptr %t139) + %t150 = load ptr, ptr %sc_l__x25_callReceiver_0 + call void @sc_release__x25_m5_App(ptr %t150) + %t151 = load i1, ptr %sc_l_handled_0 + %t152 = icmp eq i1 %t151, false + br i1 %t152, label %if.t38, label %if.j39 +if.t38: + %t153 = load ptr, ptr %sc_l_app_1 + %t154 = call ptr @sc_retain__x25_m5_App(ptr %t153) + store ptr %t154, ptr %sc_l__x25_callbackReceiver_0 + %t155 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t156 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t155) + %t157 = load ptr, ptr @scr_exc_active + %t158 = load i32, ptr %t157 + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t156) + br label %exc.cleanup42 +exc.k41: + store ptr %t156, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t161 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t162 = getelementptr inbounds i8, ptr %t161, i64 8 ; ->kind + %t163 = load i32, ptr %t162 + %t164 = icmp eq i32 %t163, 6 + br i1 %t164, label %tern.t43, label %tern.f44 +tern.t43: + %t167 = call ptr @scr_dyn_undefined() + %t166 = call ptr @scr_dyn_retain_v(ptr %t167) + store ptr %t166, ptr %s165 + br label %tern.j45 +tern.f44: + %t168 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t169 = call ptr @sc_rc_retain_dyn(ptr %t168) + %t170 = call ptr @sc_f__x25_dyn_class_property_59(ptr %t169) + %t171 = load ptr, ptr @scr_exc_active + %t172 = load i32, ptr %t171 + %t173 = icmp ne i32 %t172, 0 + %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false) + br i1 %t174, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t170) + br label %exc.cleanup48 +exc.k47: + store ptr %t170, ptr %s165 + br label %tern.j45 +tern.j45: + %t175 = load ptr, ptr %s165 + store ptr %t175, ptr %sc_l__x25_callback_0 + %t176 = load ptr, ptr %sc_l__x25_callback_0 + %t177 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t178 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t177, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t179 = load ptr, ptr %sc_l_method_1 + %t180 = call ptr @sc_td_0(ptr %t179) + %t181 = load ptr, ptr %sc_l_url_1 + %t182 = call ptr @sc_td_0(ptr %t181) + %t183 = load ptr, ptr %sc_l_hs_0 + %t184 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t183, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + %t185 = load ptr, ptr %sc_l_req_1 + %t186 = load ptr, ptr %sc_l_body_0 + %t187 = call ptr @sc_rc_retain_str(ptr %t186) + %t188 = call ptr @sc_td_0(ptr %t187) + %t189 = load ptr, ptr %sc_l_bodyU8_0 + %t190 = call ptr @scr_union_retain_v(ptr %t189) + %t191 = call ptr @sc_td_18(ptr %t190) + %t192 = load ptr, ptr %sc_l_sink_1 + %t193 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t192, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t195 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 0 + store ptr %t180, ptr %t195 + %t196 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 1 + store ptr %t182, ptr %t196 + %t197 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 2 + store ptr %t184, ptr %t197 + %t198 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 3 + store ptr %t185, ptr %t198 + %t199 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 4 + store ptr %t188, ptr %t199 + %t200 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 5 + store ptr %t191, ptr %t200 + %t201 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 6 + store ptr %t193, ptr %t201 + call void @scr_dyn_this_push_dyn(ptr %t178) + %t202 = call ptr @scr_dyn_call(ptr %t176, ptr %s194, i64 7, ptr @sc_cs_3930082970088621) + call void @scr_dyn_this_pop() + %t203 = load ptr, ptr @scr_exc_active + %t204 = load i32, ptr %t203 + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u49, label %exc.k50 +exc.u49: + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t180) + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t184) + call void @scr_str_release(ptr %t187) + call void @sc_rc_release_dyn(ptr %t188) + call void @scr_union_release(ptr %t190) + call void @sc_rc_release_dyn(ptr %t191) + call void @sc_rc_release_dyn(ptr %t193) + call void @sc_rc_release_dyn(ptr %t202) + br label %exc.cleanup51 +exc.k50: + %t207 = call ptr @sc_dc_117(ptr %t202, ptr null) + %t208 = load ptr, ptr @scr_exc_active + %t209 = load i32, ptr %t208 + %t210 = icmp ne i32 %t209, 0 + %t211 = call i1 @llvm.expect.i1(i1 %t210, i1 false) + br i1 %t211, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t180) + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t184) + call void @scr_str_release(ptr %t187) + call void @sc_rc_release_dyn(ptr %t188) + call void @scr_union_release(ptr %t190) + call void @sc_rc_release_dyn(ptr %t191) + call void @sc_rc_release_dyn(ptr %t193) + call void @sc_rc_release_dyn(ptr %t202) + call void @scr_promise_release(ptr %t207) + br label %exc.cleanup51 +exc.k53: + call void @scr_await_void(ptr %t207) + %t212 = load ptr, ptr @scr_exc_active + %t213 = load i32, ptr %t212 + %t214 = icmp ne i32 %t213, 0 + %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false) + br i1 %t215, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t180) + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t184) + call void @scr_str_release(ptr %t187) + call void @sc_rc_release_dyn(ptr %t188) + call void @scr_union_release(ptr %t190) + call void @sc_rc_release_dyn(ptr %t191) + call void @sc_rc_release_dyn(ptr %t193) + call void @sc_rc_release_dyn(ptr %t202) + call void @scr_promise_release(ptr %t207) + %t216 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t216) + %t217 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t217) + %t218 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t218) + br label %exc.cleanup37 +exc.k55: + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t180) + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t184) + call void @scr_str_release(ptr %t187) + call void @sc_rc_release_dyn(ptr %t188) + call void @scr_union_release(ptr %t190) + call void @sc_rc_release_dyn(ptr %t191) + call void @sc_rc_release_dyn(ptr %t193) + call void @sc_rc_release_dyn(ptr %t202) + call void @scr_promise_release(ptr %t207) + %t219 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t219) + %t220 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t220) + %t221 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t221) + br label %if.j39 +if.j39: + %t222 = load ptr, ptr %sc_l_sink_1 + %t223 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t222) + store ptr %t223, ptr %sc_l__x25_callbackReceiver_1 + %t224 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t225 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t226 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t225) + %t227 = load ptr, ptr @scr_exc_active + %t228 = load i32, ptr %t227 + %t229 = icmp ne i32 %t228, 0 + %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false) + br i1 %t230, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t226) + br label %exc.cleanup58 +exc.k57: + store ptr %t226, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t231 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t232 = getelementptr inbounds i8, ptr %t231, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t234 = icmp eq i32 %t233, 6 + br i1 %t234, label %tern.t59, label %tern.f60 +tern.t59: + %t237 = call ptr @scr_dyn_undefined() + %t236 = call ptr @scr_dyn_retain_v(ptr %t237) + store ptr %t236, ptr %s235 + br label %tern.j61 +tern.f60: + %t238 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t239 = call ptr @sc_rc_retain_dyn(ptr %t238) + %t240 = call ptr @sc_f__x25_dyn_class_property_60(ptr %t239) + %t241 = load ptr, ptr @scr_exc_active + %t242 = load i32, ptr %t241 + %t243 = icmp ne i32 %t242, 0 + %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false) + br i1 %t244, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t240) + br label %exc.cleanup64 +exc.k63: + store ptr %t240, ptr %s235 + br label %tern.j61 +tern.j61: + %t245 = load ptr, ptr %s235 + store ptr %t245, ptr %sc_l__x25_callback_1 + %t246 = load ptr, ptr %sc_l__x25_callback_1 + %t247 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t248 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t247, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t248) + %t249 = call ptr @scr_dyn_call(ptr %t246, ptr null, i64 0, ptr @sc_cs_3393462821733945) + call void @scr_dyn_this_pop() + %t250 = load ptr, ptr @scr_exc_active + %t251 = load i32, ptr %t250 + %t252 = icmp ne i32 %t251, 0 + %t253 = call i1 @llvm.expect.i1(i1 %t252, i1 false) + br i1 %t253, label %exc.u65, label %exc.k66 +exc.u65: + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_rc_release_dyn(ptr %t249) + br label %exc.cleanup67 +exc.k66: + call void @sc_rc_release_dyn(ptr %t248) + %t254 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t254) + %t255 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t255) + %t256 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t256) + %t257 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t257) + %t258 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t258) + %t259 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t259) + %t260 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t260) + %t261 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t261) + %t262 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t262) + %t263 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t263) + %t264 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t264) + %t265 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t265) + ret ptr %t249 +exc.cleanup4: + %t266 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t266) + %t267 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t267) + %t268 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t268) + %t269 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t269) + %t270 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t270) + ret ptr null +exc.cleanup7: + %t271 = load ptr, ptr %sc_l__x25_dispatch_receiver_20 + call void @sc_rc_release_dyn(ptr %t271) + %t272 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t272) + %t273 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t273) + %t274 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t274) + %t275 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t275) + %t276 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t276) + ret ptr null +exc.cleanup22: + %t277 = load ptr, ptr %sc_l__x25_dispatch_receiver_21 + call void @sc_rc_release_dyn(ptr %t277) + %t278 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t278) + %t279 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t279) + %t280 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t280) + %t281 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t281) + %t282 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t282) + %t283 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t283) + %t284 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t284) + %t285 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t285) + ret ptr null +exc.cleanup27: + %t286 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t286) + %t287 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t287) + %t288 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t288) + %t289 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t289) + %t290 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t290) + %t291 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t291) + %t292 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t292) + %t293 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t293) + ret ptr null +exc.cleanup34: + %t294 = load ptr, ptr %sc_l__x25_callReceiver_0 + call void @sc_release__x25_m5_App(ptr %t294) + %t295 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t295) + %t296 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t296) + %t297 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t297) + %t298 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t298) + %t299 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t299) + %t300 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t300) + %t301 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t301) + %t302 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t302) + %t303 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t303) + ret ptr null +exc.cleanup37: + %t304 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t304) + %t305 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t305) + %t306 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t306) + %t307 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t307) + %t308 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t308) + %t309 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t309) + %t310 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t310) + %t311 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t311) + %t312 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t312) + ret ptr null +exc.cleanup42: + %t313 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t313) + %t314 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t314) + %t315 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t315) + %t316 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t316) + %t317 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t317) + %t318 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t318) + %t319 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t319) + %t320 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t320) + %t321 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t321) + %t322 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t322) + ret ptr null +exc.cleanup48: + %t323 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t323) + %t324 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t324) + %t325 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t325) + %t326 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t326) + %t327 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t327) + %t328 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t328) + %t329 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t329) + %t330 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t330) + %t331 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t331) + %t332 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t332) + %t333 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t333) + ret ptr null +exc.cleanup51: + %t334 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t334) + %t335 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t335) + %t336 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m5_App(ptr %t336) + %t337 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t337) + %t338 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t338) + %t339 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t339) + %t340 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t340) + %t341 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t341) + %t342 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t342) + %t343 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t343) + %t344 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t344) + %t345 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t345) + ret ptr null +exc.cleanup58: + %t346 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t346) + %t347 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t347) + %t348 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t348) + %t349 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t349) + %t350 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t350) + %t351 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t351) + %t352 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t352) + %t353 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t353) + %t354 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t354) + %t355 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t355) + ret ptr null +exc.cleanup64: + %t356 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t356) + %t357 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t357) + %t358 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t358) + %t359 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t359) + %t360 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t360) + %t361 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t361) + %t362 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t362) + %t363 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t363) + %t364 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t364) + %t365 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t365) + %t366 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t366) + ret ptr null +exc.cleanup67: + %t367 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t367) + %t368 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t368) + %t369 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t369) + %t370 = load ptr, ptr %sc_l_req_1 + call void @sc_rc_release_dyn(ptr %t370) + %t371 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t371) + %t372 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t372) + %t373 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t373) + %t374 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_FetchResponseSink(ptr %t374) + %t375 = load ptr, ptr %sc_l_ctH_0 + call void @scr_str_release(ptr %t375) + %t376 = load ptr, ptr %sc_l_body_0 + call void @scr_str_release(ptr %t376) + %t377 = load ptr, ptr %sc_l_bodyU8_0 + call void @scr_union_release(ptr %t377) + %t378 = load ptr, ptr %sc_l_hs_0 + call void @sc_rrelease_r0(ptr %t378) + ret ptr null +} + +define internal void @sc_f__x25_fn19(ptr %sc_env) #0 { ; %fn19 +entry: + %sc_l_respond_0 = alloca ptr ; respond + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_respond_1 = alloca ptr ; respond + %sc_l_sink_1 = alloca ptr ; sink + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_respond_1 + store ptr null, ptr %sc_l_sink_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_respond_0 ; captured respond + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_sink_0 ; captured sink + %t6 = call ptr @llvm.stacksave.p0() + %t7 = load ptr, ptr @scr_stack_guard + %t8 = icmp ult ptr %t6, %t7 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t10 = load ptr, ptr %sc_l_respond_0 + %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5 + %t12 = load ptr, ptr %t11 + store ptr %t12, ptr %sc_l_respond_1 + %t13 = load ptr, ptr %sc_l_sink_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_sink_1 + %t16 = load ptr, ptr %sc_l_respond_1 + %t17 = load ptr, ptr %sc_l_sink_1 + %t18 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t17, i64 0, i32 3 + %t19 = load double, ptr %t18, !tbaa !52 + %t20 = load ptr, ptr %sc_l_sink_1 + %t21 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t20, i64 0, i32 6 + %t22 = load ptr, ptr %t21, !tbaa !58 + %t23 = call ptr @scr_arr_retain_v(ptr %t22) + %t24 = load ptr, ptr %sc_l_sink_1 + %t25 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t24, i64 0, i32 7 + %t26 = load ptr, ptr %t25, !tbaa !60 + %t27 = call ptr @scr_arr_retain_v(ptr %t26) + %t28 = call ptr @scr_arr_join(ptr %t27, ptr @sc_lit_4005573543169985) + %t29 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 1 + %t30 = load ptr, ptr %t29 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t30(ptr %t16, double %t19, ptr %t23, ptr %t28) + call void @scr_dyn_this_pop() + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_arr_release(ptr %t27) + ret void +exc.k3: + call void @scr_arr_release(ptr %t27) + ret void +} + +define internal void @sc_f__x25_fn20_then(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_cb_0) #0 { ; %fn20_then +entry: + %sc_l_p_0 = alloca ptr ; p + %sc_l_cb_0 = alloca ptr ; cb + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_cb_0, ptr %sc_l_cb_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @scr_promise_retain_v(ptr %t4) + call void @scr_await_void(ptr %t5) + %t6 = load ptr, ptr @scr_exc_active + %t7 = load i32, ptr %t6 + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u3, label %exc.k4 +exc.u3: + call void @scr_promise_release(ptr %t5) + br label %exc.cleanup2 +exc.k4: + call void @scr_promise_release(ptr %t5) + %t10 = load ptr, ptr %sc_l_cb_0 + %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1 + %t12 = load ptr, ptr %t11 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t12(ptr %t10) + call void @scr_dyn_this_pop() + %t13 = load ptr, ptr @scr_exc_active + %t14 = load i32, ptr %t13 + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u5, label %exc.k6 +exc.u5: + br label %exc.cleanup2 +exc.k6: + %t17 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t17) + %t18 = load ptr, ptr %sc_l_cb_0 + call void @scr_closure_release(ptr %t18) + ret void +exc.cleanup2: + %t19 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t19) + %t20 = load ptr, ptr %sc_l_cb_0 + call void @scr_closure_release(ptr %t20) + ret void +} + +define internal void @sc_f__x25_fn18(ptr %sc_env, i1 %p_sc_l_handled_0) #0 { ; %fn18 +entry: + %sc_l_handled_0 = alloca i1 ; handled + %sc_l_app_0 = alloca ptr ; app + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l_method_0 = alloca ptr ; method + %sc_l_url_0 = alloca ptr ; url + %sc_l_headers_0 = alloca ptr ; headers + %sc_l_seeded_0 = alloca ptr ; seeded + %sc_l_sink_0 = alloca ptr ; sink + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_p2_0 = alloca ptr ; p2 + %sc_l_respond_0 = alloca ptr ; respond + %sc_l_app_1 = alloca ptr ; app + %sc_l_method_1 = alloca ptr ; method + %sc_l_url_1 = alloca ptr ; url + %sc_l_headers_1 = alloca ptr ; headers + %sc_l_seeded_1 = alloca ptr ; seeded + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_respond_1 = alloca ptr ; respond + %exc.cell = load ptr, ptr @scr_exc_active + %s58 = alloca ptr + %s83 = alloca [7 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_p2_0 + store ptr null, ptr %sc_l_app_1 + store ptr null, ptr %sc_l_method_1 + store ptr null, ptr %sc_l_url_1 + store ptr null, ptr %sc_l_headers_1 + store ptr null, ptr %sc_l_seeded_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_respond_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_app_0 ; captured app + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_method_0 ; captured method + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_url_0 ; captured url + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_headers_0 ; captured headers + %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4] + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %sc_l_seeded_0 ; captured seeded + %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5] + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %sc_l_sink_0 ; captured sink + %t18 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t19 = getelementptr inbounds ptr, ptr %t18, i64 6 ; caps[6] + %t20 = load ptr, ptr %t19 + store ptr %t20, ptr %sc_l_respond_0 ; captured respond + store i1 %p_sc_l_handled_0, ptr %sc_l_handled_0 + %t21 = call ptr @llvm.stacksave.p0() + %t22 = load ptr, ptr @scr_stack_guard + %t23 = icmp ult ptr %t21, %t22 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t25 = load ptr, ptr %sc_l_app_0 + %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %sc_l_app_1 + %t28 = load ptr, ptr %sc_l_method_0 + %t29 = getelementptr inbounds %ScrBox, ptr %t28, i32 0, i32 5 + %t30 = load ptr, ptr %t29 + store ptr %t30, ptr %sc_l_method_1 + %t31 = load ptr, ptr %sc_l_url_0 + %t32 = getelementptr inbounds %ScrBox, ptr %t31, i32 0, i32 5 + %t33 = load ptr, ptr %t32 + store ptr %t33, ptr %sc_l_url_1 + %t34 = load ptr, ptr %sc_l_headers_0 + %t35 = getelementptr inbounds %ScrBox, ptr %t34, i32 0, i32 5 + %t36 = load ptr, ptr %t35 + store ptr %t36, ptr %sc_l_headers_1 + %t37 = load ptr, ptr %sc_l_seeded_0 + %t38 = getelementptr inbounds %ScrBox, ptr %t37, i32 0, i32 5 + %t39 = load ptr, ptr %t38 + store ptr %t39, ptr %sc_l_seeded_1 + %t40 = load ptr, ptr %sc_l_sink_0 + %t41 = getelementptr inbounds %ScrBox, ptr %t40, i32 0, i32 5 + %t42 = load ptr, ptr %t41 + store ptr %t42, ptr %sc_l_sink_1 + %t43 = load ptr, ptr %sc_l_respond_0 + %t44 = getelementptr inbounds %ScrBox, ptr %t43, i32 0, i32 5 + %t45 = load ptr, ptr %t44 + store ptr %t45, ptr %sc_l_respond_1 + %t46 = load i1, ptr %sc_l_handled_0 + %t47 = icmp eq i1 %t46, false + br i1 %t47, label %if.t2, label %if.j3 +if.t2: + %t48 = load ptr, ptr %sc_l_app_1 + store ptr %t48, ptr %sc_l__x25_callbackReceiver_0 + %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t50 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t49) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t50) + ret void +exc.k5: + store ptr %t50, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t54 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t55 = getelementptr inbounds i8, ptr %t54, i64 8 ; ->kind + %t56 = load i32, ptr %t55 + %t57 = icmp eq i32 %t56, 6 + br i1 %t57, label %tern.t6, label %tern.f7 +tern.t6: + %t60 = call ptr @scr_dyn_undefined() + %t59 = call ptr @scr_dyn_retain_v(ptr %t60) + store ptr %t59, ptr %s58 + br label %tern.j8 +tern.f7: + %t61 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t62 = call ptr @sc_rc_retain_dyn(ptr %t61) + %t63 = call ptr @sc_f__x25_dyn_class_property_59(ptr %t62) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t63) + br label %exc.cleanup11 +exc.k10: + store ptr %t63, ptr %s58 + br label %tern.j8 +tern.j8: + %t67 = load ptr, ptr %s58 + store ptr %t67, ptr %sc_l__x25_callback_0 + %t68 = load ptr, ptr %sc_l__x25_callback_0 + %t69 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t70 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t69, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t71 = load ptr, ptr %sc_l_method_1 + %t72 = call ptr @sc_td_0(ptr %t71) + %t73 = load ptr, ptr %sc_l_url_1 + %t74 = call ptr @sc_td_0(ptr %t73) + %t75 = load ptr, ptr %sc_l_headers_1 + %t76 = call ptr @sc_ldu_10(ptr %t75) + %t77 = call ptr @scr_dyn_new_null() + %t78 = load ptr, ptr %sc_l_seeded_1 + %t79 = call ptr @sc_td_0(ptr %t78) + %t80 = call ptr @scr_dyn_new_null() + %t81 = load ptr, ptr %sc_l_sink_1 + %t82 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t81, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t84 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 0 + store ptr %t72, ptr %t84 + %t85 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 1 + store ptr %t74, ptr %t85 + %t86 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 2 + store ptr %t76, ptr %t86 + %t87 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 3 + store ptr %t77, ptr %t87 + %t88 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 4 + store ptr %t79, ptr %t88 + %t89 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 5 + store ptr %t80, ptr %t89 + %t90 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 6 + store ptr %t82, ptr %t90 + call void @scr_dyn_this_push_dyn(ptr %t70) + %t91 = call ptr @scr_dyn_call(ptr %t68, ptr %s83, i64 7, ptr @sc_cs_3930082970088621) + call void @scr_dyn_this_pop() + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t79) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t82) + call void @sc_rc_release_dyn(ptr %t91) + br label %exc.cleanup14 +exc.k13: + %t95 = call ptr @sc_dc_117(ptr %t91, ptr null) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t79) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t82) + call void @sc_rc_release_dyn(ptr %t91) + call void @scr_promise_release(ptr %t95) + br label %exc.cleanup14 +exc.k16: + store ptr %t95, ptr %sc_l_p2_0 + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t79) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t82) + call void @sc_rc_release_dyn(ptr %t91) + %t99 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t99) + %t100 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t100) + %t101 = call ptr @scr_closure_new(ptr @sc_as__x25_fn20_then, i64 0) + %t102 = getelementptr inbounds %ScrClosure, ptr %t101, i64 0, i32 4 + store i32 2, ptr %t102 + %t103 = load ptr, ptr %sc_l_p2_0 + %t104 = call ptr @scr_promise_retain_v(ptr %t103) + %t105 = call ptr @scr_closure_new(ptr @sc_f__x25_fn19, i64 2) + %t106 = getelementptr inbounds %ScrClosure, ptr %t105, i64 0, i32 4 + store i32 4, ptr %t106 + %t107 = load ptr, ptr %sc_l_respond_0 + %t108 = call ptr @sc_retain_box(ptr %t107) + %t109 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps + %t110 = getelementptr inbounds ptr, ptr %t109, i64 0 ; caps[0] + store ptr %t108, ptr %t110 + %t111 = load ptr, ptr %sc_l_sink_0 + %t112 = call ptr @sc_retain_box(ptr %t111) + %t113 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps + %t114 = getelementptr inbounds ptr, ptr %t113, i64 1 ; caps[1] + store ptr %t112, ptr %t114 + %t115 = getelementptr inbounds %ScrClosure, ptr %t101, i64 0, i32 1 + %t116 = load ptr, ptr %t115 + call void @scr_dyn_this_push_dyn(ptr null) + %t117 = call ptr %t116(ptr %t101, ptr %t104, ptr %t105) + call void @scr_dyn_this_pop() + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u17, label %exc.k18 +exc.u17: + call void @scr_closure_release(ptr %t101) + call void @scr_promise_release(ptr %t117) + br label %exc.cleanup19 +exc.k18: + call void @scr_closure_release(ptr %t101) + call void @scr_promise_release(ptr %t117) + %t121 = load ptr, ptr %sc_l_p2_0 + call void @scr_promise_release(ptr %t121) + ret void +if.j3: + %t122 = load ptr, ptr %sc_l_respond_1 + %t123 = load ptr, ptr %sc_l_sink_1 + %t124 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t123, i64 0, i32 3 + %t125 = load double, ptr %t124, !tbaa !52 + %t126 = load ptr, ptr %sc_l_sink_1 + %t127 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t126, i64 0, i32 6 + %t128 = load ptr, ptr %t127, !tbaa !58 + %t129 = call ptr @scr_arr_retain_v(ptr %t128) + %t130 = load ptr, ptr %sc_l_sink_1 + %t131 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t130, i64 0, i32 7 + %t132 = load ptr, ptr %t131, !tbaa !60 + %t133 = call ptr @scr_arr_retain_v(ptr %t132) + %t134 = call ptr @scr_arr_join(ptr %t133, ptr @sc_lit_4005573543169985) + %t135 = getelementptr inbounds %ScrClosure, ptr %t122, i64 0, i32 1 + %t136 = load ptr, ptr %t135 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t136(ptr %t122, double %t125, ptr %t129, ptr %t134) + call void @scr_dyn_this_pop() + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_arr_release(ptr %t133) + ret void +exc.k21: + call void @scr_arr_release(ptr %t133) + ret void +exc.cleanup11: + %t140 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t140) + ret void +exc.cleanup14: + %t141 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t141) + %t142 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t142) + ret void +exc.cleanup19: + %t143 = load ptr, ptr %sc_l_p2_0 + call void @scr_promise_release(ptr %t143) + ret void +} + +define internal void @sc_f__x25_fn21_then(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_cb_0) #0 { ; %fn21_then +entry: + %sc_l_p_0 = alloca ptr ; p + %sc_l_cb_0 = alloca ptr ; cb + %sc_l_v_0 = alloca i1 ; v + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_cb_0, ptr %sc_l_cb_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @scr_promise_retain_v(ptr %t4) + %t6 = call zeroext i1 @scr_await_bool(ptr %t5) + %t7 = load ptr, ptr @scr_exc_active + %t8 = load i32, ptr %t7 + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u3, label %exc.k4 +exc.u3: + call void @scr_promise_release(ptr %t5) + br label %exc.cleanup2 +exc.k4: + store i1 %t6, ptr %sc_l_v_0 + call void @scr_promise_release(ptr %t5) + %t11 = load ptr, ptr %sc_l_cb_0 + %t12 = load i1, ptr %sc_l_v_0 + %t13 = getelementptr inbounds %ScrClosure, ptr %t11, i64 0, i32 1 + %t14 = load ptr, ptr %t13 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t14(ptr %t11, i1 %t12) + call void @scr_dyn_this_pop() + %t15 = load ptr, ptr @scr_exc_active + %t16 = load i32, ptr %t15 + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u5, label %exc.k6 +exc.u5: + br label %exc.cleanup2 +exc.k6: + %t19 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t19) + %t20 = load ptr, ptr %sc_l_cb_0 + call void @scr_closure_release(ptr %t20) + ret void +exc.cleanup2: + %t21 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t21) + %t22 = load ptr, ptr %sc_l_cb_0 + call void @scr_closure_release(ptr %t22) + ret void +} + +define internal ptr @sc_bf__x25_union_retag_1(ptr %p_sc_l_u_0) #0 { ; %union.retag.1 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp eq ptr %t0, @sc_nullable_null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518) + call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp ne ptr %t4, null + %t7 = icmp ne ptr %t4, @sc_nullable_null + %t8 = and i1 %t6, %t7 + br i1 %t8, label %if.t2, label %if.j3 +if.t2: + %t9 = load ptr, ptr %sc_l_u_0 + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_u_0 + %t12 = icmp eq ptr %t10, null + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + ret ptr null +if.j5: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_retag_1(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_retag_1(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r5(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r5(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_union_narrow_3(ptr %p_sc_l_u_0) #0 { ; %union.narrow.3 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp eq ptr %t0, @sc_nullable_null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518) + call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp ne ptr %t4, null + %t7 = icmp ne ptr %t4, @sc_nullable_null + %t8 = and i1 %t6, %t7 + br i1 %t8, label %if.t2, label %if.j3 +if.t2: + %t9 = load ptr, ptr %sc_l_u_0 + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_u_0 + %t12 = icmp eq ptr %t10, null + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t13, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j5: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_3(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_3(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r5(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r5(ptr %p0) + ret ptr %t3 +} + +define internal { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.1 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s0 = alloca ptr + %s3 = alloca %ScrUnion + %s4 = getelementptr inbounds %ScrUnion, ptr %s3, i32 0, i32 5 + %s5 = getelementptr inbounds %ScrUnion, ptr %s3, i32 0, i32 1 + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t1 = load ptr, ptr %sc_l_a_0 + %t2 = load double, ptr %sc_l_i_0 + %t6 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 2 + %t7 = load i64, ptr %t6, !tbaa !2 + %t8 = fptosi double %t2 to i64 + %t9 = freeze i64 %t8 + %t10 = sitofp i64 %t9 to double + %t11 = fcmp oeq double %t10, %t2 + %t12 = icmp ult i64 %t9, %t7 + %t13 = and i1 %t11, %t12 + br i1 %t13, label %local.array.range3, label %local.array.slow0 +local.array.range3: + br label %local.array.dense4 +local.array.dense4: + %t14 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t17 = zext i32 %t15 to i64 + %t16 = icmp ult i64 %t9, %t17 + br i1 %t16, label %local.array.value6, label %local.array.len5 +local.array.len5: + %t18 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 1 + %t19 = load i64, ptr %t18, !tbaa !2, !range !{i64 0, i64 4294967296} + %t20 = icmp ult i64 %t9, %t19 + br i1 %t20, label %local.array.state7, label %local.array.missing1 +local.array.state7: + %t21 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 9 + %t22 = load ptr, ptr %t21, !tbaa !2 + %t23 = getelementptr inbounds i8, ptr %t22, i64 %t9 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = icmp eq i8 %t24, 1 + br i1 %t25, label %local.array.value6, label %local.array.missing1 +local.array.value6: + %t26 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 8 + %t27 = load ptr, ptr %t26, !tbaa !2 + %t28 = getelementptr inbounds i64, ptr %t27, i64 %t9 + %t29 = load i64, ptr %t28, !tbaa !6 + store i64 %t29, ptr %s4 + store i32 0, ptr %s5 + br label %local.array.join2 +local.array.slow0: + %t30 = call double @scr_arr_state(ptr %t1, double %t2) cold memory(read, inaccessiblemem: readwrite) + %t31 = fcmp oeq double %t30, 1.0 + br i1 %t31, label %local.array.slow.value8, label %local.array.missing1 +local.array.slow.value8: + %t32 = call double @scr_arr_get_f64(ptr %t1, double %t2) cold memory(read, inaccessiblemem: readwrite) + %t33 = bitcast double %t32 to i64 + store i64 %t33, ptr %s4 + store i32 0, ptr %s5 + br label %local.array.join2 +local.array.missing1: + store i64 0, ptr %s4 + store i32 1, ptr %s5 + br label %local.array.join2 +local.array.join2: + store ptr %s3, ptr %s0 + %t34 = load ptr, ptr %s0 + %t36 = getelementptr inbounds %ScrUnion, ptr %t34, i64 0, i32 1 + %t35 = load i32, ptr %t36 + %t37 = getelementptr inbounds %ScrUnion, ptr %t34, i32 0, i32 5 + %t38 = load i64, ptr %t37 + %t39 = insertvalue { i32, i64 } poison, i32 %t35, 0 + %t40 = insertvalue { i32, i64 } %t39, i64 %t38, 1 + ret { i32, i64 } %t40 +} +define internal ptr @sc_bf__x25_arr_idxOr_1(ptr %p0, double %p1) #0 { +entry: + %t0 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %p0, double %p1) + %t1 = extractvalue { i32, i64 } %t0, 0 + %t2 = extractvalue { i32, i64 } %t0, 1 + switch i32 %t1, label %union.box.none1 [ i32 0, label %union.box.arm2 i32 1, label %union.box.arm3 ] +union.box.arm2: + %t3 = bitcast i64 %t2 to double + %t4 = call ptr @scr_union_new_f64(i32 0, double %t3) + br label %union.box.join0 +union.box.arm3: + br label %union.box.join0 +union.box.none1: + br label %union.box.join0 +union.box.join0: + %t5 = phi ptr [ %t4, %union.box.arm2 ], [ @sc_unit_3, %union.box.arm3 ], [ null, %union.box.none1 ] + ret ptr %t5 +} +define internal ptr @sc_f__x25_arr_idxOr_1(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_1(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_2(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.2 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @scr_closure_retain_v(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + %t62 = call ptr @scr_union_new_ref(i32 0, ptr %t61, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + store ptr %t62, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr @sc_unit_6, ptr %s29 + br label %tern.j8 +tern.j8: + %t63 = load ptr, ptr %s29 + ret ptr %t63 +} +define internal ptr @sc_f__x25_arr_idxOr_2(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_2(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_fn22(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn22 +entry: + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_node_0 = alloca ptr ; node + %sc_l_method_0 = alloca ptr ; method + %sc_l_url_0 = alloca ptr ; url + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_node_1 = alloca ptr ; node + %sc_l_method_1 = alloca ptr ; method + %sc_l_url_1 = alloca ptr ; url + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_oef_1 = alloca ptr ; oef + %s27 = alloca %ScrUnion + %s28 = getelementptr inbounds %ScrUnion, ptr %s27, i32 0, i32 1 + %s29 = getelementptr inbounds %ScrUnion, ptr %s27, i32 0, i32 5 + %s30 = alloca ptr + %s37 = alloca ptr + %s52 = alloca ptr + %s57 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_node_1 + store ptr null, ptr %sc_l_method_1 + store ptr null, ptr %sc_l_url_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_oef_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_node_0 ; captured node + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_method_0 ; captured method + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_url_0 ; captured url + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_sink_0 ; captured sink + %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4] + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %sc_l_oef_0 ; captured oef + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + %t15 = call ptr @llvm.stacksave.p0() + %t16 = load ptr, ptr @scr_stack_guard + %t17 = icmp ult ptr %t15, %t16 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t19 = load ptr, ptr %sc_l_node_0 + %t20 = call ptr @scr_box_get_ref(ptr %t19) + store ptr %t20, ptr %sc_l_node_1 + %t21 = load ptr, ptr %sc_l_method_0 + %t22 = call ptr @scr_box_get_ref(ptr %t21) + store ptr %t22, ptr %sc_l_method_1 + %t23 = load ptr, ptr %sc_l_url_0 + %t24 = call ptr @scr_box_get_ref(ptr %t23) + store ptr %t24, ptr %sc_l_url_1 + %t25 = load ptr, ptr %sc_l_sink_0 + %t26 = call ptr @scr_box_get_ref(ptr %t25) + store ptr %t26, ptr %sc_l_sink_1 + store ptr null, ptr %s30 + %t31 = load ptr, ptr %sc_l_oef_0 + %t32 = getelementptr inbounds %ScrBox, ptr %t31, i32 0, i32 5 + %t33 = load ptr, ptr %t32 + %t35 = getelementptr inbounds %ScrUnion, ptr %t33, i64 0, i32 1 + %t34 = load i32, ptr %t35 + store ptr null, ptr %s37 + %t36 = icmp eq i32 %t34, 0 + br i1 %t36, label %union.copy.ref2, label %union.copy.join3 +union.copy.ref2: + %t38 = getelementptr inbounds %ScrUnion, ptr %t33, i64 0, i32 5 + %t39 = load ptr, ptr %t38 + %t40 = call ptr @scr_closure_retain_v(ptr %t39) + store ptr %t40, ptr %s37 + br label %union.copy.join3 +union.copy.join3: + %t41 = load ptr, ptr %s37 + %t43 = getelementptr inbounds %ScrUnion, ptr %t33, i64 0, i32 1 + %t42 = load i32, ptr %t43 + %t44 = getelementptr inbounds %ScrUnion, ptr %t33, i32 0, i32 5 + %t45 = load i64, ptr %t44 + store i32 %t42, ptr %s28 + store i64 %t45, ptr %s29 + %t46 = load ptr, ptr %s30 + store ptr %t41, ptr %s30 + call void @scr_closure_release(ptr %t46) + store ptr %s27, ptr %sc_l_oef_1 + %t47 = load ptr, ptr %sc_l_node_1 + %t49 = icmp ne ptr %t47, null + %t50 = icmp ne ptr %t47, @sc_nullable_null + %t51 = and i1 %t49, %t50 + br i1 %t51, label %read.then4, label %read.else5 +read.then4: + %t53 = load ptr, ptr %sc_l_node_1 + store ptr %t53, ptr %s52 + br label %read.join6 +read.else5: + %t54 = load ptr, ptr %sc_l_node_1 + %t56 = icmp eq ptr %t54, @sc_nullable_null + br i1 %t56, label %read.then7, label %read.else8 +read.then7: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518) + br label %exc.cleanup10 +exc.dead11: + store ptr null, ptr %s57 + br label %read.join9 +read.else8: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup10 +exc.dead12: + store ptr null, ptr %s57 + br label %read.join9 +read.join9: + %t58 = load ptr, ptr %s57 + store ptr %t58, ptr %s52 + br label %read.join6 +read.join6: + %t59 = load ptr, ptr %s52 + %t60 = load ptr, ptr %sc_l_method_1 + %t61 = load ptr, ptr %sc_l_url_1 + %t62 = load ptr, ptr %sc_l_sink_1 + %t63 = load ptr, ptr %sc_l_oef_1 + %t64 = load ptr, ptr %sc_l_resolve_0 + call void @sc_bf__x25_m5_allow405Promise(ptr %t59, ptr %t60, ptr %t61, ptr %t62, ptr %t63, ptr %t64) + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u13, label %exc.k14 +exc.u13: + br label %exc.cleanup10 +exc.k14: + %t68 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t68) + %t69 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t69) + %t70 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t70) + %t71 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t71) + %t72 = load ptr, ptr %s30 + call void @scr_closure_release(ptr %t72) + ret void +exc.cleanup10: + %t73 = load ptr, ptr %sc_l_node_1 + call void @sc_rrelease_r5(ptr %t73) + %t74 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t74) + %t75 = load ptr, ptr %sc_l_url_1 + call void @scr_str_release(ptr %t75) + %t76 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t76) + %t77 = load ptr, ptr %s30 + call void @scr_closure_release(ptr %t77) + ret void +} +define internal void @sc_f__x25_fn22(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn22(ptr %sc_env, ptr %p0) + call void @scr_closure_release(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25_union_retag_2(ptr %p_sc_l_u_0) #0 { ; %union.retag.2 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp eq ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518) + call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = load ptr, ptr %sc_l_u_0 + ret ptr %t7 +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_retag_2(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_retag_2(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r0(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r0(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_arr_idxOr_3(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.3 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @scr_arr_retain_v(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_3(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_3(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_union_narrow_4(ptr %p_sc_l_u_0) #0 { ; %union.narrow.4 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_4(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_4(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @scr_arr_retain_v(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_arr_release(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_arr_idxOr_4(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.4 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @scr_arr_retain_v(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_4(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_4(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_union_narrow_5(ptr %p_sc_l_u_0) #0 { ; %union.narrow.5 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_5(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_5(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @scr_arr_retain_v(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_arr_release(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore() #0 { ; %prototype.data.%m5.ReqViewCore +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + call void @scr_dyn_release(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + store i1 true, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_616655122974952) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body) + %t13 = call ptr @sc_dfb_56(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + call void @scr_dyn_release(ptr %t25) + ret ptr null +exc.k11: + call void @scr_dyn_release(ptr %t9) + call void @scr_dyn_release(ptr %t10) + call void @scr_dyn_release(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @scr_dyn_release(ptr %t13) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t21) + call void @scr_dyn_release(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_1048673592241930) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file) + %t34 = call ptr @sc_dfb_57(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + call void @scr_dyn_release(ptr %t46) + ret ptr null +exc.k19: + call void @scr_dyn_release(ptr %t30) + call void @scr_dyn_release(ptr %t31) + call void @scr_dyn_release(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @scr_dyn_release(ptr %t34) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t42) + call void @scr_dyn_release(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_308138762104264) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq) + %t55 = call ptr @sc_dfb_2(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + call void @scr_dyn_release(ptr %t67) + ret ptr null +exc.k27: + call void @scr_dyn_release(ptr %t51) + call void @scr_dyn_release(ptr %t52) + call void @scr_dyn_release(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @scr_dyn_release(ptr %t55) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t63) + call void @scr_dyn_release(ptr %t67) + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = call ptr @sc_td_0(ptr @sc_lit_2356143898347316) + %t74 = call ptr @scr_dyn_new_obj() + %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb) + %t76 = call ptr @sc_dfb_12(ptr %t75, ptr null) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u28, label %exc.k29 +exc.u28: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + ret ptr null +exc.k29: + %t80 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + ret ptr null +exc.k31: + %t84 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + ret ptr null +exc.k33: + %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u34, label %exc.k35 +exc.u34: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + call void @scr_dyn_release(ptr %t88) + ret ptr null +exc.k35: + call void @scr_dyn_release(ptr %t72) + call void @scr_dyn_release(ptr %t73) + call void @scr_dyn_release(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @scr_dyn_release(ptr %t76) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t84) + call void @scr_dyn_release(ptr %t88) + %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + %t94 = call ptr @sc_td_0(ptr @sc_lit_3600534565598564) + %t95 = call ptr @scr_dyn_new_obj() + %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param) + %t97 = call ptr @sc_dfb_58(ptr %t96, ptr null) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + ret ptr null +exc.k37: + %t101 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + ret ptr null +exc.k39: + %t105 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + ret ptr null +exc.k41: + %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + call void @scr_dyn_release(ptr %t109) + ret ptr null +exc.k43: + call void @scr_dyn_release(ptr %t93) + call void @scr_dyn_release(ptr %t94) + call void @scr_dyn_release(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @scr_dyn_release(ptr %t97) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t105) + call void @scr_dyn_release(ptr %t109) + %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t114 = call ptr @sc_rc_retain_dyn(ptr %t113) + %t115 = call ptr @sc_td_0(ptr @sc_lit_1621825757343351) + %t116 = call ptr @scr_dyn_new_obj() + %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm) + %t118 = call ptr @sc_dfb_59(ptr %t117, ptr null) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118) + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + ret ptr null +exc.k45: + %t122 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + ret ptr null +exc.k47: + %t126 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126) + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + ret ptr null +exc.k49: + %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u50, label %exc.k51 +exc.u50: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + call void @scr_dyn_release(ptr %t130) + ret ptr null +exc.k51: + call void @scr_dyn_release(ptr %t114) + call void @scr_dyn_release(ptr %t115) + call void @scr_dyn_release(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @scr_dyn_release(ptr %t118) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t126) + call void @scr_dyn_release(ptr %t130) + %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t135 = call ptr @sc_rc_retain_dyn(ptr %t134) + %t136 = call ptr @sc_td_0(ptr @sc_lit_2827456990858395) + %t137 = call ptr @scr_dyn_new_obj() + %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow) + %t139 = call ptr @sc_dfb_60(ptr %t138, ptr null) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + ret ptr null +exc.k53: + %t143 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + ret ptr null +exc.k55: + %t147 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + ret ptr null +exc.k57: + %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + call void @scr_dyn_release(ptr %t151) + ret ptr null +exc.k59: + call void @scr_dyn_release(ptr %t135) + call void @scr_dyn_release(ptr %t136) + call void @scr_dyn_release(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @scr_dyn_release(ptr %t139) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t147) + call void @scr_dyn_release(ptr %t151) + %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t156 = call ptr @sc_rc_retain_dyn(ptr %t155) + %t157 = call ptr @sc_td_0(ptr @sc_lit_2968093406050353) + %t158 = call ptr @scr_dyn_new_obj() + %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query) + %t160 = call ptr @sc_dfb_58(ptr %t159, ptr null) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160) + %t161 = load i32, ptr %exc.cell + %t162 = icmp ne i32 %t161, 0 + %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false) + br i1 %t163, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + ret ptr null +exc.k61: + %t164 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164) + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + ret ptr null +exc.k63: + %t168 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u64, label %exc.k65 +exc.u64: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + ret ptr null +exc.k65: + %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u66, label %exc.k67 +exc.u66: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + call void @scr_dyn_release(ptr %t172) + ret ptr null +exc.k67: + call void @scr_dyn_release(ptr %t156) + call void @scr_dyn_release(ptr %t157) + call void @scr_dyn_release(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @scr_dyn_release(ptr %t160) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t168) + call void @scr_dyn_release(ptr %t172) + %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t177 = call ptr @sc_rc_retain_dyn(ptr %t176) + %t178 = call ptr @sc_td_0(ptr @sc_lit_3529749794644284) + %t179 = call ptr @scr_dyn_new_obj() + %t180 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll) + %t181 = call ptr @sc_dfb_54(ptr %t180, ptr null) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3610950885518037, ptr %t181) + %t182 = load i32, ptr %exc.cell + %t183 = icmp ne i32 %t182, 0 + %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false) + br i1 %t184, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + ret ptr null +exc.k69: + %t185 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_1948131179100861, ptr %t185) + %t186 = load i32, ptr %exc.cell + %t187 = icmp ne i32 %t186, 0 + %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false) + br i1 %t188, label %exc.u70, label %exc.k71 +exc.u70: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + ret ptr null +exc.k71: + %t189 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3198935257758645, ptr %t189) + %t190 = load i32, ptr %exc.cell + %t191 = icmp ne i32 %t190, 0 + %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false) + br i1 %t192, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + ret ptr null +exc.k73: + %t193 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t177, ptr %t178, ptr %t179) + %t194 = load i32, ptr %exc.cell + %t195 = icmp ne i32 %t194, 0 + %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false) + br i1 %t196, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + call void @scr_dyn_release(ptr %t193) + ret ptr null +exc.k75: + call void @scr_dyn_release(ptr %t177) + call void @scr_dyn_release(ptr %t178) + call void @scr_dyn_release(ptr %t179) + call void @scr_closure_release(ptr %t180) + call void @scr_dyn_release(ptr %t181) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t189) + call void @scr_dyn_release(ptr %t193) + %t197 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t199 = call ptr @sc_td_0(ptr @sc_lit_124879919648070) + %t200 = call ptr @scr_dyn_new_obj() + %t201 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries) + %t202 = call ptr @sc_dfb_61(ptr %t201, ptr null) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3610950885518037, ptr %t202) + %t203 = load i32, ptr %exc.cell + %t204 = icmp ne i32 %t203, 0 + %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false) + br i1 %t205, label %exc.u76, label %exc.k77 +exc.u76: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + ret ptr null +exc.k77: + %t206 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_1948131179100861, ptr %t206) + %t207 = load i32, ptr %exc.cell + %t208 = icmp ne i32 %t207, 0 + %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false) + br i1 %t209, label %exc.u78, label %exc.k79 +exc.u78: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + ret ptr null +exc.k79: + %t210 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3198935257758645, ptr %t210) + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u80, label %exc.k81 +exc.u80: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + ret ptr null +exc.k81: + %t214 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t198, ptr %t199, ptr %t200) + %t215 = load i32, ptr %exc.cell + %t216 = icmp ne i32 %t215, 0 + %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false) + br i1 %t217, label %exc.u82, label %exc.k83 +exc.u82: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + call void @scr_dyn_release(ptr %t214) + ret ptr null +exc.k83: + call void @scr_dyn_release(ptr %t198) + call void @scr_dyn_release(ptr %t199) + call void @scr_dyn_release(ptr %t200) + call void @scr_closure_release(ptr %t201) + call void @scr_dyn_release(ptr %t202) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t210) + call void @scr_dyn_release(ptr %t214) + %t218 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t219 = call ptr @sc_rc_retain_dyn(ptr %t218) + %t220 = call ptr @sc_td_0(ptr @sc_lit_528144782449140) + %t221 = call ptr @scr_dyn_new_obj() + %t222 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header) + %t223 = call ptr @sc_dfb_58(ptr %t222, ptr null) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3610950885518037, ptr %t223) + %t224 = load i32, ptr %exc.cell + %t225 = icmp ne i32 %t224, 0 + %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false) + br i1 %t226, label %exc.u84, label %exc.k85 +exc.u84: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + ret ptr null +exc.k85: + %t227 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_1948131179100861, ptr %t227) + %t228 = load i32, ptr %exc.cell + %t229 = icmp ne i32 %t228, 0 + %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false) + br i1 %t230, label %exc.u86, label %exc.k87 +exc.u86: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + ret ptr null +exc.k87: + %t231 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3198935257758645, ptr %t231) + %t232 = load i32, ptr %exc.cell + %t233 = icmp ne i32 %t232, 0 + %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false) + br i1 %t234, label %exc.u88, label %exc.k89 +exc.u88: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + ret ptr null +exc.k89: + %t235 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t219, ptr %t220, ptr %t221) + %t236 = load i32, ptr %exc.cell + %t237 = icmp ne i32 %t236, 0 + %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false) + br i1 %t238, label %exc.u90, label %exc.k91 +exc.u90: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + call void @scr_dyn_release(ptr %t235) + ret ptr null +exc.k91: + call void @scr_dyn_release(ptr %t219) + call void @scr_dyn_release(ptr %t220) + call void @scr_dyn_release(ptr %t221) + call void @scr_closure_release(ptr %t222) + call void @scr_dyn_release(ptr %t223) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t231) + call void @scr_dyn_release(ptr %t235) + %t239 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t240 = call ptr @sc_rc_retain_dyn(ptr %t239) + %t241 = call ptr @sc_td_0(ptr @sc_lit_40786511283622) + %t242 = call ptr @scr_dyn_new_obj() + %t243 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody) + %t244 = call ptr @sc_dfb_46(ptr %t243, ptr null) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3610950885518037, ptr %t244) + %t245 = load i32, ptr %exc.cell + %t246 = icmp ne i32 %t245, 0 + %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false) + br i1 %t247, label %exc.u92, label %exc.k93 +exc.u92: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + ret ptr null +exc.k93: + %t248 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_1948131179100861, ptr %t248) + %t249 = load i32, ptr %exc.cell + %t250 = icmp ne i32 %t249, 0 + %t251 = call i1 @llvm.expect.i1(i1 %t250, i1 false) + br i1 %t251, label %exc.u94, label %exc.k95 +exc.u94: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + ret ptr null +exc.k95: + %t252 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3198935257758645, ptr %t252) + %t253 = load i32, ptr %exc.cell + %t254 = icmp ne i32 %t253, 0 + %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false) + br i1 %t255, label %exc.u96, label %exc.k97 +exc.u96: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + ret ptr null +exc.k97: + %t256 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t240, ptr %t241, ptr %t242) + %t257 = load i32, ptr %exc.cell + %t258 = icmp ne i32 %t257, 0 + %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false) + br i1 %t259, label %exc.u98, label %exc.k99 +exc.u98: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + call void @scr_dyn_release(ptr %t256) + ret ptr null +exc.k99: + call void @scr_dyn_release(ptr %t240) + call void @scr_dyn_release(ptr %t241) + call void @scr_dyn_release(ptr %t242) + call void @scr_closure_release(ptr %t243) + call void @scr_dyn_release(ptr %t244) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t252) + call void @scr_dyn_release(ptr %t256) + %t260 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t261 = call ptr @sc_rc_retain_dyn(ptr %t260) + %t262 = call ptr @sc_td_0(ptr @sc_lit_1081761464356753) + %t263 = call ptr @scr_dyn_new_obj() + %t264 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files) + %t265 = call ptr @sc_dfb_62(ptr %t264, ptr null) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3610950885518037, ptr %t265) + %t266 = load i32, ptr %exc.cell + %t267 = icmp ne i32 %t266, 0 + %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false) + br i1 %t268, label %exc.u100, label %exc.k101 +exc.u100: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + ret ptr null +exc.k101: + %t269 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_1948131179100861, ptr %t269) + %t270 = load i32, ptr %exc.cell + %t271 = icmp ne i32 %t270, 0 + %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false) + br i1 %t272, label %exc.u102, label %exc.k103 +exc.u102: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + ret ptr null +exc.k103: + %t273 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3198935257758645, ptr %t273) + %t274 = load i32, ptr %exc.cell + %t275 = icmp ne i32 %t274, 0 + %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false) + br i1 %t276, label %exc.u104, label %exc.k105 +exc.u104: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + ret ptr null +exc.k105: + %t277 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t261, ptr %t262, ptr %t263) + %t278 = load i32, ptr %exc.cell + %t279 = icmp ne i32 %t278, 0 + %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false) + br i1 %t280, label %exc.u106, label %exc.k107 +exc.u106: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + call void @scr_dyn_release(ptr %t277) + ret ptr null +exc.k107: + call void @scr_dyn_release(ptr %t261) + call void @scr_dyn_release(ptr %t262) + call void @scr_dyn_release(ptr %t263) + call void @scr_closure_release(ptr %t264) + call void @scr_dyn_release(ptr %t265) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t273) + call void @scr_dyn_release(ptr %t277) + %t281 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t282 = call ptr @sc_rc_retain_dyn(ptr %t281) + %t283 = call ptr @sc_td_0(ptr @sc_lit_3392166625234189) + %t284 = call ptr @scr_dyn_new_obj() + %t285 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field) + %t286 = call ptr @sc_dfb_58(ptr %t285, ptr null) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3610950885518037, ptr %t286) + %t287 = load i32, ptr %exc.cell + %t288 = icmp ne i32 %t287, 0 + %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false) + br i1 %t289, label %exc.u108, label %exc.k109 +exc.u108: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + ret ptr null +exc.k109: + %t290 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_1948131179100861, ptr %t290) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u110, label %exc.k111 +exc.u110: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + ret ptr null +exc.k111: + %t294 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3198935257758645, ptr %t294) + %t295 = load i32, ptr %exc.cell + %t296 = icmp ne i32 %t295, 0 + %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false) + br i1 %t297, label %exc.u112, label %exc.k113 +exc.u112: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + ret ptr null +exc.k113: + %t298 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t282, ptr %t283, ptr %t284) + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u114, label %exc.k115 +exc.u114: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + call void @scr_dyn_release(ptr %t298) + ret ptr null +exc.k115: + call void @scr_dyn_release(ptr %t282) + call void @scr_dyn_release(ptr %t283) + call void @scr_dyn_release(ptr %t284) + call void @scr_closure_release(ptr %t285) + call void @scr_dyn_release(ptr %t286) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t294) + call void @scr_dyn_release(ptr %t298) + %t302 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t303 = call ptr @sc_rc_retain_dyn(ptr %t302) + %t304 = call ptr @sc_td_0(ptr @sc_lit_3375901898269401) + %t305 = call ptr @scr_dyn_new_obj() + %t306 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields) + %t307 = call ptr @sc_dfb_61(ptr %t306, ptr null) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3610950885518037, ptr %t307) + %t308 = load i32, ptr %exc.cell + %t309 = icmp ne i32 %t308, 0 + %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false) + br i1 %t310, label %exc.u116, label %exc.k117 +exc.u116: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + ret ptr null +exc.k117: + %t311 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_1948131179100861, ptr %t311) + %t312 = load i32, ptr %exc.cell + %t313 = icmp ne i32 %t312, 0 + %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false) + br i1 %t314, label %exc.u118, label %exc.k119 +exc.u118: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + ret ptr null +exc.k119: + %t315 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3198935257758645, ptr %t315) + %t316 = load i32, ptr %exc.cell + %t317 = icmp ne i32 %t316, 0 + %t318 = call i1 @llvm.expect.i1(i1 %t317, i1 false) + br i1 %t318, label %exc.u120, label %exc.k121 +exc.u120: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + ret ptr null +exc.k121: + %t319 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t303, ptr %t304, ptr %t305) + %t320 = load i32, ptr %exc.cell + %t321 = icmp ne i32 %t320, 0 + %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false) + br i1 %t322, label %exc.u122, label %exc.k123 +exc.u122: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + call void @scr_dyn_release(ptr %t319) + ret ptr null +exc.k123: + call void @scr_dyn_release(ptr %t303) + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t305) + call void @scr_closure_release(ptr %t306) + call void @scr_dyn_release(ptr %t307) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t315) + call void @scr_dyn_release(ptr %t319) + %t323 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t324 = call ptr @sc_rc_retain_dyn(ptr %t323) + %t325 = call ptr @sc_td_0(ptr @sc_lit_3532714511332900) + %t326 = call ptr @scr_dyn_new_obj() + %t327 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart) + %t328 = call ptr @sc_dfb_63(ptr %t327, ptr null) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3610950885518037, ptr %t328) + %t329 = load i32, ptr %exc.cell + %t330 = icmp ne i32 %t329, 0 + %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false) + br i1 %t331, label %exc.u124, label %exc.k125 +exc.u124: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + ret ptr null +exc.k125: + %t332 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_1948131179100861, ptr %t332) + %t333 = load i32, ptr %exc.cell + %t334 = icmp ne i32 %t333, 0 + %t335 = call i1 @llvm.expect.i1(i1 %t334, i1 false) + br i1 %t335, label %exc.u126, label %exc.k127 +exc.u126: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + ret ptr null +exc.k127: + %t336 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3198935257758645, ptr %t336) + %t337 = load i32, ptr %exc.cell + %t338 = icmp ne i32 %t337, 0 + %t339 = call i1 @llvm.expect.i1(i1 %t338, i1 false) + br i1 %t339, label %exc.u128, label %exc.k129 +exc.u128: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + ret ptr null +exc.k129: + %t340 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t324, ptr %t325, ptr %t326) + %t341 = load i32, ptr %exc.cell + %t342 = icmp ne i32 %t341, 0 + %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false) + br i1 %t343, label %exc.u130, label %exc.k131 +exc.u130: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + call void @scr_dyn_release(ptr %t340) + ret ptr null +exc.k131: + call void @scr_dyn_release(ptr %t324) + call void @scr_dyn_release(ptr %t325) + call void @scr_dyn_release(ptr %t326) + call void @scr_closure_release(ptr %t327) + call void @scr_dyn_release(ptr %t328) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t336) + call void @scr_dyn_release(ptr %t340) + %t344 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t345 = call ptr @sc_rc_retain_dyn(ptr %t344) + %t346 = call ptr @sc_td_0(ptr @sc_lit_3624217920823549) + %t347 = call ptr @scr_dyn_new_obj() + %t348 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed) + %t349 = call ptr @sc_dfb_60(ptr %t348, ptr null) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3610950885518037, ptr %t349) + %t350 = load i32, ptr %exc.cell + %t351 = icmp ne i32 %t350, 0 + %t352 = call i1 @llvm.expect.i1(i1 %t351, i1 false) + br i1 %t352, label %exc.u132, label %exc.k133 +exc.u132: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + ret ptr null +exc.k133: + %t353 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_1948131179100861, ptr %t353) + %t354 = load i32, ptr %exc.cell + %t355 = icmp ne i32 %t354, 0 + %t356 = call i1 @llvm.expect.i1(i1 %t355, i1 false) + br i1 %t356, label %exc.u134, label %exc.k135 +exc.u134: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + ret ptr null +exc.k135: + %t357 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3198935257758645, ptr %t357) + %t358 = load i32, ptr %exc.cell + %t359 = icmp ne i32 %t358, 0 + %t360 = call i1 @llvm.expect.i1(i1 %t359, i1 false) + br i1 %t360, label %exc.u136, label %exc.k137 +exc.u136: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + ret ptr null +exc.k137: + %t361 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t345, ptr %t346, ptr %t347) + %t362 = load i32, ptr %exc.cell + %t363 = icmp ne i32 %t362, 0 + %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false) + br i1 %t364, label %exc.u138, label %exc.k139 +exc.u138: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + call void @scr_dyn_release(ptr %t361) + ret ptr null +exc.k139: + call void @scr_dyn_release(ptr %t345) + call void @scr_dyn_release(ptr %t346) + call void @scr_dyn_release(ptr %t347) + call void @scr_closure_release(ptr %t348) + call void @scr_dyn_release(ptr %t349) + call void @scr_dyn_release(ptr %t353) + call void @scr_dyn_release(ptr %t357) + call void @scr_dyn_release(ptr %t361) + br label %if.j3 +if.j3: + %t365 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + %t366 = call ptr @sc_rc_retain_dyn(ptr %t365) + ret ptr %t366 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m5.ReqViewCore +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_660811353369478 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_660811353369478) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_660811353369478 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_28(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m5_ReqViewCore(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body() #0 { ; %method.value:%%m5.ReqViewCore.body +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_body(ptr %t5) + %t10 = call ptr @sc_rc_retain_str(ptr %t9) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.file +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_file(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @sc_release__x25_m4_UploadedFile(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq() #0 { ; %method.value:%%m5.ReqViewCore.rawReq +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_rawReq(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @sc_rc_release_dyn(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t9 +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore._setWeb +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m5_ReqViewCore__setWeb(ptr %t5, ptr %t9) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.param +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_param(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_str_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore._seedPm +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m5_ReqViewCore__seedPm(ptr %t5, ptr %t9) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %p0) + call void @scr_arr_release(ptr %p0) + ret void +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow() #0 { ; %method.value:%%m5.ReqViewCore._pmNow +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore__pmNow(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_arr_release(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.query +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_query(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_str_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll() #0 { ; %method.value:%%m5.ReqViewCore.queryAll +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_queryAll(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @sc_rrelease_r0(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.queries +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_queries(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_arr_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.header +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_header(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_str_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore._setBody +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m5_ReqViewCore__setBody(ptr %t5, ptr %t9) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.files +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_files(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_arr_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.field +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_field(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_str_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.fields +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_fields(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_arr_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.ReqViewCore._setMultipart +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m5_ReqViewCore__setMultipart(ptr %t5, ptr %t9, ptr %t10) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %p0, ptr %p1) + call void @scr_arr_release(ptr %p0) + call void @scr_arr_release(ptr %p1) + ret void +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed() #0 { ; %method.value:%%m5.ReqViewCore._parsed +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore__parsed(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + call void @scr_arr_release(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_ReqViewCore(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_dyn_class_protocol_0(ptr %p_sc_l_p_0) inlinehint #0 { ; %dyn.class.protocol.0 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s28 = alloca i1 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695 + store i1 %t18, ptr %s11 + br label %brand.done7 +brand.done7: + %t19 = load i1, ptr %s11 + br i1 %t19, label %if.t8, label %if.j9 +if.t8: + %t20 = load ptr, ptr %sc_l_p_0 + %t21 = getelementptr inbounds i8, ptr %t20, i64 16 ; ->v.typed_ref.ptr + %t22 = load ptr, ptr %t21 + %t23 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t22, i64 0, i32 2 + %t24 = load ptr, ptr %t23, !tbaa !78 + %t25 = call ptr @sc_rc_retain_str(ptr %t24) + %t26 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t26) + ret ptr %t25 +if.j9: + %t27 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s28 + %t29 = icmp ne ptr %t27, null + br i1 %t29, label %brand.inspect10, label %brand.done12 +brand.inspect10: + %t30 = getelementptr inbounds i8, ptr %t27, i64 8 ; ->kind + %t31 = load i32, ptr %t30 + %t32 = icmp eq i32 %t31, 12 + br i1 %t32, label %brand.capsule11, label %brand.done12 +brand.capsule11: + %t33 = getelementptr inbounds i8, ptr %t27, i64 40 ; ->v.typed_ref.type_key + %t34 = load ptr, ptr %t33 + %t35 = icmp eq ptr %t34, @sc_cs_660811353369478 + store i1 %t35, ptr %s28 + br label %brand.done12 +brand.done12: + %t36 = load i1, ptr %s28 + br i1 %t36, label %if.t13, label %if.j14 +if.t13: + %t37 = load ptr, ptr %sc_l_p_0 + %t38 = getelementptr inbounds i8, ptr %t37, i64 16 ; ->v.typed_ref.ptr + %t39 = load ptr, ptr %t38 + %t40 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t39, i64 0, i32 6 + %t41 = load ptr, ptr %t40, !tbaa !78 + %t42 = call ptr @sc_rc_retain_str(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + ret ptr %t42 +if.j14: + %t44 = load ptr, ptr %sc_l_p_0 + %t45 = call ptr @sc_rc_retain_dyn(ptr %t44) + %t46 = call ptr @sc_f__x25_dyn_class_protocol_fallback_0(ptr %t45) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u15, label %exc.k16 +exc.u15: + call void @scr_str_release(ptr %t46) + br label %exc.cleanup2 +exc.k16: + %t50 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t50) + ret ptr %t46 +exc.cleanup2: + %t51 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_protocol_fallback_0(ptr %p_sc_l_p_0) noinline #0 { ; %dyn.class.protocol.fallback.0 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_rc_retain_dyn(ptr %t4) + %t6 = call ptr @sc_f__x25_dyn_class_property_6(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t6) + br label %exc.cleanup2 +exc.k4: + %t10 = call ptr @sc_dc_0(ptr %t6, ptr null) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t6) + call void @scr_str_release(ptr %t10) + br label %exc.cleanup2 +exc.k6: + call void @sc_rc_release_dyn(ptr %t6) + %t14 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t14) + ret ptr %t10 +exc.cleanup2: + %t15 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t15) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_1(ptr %p_sc_l_p_0, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.1 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = load ptr, ptr %sc_l_p_calleeName + %t13 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_1(ptr %t11, ptr %t12) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u5, label %exc.k6 +exc.u5: + call void @scr_promise_release(ptr %t13) + br label %exc.cleanup2 +exc.k6: + %t17 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t17) + ret ptr %t13 +exc.cleanup2: + %t18 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t18) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_1(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_1(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_1(ptr %p_sc_l_p_0, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.1 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_rc_retain_dyn(ptr %t4) + %t6 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t6) + br label %exc.cleanup2 +exc.k4: + %t10 = load ptr, ptr %sc_l_p_0 + %t12 = load ptr, ptr %sc_l_p_calleeName + %t13 = getelementptr inbounds %ScrStr, ptr %t12, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t10) + %t11 = call ptr @scr_dyn_call(ptr %t6, ptr null, i64 0, ptr %t13) + call void @scr_dyn_this_pop() + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t11) + br label %exc.cleanup2 +exc.k6: + %t17 = call ptr @sc_dc_118(ptr %t11, ptr null) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_promise_release(ptr %t17) + br label %exc.cleanup2 +exc.k8: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t11) + %t21 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t21) + ret ptr %t17 +exc.cleanup2: + %t22 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t22) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_fallback_1(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_1(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_5(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.5 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_5(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_5(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_fn23(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn23 +entry: + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_idx_0 = alloca ptr ; idx + %sc_l_method_0 = alloca ptr ; method + %sc_l_this_0 = alloca ptr ; this + %sc_l_app_0 = alloca ptr ; app + %sc_l_mp_0 = alloca ptr ; mp + %sc_l_c_0 = alloca ptr ; c + %sc_l_chainBody_0 = alloca ptr ; chainBody + %sc_l_bodyU8_0 = alloca ptr ; bodyU8 + %sc_l_rc_0 = alloca i32 ; rc + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_method_1 = alloca ptr ; method + %sc_l_app_1 = alloca ptr ; app + %sc_l_c_1 = alloca ptr ; c + %sc_l_bodyU8_1 = alloca ptr ; bodyU8 + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_oef_1 = alloca ptr ; oef + %s40 = alloca %ScrUnion + %s41 = getelementptr inbounds %ScrUnion, ptr %s40, i32 0, i32 1 + %s42 = getelementptr inbounds %ScrUnion, ptr %s40, i32 0, i32 5 + %s43 = alloca ptr + %s50 = alloca ptr + %s70 = alloca double + %s71 = alloca i32 + %s79 = alloca i1 + %s92 = alloca double + %s93 = alloca i32 + %s131 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_mp_0 + store ptr null, ptr %sc_l_method_1 + store ptr null, ptr %sc_l_app_1 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_bodyU8_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_oef_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_idx_0 ; captured idx + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_method_0 ; captured method + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_this_0 ; captured this + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_app_0 ; captured app + %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4] + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %sc_l_c_0 ; captured c + %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5] + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %sc_l_chainBody_0 ; captured chainBody + %t18 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t19 = getelementptr inbounds ptr, ptr %t18, i64 6 ; caps[6] + %t20 = load ptr, ptr %t19 + store ptr %t20, ptr %sc_l_bodyU8_0 ; captured bodyU8 + %t21 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t22 = getelementptr inbounds ptr, ptr %t21, i64 7 ; caps[7] + %t23 = load ptr, ptr %t22 + store ptr %t23, ptr %sc_l_sink_0 ; captured sink + %t24 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t25 = getelementptr inbounds ptr, ptr %t24, i64 8 ; caps[8] + %t26 = load ptr, ptr %t25 + store ptr %t26, ptr %sc_l_chain_0 ; captured chain + %t27 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t28 = getelementptr inbounds ptr, ptr %t27, i64 9 ; caps[9] + %t29 = load ptr, ptr %t28 + store ptr %t29, ptr %sc_l_oef_0 ; captured oef + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + %t30 = call ptr @llvm.stacksave.p0() + %t31 = load ptr, ptr @scr_stack_guard + %t32 = icmp ult ptr %t30, %t31 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t34 = load ptr, ptr %sc_l_method_0 + %t35 = call ptr @scr_box_get_ref(ptr %t34) + store ptr %t35, ptr %sc_l_method_1 + %t36 = load ptr, ptr %sc_l_app_0 + %t37 = call ptr @scr_box_get_ref(ptr %t36) + store ptr %t37, ptr %sc_l_app_1 + %t38 = load ptr, ptr %sc_l_c_0 + %t39 = call ptr @scr_box_get_ref(ptr %t38) + store ptr %t39, ptr %sc_l_c_1 + store ptr null, ptr %s43 + %t44 = load ptr, ptr %sc_l_bodyU8_0 + %t45 = getelementptr inbounds %ScrBox, ptr %t44, i32 0, i32 5 + %t46 = load ptr, ptr %t45 + %t48 = getelementptr inbounds %ScrUnion, ptr %t46, i64 0, i32 1 + %t47 = load i32, ptr %t48 + store ptr null, ptr %s50 + %t49 = icmp eq i32 %t47, 0 + br i1 %t49, label %union.copy.ref2, label %union.copy.join3 +union.copy.ref2: + %t51 = getelementptr inbounds %ScrUnion, ptr %t46, i64 0, i32 5 + %t52 = load ptr, ptr %t51 + %t53 = call ptr @scr_bytes_retain_v(ptr %t52) + store ptr %t53, ptr %s50 + br label %union.copy.join3 +union.copy.join3: + %t54 = load ptr, ptr %s50 + %t56 = getelementptr inbounds %ScrUnion, ptr %t46, i64 0, i32 1 + %t55 = load i32, ptr %t56 + %t57 = getelementptr inbounds %ScrUnion, ptr %t46, i32 0, i32 5 + %t58 = load i64, ptr %t57 + store i32 %t55, ptr %s41 + store i64 %t58, ptr %s42 + %t59 = load ptr, ptr %s43 + store ptr %t54, ptr %s43 + call void @scr_bytes_release(ptr %t59) + store ptr %s40, ptr %sc_l_bodyU8_1 + %t60 = load ptr, ptr %sc_l_sink_0 + %t61 = call ptr @scr_box_get_ref(ptr %t60) + store ptr %t61, ptr %sc_l_sink_1 + %t62 = load ptr, ptr %sc_l_oef_0 + %t63 = call ptr @scr_box_get_ref(ptr %t62) + store ptr %t63, ptr %sc_l_oef_1 + %t64 = load ptr, ptr %sc_l_idx_0 + %t65 = getelementptr inbounds %ScrBox, ptr %t64, i32 0, i32 5 + %t66 = load ptr, ptr %t65 + %t69 = getelementptr inbounds %ScrUnion, ptr %t66, i64 0, i32 1 + %t68 = load i32, ptr %t69 + %t67 = icmp eq i32 %t68, 1 + br i1 %t67, label %tern.t4, label %tern.f5 +tern.t4: + store double 0x7FF8000000000000, ptr %s70 + br label %tern.j6 +tern.f5: + %t72 = load ptr, ptr %sc_l_idx_0 + %t73 = getelementptr inbounds %ScrBox, ptr %t72, i32 0, i32 5 + %t74 = load ptr, ptr %t73 + %t75 = getelementptr inbounds %ScrUnion, ptr %t74, i64 0, i32 5 + %t76 = load double, ptr %t75 + store double %t76, ptr %s70 + br label %tern.j6 +tern.j6: + %t77 = load double, ptr %s70 + %t78 = fcmp oge double %t77, 0x0000000000000000 + store i1 %t78, ptr %s79 + br i1 %t78, label %log.r7, label %log.j8 +log.r7: + %t80 = load ptr, ptr %sc_l_method_1 + %t81 = call i1 @sc_bf__x25_m5_bodyMethod(ptr %t80) + store i1 %t81, ptr %s79 + br label %log.j8 +log.j8: + %t82 = load i1, ptr %s79 + br i1 %t82, label %if.t9, label %if.j10 +if.t9: + %t83 = load ptr, ptr %sc_l_app_1 + %t84 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t83, i64 0, i32 14 + %t85 = load ptr, ptr %t84, !tbaa !40 + %t86 = load ptr, ptr %sc_l_idx_0 + %t87 = getelementptr inbounds %ScrBox, ptr %t86, i32 0, i32 5 + %t88 = load ptr, ptr %t87 + %t91 = getelementptr inbounds %ScrUnion, ptr %t88, i64 0, i32 1 + %t90 = load i32, ptr %t91 + %t89 = icmp eq i32 %t90, 1 + br i1 %t89, label %tern.t11, label %tern.f12 +tern.t11: + store double 0x7FF8000000000000, ptr %s92 + br label %tern.j13 +tern.f12: + %t94 = load ptr, ptr %sc_l_idx_0 + %t95 = getelementptr inbounds %ScrBox, ptr %t94, i32 0, i32 5 + %t96 = load ptr, ptr %t95 + %t97 = getelementptr inbounds %ScrUnion, ptr %t96, i64 0, i32 5 + %t98 = load double, ptr %t97 + store double %t98, ptr %s92 + br label %tern.j13 +tern.j13: + %t99 = load double, ptr %s92 + %t100 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 2 + %t101 = load i64, ptr %t100, !tbaa !2 + %t102 = fptosi double %t99 to i64 + %t103 = freeze i64 %t102 + %t104 = sitofp i64 %t103 to double + %t105 = fcmp oeq double %t104, %t99 + %t106 = icmp ult i64 %t103, %t101 + %t107 = and i1 %t105, %t106 + br i1 %t107, label %local.array.range17, label %local.array.slow14 +local.array.range17: + br label %local.array.dense18 +local.array.dense18: + %t108 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 6 + %t109 = load i32, ptr %t108, !tbaa !2 + %t111 = zext i32 %t109 to i64 + %t110 = icmp ult i64 %t103, %t111 + br i1 %t110, label %local.array.value20, label %local.array.len19 +local.array.len19: + %t112 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 1 + %t113 = load i64, ptr %t112, !tbaa !2, !range !{i64 0, i64 4294967296} + %t114 = icmp ult i64 %t103, %t113 + br i1 %t114, label %local.array.state21, label %local.array.missing15 +local.array.state21: + %t115 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 9 + %t116 = load ptr, ptr %t115, !tbaa !2 + %t117 = getelementptr inbounds i8, ptr %t116, i64 %t103 + %t118 = load i8, ptr %t117, !tbaa !4 + %t119 = icmp eq i8 %t118, 1 + br i1 %t119, label %local.array.value20, label %local.array.missing15 +local.array.value20: + %t120 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 8 + %t121 = load ptr, ptr %t120, !tbaa !2 + %t122 = getelementptr inbounds i64, ptr %t121, i64 %t103 + %t123 = load ptr, ptr %t122, !tbaa !6 + %t124 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t123) + store ptr %t124, ptr %sc_l_mp_0 + br label %local.array.join16 +local.array.slow14: + %t125 = call ptr @scr_arr_peek_ref(ptr %t85, double %t99) + %t126 = icmp ne ptr %t125, null + br i1 %t126, label %local.array.slow.value22, label %local.array.missing15 +local.array.slow.value22: + %t127 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t125) + store ptr %t127, ptr %sc_l_mp_0 + br label %local.array.join16 +local.array.missing15: + store ptr null, ptr %sc_l_mp_0 + br label %local.array.join16 +local.array.join16: + %t128 = load ptr, ptr %sc_l_mp_0 + %t130 = icmp eq ptr %t128, null + br i1 %t130, label %read.then23, label %read.else24 +read.then23: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2357048268411583) + br label %exc.cleanup26 +exc.dead27: + store ptr null, ptr %s131 + br label %read.join25 +read.else24: + %t132 = load ptr, ptr %sc_l_mp_0 + store ptr %t132, ptr %s131 + br label %read.join25 +read.join25: + %t133 = load ptr, ptr %s131 + %t134 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t133, i64 0, i32 1 + %t135 = load double, ptr %t134, !tbaa !14 + %t136 = fcmp oeq double %t135, 0x3FF0000000000000 + br i1 %t136, label %if.t28, label %if.j29 +if.t28: + %t137 = load ptr, ptr %sc_l_c_1 + %t138 = load ptr, ptr %sc_l_mp_0 + %t139 = load ptr, ptr %sc_l_chainBody_0 + %t140 = call ptr @scr_box_get_ref(ptr %t139) + %t141 = load ptr, ptr %sc_l_bodyU8_1 + %t142 = call i32 @sc_bf__x25_m5_runMultipartPrim.i32(ptr %t137, ptr %t138, ptr %t140, ptr %t141) + %t143 = sitofp i32 %t142 to double + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_str_release(ptr %t140) + br label %exc.cleanup26 +exc.k31: + call void @scr_str_release(ptr %t140) + store i32 %t142, ptr %sc_l_rc_0 + %t147 = load i32, ptr %sc_l_rc_0 + %t148 = sitofp i32 %t147 to double + %t150 = sext i32 %t147 to i64 + %t149 = icmp eq i64 %t150, 413 + br i1 %t149, label %if.t32, label %if.j33 +if.t32: + %t151 = load ptr, ptr %sc_l_sink_1 + call void @sc_bf__x25_m5_replyPlain.i32(ptr %t151, i32 413, ptr @sc_lit_1580796233797134) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u34, label %exc.k35 +exc.u34: + br label %exc.cleanup26 +exc.k35: + %t155 = load ptr, ptr %sc_l_resolve_0 + %t156 = getelementptr inbounds %ScrClosure, ptr %t155, i64 0, i32 1 + %t157 = load ptr, ptr %t156 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t157(ptr %t155) + call void @scr_dyn_this_pop() + %t158 = load i32, ptr %exc.cell + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u36, label %exc.k37 +exc.u36: + br label %exc.cleanup26 +exc.k37: + %t161 = load ptr, ptr %sc_l_mp_0 + call void @sc_release__x25_m5_MpCfg(ptr %t161) + %t162 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t162) + %t163 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t163) + %t164 = load ptr, ptr %sc_l_c_1 + call void @sc_release__x25_m5_CtxCore(ptr %t164) + %t165 = load ptr, ptr %s43 + call void @scr_bytes_release(ptr %t165) + %t166 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t166) + %t167 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t167) + ret void +if.j33: + %t168 = load i32, ptr %sc_l_rc_0 + %t169 = sitofp i32 %t168 to double + %t171 = sext i32 %t168 to i64 + %t170 = icmp ne i64 %t171, 0 + br i1 %t170, label %if.t38, label %if.j39 +if.t38: + %t172 = load ptr, ptr %sc_l_sink_1 + call void @sc_bf__x25_m5_replyPlain.i32(ptr %t172, i32 400, ptr @sc_lit_960209946846820) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u40, label %exc.k41 +exc.u40: + br label %exc.cleanup26 +exc.k41: + %t176 = load ptr, ptr %sc_l_resolve_0 + %t177 = getelementptr inbounds %ScrClosure, ptr %t176, i64 0, i32 1 + %t178 = load ptr, ptr %t177 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t178(ptr %t176) + call void @scr_dyn_this_pop() + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u42, label %exc.k43 +exc.u42: + br label %exc.cleanup26 +exc.k43: + %t182 = load ptr, ptr %sc_l_mp_0 + call void @sc_release__x25_m5_MpCfg(ptr %t182) + %t183 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t183) + %t184 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t184) + %t185 = load ptr, ptr %sc_l_c_1 + call void @sc_release__x25_m5_CtxCore(ptr %t185) + %t186 = load ptr, ptr %s43 + call void @scr_bytes_release(ptr %t186) + %t187 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t187) + %t188 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t188) + ret void +if.j39: + br label %if.j29 +if.j29: + %t189 = load ptr, ptr %sc_l_mp_0 + call void @sc_release__x25_m5_MpCfg(ptr %t189) + br label %if.j10 +if.j10: + %t190 = load ptr, ptr %sc_l_chain_0 + %t191 = call ptr @scr_box_get_ref(ptr %t190) + %t192 = load ptr, ptr %sc_l_c_1 + %t193 = load ptr, ptr %sc_l_sink_1 + %t194 = load ptr, ptr %sc_l_oef_1 + %t195 = load ptr, ptr %sc_l_resolve_0 + call void @sc_bf__x25_m5_runChainPromise(ptr %t191, ptr %t192, ptr %t193, ptr %t194, ptr %t195) + %t196 = load i32, ptr %exc.cell + %t197 = icmp ne i32 %t196, 0 + %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false) + br i1 %t198, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_union_release(ptr %t191) + br label %exc.cleanup46 +exc.k45: + call void @scr_union_release(ptr %t191) + %t199 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t199) + %t200 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t200) + %t201 = load ptr, ptr %sc_l_c_1 + call void @sc_release__x25_m5_CtxCore(ptr %t201) + %t202 = load ptr, ptr %s43 + call void @scr_bytes_release(ptr %t202) + %t203 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t203) + %t204 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t204) + ret void +exc.cleanup26: + %t205 = load ptr, ptr %sc_l_mp_0 + call void @sc_release__x25_m5_MpCfg(ptr %t205) + %t206 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t206) + %t207 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t207) + %t208 = load ptr, ptr %sc_l_c_1 + call void @sc_release__x25_m5_CtxCore(ptr %t208) + %t209 = load ptr, ptr %s43 + call void @scr_bytes_release(ptr %t209) + %t210 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t210) + %t211 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t211) + ret void +exc.cleanup46: + %t212 = load ptr, ptr %sc_l_method_1 + call void @scr_str_release(ptr %t212) + %t213 = load ptr, ptr %sc_l_app_1 + call void @sc_release__x25_m5_App(ptr %t213) + %t214 = load ptr, ptr %sc_l_c_1 + call void @sc_release__x25_m5_CtxCore(ptr %t214) + %t215 = load ptr, ptr %s43 + call void @scr_bytes_release(ptr %t215) + %t216 = load ptr, ptr %sc_l_sink_1 + call void @sc_release__x25_m2_ResponseSink(ptr %t216) + %t217 = load ptr, ptr %sc_l_oef_1 + call void @scr_union_release(ptr %t217) + ret void +} +define internal void @sc_f__x25_fn23(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn23(ptr %sc_env, ptr %p0) + call void @scr_closure_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_fn24(ptr %sc_env, ptr %p_sc_l_chunk_0) #0 { ; %fn24 +entry: + %sc_l_chunk_0 = alloca ptr ; chunk + %sc_l_buf_0 = alloca ptr ; buf + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_buf_0 ; captured buf + store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_buf_0 + %t8 = call ptr @scr_box_get_ref(ptr %t7) + %t9 = load ptr, ptr %sc_l_chunk_0 + %t10 = call ptr @scr_bytes_to_str(ptr %t9, ptr @sc_lit_2605532998565466) + %t11 = load ptr, ptr %sc_l_buf_0 + call void @scr_box_set_ref(ptr %t11, ptr null) + %t12 = call ptr @scr_str_concat(ptr %t8, ptr %t10) + %t13 = load ptr, ptr %sc_l_buf_0 + call void @scr_box_set_ref(ptr %t13, ptr %t12) + call void @scr_str_release(ptr %t8) + call void @scr_str_release(ptr %t10) + ret void +} +define internal void @sc_f__x25_fn24(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn24(ptr %sc_env, ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn25(ptr %sc_env) #0 { ; %fn25 +entry: + %sc_l_rv_0 = alloca ptr ; rv + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l_buf_0 = alloca ptr ; buf + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_c_0 = alloca ptr ; c + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_rv_1 = alloca ptr ; rv + %sc_l_c_1 = alloca ptr ; c + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_oef_1 = alloca ptr ; oef + %exc.cell = load ptr, ptr @scr_exc_active + %s44 = alloca ptr + %s60 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_rv_1 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_oef_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_rv_0 ; captured rv + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_buf_0 ; captured buf + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_chain_0 ; captured chain + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_c_0 ; captured c + %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4] + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %sc_l_sink_0 ; captured sink + %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5] + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %sc_l_oef_0 ; captured oef + %t18 = call ptr @llvm.stacksave.p0() + %t19 = load ptr, ptr @scr_stack_guard + %t20 = icmp ult ptr %t18, %t19 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t22 = load ptr, ptr %sc_l_rv_0 + %t23 = getelementptr inbounds %ScrBox, ptr %t22, i32 0, i32 5 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %sc_l_rv_1 + %t25 = load ptr, ptr %sc_l_c_0 + %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %sc_l_c_1 + %t28 = load ptr, ptr %sc_l_sink_0 + %t29 = getelementptr inbounds %ScrBox, ptr %t28, i32 0, i32 5 + %t30 = load ptr, ptr %t29 + store ptr %t30, ptr %sc_l_sink_1 + %t31 = load ptr, ptr %sc_l_oef_0 + %t32 = getelementptr inbounds %ScrBox, ptr %t31, i32 0, i32 5 + %t33 = load ptr, ptr %t32 + store ptr %t33, ptr %sc_l_oef_1 + %t34 = load ptr, ptr %sc_l_rv_1 + store ptr %t34, ptr %sc_l__x25_callbackReceiver_0 + %t35 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t36 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t35) + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t36) + ret void +exc.k3: + store ptr %t36, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t40 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t41 = getelementptr inbounds i8, ptr %t40, i64 8 ; ->kind + %t42 = load i32, ptr %t41 + %t43 = icmp eq i32 %t42, 6 + br i1 %t43, label %tern.t4, label %tern.f5 +tern.t4: + %t46 = call ptr @scr_dyn_undefined() + %t45 = call ptr @scr_dyn_retain_v(ptr %t46) + store ptr %t45, ptr %s44 + br label %tern.j6 +tern.f5: + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t48 = call ptr @sc_rc_retain_dyn(ptr %t47) + %t49 = call ptr @sc_f__x25_dyn_class_property_9(ptr %t48) + %t50 = load i32, ptr %exc.cell + %t51 = icmp ne i32 %t50, 0 + %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false) + br i1 %t52, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup9 +exc.k8: + store ptr %t49, ptr %s44 + br label %tern.j6 +tern.j6: + %t53 = load ptr, ptr %s44 + store ptr %t53, ptr %sc_l__x25_callback_0 + %t54 = load ptr, ptr %sc_l__x25_callback_0 + %t55 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t57 = load ptr, ptr %sc_l_buf_0 + %t58 = call ptr @scr_box_get_ref(ptr %t57) + %t59 = call ptr @sc_td_0(ptr %t58) + %t61 = getelementptr inbounds [1 x ptr], ptr %s60, i64 0, i64 0 + store ptr %t59, ptr %t61 + call void @scr_dyn_this_push_dyn(ptr %t56) + %t62 = call ptr @scr_dyn_call(ptr %t54, ptr %s60, i64 1, ptr @sc_cs_3779354462845077) + call void @scr_dyn_this_pop() + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t56) + call void @scr_str_release(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t62) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t56) + call void @scr_str_release(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t62) + %t66 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t66) + %t67 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t67) + %t68 = load ptr, ptr %sc_l_chain_0 + %t69 = call ptr @scr_box_get_ref(ptr %t68) + %t70 = load ptr, ptr %sc_l_c_1 + %t71 = load ptr, ptr %sc_l_sink_1 + %t72 = load ptr, ptr %sc_l_oef_1 + call void @sc_bf__x25_m5_runChain(ptr %t69, ptr %t70, ptr %t71, ptr %t72) + %t73 = load i32, ptr %exc.cell + %t74 = icmp ne i32 %t73, 0 + %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false) + br i1 %t75, label %exc.u13, label %exc.k14 +exc.u13: + call void @scr_union_release(ptr %t69) + ret void +exc.k14: + call void @scr_union_release(ptr %t69) + ret void +exc.cleanup9: + %t76 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t76) + ret void +exc.cleanup12: + %t77 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t77) + %t78 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t78) + ret void +} + +define internal ptr @sc_f__x25_prototype_data__x25_m11_StaticServer() #0 { ; %prototype.data.%m11.StaticServer +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + store i1 true, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_2232031524457002) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi) + %t13 = call ptr @sc_dfb_64(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_3423954012803281) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle) + %t34 = call ptr @sc_dfb_10(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_700259281879664) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send) + %t55 = call ptr @sc_dfb_65(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + ret ptr null +exc.k27: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = call ptr @sc_td_0(ptr @sc_lit_2478521587363481) + %t74 = call ptr @scr_dyn_new_obj() + %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick) + %t76 = call ptr @sc_dfb_66(ptr %t75, ptr null) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + ret ptr null +exc.k29: + %t80 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + ret ptr null +exc.k31: + %t84 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k33: + %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t88) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t88) + br label %if.j3 +if.j3: + %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + ret ptr %t93 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m11.StaticServer +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_864190948149583 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_864190948149583) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_864190948149583 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_103(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m11_StaticServer(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m11_StaticServer(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m11.StaticServer.isApi +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m11_StaticServer(ptr %t5) + ret i1 false +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call i1 @sc_bf__x25__x25_m11_StaticServer_isApi(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m11_StaticServer(ptr %t5) + ret i1 %t10 +exc.k5: + call void @sc_release__x25_m11_StaticServer(ptr %t5) + ret i1 %t10 +} +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %p0) + call void @scr_str_release(ptr %p0) + ret i1 %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m11.StaticServer.handle +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m11_StaticServer(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m11_StaticServer_handle(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m11_StaticServer(ptr %t5) + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m11_StaticServer(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m11.StaticServer.send +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m11_StaticServer(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = call ptr @sc_bf__x25__x25_m11_StaticServer_send(ptr %t5, ptr %t9, ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m11_StaticServer(ptr %t5) + call void @sc_rc_release_dyn(ptr %t11) + ret ptr null +exc.k5: + call void @sc_release__x25_m11_StaticServer(ptr %t5) + ret ptr %t11 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %p0, ptr %p1) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rrelease_r11(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m11.StaticServer.pick +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + %t2 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m11_StaticServer_pick(ptr %t0, ptr %t1) + %t3 = load i32, ptr %exc.cell + %t4 = icmp ne i32 %t3, 0 + %t5 = call i1 @llvm.expect.i1(i1 %t4, i1 false) + br i1 %t5, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rrelease_r10(ptr %t2) + ret ptr null +exc.k1: + ret ptr %t2 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1) + call void @sc_rrelease_r11(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn26(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn26 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_srv_0 = alloca ptr ; srv + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s28 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_srv_0 ; captured srv + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t3 = load ptr, ptr %sc_l_srv_0 + %t4 = call ptr @scr_box_get_ref(ptr %t3) + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t6) + br label %exc.cleanup2 +exc.k1: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t3, label %tern.f4 +tern.t3: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j5 +tern.f4: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_61(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup8 +exc.k7: + store ptr %t19, ptr %s14 + br label %tern.j5 +tern.j5: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t27 = load ptr, ptr %sc_l_c_0 + %t29 = getelementptr inbounds [1 x ptr], ptr %s28, i64 0, i64 0 + store ptr %t27, ptr %t29 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t30 = call ptr @scr_dyn_call(ptr %t24, ptr %s28, i64 1, ptr @sc_cs_3064312976381386) + call void @scr_dyn_this_pop() + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t30) + br label %exc.cleanup11 +exc.k10: + call void @sc_rc_release_dyn(ptr %t26) + %t34 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t34) + %t35 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t35) + %t36 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m11_StaticServer(ptr %t36) + ret ptr %t30 +exc.cleanup2: + %t37 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m11_StaticServer(ptr %t37) + ret ptr null +exc.cleanup8: + %t38 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t38) + %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m11_StaticServer(ptr %t39) + ret ptr null +exc.cleanup11: + %t40 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t41) + %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m11_StaticServer(ptr %t42) + ret ptr null +} +define internal ptr @sc_f__x25_fn26(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn26(ptr %sc_env, ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn_adapt_3_impl(ptr %sc_env, ptr %p_sc_l_a_0) #0 { ; %fn.adapt.3.impl +entry: + %sc_l_f_0 = alloca ptr ; f + %sc_l_a_0 = alloca ptr ; a0 + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_f_0 ; captured f + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t7 = load ptr, ptr %sc_l_f_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @scr_dyn_this_get() + %t11 = load ptr, ptr %sc_l_a_0 + %t12 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t11, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t13 = getelementptr inbounds %ScrClosure, ptr %t9, i64 0, i32 1 + %t14 = load ptr, ptr %t13 + call void @scr_dyn_this_push_dyn(ptr %t10) + %t15 = call ptr %t14(ptr %t9, ptr %t12) + call void @scr_dyn_this_pop() + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t15) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t15 +} +define internal ptr @sc_f__x25_fn_adapt_3_impl(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn_adapt_3_impl(ptr %sc_env, ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn_adapt_3(ptr %p_sc_l_f_0) #0 { ; %fn.adapt.3 +entry: + %sc_l_f_0 = alloca ptr ; f + %s0 = alloca ptr ; lazy box f + store ptr null, ptr %s0 + store ptr %p_sc_l_f_0, ptr %sc_l_f_0 + %t1 = call ptr @scr_closure_new(ptr @sc_f__x25_fn_adapt_3_impl, i64 1) + %t2 = getelementptr inbounds %ScrClosure, ptr %t1, i64 0, i32 7 + store ptr @sc_bf__x25_fn_adapt_3_impl, ptr %t2 + %t3 = load ptr, ptr %s0 + %t4 = icmp eq ptr %t3, null + br i1 %t4, label %lazy.box0, label %lazy.box.j1 +lazy.box0: + %t5 = call ptr @scr_box_new(i32 4) + %t6 = load ptr, ptr %sc_l_f_0 + %t7 = call ptr @scr_closure_retain_v(ptr %t6) + call void @scr_box_set_ref(ptr %t5, ptr %t7) + store ptr %t5, ptr %s0 + br label %lazy.box.j1 +lazy.box.j1: + %t8 = load ptr, ptr %s0 + %t9 = call ptr @sc_retain_box(ptr %t8) + %t10 = getelementptr inbounds %ScrClosure, ptr %t1, i64 1 ; caps + %t11 = getelementptr inbounds ptr, ptr %t10, i64 0 ; caps[0] + store ptr %t9, ptr %t11 + %t12 = getelementptr inbounds %ScrBox, ptr %t8, i64 0, i32 5 + %t13 = load ptr, ptr %t12 + call void @scr_closure_adopt_identity(ptr %t1, ptr %t13, i32 1) + %t14 = load ptr, ptr %s0 + %t15 = icmp ne ptr %t14, null + br i1 %t15, label %lazy.release2, label %lazy.release.j3 +lazy.release2: + call void @scr_box_release(ptr %t14) + br label %lazy.release.j3 +lazy.release.j3: + ret ptr %t1 +} +define internal ptr @sc_f__x25_fn_adapt_3(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn_adapt_3(ptr %p0) + call void @scr_closure_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn27(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn27 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_srv_0 = alloca ptr ; srv + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_srv_1 = alloca ptr ; srv + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + %s34 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_srv_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_srv_0 ; captured srv + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t7 = load ptr, ptr %sc_l_srv_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_srv_1 + %t10 = load ptr, ptr %sc_l_srv_1 + store ptr %t10, ptr %sc_l__x25_callbackReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t12) + ret ptr null +exc.k3: + store ptr %t12, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t16 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 6 + br i1 %t19, label %tern.t4, label %tern.f5 +tern.t4: + %t22 = call ptr @scr_dyn_undefined() + %t21 = call ptr @scr_dyn_retain_v(ptr %t22) + store ptr %t21, ptr %s20 + br label %tern.j6 +tern.f5: + %t23 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_property_61(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup9 +exc.k8: + store ptr %t25, ptr %s20 + br label %tern.j6 +tern.j6: + %t29 = load ptr, ptr %s20 + store ptr %t29, ptr %sc_l__x25_callback_0 + %t30 = load ptr, ptr %sc_l__x25_callback_0 + %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t33 = load ptr, ptr %sc_l_c_0 + %t35 = getelementptr inbounds [1 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t33, ptr %t35 + call void @scr_dyn_this_push_dyn(ptr %t32) + %t36 = call ptr @scr_dyn_call(ptr %t30, ptr %s34, i64 1, ptr @sc_cs_3064312976381386) + call void @scr_dyn_this_pop() + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t36) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t32) + %t40 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t41) + ret ptr %t36 +exc.cleanup9: + %t42 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.cleanup12: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +} +define internal ptr @sc_f__x25_fn27(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn27(ptr %sc_env, ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn28(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn28 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_srv_0 = alloca ptr ; srv + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %exc.cell = load ptr, ptr @scr_exc_active + %s14 = alloca ptr + %s28 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_srv_0 ; captured srv + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t3 = load ptr, ptr %sc_l_srv_0 + %t4 = call ptr @scr_box_get_ref(ptr %t3) + store ptr %t4, ptr %sc_l__x25_callbackReceiver_0 + %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t6) + br label %exc.cleanup2 +exc.k1: + store ptr %t6, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t10 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 6 + br i1 %t13, label %tern.t3, label %tern.f4 +tern.t3: + %t16 = call ptr @scr_dyn_undefined() + %t15 = call ptr @scr_dyn_retain_v(ptr %t16) + store ptr %t15, ptr %s14 + br label %tern.j5 +tern.f4: + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = call ptr @sc_f__x25_dyn_class_property_61(ptr %t18) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t19) + br label %exc.cleanup8 +exc.k7: + store ptr %t19, ptr %s14 + br label %tern.j5 +tern.j5: + %t23 = load ptr, ptr %s14 + store ptr %t23, ptr %sc_l__x25_callback_0 + %t24 = load ptr, ptr %sc_l__x25_callback_0 + %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t27 = load ptr, ptr %sc_l_c_0 + %t29 = getelementptr inbounds [1 x ptr], ptr %s28, i64 0, i64 0 + store ptr %t27, ptr %t29 + call void @scr_dyn_this_push_dyn(ptr %t26) + %t30 = call ptr @scr_dyn_call(ptr %t24, ptr %s28, i64 1, ptr @sc_cs_3064312976381386) + call void @scr_dyn_this_pop() + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t26) + call void @sc_rc_release_dyn(ptr %t30) + br label %exc.cleanup11 +exc.k10: + call void @sc_rc_release_dyn(ptr %t26) + %t34 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t34) + %t35 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t35) + %t36 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m11_StaticServer(ptr %t36) + ret ptr %t30 +exc.cleanup2: + %t37 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m11_StaticServer(ptr %t37) + ret ptr null +exc.cleanup8: + %t38 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t38) + %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m11_StaticServer(ptr %t39) + ret ptr null +exc.cleanup11: + %t40 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t41) + %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + call void @sc_release__x25_m11_StaticServer(ptr %t42) + ret ptr null +} +define internal ptr @sc_f__x25_fn28(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn28(ptr %sc_env, ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn29(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn29 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_srv_0 = alloca ptr ; srv + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_srv_1 = alloca ptr ; srv + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + %s34 = alloca [1 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_srv_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_srv_0 ; captured srv + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t7 = load ptr, ptr %sc_l_srv_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_srv_1 + %t10 = load ptr, ptr %sc_l_srv_1 + store ptr %t10, ptr %sc_l__x25_callbackReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t12) + ret ptr null +exc.k3: + store ptr %t12, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t16 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind + %t18 = load i32, ptr %t17 + %t19 = icmp eq i32 %t18, 6 + br i1 %t19, label %tern.t4, label %tern.f5 +tern.t4: + %t22 = call ptr @scr_dyn_undefined() + %t21 = call ptr @scr_dyn_retain_v(ptr %t22) + store ptr %t21, ptr %s20 + br label %tern.j6 +tern.f5: + %t23 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_property_61(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup9 +exc.k8: + store ptr %t25, ptr %s20 + br label %tern.j6 +tern.j6: + %t29 = load ptr, ptr %s20 + store ptr %t29, ptr %sc_l__x25_callback_0 + %t30 = load ptr, ptr %sc_l__x25_callback_0 + %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t33 = load ptr, ptr %sc_l_c_0 + %t35 = getelementptr inbounds [1 x ptr], ptr %s34, i64 0, i64 0 + store ptr %t33, ptr %t35 + call void @scr_dyn_this_push_dyn(ptr %t32) + %t36 = call ptr @scr_dyn_call(ptr %t30, ptr %s34, i64 1, ptr @sc_cs_3064312976381386) + call void @scr_dyn_this_pop() + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t36) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t32) + %t40 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t41) + ret ptr %t36 +exc.cleanup9: + %t42 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.cleanup12: + %t43 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +} +define internal ptr @sc_f__x25_fn29(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn29(ptr %sc_env, ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_6(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.6 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_rretain_r14(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_6(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_6(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_7(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.7 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_rretain_r13(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_7(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_7(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_rec_haskey_0(ptr %p_sc_l_k_0, ptr %p_sc_l_r_0) #0 { ; %rec.haskey.0 +entry: + %sc_l_k_0 = alloca ptr ; k + %sc_l_r_0 = alloca ptr ; r + %s11 = alloca i1 + %s14 = alloca i1 + %s18 = alloca i1 + %s22 = alloca i1 + %s26 = alloca i1 + %s30 = alloca i1 + %s34 = alloca i1 + %s38 = alloca i1 + %s42 = alloca i1 + %s46 = alloca i1 + %s50 = alloca i1 + %s54 = alloca i1 + %s58 = alloca i1 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_r_0 + %t5 = call ptr @sc_rretain_r12(ptr %t4) + %t6 = load ptr, ptr %sc_l_k_0 + %t7 = call ptr @sc_rc_retain_str(ptr %t6) + %t8 = getelementptr inbounds %sc_rs_r12, ptr %t5, i64 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call zeroext i1 @scr_map_has_str(ptr %t9, ptr %t7) + store i1 %t10, ptr %s11 + br i1 %t10, label %log.j3, label %log.r2 +log.r2: + %t12 = load ptr, ptr %sc_l_k_0 + %t13 = call zeroext i1 @sc_streq_4006719217465510(ptr %t12) + store i1 %t13, ptr %s14 + br i1 %t13, label %log.j5, label %log.r4 +log.r4: + %t15 = load ptr, ptr %sc_l_k_0 + %t16 = call zeroext i1 @sc_streq_442512110453159(ptr %t15) + store i1 %t16, ptr %s14 + br label %log.j5 +log.j5: + %t17 = load i1, ptr %s14 + store i1 %t17, ptr %s18 + br i1 %t17, label %log.j7, label %log.r6 +log.r6: + %t19 = load ptr, ptr %sc_l_k_0 + %t20 = call zeroext i1 @sc_streq_3044709983387393(ptr %t19) + store i1 %t20, ptr %s18 + br label %log.j7 +log.j7: + %t21 = load i1, ptr %s18 + store i1 %t21, ptr %s22 + br i1 %t21, label %log.j9, label %log.r8 +log.r8: + %t23 = load ptr, ptr %sc_l_k_0 + %t24 = call zeroext i1 @sc_streq_4327941486179142(ptr %t23) + store i1 %t24, ptr %s22 + br label %log.j9 +log.j9: + %t25 = load i1, ptr %s22 + store i1 %t25, ptr %s26 + br i1 %t25, label %log.j11, label %log.r10 +log.r10: + %t27 = load ptr, ptr %sc_l_k_0 + %t28 = call zeroext i1 @sc_streq_900273229759677(ptr %t27) + store i1 %t28, ptr %s26 + br label %log.j11 +log.j11: + %t29 = load i1, ptr %s26 + store i1 %t29, ptr %s30 + br i1 %t29, label %log.j13, label %log.r12 +log.r12: + %t31 = load ptr, ptr %sc_l_k_0 + %t32 = call zeroext i1 @sc_streq_2545601642886305(ptr %t31) + store i1 %t32, ptr %s30 + br label %log.j13 +log.j13: + %t33 = load i1, ptr %s30 + store i1 %t33, ptr %s34 + br i1 %t33, label %log.j15, label %log.r14 +log.r14: + %t35 = load ptr, ptr %sc_l_k_0 + %t36 = call zeroext i1 @sc_streq_3038471479600896(ptr %t35) + store i1 %t36, ptr %s34 + br label %log.j15 +log.j15: + %t37 = load i1, ptr %s34 + store i1 %t37, ptr %s38 + br i1 %t37, label %log.j17, label %log.r16 +log.r16: + %t39 = load ptr, ptr %sc_l_k_0 + %t40 = call zeroext i1 @sc_streq_327813112294278(ptr %t39) + store i1 %t40, ptr %s38 + br label %log.j17 +log.j17: + %t41 = load i1, ptr %s38 + store i1 %t41, ptr %s42 + br i1 %t41, label %log.j19, label %log.r18 +log.r18: + %t43 = load ptr, ptr %sc_l_k_0 + %t44 = call zeroext i1 @sc_streq_3302186402337583(ptr %t43) + store i1 %t44, ptr %s42 + br label %log.j19 +log.j19: + %t45 = load i1, ptr %s42 + store i1 %t45, ptr %s46 + br i1 %t45, label %log.j21, label %log.r20 +log.r20: + %t47 = load ptr, ptr %sc_l_k_0 + %t48 = call zeroext i1 @sc_streq_2653701574536716(ptr %t47) + store i1 %t48, ptr %s46 + br label %log.j21 +log.j21: + %t49 = load i1, ptr %s46 + store i1 %t49, ptr %s50 + br i1 %t49, label %log.j23, label %log.r22 +log.r22: + %t51 = load ptr, ptr %sc_l_k_0 + %t52 = call zeroext i1 @sc_streq_860002567067755(ptr %t51) + store i1 %t52, ptr %s50 + br label %log.j23 +log.j23: + %t53 = load i1, ptr %s50 + store i1 %t53, ptr %s54 + br i1 %t53, label %log.j25, label %log.r24 +log.r24: + %t55 = load ptr, ptr %sc_l_k_0 + %t56 = call zeroext i1 @sc_streq_619980451361384(ptr %t55) + store i1 %t56, ptr %s54 + br label %log.j25 +log.j25: + %t57 = load i1, ptr %s54 + store i1 %t57, ptr %s58 + br i1 %t57, label %log.r26, label %log.j27 +log.r26: + %t59 = load ptr, ptr %sc_l_r_0 + %t60 = call ptr @sc_rretain_r12(ptr %t59) + %t63 = getelementptr inbounds %sc_rs_r12, ptr %t60, i64 0, i32 1 + %t64 = load ptr, ptr %t63 + %t65 = getelementptr inbounds i8, ptr %t64, i64 11 + %t61 = load i8, ptr %t65 + %t62 = icmp ne i8 %t61, 0 + %t66 = xor i1 %t62, true + store i1 %t66, ptr %s58 + call void @sc_rrelease_r12(ptr %t60) + br label %log.j27 +log.j27: + %t67 = load i1, ptr %s58 + store i1 %t67, ptr %s11 + br label %log.j3 +log.j3: + %t68 = load i1, ptr %s11 + call void @sc_rrelease_r12(ptr %t5) + call void @scr_str_release(ptr %t7) + ret i1 %t68 +} +define internal i1 @sc_f__x25_rec_haskey_0(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_rec_haskey_0(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @sc_rrelease_r12(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_8(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.8 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_rretain_r11(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_8(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_8(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_union_retag_4(ptr %p_sc_l_u_0) #0 { ; %union.retag.4 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_retag_4(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_retag_4(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r11(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r11(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_arr_idxOr_9(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.9 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @scr_closure_retain_v(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + %t62 = call ptr @scr_union_new_ref(i32 0, ptr %t61, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v) + store ptr %t62, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr @sc_unit_8, ptr %s29 + br label %tern.j8 +tern.j8: + %t63 = load ptr, ptr %s29 + ret ptr %t63 +} +define internal ptr @sc_f__x25_arr_idxOr_9(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_9(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_fn30(ptr %sc_env) #0 { ; %fn30 +entry: + %sc_l_mws_0 = alloca ptr ; mws + %sc_l_i_0 = alloca ptr ; i + %sc_l_c_0 = alloca ptr ; c + %sc_l_outerNext_0 = alloca ptr ; outerNext + %sc_l_mws_1 = alloca ptr ; mws + %sc_l_i_1 = alloca double ; i + %sc_l_c_1 = alloca ptr ; c + %sc_l_outerNext_1 = alloca ptr ; outerNext + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_mws_1 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_outerNext_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_mws_0 ; captured mws + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_i_0 ; captured i + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_c_0 ; captured c + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_outerNext_0 ; captured outerNext + %t12 = call ptr @llvm.stacksave.p0() + %t13 = load ptr, ptr @scr_stack_guard + %t14 = icmp ult ptr %t12, %t13 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t16 = load ptr, ptr %sc_l_mws_0 + %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %sc_l_mws_1 + %t19 = load ptr, ptr %sc_l_i_0 + %t21 = getelementptr inbounds %ScrBox, ptr %t19, i32 0, i32 5 + %t20 = load double, ptr %t21 + store double %t20, ptr %sc_l_i_1 + %t22 = load ptr, ptr %sc_l_c_0 + %t23 = getelementptr inbounds %ScrBox, ptr %t22, i32 0, i32 5 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %sc_l_c_1 + %t25 = load ptr, ptr %sc_l_outerNext_0 + %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %sc_l_outerNext_1 + %t28 = load ptr, ptr %sc_l_mws_1 + %t29 = load double, ptr %sc_l_i_1 + %t30 = fadd double %t29, 0x3FF0000000000000 + %t31 = load ptr, ptr %sc_l_c_1 + %t32 = load ptr, ptr %sc_l_outerNext_1 + %t33 = call ptr @sc_bf__x25_m5_runPrefixed(ptr %t28, double %t30, ptr %t31, ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t33) + ret ptr null +exc.k3: + ret ptr %t33 +} + +define internal ptr @sc_f__x25_fn32(ptr %sc_env) #0 { ; %fn32 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_inner_0 = alloca ptr ; inner + %sc_l_c_1 = alloca ptr ; c + %sc_l_inner_1 = alloca ptr ; inner + %s13 = alloca %ScrUnion + %s14 = getelementptr inbounds %ScrUnion, ptr %s13, i32 0, i32 1 + %s15 = getelementptr inbounds %ScrUnion, ptr %s13, i32 0, i32 5 + %s16 = alloca ptr + %s23 = alloca ptr + %s37 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_inner_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_c_0 ; captured c + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_inner_0 ; captured inner + %t6 = call ptr @llvm.stacksave.p0() + %t7 = load ptr, ptr @scr_stack_guard + %t8 = icmp ult ptr %t6, %t7 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t10 = load ptr, ptr %sc_l_c_0 + %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5 + %t12 = load ptr, ptr %t11 + store ptr %t12, ptr %sc_l_c_1 + store ptr null, ptr %s16 + %t17 = load ptr, ptr %sc_l_inner_0 + %t18 = getelementptr inbounds %ScrBox, ptr %t17, i32 0, i32 5 + %t19 = load ptr, ptr %t18 + %t21 = getelementptr inbounds %ScrUnion, ptr %t19, i64 0, i32 1 + %t20 = load i32, ptr %t21 + store ptr null, ptr %s23 + %t22 = icmp eq i32 %t20, 0 + br i1 %t22, label %union.copy.ref2, label %union.copy.join3 +union.copy.ref2: + %t24 = getelementptr inbounds %ScrUnion, ptr %t19, i64 0, i32 5 + %t25 = load ptr, ptr %t24 + %t26 = call ptr @scr_closure_retain_v(ptr %t25) + store ptr %t26, ptr %s23 + br label %union.copy.join3 +union.copy.join3: + %t27 = load ptr, ptr %s23 + %t29 = getelementptr inbounds %ScrUnion, ptr %t19, i64 0, i32 1 + %t28 = load i32, ptr %t29 + %t30 = getelementptr inbounds %ScrUnion, ptr %t19, i32 0, i32 5 + %t31 = load i64, ptr %t30 + store i32 %t28, ptr %s14 + store i64 %t31, ptr %s15 + %t32 = load ptr, ptr %s16 + store ptr %t27, ptr %s16 + call void @scr_closure_release(ptr %t32) + store ptr %s13, ptr %sc_l_inner_1 + %t33 = load ptr, ptr %sc_l_inner_1 + %t36 = getelementptr inbounds %ScrUnion, ptr %t33, i64 0, i32 1 + %t35 = load i32, ptr %t36 + %t34 = icmp eq i32 %t35, 1 + br i1 %t34, label %read.then4, label %read.else5 +read.then4: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3089543219260295) + br label %exc.cleanup7 +exc.dead8: + store ptr null, ptr %s37 + br label %read.join6 +read.else5: + %t38 = load ptr, ptr %sc_l_inner_1 + %t39 = getelementptr inbounds %ScrUnion, ptr %t38, i64 0, i32 5 + %t40 = load ptr, ptr %t39 + store ptr %t40, ptr %s37 + br label %read.join6 +read.join6: + %t41 = load ptr, ptr %s37 + %t42 = load ptr, ptr %sc_l_c_1 + %t43 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 1 + %t44 = load ptr, ptr %t43 + %t45 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 7 + %t46 = load ptr, ptr %t45 + %t47 = icmp ne ptr %t46, null + br i1 %t47, label %callback.lend9, label %callback.own10 +callback.lend9: + call void @scr_dyn_this_push_dyn(ptr null) + %t48 = call ptr %t46(ptr %t41, ptr %t42) + call void @scr_dyn_this_pop() + br label %callback.done11 +callback.own10: + %t49 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t42) + call void @scr_dyn_this_push_dyn(ptr null) + %t50 = call ptr %t44(ptr %t41, ptr %t49) + call void @scr_dyn_this_pop() + br label %callback.done11 +callback.done11: + %t51 = phi ptr [ %t48, %callback.lend9 ], [ %t50, %callback.own10 ] + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t51) + br label %exc.cleanup7 +exc.k13: + %t55 = load ptr, ptr %s16 + call void @scr_closure_release(ptr %t55) + ret ptr %t51 +exc.cleanup7: + %t56 = load ptr, ptr %s16 + call void @scr_closure_release(ptr %t56) + ret ptr null +} + +define internal ptr @sc_f__x25_fn31(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn31 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_fn_0 = alloca ptr ; fn + %sc_l_inner_0 = alloca ptr ; inner + %sc_l_fn_1 = alloca ptr ; fn + %s6 = alloca ptr ; lazy box c + %s11 = alloca %ScrUnion + %s12 = getelementptr inbounds %ScrUnion, ptr %s11, i32 0, i32 1 + %s13 = getelementptr inbounds %ScrUnion, ptr %s11, i32 0, i32 5 + %s14 = alloca ptr + %s21 = alloca ptr + %s35 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_fn_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_fn_0 ; captured fn + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_inner_0 ; captured inner + store ptr null, ptr %s6 + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t7 = call ptr @llvm.stacksave.p0() + %t8 = load ptr, ptr @scr_stack_guard + %t9 = icmp ult ptr %t7, %t8 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + store ptr null, ptr %s14 + %t15 = load ptr, ptr %sc_l_fn_0 + %t16 = getelementptr inbounds %ScrBox, ptr %t15, i32 0, i32 5 + %t17 = load ptr, ptr %t16 + %t19 = getelementptr inbounds %ScrUnion, ptr %t17, i64 0, i32 1 + %t18 = load i32, ptr %t19 + store ptr null, ptr %s21 + %t20 = icmp eq i32 %t18, 0 + br i1 %t20, label %union.copy.ref3, label %union.copy.join4 +union.copy.ref3: + %t22 = getelementptr inbounds %ScrUnion, ptr %t17, i64 0, i32 5 + %t23 = load ptr, ptr %t22 + %t24 = call ptr @scr_closure_retain_v(ptr %t23) + store ptr %t24, ptr %s21 + br label %union.copy.join4 +union.copy.join4: + %t25 = load ptr, ptr %s21 + %t27 = getelementptr inbounds %ScrUnion, ptr %t17, i64 0, i32 1 + %t26 = load i32, ptr %t27 + %t28 = getelementptr inbounds %ScrUnion, ptr %t17, i32 0, i32 5 + %t29 = load i64, ptr %t28 + store i32 %t26, ptr %s12 + store i64 %t29, ptr %s13 + %t30 = load ptr, ptr %s14 + store ptr %t25, ptr %s14 + call void @scr_closure_release(ptr %t30) + store ptr %s11, ptr %sc_l_fn_1 + %t31 = load ptr, ptr %sc_l_fn_1 + %t34 = getelementptr inbounds %ScrUnion, ptr %t31, i64 0, i32 1 + %t33 = load i32, ptr %t34 + %t32 = icmp eq i32 %t33, 1 + br i1 %t32, label %read.then5, label %read.else6 +read.then5: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1111686955211598) + br label %exc.cleanup8 +exc.dead9: + store ptr null, ptr %s35 + br label %read.join7 +read.else6: + %t36 = load ptr, ptr %sc_l_fn_1 + %t37 = getelementptr inbounds %ScrUnion, ptr %t36, i64 0, i32 5 + %t38 = load ptr, ptr %t37 + store ptr %t38, ptr %s35 + br label %read.join7 +read.join7: + %t39 = load ptr, ptr %s35 + %t40 = load ptr, ptr %sc_l_c_0 + %t41 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t40) + %t42 = call ptr @scr_closure_new(ptr @sc_f__x25_fn32, i64 2) + %t43 = getelementptr inbounds %ScrClosure, ptr %t42, i64 0, i32 4 + store i32 4, ptr %t43 + %t44 = load ptr, ptr %s6 + %t45 = icmp eq ptr %t44, null + br i1 %t45, label %lazy.box10, label %lazy.box.j11 +lazy.box10: + %t46 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore) + %t47 = load ptr, ptr %sc_l_c_0 + %t48 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t47) + call void @scr_box_set_ref(ptr %t46, ptr %t48) + store ptr %t46, ptr %s6 + br label %lazy.box.j11 +lazy.box.j11: + %t49 = load ptr, ptr %s6 + %t50 = call ptr @sc_retain_box(ptr %t49) + %t51 = getelementptr inbounds %ScrClosure, ptr %t42, i64 1 ; caps + %t52 = getelementptr inbounds ptr, ptr %t51, i64 0 ; caps[0] + store ptr %t50, ptr %t52 + %t53 = load ptr, ptr %sc_l_inner_0 + %t54 = call ptr @sc_retain_box(ptr %t53) + %t55 = getelementptr inbounds %ScrClosure, ptr %t42, i64 1 ; caps + %t56 = getelementptr inbounds ptr, ptr %t55, i64 1 ; caps[1] + store ptr %t54, ptr %t56 + %t57 = getelementptr inbounds %ScrClosure, ptr %t39, i64 0, i32 1 + %t58 = load ptr, ptr %t57 + call void @scr_dyn_this_push_dyn(ptr null) + %t59 = call ptr %t58(ptr %t39, ptr %t41, ptr %t42) + call void @scr_dyn_this_pop() + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t59) + br label %exc.cleanup8 +exc.k13: + %t63 = load ptr, ptr %s6 + %t64 = icmp ne ptr %t63, null + br i1 %t64, label %lazy.release14, label %lazy.release.j15 +lazy.release14: + call void @scr_box_release(ptr %t63) + br label %lazy.release.j15 +lazy.release.j15: + %t65 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t65) + %t66 = load ptr, ptr %s14 + call void @scr_closure_release(ptr %t66) + ret ptr %t59 +exc.cleanup2: + %t67 = load ptr, ptr %s6 + %t68 = icmp ne ptr %t67, null + br i1 %t68, label %lazy.release16, label %lazy.release.j17 +lazy.release16: + call void @scr_box_release(ptr %t67) + br label %lazy.release.j17 +lazy.release.j17: + %t69 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t69) + ret ptr null +exc.cleanup8: + %t70 = load ptr, ptr %s6 + %t71 = icmp ne ptr %t70, null + br i1 %t71, label %lazy.release18, label %lazy.release.j19 +lazy.release18: + call void @scr_box_release(ptr %t70) + br label %lazy.release.j19 +lazy.release.j19: + %t72 = load ptr, ptr %sc_l_c_0 + call void @sc_release__x25_m5_CtxCore(ptr %t72) + %t73 = load ptr, ptr %s14 + call void @scr_closure_release(ptr %t73) + ret ptr null +} + +define internal ptr @sc_bf__x25_union_narrow_6(ptr %p_sc_l_u_0) #0 { ; %union.narrow.6 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1 + %t2 = load i32, ptr %t3 + %t1 = icmp eq i32 %t2, 0 + br i1 %t1, label %if.t0, label %if.j1 +if.t0: + %t4 = load ptr, ptr %sc_l_u_0 + %t5 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @scr_closure_retain_v(ptr %t6) + ret ptr %t7 +if.j1: + %t8 = load ptr, ptr %sc_l_u_0 + %t11 = getelementptr inbounds %ScrUnion, ptr %t8, i64 0, i32 1 + %t10 = load i32, ptr %t11 + %t9 = icmp eq i32 %t10, 1 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t12 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t12, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_6(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_union_narrow_6(ptr %p0) + call void @scr_union_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_10(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.10 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_rretain_r17(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_10(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_10(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_11(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.11 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_rretain_r5(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_11(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_11(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_12(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.12 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @scr_arr_retain_v(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_12(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_12(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_13(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.13 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_rc_retain_str(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_13(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_13(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal double @sc_f__x25_unit_strand_5() #0 { ; %unit.strand.5 +entry: + %t0 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2215425661348163) + call void @scr_throw_obj(ptr %t0, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret double 0x0000000000000000 +} + +define internal ptr @sc_bf__x25_rec_width_1(ptr %p_sc_l_r_0) #0 { ; %rec.width.1 +entry: + %sc_l_r_0 = alloca ptr ; r + %s14 = alloca %ScrUnion + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @sc_rnew_r17() + %t1 = load ptr, ptr %sc_l_r_0 + %t2 = getelementptr inbounds %sc_rs_r25, ptr %t1, i64 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = call ptr @sc_rc_retain_str(ptr %t3) + %t5 = getelementptr inbounds %sc_rs_r17, ptr %t0, i64 0, i32 1 + store ptr %t4, ptr %t5 + %t6 = load ptr, ptr %sc_l_r_0 + %t7 = getelementptr inbounds %sc_rs_r25, ptr %t6, i64 0, i32 2 + %t8 = getelementptr inbounds { i32, i64 }, ptr %t7, i32 0, i32 0 + %t10 = load i32, ptr %t8 + %t9 = getelementptr inbounds { i32, i64 }, ptr %t7, i32 0, i32 1 + %t11 = load i64, ptr %t9 + %t12 = icmp eq i32 %t10, 1 + %t13 = select i1 %t12, i64 0, i64 %t11 + store i64 -1, ptr %s14 + %t15 = getelementptr inbounds %ScrUnion, ptr %s14, i64 0, i32 1 + store i32 %t10, ptr %t15 + %t16 = getelementptr inbounds %ScrUnion, ptr %s14, i64 0, i32 5 + store i64 %t13, ptr %t16 + %t17 = call double @sc_bf__x25_union_narrow_1(ptr %s14) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rrelease_r17(ptr %t0) + ret ptr null +exc.k1: + %t21 = getelementptr inbounds %sc_rs_r17, ptr %t0, i64 0, i32 2 + store double %t17, ptr %t21 + ret ptr %t0 +} +define internal ptr @sc_f__x25_rec_width_1(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_rec_width_1(ptr %p0) + call void @sc_rrelease_r25(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_fn33(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn33 +entry: + %sc_l_resolve_0 = alloca ptr ; resolve + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_resolve_0 + %t5 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t6(ptr %t4, i1 false) + call void @scr_dyn_this_pop() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + ret void +exc.k3: + ret void +} +define internal void @sc_f__x25_fn33(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn33(ptr %sc_env, ptr %p0) + call void @scr_closure_release(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25_headers_snapshot_2(ptr %p_sc_l_r_0) #0 { ; %headers.snapshot.2 +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_ps_0 = alloca ptr ; ps + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca double ; i + store ptr null, ptr %sc_l_ps_0 + store ptr null, ptr %sc_l_out_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_r_0 + %t5 = call ptr @scr_http_req_retain_v(ptr %t4) + %t6 = call ptr @scr_http_req_header_pairs(ptr %t5) + store ptr %t6, ptr %sc_l_ps_0 + call void @scr_http_req_release(ptr %t5) + %t7 = call ptr @sc_rnew_r26() + store ptr %t7, ptr %sc_l_out_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t8 = load double, ptr %sc_l_i_0 + %t9 = load ptr, ptr %sc_l_ps_0 + %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t11 = load i64, ptr %t10, !tbaa !2, !range !{i64 0, i64 4294967296} + %t12 = sitofp i64 %t11 to double + %t14 = fptosi double %t12 to i64 + %t13 = fcmp olt double %t8, %t12 + br i1 %t13, label %loop.b4, label %loop.e2 +loop.b4: + %t15 = load ptr, ptr %sc_l_out_0 + %t16 = call ptr @sc_rretain_r26(ptr %t15) + %t17 = load ptr, ptr %sc_l_ps_0 + %t18 = load double, ptr %sc_l_i_0 + %t19 = fptosi double %t18 to i64 + %t21 = freeze i64 %t19 + %t20 = sitofp i64 %t21 to double + %t22 = fcmp oeq double %t20, %t18 + %t27 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8 + %t28 = load ptr, ptr %t27, !tbaa !2 + %t23 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296} + %t25 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2 + %t26 = load i64, ptr %t25, !tbaa !2 + %t29 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9 + %t30 = load ptr, ptr %t29, !tbaa !2 + %t31 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6 + %t32 = load i32, ptr %t31, !tbaa !2 + %t33 = zext i32 %t32 to i64 + %t34 = icmp ult i64 %t21, %t33 + %t35 = and i1 %t22, %t34 + br i1 %t35, label %arr.get.value8, label %arr.check9 +arr.check9: + %t36 = icmp ult i64 %t21, %t26 + %t37 = icmp ult i64 %t21, %t24 + %t38 = and i1 %t22, %t36 + %t39 = and i1 %t38, %t37 + br i1 %t39, label %arr.dense10, label %arr.get.slow6 +arr.dense10: + %t40 = getelementptr inbounds i8, ptr %t30, i64 %t21 + %t41 = load i8, ptr %t40, !tbaa !4 + %t42 = icmp eq i8 %t41, 1 + br i1 %t42, label %arr.get.value8, label %arr.get.slow6 +arr.get.value8: + %t43 = getelementptr inbounds i64, ptr %t28, i64 %t21 + %t44 = load ptr, ptr %t43, !tbaa !6 + %t45 = icmp ne ptr %t44, null + br i1 %t45, label %arr.get.ref11, label %arr.get.slow6 +arr.get.ref11: + %t46 = call ptr @sc_rc_retain_str(ptr %t44) + br label %arr.get.join7 +arr.get.slow6: + %t47 = call ptr @scr_arr_get_ref(ptr %t17, double %t18) cold + br label %arr.get.join7 +arr.get.join7: + %t48 = phi ptr [ %t46, %arr.get.ref11 ], [ %t47, %arr.get.slow6 ] + %t49 = load ptr, ptr %sc_l_ps_0 + %t50 = load double, ptr %sc_l_i_0 + %t51 = fadd double %t50, 0x3FF0000000000000 + %t52 = fptosi double %t51 to i64 + %t54 = freeze i64 %t52 + %t53 = sitofp i64 %t54 to double + %t55 = fcmp oeq double %t53, %t51 + %t60 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 8 + %t61 = load ptr, ptr %t60, !tbaa !2 + %t56 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 1 + %t57 = load i64, ptr %t56, !tbaa !2, !range !{i64 0, i64 4294967296} + %t58 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 2 + %t59 = load i64, ptr %t58, !tbaa !2 + %t62 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 9 + %t63 = load ptr, ptr %t62, !tbaa !2 + %t64 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 6 + %t65 = load i32, ptr %t64, !tbaa !2 + %t66 = zext i32 %t65 to i64 + %t67 = icmp ult i64 %t54, %t66 + %t68 = and i1 %t55, %t67 + br i1 %t68, label %arr.get.value14, label %arr.check15 +arr.check15: + %t69 = icmp ult i64 %t54, %t59 + %t70 = icmp ult i64 %t54, %t57 + %t71 = and i1 %t55, %t69 + %t72 = and i1 %t71, %t70 + br i1 %t72, label %arr.dense16, label %arr.get.slow12 +arr.dense16: + %t73 = getelementptr inbounds i8, ptr %t63, i64 %t54 + %t74 = load i8, ptr %t73, !tbaa !4 + %t75 = icmp eq i8 %t74, 1 + br i1 %t75, label %arr.get.value14, label %arr.get.slow12 +arr.get.value14: + %t76 = getelementptr inbounds i64, ptr %t61, i64 %t54 + %t77 = load ptr, ptr %t76, !tbaa !6 + %t78 = icmp ne ptr %t77, null + br i1 %t78, label %arr.get.ref17, label %arr.get.slow12 +arr.get.ref17: + %t79 = call ptr @sc_rc_retain_str(ptr %t77) + br label %arr.get.join13 +arr.get.slow12: + %t80 = call ptr @scr_arr_get_ref(ptr %t49, double %t51) cold + br label %arr.get.join13 +arr.get.join13: + %t81 = phi ptr [ %t79, %arr.get.ref17 ], [ %t80, %arr.get.slow12 ] + %t82 = getelementptr inbounds %sc_rs_r26, ptr %t16, i64 0, i32 1 + %t83 = load ptr, ptr %t82 + call void @scr_map_set_str_ref(ptr %t83, ptr %t48, ptr %t81) + br label %rks.j18 +rks.j18: + call void @sc_rrelease_r26(ptr %t16) + call void @scr_str_release(ptr %t48) + br label %loop.u5 +loop.u5: + %t84 = load double, ptr %sc_l_i_0 + %t85 = fadd double %t84, 0x4000000000000000 + store double %t85, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t86 = load ptr, ptr %sc_l_out_0 + %t87 = load ptr, ptr %sc_l_ps_0 + call void @scr_arr_release(ptr %t87) + ret ptr %t86 +} +define internal ptr @sc_f__x25_headers_snapshot_2(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_headers_snapshot_2(ptr %p0) + call void @scr_http_req_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_fn34(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn34 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_chunks_0 = alloca ptr ; chunks + %sc_l_chunks_1 = alloca ptr ; chunks + store ptr null, ptr %sc_l_chunks_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_chunks_0 ; captured chunks + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t3 = load ptr, ptr %sc_l_chunks_0 + %t4 = getelementptr inbounds %ScrBox, ptr %t3, i32 0, i32 5 + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_chunks_1 + %t6 = load ptr, ptr %sc_l_chunks_1 + %t7 = load ptr, ptr %sc_l_c_0 + %t8 = call ptr @scr_bytes_retain_v(ptr %t7) + %t9 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 1 + %t10 = load i64, ptr %t9, !tbaa !2 + %t13 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 2 + %t11 = load i64, ptr %t13, !tbaa !2 + %t12 = icmp ult i64 %t10, %t11 + br i1 %t12, label %arr.push.dense0, label %arr.push.slow1 +arr.push.dense0: + %t14 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 8 + %t16 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 9 + %t15 = load ptr, ptr %t14, !tbaa !2 + %t17 = load ptr, ptr %t16, !tbaa !2 + %t18 = getelementptr inbounds i8, ptr %t17, i64 %t10 + %t19 = getelementptr inbounds i64, ptr %t15, i64 %t10 + store ptr %t8, ptr %t19, !tbaa !6 + store i8 1, ptr %t18, !tbaa !4 + %t20 = add nuw i64 %t10, 1 + store i64 %t20, ptr %t9, !tbaa !2 + %t22 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 6 + %t23 = load i32, ptr %t22, !tbaa !2 + %t27 = zext i32 %t23 to i64 + %t24 = icmp eq i64 %t27, %t10 + %t25 = add i32 %t23, 1 + %t26 = select i1 %t24, i32 %t25, i32 %t23 + store i32 %t26, ptr %t22, !tbaa !2 + %t21 = sitofp i64 %t20 to double + br label %arr.push.join2 +arr.push.slow1: + %t28 = call double @scr_arr_push_ref(ptr %t6, ptr %t8) cold + br label %arr.push.join2 +arr.push.join2: + %t29 = phi double [ %t21, %arr.push.dense0 ], [ %t28, %arr.push.slow1 ] + ret void +} +define internal void @sc_f__x25_fn34(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn34(ptr %sc_env, ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn35(ptr %sc_env) #0 { ; %fn35 +entry: + %sc_l_self_0 = alloca ptr ; self + %sc_l_self_1 = alloca ptr ; self + store ptr null, ptr %sc_l_self_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_self_0 ; captured self + %t3 = load ptr, ptr %sc_l_self_0 + %t4 = getelementptr inbounds %ScrBox, ptr %t3, i32 0, i32 5 + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_self_1 + %t6 = load ptr, ptr %sc_l_self_1 + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 8 + store double 0x3FF0000000000000, ptr %t7, !tbaa !84 + ret void +} + +define internal void @sc_f__x25_fn36(ptr %sc_env) #0 { ; %fn36 +entry: + %sc_l_self_0 = alloca ptr ; self + %sc_l_self_1 = alloca ptr ; self + store ptr null, ptr %sc_l_self_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_self_0 ; captured self + %t3 = load ptr, ptr %sc_l_self_0 + %t4 = getelementptr inbounds %ScrBox, ptr %t3, i32 0, i32 5 + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_self_1 + %t6 = load ptr, ptr %sc_l_self_1 + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 8 + store double 0x3FF0000000000000, ptr %t7, !tbaa !84 + ret void +} + +define internal ptr @sc_bf__x25_arr_idxOr_14(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.14 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @scr_bytes_retain_v(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + %t62 = call ptr @scr_union_new_ref(i32 0, ptr %t61, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null) + store ptr %t62, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr @sc_unit_7, ptr %s29 + br label %tern.j8 +tern.j8: + %t63 = load ptr, ptr %s29 + ret ptr %t63 +} +define internal ptr @sc_f__x25_arr_idxOr_14(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_14(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_f__x25_fn38(ptr %sc_env) #0 { ; %fn38 +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_self_0 = alloca ptr ; self + %sc_l_chunks_0 = alloca ptr ; chunks + %sc_l_total_0 = alloca double ; total + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv + %sc_l_u8_0 = alloca ptr ; u8 + %sc_l_off_0 = alloca double ; off + %sc_l_i_1 = alloca i32 ; i + %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_self_1 = alloca ptr ; self + %sc_l_resolve_1 = alloca ptr ; resolve + %s23 = alloca i64 ; integer induction i + %s36 = alloca %ScrUnion + %s37 = getelementptr inbounds %ScrUnion, ptr %s36, i32 0, i32 5 + %s38 = getelementptr inbounds %ScrUnion, ptr %s36, i32 0, i32 1 + %s64 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s82 = alloca i64 ; integer induction i + %s106 = alloca %ScrUnion + %s107 = getelementptr inbounds %ScrUnion, ptr %s106, i32 0, i32 5 + %s108 = getelementptr inbounds %ScrUnion, ptr %s106, i32 0, i32 1 + %s134 = alloca ptr + store ptr null, ptr %sc_l_chunks_0 + store ptr null, ptr %sc_l__x25_propertyRecv_0 + store ptr null, ptr %sc_l_u8_0 + store ptr null, ptr %sc_l__x25_propertyRecv_1 + store ptr null, ptr %sc_l_self_1 + store ptr null, ptr %sc_l_resolve_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_this_0 ; captured this + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_self_0 ; captured self + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_resolve_0 ; captured resolve + %t9 = call ptr @llvm.stacksave.p0() + %t10 = load ptr, ptr @scr_stack_guard + %t11 = icmp ult ptr %t9, %t10 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t13 = load ptr, ptr %sc_l_self_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_self_1 + %t16 = load ptr, ptr %sc_l_resolve_0 + %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %sc_l_resolve_1 + %t19 = load ptr, ptr %sc_l_self_1 + %t20 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t19, i64 0, i32 7 + %t21 = load ptr, ptr %t20, !tbaa !82 + %t22 = call ptr @scr_arr_retain_v(ptr %t21) + store ptr %t22, ptr %sc_l_chunks_0 + store double 0x0000000000000000, ptr %sc_l_total_0 + %t24 = fptosi double 0x0000000000000000 to i64 + store i64 %t24, ptr %s23 + br label %loop.c3 +loop.c3: + %t25 = load ptr, ptr %sc_l_chunks_0 + %t26 = getelementptr inbounds %ScrArr, ptr %t25, i64 0, i32 1 + %t27 = load i64, ptr %t26, !tbaa !2 + %t28 = load i64, ptr %s23 + %t29 = icmp ult i64 %t28, %t27 + br i1 %t29, label %loop.b4, label %loop.e2 +loop.b4: + %t30 = load double, ptr %sc_l_total_0 + %t31 = load ptr, ptr %sc_l_chunks_0 + %t32 = load i64, ptr %s23 + %t33 = load i64, ptr %s23 + %t34 = sitofp i64 %t33 to double + %t35 = trunc i64 %t33 to i32 + %t39 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 2 + %t40 = load i64, ptr %t39, !tbaa !2 + %t41 = icmp ult i64 %t32, %t40 + br i1 %t41, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t42 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 6 + %t43 = load i32, ptr %t42, !tbaa !2 + %t45 = zext i32 %t43 to i64 + %t44 = icmp ult i64 %t32, %t45 + br i1 %t44, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t46 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 1 + %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296} + %t48 = icmp ult i64 %t32, %t47 + br i1 %t48, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t49 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 9 + %t50 = load ptr, ptr %t49, !tbaa !2 + %t51 = getelementptr inbounds i8, ptr %t50, i64 %t32 + %t52 = load i8, ptr %t51, !tbaa !4 + %t53 = icmp eq i8 %t52, 1 + br i1 %t53, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t54 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 8 + %t55 = load ptr, ptr %t54, !tbaa !2 + %t56 = getelementptr inbounds i64, ptr %t55, i64 %t32 + %t57 = load ptr, ptr %t56, !tbaa !6 + store ptr %t57, ptr %s37 + store i32 0, ptr %s38 + br label %local.array.join8 +local.array.slow6: + %t58 = call ptr @scr_arr_peek_ref(ptr %t31, double %t34) + %t59 = icmp ne ptr %t58, null + br i1 %t59, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + store ptr %t58, ptr %s37 + store i32 0, ptr %s38 + br label %local.array.join8 +local.array.missing7: + store i64 0, ptr %s37 + store i32 1, ptr %s38 + br label %local.array.join8 +local.array.join8: + store ptr %s36, ptr %sc_l__x25_propertyRecv_0 + %t60 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t63 = getelementptr inbounds %ScrUnion, ptr %t60, i64 0, i32 1 + %t62 = load i32, ptr %t63 + %t61 = icmp eq i32 %t62, 1 + br i1 %t61, label %tern.t15, label %tern.f16 +tern.t15: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup18 +exc.dead19: + store ptr null, ptr %s64 + br label %tern.j17 +tern.f16: + %t65 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t66 = getelementptr inbounds %ScrUnion, ptr %t65, i64 0, i32 5 + %t67 = load ptr, ptr %t66 + %t68 = call ptr @scr_bytes_retain_v(ptr %t67) + store ptr %t68, ptr %s64 + br label %tern.j17 +tern.j17: + %t69 = load ptr, ptr %s64 + %t70 = getelementptr inbounds %ScrBytes, ptr %t69, i64 0, i32 1 + %t71 = load i64, ptr %t70 + %t72 = sitofp i64 %t71 to double + %t74 = fptosi double %t72 to i64 + %t73 = fadd double %t30, %t72 + store double %t73, ptr %sc_l_total_0 + call void @scr_bytes_release(ptr %t69) + br label %loop.u5 +loop.u5: + %t75 = load i64, ptr %s23 + %t76 = add nuw i64 %t75, 1 + store i64 %t76, ptr %s23 + br label %loop.c3 +loop.e2: + %t77 = load double, ptr %sc_l_total_0 + %t78 = call ptr @scr_bytes_new(i32 0, double %t77) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_bytes_release(ptr %t78) + br label %exc.cleanup18 +exc.k21: + store ptr %t78, ptr %sc_l_u8_0 + store double 0x0000000000000000, ptr %sc_l_off_0 + %t83 = fptosi double 0x0000000000000000 to i64 + store i64 %t83, ptr %s82 + br label %loop.c23 +loop.c23: + %t84 = load ptr, ptr %sc_l_chunks_0 + %t85 = getelementptr inbounds %ScrArr, ptr %t84, i64 0, i32 1 + %t86 = load i64, ptr %t85, !tbaa !2 + %t87 = load i64, ptr %s82 + %t88 = icmp ult i64 %t87, %t86 + br i1 %t88, label %loop.b24, label %loop.e22 +loop.b24: + %t89 = load ptr, ptr %sc_l_u8_0 + %t90 = load ptr, ptr %sc_l_chunks_0 + %t91 = load i64, ptr %s82 + %t92 = sitofp i64 %t91 to double + %t93 = trunc i64 %t91 to i32 + %t94 = call ptr @sc_bf__x25_arr_idxOr_14(ptr %t90, double %t92) + %t95 = call ptr @sc_td_50(ptr %t94) + %t96 = load double, ptr %sc_l_off_0 + call void @scr_bytes_set_from_dyn(ptr %t89, ptr %t95, double %t96) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_union_release(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + br label %exc.cleanup28 +exc.k27: + call void @scr_union_release(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + %t100 = load double, ptr %sc_l_off_0 + %t101 = load ptr, ptr %sc_l_chunks_0 + %t102 = load i64, ptr %s82 + %t103 = load i64, ptr %s82 + %t104 = sitofp i64 %t103 to double + %t105 = trunc i64 %t103 to i32 + %t109 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 2 + %t110 = load i64, ptr %t109, !tbaa !2 + %t111 = icmp ult i64 %t102, %t110 + br i1 %t111, label %local.array.range32, label %local.array.slow29 +local.array.range32: + br label %local.array.dense33 +local.array.dense33: + %t112 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 6 + %t113 = load i32, ptr %t112, !tbaa !2 + %t115 = zext i32 %t113 to i64 + %t114 = icmp ult i64 %t102, %t115 + br i1 %t114, label %local.array.value35, label %local.array.len34 +local.array.len34: + %t116 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 1 + %t117 = load i64, ptr %t116, !tbaa !2, !range !{i64 0, i64 4294967296} + %t118 = icmp ult i64 %t102, %t117 + br i1 %t118, label %local.array.state36, label %local.array.missing30 +local.array.state36: + %t119 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 9 + %t120 = load ptr, ptr %t119, !tbaa !2 + %t121 = getelementptr inbounds i8, ptr %t120, i64 %t102 + %t122 = load i8, ptr %t121, !tbaa !4 + %t123 = icmp eq i8 %t122, 1 + br i1 %t123, label %local.array.value35, label %local.array.missing30 +local.array.value35: + %t124 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 8 + %t125 = load ptr, ptr %t124, !tbaa !2 + %t126 = getelementptr inbounds i64, ptr %t125, i64 %t102 + %t127 = load ptr, ptr %t126, !tbaa !6 + store ptr %t127, ptr %s107 + store i32 0, ptr %s108 + br label %local.array.join31 +local.array.slow29: + %t128 = call ptr @scr_arr_peek_ref(ptr %t101, double %t104) + %t129 = icmp ne ptr %t128, null + br i1 %t129, label %local.array.slow.value37, label %local.array.missing30 +local.array.slow.value37: + store ptr %t128, ptr %s107 + store i32 0, ptr %s108 + br label %local.array.join31 +local.array.missing30: + store i64 0, ptr %s107 + store i32 1, ptr %s108 + br label %local.array.join31 +local.array.join31: + store ptr %s106, ptr %sc_l__x25_propertyRecv_1 + %t130 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t133 = getelementptr inbounds %ScrUnion, ptr %t130, i64 0, i32 1 + %t132 = load i32, ptr %t133 + %t131 = icmp eq i32 %t132, 1 + br i1 %t131, label %tern.t38, label %tern.f39 +tern.t38: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup28 +exc.dead41: + store ptr null, ptr %s134 + br label %tern.j40 +tern.f39: + %t135 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t136 = getelementptr inbounds %ScrUnion, ptr %t135, i64 0, i32 5 + %t137 = load ptr, ptr %t136 + %t138 = call ptr @scr_bytes_retain_v(ptr %t137) + store ptr %t138, ptr %s134 + br label %tern.j40 +tern.j40: + %t139 = load ptr, ptr %s134 + %t140 = getelementptr inbounds %ScrBytes, ptr %t139, i64 0, i32 1 + %t141 = load i64, ptr %t140 + %t142 = sitofp i64 %t141 to double + %t144 = fptosi double %t142 to i64 + %t143 = fadd double %t100, %t142 + store double %t143, ptr %sc_l_off_0 + call void @scr_bytes_release(ptr %t139) + br label %loop.u25 +loop.u25: + %t145 = load i64, ptr %s82 + %t146 = add nuw i64 %t145, 1 + store i64 %t146, ptr %s82 + br label %loop.c23 +loop.e22: + %t147 = load ptr, ptr %sc_l_resolve_1 + %t148 = load ptr, ptr %sc_l_u8_0 + %t149 = call ptr @scr_array_buffer_from_bytes(ptr %t148) + %t150 = getelementptr inbounds %ScrClosure, ptr %t147, i64 0, i32 1 + %t151 = load ptr, ptr %t150 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t151(ptr %t147, ptr %t149) + call void @scr_dyn_this_pop() + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u42, label %exc.k43 +exc.u42: + br label %exc.cleanup28 +exc.k43: + %t155 = load ptr, ptr %sc_l_chunks_0 + call void @scr_arr_release(ptr %t155) + %t156 = load ptr, ptr %sc_l_u8_0 + call void @scr_bytes_release(ptr %t156) + ret void +exc.cleanup18: + %t157 = load ptr, ptr %sc_l_chunks_0 + call void @scr_arr_release(ptr %t157) + ret void +exc.cleanup28: + %t158 = load ptr, ptr %sc_l_chunks_0 + call void @scr_arr_release(ptr %t158) + %t159 = load ptr, ptr %sc_l_u8_0 + call void @scr_bytes_release(ptr %t159) + ret void +} + +define internal void @sc_f__x25_fn39(ptr %sc_env) #0 { ; %fn39 +entry: + %sc_l_finish_0 = alloca ptr ; finish + %sc_l_finish_1 = alloca ptr ; finish + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_finish_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_finish_0 ; captured finish + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_finish_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_finish_1 + %t10 = load ptr, ptr %sc_l_finish_1 + %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1 + %t12 = load ptr, ptr %t11 + %t13 = icmp eq ptr %t12, @sc_f__x25_fn38 + br i1 %t13, label %callback.direct2, label %callback.indirect3 +callback.direct2: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn38(ptr %t10) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.indirect3: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t12(ptr %t10) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.done4: + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u5, label %exc.k6 +exc.u5: + ret void +exc.k6: + ret void +} + +define internal void @sc_bf__x25_fn40(ptr %sc_env, ptr %p_sc_l_e_0) #0 { ; %fn40 +entry: + %sc_l_e_0 = alloca ptr ; e + %sc_l_reject_0 = alloca ptr ; reject + %sc_l_reject_1 = alloca ptr ; reject + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_reject_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_reject_0 ; captured reject + store ptr %p_sc_l_e_0, ptr %sc_l_e_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_reject_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_reject_1 + %t10 = load ptr, ptr %sc_l_reject_1 + %t11 = load ptr, ptr %sc_l_e_0 + %t12 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %callback.lend2, label %callback.own3 +callback.lend2: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t15(ptr %t10, ptr %t11) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.own3: + %t17 = call ptr @scr_error_retain_v(ptr %t11) + call void @scr_dyn_this_push_dyn(ptr null) + call void %t13(ptr %t10, ptr %t17) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.done4: + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u5, label %exc.k6 +exc.u5: + ret void +exc.k6: + ret void +} +define internal void @sc_f__x25_fn40(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn40(ptr %sc_env, ptr %p0) + call void @scr_error_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn37(ptr %sc_env, ptr %p_sc_l_resolve_0, ptr %p_sc_l_reject_0) #0 { ; %fn37 +entry: + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_reject_0 = alloca ptr ; reject + %sc_l_this_0 = alloca ptr ; this + %sc_l_self_0 = alloca ptr ; self + %sc_l_finish_0 = alloca ptr ; finish + %sc_l_im_0 = alloca ptr ; im + %sc_l_self_1 = alloca ptr ; self + %sc_l_finish_1 = alloca ptr ; finish + %sc_l_im_1 = alloca ptr ; im + %s9 = alloca ptr ; lazy box resolve + %s10 = alloca ptr ; lazy box reject + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_finish_0 + store ptr null, ptr %sc_l_self_1 + store ptr null, ptr %sc_l_finish_1 + store ptr null, ptr %sc_l_im_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_this_0 ; captured this + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_self_0 ; captured self + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_im_0 ; captured im + store ptr null, ptr %s9 + store ptr null, ptr %s10 + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + store ptr %p_sc_l_reject_0, ptr %sc_l_reject_0 + %t11 = call ptr @llvm.stacksave.p0() + %t12 = load ptr, ptr @scr_stack_guard + %t13 = icmp ult ptr %t11, %t12 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t15 = load ptr, ptr %sc_l_self_0 + %t16 = getelementptr inbounds %ScrBox, ptr %t15, i32 0, i32 5 + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %sc_l_self_1 + %t18 = load ptr, ptr %sc_l_im_0 + %t19 = getelementptr inbounds %ScrBox, ptr %t18, i32 0, i32 5 + %t20 = load ptr, ptr %t19 + store ptr %t20, ptr %sc_l_im_1 + %t21 = call ptr @scr_closure_new(ptr @sc_f__x25_fn38, i64 3) + %t22 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + store i32 4, ptr %t22 + %t23 = load ptr, ptr %sc_l_this_0 + %t24 = call ptr @sc_retain_box(ptr %t23) + %t25 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t26 = getelementptr inbounds ptr, ptr %t25, i64 0 ; caps[0] + store ptr %t24, ptr %t26 + %t27 = load ptr, ptr %sc_l_self_0 + %t28 = call ptr @sc_retain_box(ptr %t27) + %t29 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t30 = getelementptr inbounds ptr, ptr %t29, i64 1 ; caps[1] + store ptr %t28, ptr %t30 + %t31 = load ptr, ptr %s9 + %t32 = icmp eq ptr %t31, null + br i1 %t32, label %lazy.box3, label %lazy.box.j4 +lazy.box3: + %t33 = call ptr @scr_box_new(i32 4) + %t34 = load ptr, ptr %sc_l_resolve_0 + %t35 = call ptr @scr_closure_retain_v(ptr %t34) + call void @scr_box_set_ref(ptr %t33, ptr %t35) + store ptr %t33, ptr %s9 + br label %lazy.box.j4 +lazy.box.j4: + %t36 = load ptr, ptr %s9 + %t37 = call ptr @sc_retain_box(ptr %t36) + %t38 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t39 = getelementptr inbounds ptr, ptr %t38, i64 2 ; caps[2] + store ptr %t37, ptr %t39 + store ptr %t21, ptr %sc_l_finish_1 + %t40 = call ptr @scr_box_new(i32 4) ; let finish (boxed) + store ptr %t40, ptr %sc_l_finish_0 + %t41 = load ptr, ptr %sc_l_finish_1 + %t42 = call ptr @scr_closure_retain_v(ptr %t41) + call void @scr_box_set_ref(ptr %t40, ptr %t42) + %t43 = load ptr, ptr %sc_l_self_1 + %t44 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t43, i64 0, i32 8 + %t45 = load double, ptr %t44, !tbaa !84 + %t46 = fcmp oeq double %t45, 0x3FF0000000000000 + br i1 %t46, label %if.t5, label %if.j6 +if.t5: + %t47 = load ptr, ptr %sc_l_finish_1 + %t48 = getelementptr inbounds %ScrClosure, ptr %t47, i64 0, i32 1 + %t49 = load ptr, ptr %t48 + %t50 = icmp eq ptr %t49, @sc_f__x25_fn38 + br i1 %t50, label %callback.direct7, label %callback.indirect8 +callback.direct7: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn38(ptr %t47) + call void @scr_dyn_this_pop() + br label %callback.done9 +callback.indirect8: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t49(ptr %t47) + call void @scr_dyn_this_pop() + br label %callback.done9 +callback.done9: + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u10, label %exc.k11 +exc.u10: + br label %exc.cleanup12 +exc.k11: + %t54 = load ptr, ptr %s9 + %t55 = icmp ne ptr %t54, null + br i1 %t55, label %lazy.release13, label %lazy.release.j14 +lazy.release13: + call void @scr_box_release(ptr %t54) + br label %lazy.release.j14 +lazy.release.j14: + %t56 = load ptr, ptr %s10 + %t57 = icmp ne ptr %t56, null + br i1 %t57, label %lazy.release15, label %lazy.release.j16 +lazy.release15: + call void @scr_box_release(ptr %t56) + br label %lazy.release.j16 +lazy.release.j16: + %t58 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t58) + %t59 = load ptr, ptr %sc_l_reject_0 + call void @scr_closure_release(ptr %t59) + %t60 = load ptr, ptr %sc_l_finish_1 + call void @scr_closure_release(ptr %t60) + %t61 = load ptr, ptr %sc_l_finish_0 + call void @scr_box_release(ptr %t61) + ret void +if.j6: + %t62 = load ptr, ptr %sc_l_im_1 + %t63 = call ptr @scr_http_req_retain_v(ptr %t62) + %t64 = call ptr @scr_closure_new(ptr @sc_f__x25_fn39, i64 1) + %t65 = getelementptr inbounds %ScrClosure, ptr %t64, i64 0, i32 4 + store i32 4, ptr %t65 + %t66 = load ptr, ptr %sc_l_finish_0 + %t67 = call ptr @sc_retain_box(ptr %t66) + %t68 = getelementptr inbounds %ScrClosure, ptr %t64, i64 1 ; caps + %t69 = getelementptr inbounds ptr, ptr %t68, i64 0 ; caps[0] + store ptr %t67, ptr %t69 + call void @scr_http_req_on_end(ptr %t63, ptr %t64, i1 false) + call void @scr_http_req_release(ptr %t63) + %t70 = load ptr, ptr %sc_l_im_1 + %t71 = call ptr @scr_http_req_retain_v(ptr %t70) + %t72 = call ptr @scr_closure_new(ptr @sc_f__x25_fn40, i64 1) + %t73 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 4 + store i32 4, ptr %t73 + %t74 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 7 + store ptr @sc_bf__x25_fn40, ptr %t74 + %t75 = load ptr, ptr %s10 + %t76 = icmp eq ptr %t75, null + br i1 %t76, label %lazy.box17, label %lazy.box.j18 +lazy.box17: + %t77 = call ptr @scr_box_new(i32 4) + %t78 = load ptr, ptr %sc_l_reject_0 + %t79 = call ptr @scr_closure_retain_v(ptr %t78) + call void @scr_box_set_ref(ptr %t77, ptr %t79) + store ptr %t77, ptr %s10 + br label %lazy.box.j18 +lazy.box.j18: + %t80 = load ptr, ptr %s10 + %t81 = call ptr @sc_retain_box(ptr %t80) + %t82 = getelementptr inbounds %ScrClosure, ptr %t72, i64 1 ; caps + %t83 = getelementptr inbounds ptr, ptr %t82, i64 0 ; caps[0] + store ptr %t81, ptr %t83 + call void @scr_http_req_on_error(ptr %t71, ptr %t72, ptr @scr_child_err_thunk_error, i1 false) + call void @scr_http_req_release(ptr %t71) + %t84 = load ptr, ptr %s9 + %t85 = icmp ne ptr %t84, null + br i1 %t85, label %lazy.release19, label %lazy.release.j20 +lazy.release19: + call void @scr_box_release(ptr %t84) + br label %lazy.release.j20 +lazy.release.j20: + %t86 = load ptr, ptr %s10 + %t87 = icmp ne ptr %t86, null + br i1 %t87, label %lazy.release21, label %lazy.release.j22 +lazy.release21: + call void @scr_box_release(ptr %t86) + br label %lazy.release.j22 +lazy.release.j22: + %t88 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t88) + %t89 = load ptr, ptr %sc_l_reject_0 + call void @scr_closure_release(ptr %t89) + %t90 = load ptr, ptr %sc_l_finish_1 + call void @scr_closure_release(ptr %t90) + %t91 = load ptr, ptr %sc_l_finish_0 + call void @scr_box_release(ptr %t91) + ret void +exc.cleanup2: + %t92 = load ptr, ptr %s9 + %t93 = icmp ne ptr %t92, null + br i1 %t93, label %lazy.release23, label %lazy.release.j24 +lazy.release23: + call void @scr_box_release(ptr %t92) + br label %lazy.release.j24 +lazy.release.j24: + %t94 = load ptr, ptr %s10 + %t95 = icmp ne ptr %t94, null + br i1 %t95, label %lazy.release25, label %lazy.release.j26 +lazy.release25: + call void @scr_box_release(ptr %t94) + br label %lazy.release.j26 +lazy.release.j26: + %t96 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t96) + %t97 = load ptr, ptr %sc_l_reject_0 + call void @scr_closure_release(ptr %t97) + ret void +exc.cleanup12: + %t98 = load ptr, ptr %s9 + %t99 = icmp ne ptr %t98, null + br i1 %t99, label %lazy.release27, label %lazy.release.j28 +lazy.release27: + call void @scr_box_release(ptr %t98) + br label %lazy.release.j28 +lazy.release.j28: + %t100 = load ptr, ptr %s10 + %t101 = icmp ne ptr %t100, null + br i1 %t101, label %lazy.release29, label %lazy.release.j30 +lazy.release29: + call void @scr_box_release(ptr %t100) + br label %lazy.release.j30 +lazy.release.j30: + %t102 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t102) + %t103 = load ptr, ptr %sc_l_reject_0 + call void @scr_closure_release(ptr %t103) + %t104 = load ptr, ptr %sc_l_finish_1 + call void @scr_closure_release(ptr %t104) + %t105 = load ptr, ptr %sc_l_finish_0 + call void @scr_box_release(ptr %t105) + ret void +} + +define internal void @sc_bf__x25_fn41(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn41 +entry: + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_done_0 = alloca ptr ; done + %sc_l_done_1 = alloca ptr ; done + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_done_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_done_0 ; captured done + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_done_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_done_1 + %t10 = load ptr, ptr %sc_l_resolve_0 + %t11 = load ptr, ptr %sc_l_done_1 + %t12 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %callback.lend2, label %callback.own3 +callback.lend2: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t15(ptr %t10, ptr %t11) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.own3: + %t17 = call ptr @sc_rc_retain_str(ptr %t11) + call void @scr_dyn_this_push_dyn(ptr null) + call void %t13(ptr %t10, ptr %t17) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.done4: + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u5, label %exc.k6 +exc.u5: + ret void +exc.k6: + ret void +} +define internal void @sc_f__x25_fn41(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn41(ptr %sc_env, ptr %p0) + call void @scr_closure_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn43(ptr %sc_env) #0 { ; %fn43 +entry: + %sc_l_this_0 = alloca ptr ; this + %sc_l_self_0 = alloca ptr ; self + %sc_l_chunks_0 = alloca ptr ; chunks + %sc_l_total_0 = alloca double ; total + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv + %sc_l_joined_0 = alloca ptr ; joined + %sc_l_off_0 = alloca double ; off + %sc_l_i_1 = alloca i32 ; i + %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv + %sc_l_s_0 = alloca ptr ; s + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_self_1 = alloca ptr ; self + %sc_l_resolve_1 = alloca ptr ; resolve + %s23 = alloca i64 ; integer induction i + %s36 = alloca %ScrUnion + %s37 = getelementptr inbounds %ScrUnion, ptr %s36, i32 0, i32 5 + %s38 = getelementptr inbounds %ScrUnion, ptr %s36, i32 0, i32 1 + %s64 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s82 = alloca i64 ; integer induction i + %s106 = alloca %ScrUnion + %s107 = getelementptr inbounds %ScrUnion, ptr %s106, i32 0, i32 5 + %s108 = getelementptr inbounds %ScrUnion, ptr %s106, i32 0, i32 1 + %s134 = alloca ptr + store ptr null, ptr %sc_l_chunks_0 + store ptr null, ptr %sc_l__x25_propertyRecv_0 + store ptr null, ptr %sc_l_joined_0 + store ptr null, ptr %sc_l__x25_propertyRecv_1 + store ptr null, ptr %sc_l_s_0 + store ptr null, ptr %sc_l_self_1 + store ptr null, ptr %sc_l_resolve_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_this_0 ; captured this + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_self_0 ; captured self + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_resolve_0 ; captured resolve + %t9 = call ptr @llvm.stacksave.p0() + %t10 = load ptr, ptr @scr_stack_guard + %t11 = icmp ult ptr %t9, %t10 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t13 = load ptr, ptr %sc_l_self_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_self_1 + %t16 = load ptr, ptr %sc_l_resolve_0 + %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %sc_l_resolve_1 + %t19 = load ptr, ptr %sc_l_self_1 + %t20 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t19, i64 0, i32 7 + %t21 = load ptr, ptr %t20, !tbaa !82 + %t22 = call ptr @scr_arr_retain_v(ptr %t21) + store ptr %t22, ptr %sc_l_chunks_0 + store double 0x0000000000000000, ptr %sc_l_total_0 + %t24 = fptosi double 0x0000000000000000 to i64 + store i64 %t24, ptr %s23 + br label %loop.c3 +loop.c3: + %t25 = load ptr, ptr %sc_l_chunks_0 + %t26 = getelementptr inbounds %ScrArr, ptr %t25, i64 0, i32 1 + %t27 = load i64, ptr %t26, !tbaa !2 + %t28 = load i64, ptr %s23 + %t29 = icmp ult i64 %t28, %t27 + br i1 %t29, label %loop.b4, label %loop.e2 +loop.b4: + %t30 = load double, ptr %sc_l_total_0 + %t31 = load ptr, ptr %sc_l_chunks_0 + %t32 = load i64, ptr %s23 + %t33 = load i64, ptr %s23 + %t34 = sitofp i64 %t33 to double + %t35 = trunc i64 %t33 to i32 + %t39 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 2 + %t40 = load i64, ptr %t39, !tbaa !2 + %t41 = icmp ult i64 %t32, %t40 + br i1 %t41, label %local.array.range9, label %local.array.slow6 +local.array.range9: + br label %local.array.dense10 +local.array.dense10: + %t42 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 6 + %t43 = load i32, ptr %t42, !tbaa !2 + %t45 = zext i32 %t43 to i64 + %t44 = icmp ult i64 %t32, %t45 + br i1 %t44, label %local.array.value12, label %local.array.len11 +local.array.len11: + %t46 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 1 + %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296} + %t48 = icmp ult i64 %t32, %t47 + br i1 %t48, label %local.array.state13, label %local.array.missing7 +local.array.state13: + %t49 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 9 + %t50 = load ptr, ptr %t49, !tbaa !2 + %t51 = getelementptr inbounds i8, ptr %t50, i64 %t32 + %t52 = load i8, ptr %t51, !tbaa !4 + %t53 = icmp eq i8 %t52, 1 + br i1 %t53, label %local.array.value12, label %local.array.missing7 +local.array.value12: + %t54 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 8 + %t55 = load ptr, ptr %t54, !tbaa !2 + %t56 = getelementptr inbounds i64, ptr %t55, i64 %t32 + %t57 = load ptr, ptr %t56, !tbaa !6 + store ptr %t57, ptr %s37 + store i32 0, ptr %s38 + br label %local.array.join8 +local.array.slow6: + %t58 = call ptr @scr_arr_peek_ref(ptr %t31, double %t34) + %t59 = icmp ne ptr %t58, null + br i1 %t59, label %local.array.slow.value14, label %local.array.missing7 +local.array.slow.value14: + store ptr %t58, ptr %s37 + store i32 0, ptr %s38 + br label %local.array.join8 +local.array.missing7: + store i64 0, ptr %s37 + store i32 1, ptr %s38 + br label %local.array.join8 +local.array.join8: + store ptr %s36, ptr %sc_l__x25_propertyRecv_0 + %t60 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t63 = getelementptr inbounds %ScrUnion, ptr %t60, i64 0, i32 1 + %t62 = load i32, ptr %t63 + %t61 = icmp eq i32 %t62, 1 + br i1 %t61, label %tern.t15, label %tern.f16 +tern.t15: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup18 +exc.dead19: + store ptr null, ptr %s64 + br label %tern.j17 +tern.f16: + %t65 = load ptr, ptr %sc_l__x25_propertyRecv_0 + %t66 = getelementptr inbounds %ScrUnion, ptr %t65, i64 0, i32 5 + %t67 = load ptr, ptr %t66 + %t68 = call ptr @scr_bytes_retain_v(ptr %t67) + store ptr %t68, ptr %s64 + br label %tern.j17 +tern.j17: + %t69 = load ptr, ptr %s64 + %t70 = getelementptr inbounds %ScrBytes, ptr %t69, i64 0, i32 1 + %t71 = load i64, ptr %t70 + %t72 = sitofp i64 %t71 to double + %t74 = fptosi double %t72 to i64 + %t73 = fadd double %t30, %t72 + store double %t73, ptr %sc_l_total_0 + call void @scr_bytes_release(ptr %t69) + br label %loop.u5 +loop.u5: + %t75 = load i64, ptr %s23 + %t76 = add nuw i64 %t75, 1 + store i64 %t76, ptr %s23 + br label %loop.c3 +loop.e2: + %t77 = load double, ptr %sc_l_total_0 + %t78 = call ptr @scr_bytes_new(i32 0, double %t77) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_bytes_release(ptr %t78) + br label %exc.cleanup18 +exc.k21: + store ptr %t78, ptr %sc_l_joined_0 + store double 0x0000000000000000, ptr %sc_l_off_0 + %t83 = fptosi double 0x0000000000000000 to i64 + store i64 %t83, ptr %s82 + br label %loop.c23 +loop.c23: + %t84 = load ptr, ptr %sc_l_chunks_0 + %t85 = getelementptr inbounds %ScrArr, ptr %t84, i64 0, i32 1 + %t86 = load i64, ptr %t85, !tbaa !2 + %t87 = load i64, ptr %s82 + %t88 = icmp ult i64 %t87, %t86 + br i1 %t88, label %loop.b24, label %loop.e22 +loop.b24: + %t89 = load ptr, ptr %sc_l_joined_0 + %t90 = load ptr, ptr %sc_l_chunks_0 + %t91 = load i64, ptr %s82 + %t92 = sitofp i64 %t91 to double + %t93 = trunc i64 %t91 to i32 + %t94 = call ptr @sc_bf__x25_arr_idxOr_14(ptr %t90, double %t92) + %t95 = call ptr @sc_td_50(ptr %t94) + %t96 = load double, ptr %sc_l_off_0 + call void @scr_bytes_set_from_dyn(ptr %t89, ptr %t95, double %t96) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_union_release(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + br label %exc.cleanup28 +exc.k27: + call void @scr_union_release(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + %t100 = load double, ptr %sc_l_off_0 + %t101 = load ptr, ptr %sc_l_chunks_0 + %t102 = load i64, ptr %s82 + %t103 = load i64, ptr %s82 + %t104 = sitofp i64 %t103 to double + %t105 = trunc i64 %t103 to i32 + %t109 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 2 + %t110 = load i64, ptr %t109, !tbaa !2 + %t111 = icmp ult i64 %t102, %t110 + br i1 %t111, label %local.array.range32, label %local.array.slow29 +local.array.range32: + br label %local.array.dense33 +local.array.dense33: + %t112 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 6 + %t113 = load i32, ptr %t112, !tbaa !2 + %t115 = zext i32 %t113 to i64 + %t114 = icmp ult i64 %t102, %t115 + br i1 %t114, label %local.array.value35, label %local.array.len34 +local.array.len34: + %t116 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 1 + %t117 = load i64, ptr %t116, !tbaa !2, !range !{i64 0, i64 4294967296} + %t118 = icmp ult i64 %t102, %t117 + br i1 %t118, label %local.array.state36, label %local.array.missing30 +local.array.state36: + %t119 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 9 + %t120 = load ptr, ptr %t119, !tbaa !2 + %t121 = getelementptr inbounds i8, ptr %t120, i64 %t102 + %t122 = load i8, ptr %t121, !tbaa !4 + %t123 = icmp eq i8 %t122, 1 + br i1 %t123, label %local.array.value35, label %local.array.missing30 +local.array.value35: + %t124 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 8 + %t125 = load ptr, ptr %t124, !tbaa !2 + %t126 = getelementptr inbounds i64, ptr %t125, i64 %t102 + %t127 = load ptr, ptr %t126, !tbaa !6 + store ptr %t127, ptr %s107 + store i32 0, ptr %s108 + br label %local.array.join31 +local.array.slow29: + %t128 = call ptr @scr_arr_peek_ref(ptr %t101, double %t104) + %t129 = icmp ne ptr %t128, null + br i1 %t129, label %local.array.slow.value37, label %local.array.missing30 +local.array.slow.value37: + store ptr %t128, ptr %s107 + store i32 0, ptr %s108 + br label %local.array.join31 +local.array.missing30: + store i64 0, ptr %s107 + store i32 1, ptr %s108 + br label %local.array.join31 +local.array.join31: + store ptr %s106, ptr %sc_l__x25_propertyRecv_1 + %t130 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t133 = getelementptr inbounds %ScrUnion, ptr %t130, i64 0, i32 1 + %t132 = load i32, ptr %t133 + %t131 = icmp eq i32 %t132, 1 + br i1 %t131, label %tern.t38, label %tern.f39 +tern.t38: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032) + br label %exc.cleanup28 +exc.dead41: + store ptr null, ptr %s134 + br label %tern.j40 +tern.f39: + %t135 = load ptr, ptr %sc_l__x25_propertyRecv_1 + %t136 = getelementptr inbounds %ScrUnion, ptr %t135, i64 0, i32 5 + %t137 = load ptr, ptr %t136 + %t138 = call ptr @scr_bytes_retain_v(ptr %t137) + store ptr %t138, ptr %s134 + br label %tern.j40 +tern.j40: + %t139 = load ptr, ptr %s134 + %t140 = getelementptr inbounds %ScrBytes, ptr %t139, i64 0, i32 1 + %t141 = load i64, ptr %t140 + %t142 = sitofp i64 %t141 to double + %t144 = fptosi double %t142 to i64 + %t143 = fadd double %t100, %t142 + store double %t143, ptr %sc_l_off_0 + call void @scr_bytes_release(ptr %t139) + br label %loop.u25 +loop.u25: + %t145 = load i64, ptr %s82 + %t146 = add nuw i64 %t145, 1 + store i64 %t146, ptr %s82 + br label %loop.c23 +loop.e22: + %t147 = load ptr, ptr %sc_l_joined_0 + %t148 = call ptr @scr_bytes_retain_v(ptr %t147) + %t149 = call ptr @scr_buffer_from_bytes(ptr %t148) + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_bytes_release(ptr %t148) + call void @scr_bytes_release(ptr %t149) + br label %exc.cleanup28 +exc.k43: + %t153 = call ptr @scr_bytes_as_buffer(ptr %t149) + %t154 = call ptr @scr_bytes_to_str(ptr %t153, ptr @sc_lit_2605532998565466) + store ptr %t154, ptr %sc_l_s_0 + call void @scr_bytes_release(ptr %t148) + call void @scr_bytes_release(ptr %t149) + call void @scr_bytes_release(ptr %t153) + %t155 = load ptr, ptr %sc_l_self_1 + %t156 = load ptr, ptr %sc_l_s_0 + %t157 = call ptr @sc_rc_retain_str(ptr %t156) + %t158 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t155, i64 0, i32 6 + %t159 = load ptr, ptr %t158 + store ptr %t157, ptr %t158, !tbaa !80 + call void @scr_str_release(ptr %t159) + %t160 = load ptr, ptr %sc_l_resolve_1 + %t161 = load ptr, ptr %sc_l_s_0 + %t162 = getelementptr inbounds %ScrClosure, ptr %t160, i64 0, i32 1 + %t163 = load ptr, ptr %t162 + %t164 = getelementptr inbounds %ScrClosure, ptr %t160, i64 0, i32 7 + %t165 = load ptr, ptr %t164 + %t166 = icmp ne ptr %t165, null + br i1 %t166, label %callback.lend44, label %callback.own45 +callback.lend44: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t165(ptr %t160, ptr %t161) + call void @scr_dyn_this_pop() + br label %callback.done46 +callback.own45: + %t167 = call ptr @sc_rc_retain_str(ptr %t161) + call void @scr_dyn_this_push_dyn(ptr null) + call void %t163(ptr %t160, ptr %t167) + call void @scr_dyn_this_pop() + br label %callback.done46 +callback.done46: + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u47, label %exc.k48 +exc.u47: + br label %exc.cleanup49 +exc.k48: + %t171 = load ptr, ptr %sc_l_chunks_0 + call void @scr_arr_release(ptr %t171) + %t172 = load ptr, ptr %sc_l_joined_0 + call void @scr_bytes_release(ptr %t172) + %t173 = load ptr, ptr %sc_l_s_0 + call void @scr_str_release(ptr %t173) + ret void +exc.cleanup18: + %t174 = load ptr, ptr %sc_l_chunks_0 + call void @scr_arr_release(ptr %t174) + ret void +exc.cleanup28: + %t175 = load ptr, ptr %sc_l_chunks_0 + call void @scr_arr_release(ptr %t175) + %t176 = load ptr, ptr %sc_l_joined_0 + call void @scr_bytes_release(ptr %t176) + ret void +exc.cleanup49: + %t177 = load ptr, ptr %sc_l_chunks_0 + call void @scr_arr_release(ptr %t177) + %t178 = load ptr, ptr %sc_l_joined_0 + call void @scr_bytes_release(ptr %t178) + %t179 = load ptr, ptr %sc_l_s_0 + call void @scr_str_release(ptr %t179) + ret void +} + +define internal void @sc_f__x25_fn44(ptr %sc_env) #0 { ; %fn44 +entry: + %sc_l_finish_0 = alloca ptr ; finish + %sc_l_finish_1 = alloca ptr ; finish + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_finish_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_finish_0 ; captured finish + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_finish_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_finish_1 + %t10 = load ptr, ptr %sc_l_finish_1 + %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1 + %t12 = load ptr, ptr %t11 + %t13 = icmp eq ptr %t12, @sc_f__x25_fn43 + br i1 %t13, label %callback.direct2, label %callback.indirect3 +callback.direct2: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn43(ptr %t10) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.indirect3: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t12(ptr %t10) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.done4: + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u5, label %exc.k6 +exc.u5: + ret void +exc.k6: + ret void +} + +define internal void @sc_bf__x25_fn45(ptr %sc_env, ptr %p_sc_l_e_0) #0 { ; %fn45 +entry: + %sc_l_e_0 = alloca ptr ; e + %sc_l_reject_0 = alloca ptr ; reject + %sc_l_reject_1 = alloca ptr ; reject + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_reject_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_reject_0 ; captured reject + store ptr %p_sc_l_e_0, ptr %sc_l_e_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_reject_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_reject_1 + %t10 = load ptr, ptr %sc_l_reject_1 + %t11 = load ptr, ptr %sc_l_e_0 + %t12 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + %t14 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 7 + %t15 = load ptr, ptr %t14 + %t16 = icmp ne ptr %t15, null + br i1 %t16, label %callback.lend2, label %callback.own3 +callback.lend2: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t15(ptr %t10, ptr %t11) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.own3: + %t17 = call ptr @scr_error_retain_v(ptr %t11) + call void @scr_dyn_this_push_dyn(ptr null) + call void %t13(ptr %t10, ptr %t17) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.done4: + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u5, label %exc.k6 +exc.u5: + ret void +exc.k6: + ret void +} +define internal void @sc_f__x25_fn45(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn45(ptr %sc_env, ptr %p0) + call void @scr_error_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn42(ptr %sc_env, ptr %p_sc_l_resolve_0, ptr %p_sc_l_reject_0) #0 { ; %fn42 +entry: + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_reject_0 = alloca ptr ; reject + %sc_l_this_0 = alloca ptr ; this + %sc_l_self_0 = alloca ptr ; self + %sc_l_finish_0 = alloca ptr ; finish + %sc_l_im_0 = alloca ptr ; im + %sc_l_self_1 = alloca ptr ; self + %sc_l_finish_1 = alloca ptr ; finish + %sc_l_im_1 = alloca ptr ; im + %s9 = alloca ptr ; lazy box resolve + %s10 = alloca ptr ; lazy box reject + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_finish_0 + store ptr null, ptr %sc_l_self_1 + store ptr null, ptr %sc_l_finish_1 + store ptr null, ptr %sc_l_im_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_this_0 ; captured this + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_self_0 ; captured self + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_im_0 ; captured im + store ptr null, ptr %s9 + store ptr null, ptr %s10 + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + store ptr %p_sc_l_reject_0, ptr %sc_l_reject_0 + %t11 = call ptr @llvm.stacksave.p0() + %t12 = load ptr, ptr @scr_stack_guard + %t13 = icmp ult ptr %t11, %t12 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t15 = load ptr, ptr %sc_l_self_0 + %t16 = getelementptr inbounds %ScrBox, ptr %t15, i32 0, i32 5 + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %sc_l_self_1 + %t18 = load ptr, ptr %sc_l_im_0 + %t19 = getelementptr inbounds %ScrBox, ptr %t18, i32 0, i32 5 + %t20 = load ptr, ptr %t19 + store ptr %t20, ptr %sc_l_im_1 + %t21 = call ptr @scr_closure_new(ptr @sc_f__x25_fn43, i64 3) + %t22 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4 + store i32 4, ptr %t22 + %t23 = load ptr, ptr %sc_l_this_0 + %t24 = call ptr @sc_retain_box(ptr %t23) + %t25 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t26 = getelementptr inbounds ptr, ptr %t25, i64 0 ; caps[0] + store ptr %t24, ptr %t26 + %t27 = load ptr, ptr %sc_l_self_0 + %t28 = call ptr @sc_retain_box(ptr %t27) + %t29 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t30 = getelementptr inbounds ptr, ptr %t29, i64 1 ; caps[1] + store ptr %t28, ptr %t30 + %t31 = load ptr, ptr %s9 + %t32 = icmp eq ptr %t31, null + br i1 %t32, label %lazy.box3, label %lazy.box.j4 +lazy.box3: + %t33 = call ptr @scr_box_new(i32 4) + %t34 = load ptr, ptr %sc_l_resolve_0 + %t35 = call ptr @scr_closure_retain_v(ptr %t34) + call void @scr_box_set_ref(ptr %t33, ptr %t35) + store ptr %t33, ptr %s9 + br label %lazy.box.j4 +lazy.box.j4: + %t36 = load ptr, ptr %s9 + %t37 = call ptr @sc_retain_box(ptr %t36) + %t38 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps + %t39 = getelementptr inbounds ptr, ptr %t38, i64 2 ; caps[2] + store ptr %t37, ptr %t39 + store ptr %t21, ptr %sc_l_finish_1 + %t40 = call ptr @scr_box_new(i32 4) ; let finish (boxed) + store ptr %t40, ptr %sc_l_finish_0 + %t41 = load ptr, ptr %sc_l_finish_1 + %t42 = call ptr @scr_closure_retain_v(ptr %t41) + call void @scr_box_set_ref(ptr %t40, ptr %t42) + %t43 = load ptr, ptr %sc_l_self_1 + %t44 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t43, i64 0, i32 8 + %t45 = load double, ptr %t44, !tbaa !84 + %t46 = fcmp oeq double %t45, 0x3FF0000000000000 + br i1 %t46, label %if.t5, label %if.j6 +if.t5: + %t47 = load ptr, ptr %sc_l_finish_1 + %t48 = getelementptr inbounds %ScrClosure, ptr %t47, i64 0, i32 1 + %t49 = load ptr, ptr %t48 + %t50 = icmp eq ptr %t49, @sc_f__x25_fn43 + br i1 %t50, label %callback.direct7, label %callback.indirect8 +callback.direct7: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn43(ptr %t47) + call void @scr_dyn_this_pop() + br label %callback.done9 +callback.indirect8: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t49(ptr %t47) + call void @scr_dyn_this_pop() + br label %callback.done9 +callback.done9: + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u10, label %exc.k11 +exc.u10: + br label %exc.cleanup12 +exc.k11: + %t54 = load ptr, ptr %s9 + %t55 = icmp ne ptr %t54, null + br i1 %t55, label %lazy.release13, label %lazy.release.j14 +lazy.release13: + call void @scr_box_release(ptr %t54) + br label %lazy.release.j14 +lazy.release.j14: + %t56 = load ptr, ptr %s10 + %t57 = icmp ne ptr %t56, null + br i1 %t57, label %lazy.release15, label %lazy.release.j16 +lazy.release15: + call void @scr_box_release(ptr %t56) + br label %lazy.release.j16 +lazy.release.j16: + %t58 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t58) + %t59 = load ptr, ptr %sc_l_reject_0 + call void @scr_closure_release(ptr %t59) + %t60 = load ptr, ptr %sc_l_finish_1 + call void @scr_closure_release(ptr %t60) + %t61 = load ptr, ptr %sc_l_finish_0 + call void @scr_box_release(ptr %t61) + ret void +if.j6: + %t62 = load ptr, ptr %sc_l_im_1 + %t63 = call ptr @scr_http_req_retain_v(ptr %t62) + %t64 = call ptr @scr_closure_new(ptr @sc_f__x25_fn44, i64 1) + %t65 = getelementptr inbounds %ScrClosure, ptr %t64, i64 0, i32 4 + store i32 4, ptr %t65 + %t66 = load ptr, ptr %sc_l_finish_0 + %t67 = call ptr @sc_retain_box(ptr %t66) + %t68 = getelementptr inbounds %ScrClosure, ptr %t64, i64 1 ; caps + %t69 = getelementptr inbounds ptr, ptr %t68, i64 0 ; caps[0] + store ptr %t67, ptr %t69 + call void @scr_http_req_on_end(ptr %t63, ptr %t64, i1 false) + call void @scr_http_req_release(ptr %t63) + %t70 = load ptr, ptr %sc_l_im_1 + %t71 = call ptr @scr_http_req_retain_v(ptr %t70) + %t72 = call ptr @scr_closure_new(ptr @sc_f__x25_fn45, i64 1) + %t73 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 4 + store i32 4, ptr %t73 + %t74 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 7 + store ptr @sc_bf__x25_fn45, ptr %t74 + %t75 = load ptr, ptr %s10 + %t76 = icmp eq ptr %t75, null + br i1 %t76, label %lazy.box17, label %lazy.box.j18 +lazy.box17: + %t77 = call ptr @scr_box_new(i32 4) + %t78 = load ptr, ptr %sc_l_reject_0 + %t79 = call ptr @scr_closure_retain_v(ptr %t78) + call void @scr_box_set_ref(ptr %t77, ptr %t79) + store ptr %t77, ptr %s10 + br label %lazy.box.j18 +lazy.box.j18: + %t80 = load ptr, ptr %s10 + %t81 = call ptr @sc_retain_box(ptr %t80) + %t82 = getelementptr inbounds %ScrClosure, ptr %t72, i64 1 ; caps + %t83 = getelementptr inbounds ptr, ptr %t82, i64 0 ; caps[0] + store ptr %t81, ptr %t83 + call void @scr_http_req_on_error(ptr %t71, ptr %t72, ptr @scr_child_err_thunk_error, i1 false) + call void @scr_http_req_release(ptr %t71) + %t84 = load ptr, ptr %s9 + %t85 = icmp ne ptr %t84, null + br i1 %t85, label %lazy.release19, label %lazy.release.j20 +lazy.release19: + call void @scr_box_release(ptr %t84) + br label %lazy.release.j20 +lazy.release.j20: + %t86 = load ptr, ptr %s10 + %t87 = icmp ne ptr %t86, null + br i1 %t87, label %lazy.release21, label %lazy.release.j22 +lazy.release21: + call void @scr_box_release(ptr %t86) + br label %lazy.release.j22 +lazy.release.j22: + %t88 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t88) + %t89 = load ptr, ptr %sc_l_reject_0 + call void @scr_closure_release(ptr %t89) + %t90 = load ptr, ptr %sc_l_finish_1 + call void @scr_closure_release(ptr %t90) + %t91 = load ptr, ptr %sc_l_finish_0 + call void @scr_box_release(ptr %t91) + ret void +exc.cleanup2: + %t92 = load ptr, ptr %s9 + %t93 = icmp ne ptr %t92, null + br i1 %t93, label %lazy.release23, label %lazy.release.j24 +lazy.release23: + call void @scr_box_release(ptr %t92) + br label %lazy.release.j24 +lazy.release.j24: + %t94 = load ptr, ptr %s10 + %t95 = icmp ne ptr %t94, null + br i1 %t95, label %lazy.release25, label %lazy.release.j26 +lazy.release25: + call void @scr_box_release(ptr %t94) + br label %lazy.release.j26 +lazy.release.j26: + %t96 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t96) + %t97 = load ptr, ptr %sc_l_reject_0 + call void @scr_closure_release(ptr %t97) + ret void +exc.cleanup12: + %t98 = load ptr, ptr %s9 + %t99 = icmp ne ptr %t98, null + br i1 %t99, label %lazy.release27, label %lazy.release.j28 +lazy.release27: + call void @scr_box_release(ptr %t98) + br label %lazy.release.j28 +lazy.release.j28: + %t100 = load ptr, ptr %s10 + %t101 = icmp ne ptr %t100, null + br i1 %t101, label %lazy.release29, label %lazy.release.j30 +lazy.release29: + call void @scr_box_release(ptr %t100) + br label %lazy.release.j30 +lazy.release.j30: + %t102 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t102) + %t103 = load ptr, ptr %sc_l_reject_0 + call void @scr_closure_release(ptr %t103) + %t104 = load ptr, ptr %sc_l_finish_1 + call void @scr_closure_release(ptr %t104) + %t105 = load ptr, ptr %sc_l_finish_0 + call void @scr_box_release(ptr %t105) + ret void +} + +define internal void @sc_bf__x25_fn46(ptr %sc_env, ptr %p_sc_l_v_0, ptr %p_sc_l_k_0) #0 { ; %fn46 +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_k_0 = alloca ptr ; k + %sc_l_hs_0 = alloca ptr ; hs + %sc_l_hs_1 = alloca ptr ; hs + %exc.cell = load ptr, ptr @scr_exc_active + %s19 = alloca [2 x ptr] + store ptr null, ptr %sc_l_hs_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_hs_0 ; captured hs + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_hs_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_hs_1 + %t10 = load ptr, ptr %sc_l_hs_1 + %t11 = call ptr @scr_dyn_prepare_method(ptr %t10, ptr @sc_cs_3066695590452058) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t11) + ret void +exc.k3: + %t15 = load ptr, ptr %sc_l_k_0 + %t16 = call ptr @sc_td_0(ptr %t15) + %t17 = load ptr, ptr %sc_l_v_0 + %t18 = call ptr @sc_td_0(ptr %t17) + %t20 = getelementptr inbounds [2 x ptr], ptr %s19, i64 0, i64 0 + store ptr %t16, ptr %t20 + %t21 = getelementptr inbounds [2 x ptr], ptr %s19, i64 0, i64 1 + store ptr %t18, ptr %t21 + %t22 = call ptr @scr_dyn_invoke_prepared(ptr %t10, ptr %t11, ptr @sc_cs_3066695590452058, ptr %s19, i64 2, ptr @sc_cs_1324295358917995) + %t23 = load i32, ptr %exc.cell + %t24 = icmp ne i32 %t23, 0 + %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false) + br i1 %t25, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t11) + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t22) + ret void +exc.k5: + call void @sc_rc_release_dyn(ptr %t11) + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t22) + ret void +} +define internal void @sc_f__x25_fn46(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_fn46(ptr %sc_env, ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_2(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.2 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_callee = alloca ptr ; callee + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = load ptr, ptr %sc_l_p_callee + %t13 = load ptr, ptr %sc_l_p_1 + %t14 = load ptr, ptr %sc_l_p_calleeName + %t15 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_2(ptr %t11, ptr %t12, ptr %t13, ptr %t14) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t15) + br label %exc.cleanup2 +exc.k6: + %t19 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t19) + ret ptr %t15 +exc.cleanup2: + %t20 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t20) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_2(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_2(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_rc_release_dyn(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @scr_str_release(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_2(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.2 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_callee = alloca ptr ; callee + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_calleeName = alloca ptr ; calleeName + %s8 = alloca [1 x ptr] + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_callee + %t5 = load ptr, ptr %sc_l_p_0 + %t6 = load ptr, ptr %sc_l_p_1 + %t7 = call ptr @sc_dfb_9(ptr %t6, ptr null) + %t9 = getelementptr inbounds [1 x ptr], ptr %s8, i64 0, i64 0 + store ptr %t7, ptr %t9 + %t11 = load ptr, ptr %sc_l_p_calleeName + %t12 = getelementptr inbounds %ScrStr, ptr %t11, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t5) + %t10 = call ptr @scr_dyn_call(ptr %t4, ptr %s8, i64 1, ptr %t12) + call void @scr_dyn_this_pop() + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t10) + br label %exc.cleanup2 +exc.k4: + call void @sc_rc_release_dyn(ptr %t7) + %t16 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t16) + ret ptr %t10 +exc.cleanup2: + %t17 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_fallback_2(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_2(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_rc_release_dyn(ptr %p1) + call void @scr_closure_release(ptr %p2) + call void @scr_str_release(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_protocol_callee_2(ptr %p_sc_l_p_0) inlinehint #0 { ; %dyn.class.protocol.callee.2 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = call ptr @sc_f__x25_dyn_class_property_62(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t12) + br label %exc.cleanup2 +exc.k6: + %t16 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t16) + ret ptr %t12 +exc.cleanup2: + %t17 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +} + +define internal ptr @sc_bf__x25_union_narrow_7(ptr %p_sc_l_u_0) #0 { ; %union.narrow.7 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_7(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_7(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r5(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r5(ptr %p0) + ret ptr %t3 +} + +define internal void @sc_bf__x25_fn47(ptr %sc_env, ptr %p_sc_l_v_0, ptr %p_sc_l_k_0) #0 { ; %fn47 +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_k_0 = alloca ptr ; k + %sc_l_out_0 = alloca ptr ; out + %sc_l_out_1 = alloca ptr ; out + store ptr null, ptr %sc_l_out_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_out_0 ; captured out + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_out_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_out_1 + %t10 = load ptr, ptr %sc_l_out_1 + %t11 = call ptr @sc_rretain_r0(ptr %t10) + %t12 = load ptr, ptr %sc_l_k_0 + %t13 = call ptr @scr_str_to_lower(ptr %t12) + %t14 = load ptr, ptr %sc_l_v_0 + %t15 = call ptr @sc_rc_retain_str(ptr %t14) + %t16 = getelementptr inbounds %sc_rs_r0, ptr %t11, i64 0, i32 1 + %t17 = load ptr, ptr %t16 + call void @scr_map_set_str_ref(ptr %t17, ptr %t13, ptr %t15) + br label %rks.j2 +rks.j2: + call void @sc_rrelease_r0(ptr %t11) + call void @scr_str_release(ptr %t13) + ret void +} +define internal void @sc_f__x25_fn47(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_fn47(ptr %sc_env, ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25_union_narrow_8(ptr %p_sc_l_u_0) #0 { ; %union.narrow.8 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_8(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_8(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rc_retain_str(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_str_release(ptr %p0) + ret ptr %t3 +} + +define internal void @sc_bf__x25_fn48(ptr %sc_env, ptr %p_sc_l_ctl_0) #0 { ; %fn48 +entry: + %sc_l_ctl_0 = alloca ptr ; ctl + %sc_l_self_0 = alloca ptr ; self + %sc_l_this_0 = alloca ptr ; this + %sc_l_pending_0 = alloca ptr ; pending + %sc_l_i_0 = alloca i32 ; i + %sc_l_self_1 = alloca ptr ; self + %exc.cell = load ptr, ptr @scr_exc_active + %s25 = alloca i64 ; integer induction i + %s37 = alloca ptr + %s72 = alloca [1 x ptr] + store ptr null, ptr %sc_l_pending_0 + store ptr null, ptr %sc_l_self_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_self_0 ; captured self + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_this_0 ; captured this + store ptr %p_sc_l_ctl_0, ptr %sc_l_ctl_0 + %t6 = call ptr @llvm.stacksave.p0() + %t7 = load ptr, ptr @scr_stack_guard + %t8 = icmp ult ptr %t6, %t7 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t10 = load ptr, ptr %sc_l_self_0 + %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5 + %t12 = load ptr, ptr %t11 + store ptr %t12, ptr %sc_l_self_1 + %t13 = load ptr, ptr %sc_l_self_1 + %t14 = load ptr, ptr %sc_l_ctl_0 + %t15 = call ptr @sc_dc_7(ptr %t14, ptr null) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rrelease_r2(ptr %t15) + ret void +exc.k3: + %t19 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t13, i64 0, i32 12 + %t20 = load ptr, ptr %t19 + store ptr %t15, ptr %t19, !tbaa !68 + call void @sc_rrelease_r2(ptr %t20) + %t21 = load ptr, ptr %sc_l_self_1 + %t22 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t21, i64 0, i32 7 + %t23 = load ptr, ptr %t22, !tbaa !60 + %t24 = call ptr @scr_arr_retain_v(ptr %t23) + store ptr %t24, ptr %sc_l_pending_0 + %t26 = fptosi double 0x0000000000000000 to i64 + store i64 %t26, ptr %s25 + br label %loop.c5 +loop.c5: + %t27 = load ptr, ptr %sc_l_pending_0 + %t28 = getelementptr inbounds %ScrArr, ptr %t27, i64 0, i32 1 + %t29 = load i64, ptr %t28, !tbaa !2 + %t30 = load i64, ptr %s25 + %t31 = icmp ult i64 %t30, %t29 + br i1 %t31, label %loop.b6, label %loop.e4 +loop.b6: + %t32 = load ptr, ptr %sc_l_ctl_0 + %t33 = call ptr @scr_dyn_prepare_method(ptr %t32, ptr @sc_cs_3739322700708094) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup10 +exc.k9: + %t38 = load ptr, ptr %sc_l_pending_0 + %t39 = load i64, ptr %s25 + %t40 = load i64, ptr %s25 + %t41 = sitofp i64 %t40 to double + %t42 = trunc i64 %t40 to i32 + %t43 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 2 + %t44 = load i64, ptr %t43, !tbaa !2 + %t45 = icmp ult i64 %t39, %t44 + br i1 %t45, label %local.array.range14, label %local.array.slow11 +local.array.range14: + br label %local.array.dense15 +local.array.dense15: + %t46 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 6 + %t47 = load i32, ptr %t46, !tbaa !2 + %t49 = zext i32 %t47 to i64 + %t48 = icmp ult i64 %t39, %t49 + br i1 %t48, label %local.array.value17, label %local.array.len16 +local.array.len16: + %t50 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 1 + %t51 = load i64, ptr %t50, !tbaa !2, !range !{i64 0, i64 4294967296} + %t52 = icmp ult i64 %t39, %t51 + br i1 %t52, label %local.array.state18, label %local.array.missing12 +local.array.state18: + %t53 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 9 + %t54 = load ptr, ptr %t53, !tbaa !2 + %t55 = getelementptr inbounds i8, ptr %t54, i64 %t39 + %t56 = load i8, ptr %t55, !tbaa !4 + %t57 = icmp eq i8 %t56, 1 + br i1 %t57, label %local.array.value17, label %local.array.missing12 +local.array.value17: + %t58 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 8 + %t59 = load ptr, ptr %t58, !tbaa !2 + %t60 = getelementptr inbounds i64, ptr %t59, i64 %t39 + %t61 = load ptr, ptr %t60, !tbaa !6 + store ptr %t61, ptr %s37 + br label %local.array.join13 +local.array.slow11: + %t62 = call ptr @scr_arr_peek_ref(ptr %t38, double %t41) + %t63 = icmp ne ptr %t62, null + br i1 %t63, label %local.array.slow.value19, label %local.array.missing12 +local.array.slow.value19: + store ptr %t62, ptr %s37 + br label %local.array.join13 +local.array.missing12: + store ptr null, ptr %s37 + br label %local.array.join13 +local.array.join13: + %t64 = load ptr, ptr %s37 + %t65 = call ptr @sc_bf__x25_union_narrow_8(ptr %t64) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t33) + br label %exc.cleanup10 +exc.k21: + %t69 = call ptr @sc_rc_retain_str(ptr %t65) + %t70 = call ptr @scr_bytes_from_str(ptr %t69, ptr @sc_lit_2605532998565466) + %t71 = call ptr @sc_td_1(ptr %t70) + %t73 = getelementptr inbounds [1 x ptr], ptr %s72, i64 0, i64 0 + store ptr %t71, ptr %t73 + %t74 = call ptr @scr_dyn_invoke_prepared(ptr %t32, ptr %t33, ptr @sc_cs_3739322700708094, ptr %s72, i64 1, ptr @sc_cs_4217381500900616) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t33) + call void @scr_str_release(ptr %t69) + call void @scr_bytes_release(ptr %t70) + call void @sc_rc_release_dyn(ptr %t71) + call void @sc_rc_release_dyn(ptr %t74) + br label %exc.cleanup10 +exc.k23: + call void @sc_rc_release_dyn(ptr %t33) + call void @scr_str_release(ptr %t69) + call void @scr_bytes_release(ptr %t70) + call void @sc_rc_release_dyn(ptr %t71) + call void @sc_rc_release_dyn(ptr %t74) + br label %loop.u7 +loop.u7: + %t78 = load i64, ptr %s25 + %t79 = add nuw i64 %t78, 1 + store i64 %t79, ptr %s25 + br label %loop.c5 +loop.e4: + %t80 = load ptr, ptr %sc_l_pending_0 + %t81 = getelementptr inbounds %ScrArr, ptr %t80, i32 0, i32 1 + %t82 = load i64, ptr %t81, !tbaa !2, !range !{i64 0, i64 4294967296} + %t83 = sitofp i64 %t82 to double + %t84 = fcmp oeq double 0x0000000000000000, %t83 + br i1 %t84, label %arr.len.done25, label %arr.len.set24 +arr.len.set24: + call void @scr_arr_set_len(ptr %t80, double 0x0000000000000000) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u26, label %exc.k27 +exc.u26: + br label %exc.cleanup10 +exc.k27: + br label %arr.len.done25 +arr.len.done25: + %t88 = load ptr, ptr %sc_l_self_1 + %t89 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t88, i64 0, i32 13 + %t90 = load i8, ptr %t89, !tbaa !70 + %t91 = trunc i8 %t90 to i1 + br i1 %t91, label %if.t28, label %if.j29 +if.t28: + %t92 = load ptr, ptr %sc_l_ctl_0 + %t93 = call ptr @scr_dyn_prepare_method(ptr %t92, ptr @sc_cs_863112869792180) + %t94 = load i32, ptr %exc.cell + %t95 = icmp ne i32 %t94, 0 + %t96 = call i1 @llvm.expect.i1(i1 %t95, i1 false) + br i1 %t96, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t93) + br label %exc.cleanup10 +exc.k31: + %t97 = call ptr @scr_dyn_invoke_prepared(ptr %t92, ptr %t93, ptr @sc_cs_863112869792180, ptr null, i64 0, ptr @sc_cs_897001462723037) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t93) + call void @sc_rc_release_dyn(ptr %t97) + br label %exc.cleanup10 +exc.k33: + call void @sc_rc_release_dyn(ptr %t93) + call void @sc_rc_release_dyn(ptr %t97) + br label %if.j29 +if.j29: + %t101 = load ptr, ptr %sc_l_pending_0 + call void @scr_arr_release(ptr %t101) + ret void +exc.cleanup10: + %t102 = load ptr, ptr %sc_l_pending_0 + call void @scr_arr_release(ptr %t102) + ret void +} +define internal void @sc_f__x25_fn48(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn48(ptr %sc_env, ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_fn49(ptr %sc_env, ptr %p_sc_l_v_0, ptr %p_sc_l_k_0) #0 { ; %fn49 +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_k_0 = alloca ptr ; k + %sc_l_self_0 = alloca ptr ; self + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_self_1 = alloca ptr ; self + %exc.cell = load ptr, ptr @scr_exc_active + %s21 = alloca ptr + %s38 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_self_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_self_0 ; captured self + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_self_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_self_1 + %t10 = load ptr, ptr %sc_l_self_1 + store ptr %t10, ptr %sc_l__x25_callbackReceiver_0 + %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t12 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t11, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t13 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t12) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t13) + ret void +exc.k3: + store ptr %t13, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t17 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t18 = getelementptr inbounds i8, ptr %t17, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t20 = icmp eq i32 %t19, 6 + br i1 %t20, label %tern.t4, label %tern.f5 +tern.t4: + %t23 = call ptr @scr_dyn_undefined() + %t22 = call ptr @scr_dyn_retain_v(ptr %t23) + store ptr %t22, ptr %s21 + br label %tern.j6 +tern.f5: + %t24 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t25 = call ptr @sc_rc_retain_dyn(ptr %t24) + %t26 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t25) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t26) + br label %exc.cleanup9 +exc.k8: + store ptr %t26, ptr %s21 + br label %tern.j6 +tern.j6: + %t30 = load ptr, ptr %s21 + store ptr %t30, ptr %sc_l__x25_callback_0 + %t31 = load ptr, ptr %sc_l__x25_callback_0 + %t32 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t34 = load ptr, ptr %sc_l_k_0 + %t35 = call ptr @sc_td_0(ptr %t34) + %t36 = load ptr, ptr %sc_l_v_0 + %t37 = call ptr @sc_td_0(ptr %t36) + %t39 = getelementptr inbounds [2 x ptr], ptr %s38, i64 0, i64 0 + store ptr %t35, ptr %t39 + %t40 = getelementptr inbounds [2 x ptr], ptr %s38, i64 0, i64 1 + store ptr %t37, ptr %t40 + call void @scr_dyn_this_push_dyn(ptr %t33) + %t41 = call ptr @scr_dyn_call(ptr %t31, ptr %s38, i64 2, ptr @sc_cs_517403358760410) + call void @scr_dyn_this_pop() + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t41) + br label %exc.cleanup12 +exc.k11: + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t41) + %t45 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t45) + %t46 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t46) + ret void +exc.cleanup9: + %t47 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t47) + ret void +exc.cleanup12: + %t48 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t48) + %t49 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t49) + ret void +} +define internal void @sc_f__x25_fn49(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_fn49(ptr %sc_env, ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25_union_retag_6(ptr %p_sc_l_u_0) #0 { ; %union.retag.6 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_retag_6(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_retag_6(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_nretain_string(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_str_release(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_union_retag_7(ptr %p_sc_l_u_0) #0 { ; %union.retag.7 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_retag_7(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_retag_7(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r5(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r5(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_f__x25_unit_strand_8() #0 { ; %unit.strand.8 +entry: + %t0 = call ptr @scr_error_new(i32 1, ptr @sc_lit_1195707203851697) + call void @scr_throw_obj(ptr %t0, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +} + +define internal ptr @sc_bf__x25_rec_width_3(ptr %p_sc_l_r_0) #0 { ; %rec.width.3 +entry: + %sc_l_r_0 = alloca ptr ; r + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @sc_rnew_r16() + %t1 = load ptr, ptr %sc_l_r_0 + %t2 = getelementptr inbounds %sc_rs_r31, ptr %t1, i64 0, i32 1 + %t3 = load ptr, ptr %t2 + %t4 = icmp eq ptr %t3, @sc_nullable_absent + %t5 = select i1 %t4, ptr null, ptr %t3 + %t6 = call ptr @sc_bf__x25_union_narrow_7(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rrelease_r16(ptr %t0) + ret ptr null +exc.k1: + %t10 = call ptr @sc_rretain_r5(ptr %t6) + %t11 = getelementptr inbounds %sc_rs_r16, ptr %t0, i64 0, i32 1 + store ptr %t10, ptr %t11 + %t12 = load ptr, ptr %sc_l_r_0 + %t13 = getelementptr inbounds %sc_rs_r31, ptr %t12, i64 0, i32 2 + %t14 = load double, ptr %t13 + %t15 = getelementptr inbounds %sc_rs_r16, ptr %t0, i64 0, i32 2 + store double %t14, ptr %t15 + ret ptr %t0 +} +define internal ptr @sc_f__x25_rec_width_3(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_rec_width_3(ptr %p0) + call void @sc_rrelease_r31(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_15(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.15 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_rretain_r16(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_15(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_15(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_headersDistinct_snapshot_4(ptr %p_sc_l_r_0) #0 { ; %headersDistinct.snapshot.4 +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_ps_0 = alloca ptr ; ps + %sc_l_out_0 = alloca ptr ; out + %sc_l_i_0 = alloca double ; i + store ptr null, ptr %sc_l_ps_0 + store ptr null, ptr %sc_l_out_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_r_0 + %t5 = call ptr @scr_http_req_retain_v(ptr %t4) + %t6 = call ptr @scr_http_req_header_pairs(ptr %t5) + store ptr %t6, ptr %sc_l_ps_0 + call void @scr_http_req_release(ptr %t5) + %t7 = call ptr @sc_rnew_r32() + store ptr %t7, ptr %sc_l_out_0 + store double 0x0000000000000000, ptr %sc_l_i_0 + br label %loop.c3 +loop.c3: + %t8 = load double, ptr %sc_l_i_0 + %t9 = load ptr, ptr %sc_l_ps_0 + %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1 + %t11 = load i64, ptr %t10, !tbaa !2, !range !{i64 0, i64 4294967296} + %t12 = sitofp i64 %t11 to double + %t14 = fptosi double %t12 to i64 + %t13 = fcmp olt double %t8, %t12 + br i1 %t13, label %loop.b4, label %loop.e2 +loop.b4: + %t15 = load ptr, ptr %sc_l_out_0 + %t16 = call ptr @sc_rretain_r32(ptr %t15) + %t17 = load ptr, ptr %sc_l_ps_0 + %t18 = load double, ptr %sc_l_i_0 + %t19 = fptosi double %t18 to i64 + %t21 = freeze i64 %t19 + %t20 = sitofp i64 %t21 to double + %t22 = fcmp oeq double %t20, %t18 + %t27 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8 + %t28 = load ptr, ptr %t27, !tbaa !2 + %t23 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1 + %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296} + %t25 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2 + %t26 = load i64, ptr %t25, !tbaa !2 + %t29 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9 + %t30 = load ptr, ptr %t29, !tbaa !2 + %t31 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6 + %t32 = load i32, ptr %t31, !tbaa !2 + %t33 = zext i32 %t32 to i64 + %t34 = icmp ult i64 %t21, %t33 + %t35 = and i1 %t22, %t34 + br i1 %t35, label %arr.get.value8, label %arr.check9 +arr.check9: + %t36 = icmp ult i64 %t21, %t26 + %t37 = icmp ult i64 %t21, %t24 + %t38 = and i1 %t22, %t36 + %t39 = and i1 %t38, %t37 + br i1 %t39, label %arr.dense10, label %arr.get.slow6 +arr.dense10: + %t40 = getelementptr inbounds i8, ptr %t30, i64 %t21 + %t41 = load i8, ptr %t40, !tbaa !4 + %t42 = icmp eq i8 %t41, 1 + br i1 %t42, label %arr.get.value8, label %arr.get.slow6 +arr.get.value8: + %t43 = getelementptr inbounds i64, ptr %t28, i64 %t21 + %t44 = load ptr, ptr %t43, !tbaa !6 + %t45 = icmp ne ptr %t44, null + br i1 %t45, label %arr.get.ref11, label %arr.get.slow6 +arr.get.ref11: + %t46 = call ptr @sc_rc_retain_str(ptr %t44) + br label %arr.get.join7 +arr.get.slow6: + %t47 = call ptr @scr_arr_get_ref(ptr %t17, double %t18) cold + br label %arr.get.join7 +arr.get.join7: + %t48 = phi ptr [ %t46, %arr.get.ref11 ], [ %t47, %arr.get.slow6 ] + %t49 = load ptr, ptr %sc_l_r_0 + %t50 = call ptr @scr_http_req_retain_v(ptr %t49) + %t51 = load ptr, ptr %sc_l_ps_0 + %t52 = load double, ptr %sc_l_i_0 + %t53 = fptosi double %t52 to i64 + %t55 = freeze i64 %t53 + %t54 = sitofp i64 %t55 to double + %t56 = fcmp oeq double %t54, %t52 + %t61 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 8 + %t62 = load ptr, ptr %t61, !tbaa !2 + %t57 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 1 + %t58 = load i64, ptr %t57, !tbaa !2, !range !{i64 0, i64 4294967296} + %t59 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 2 + %t60 = load i64, ptr %t59, !tbaa !2 + %t63 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 9 + %t64 = load ptr, ptr %t63, !tbaa !2 + %t65 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 6 + %t66 = load i32, ptr %t65, !tbaa !2 + %t67 = zext i32 %t66 to i64 + %t68 = icmp ult i64 %t55, %t67 + %t69 = and i1 %t56, %t68 + br i1 %t69, label %arr.get.value14, label %arr.check15 +arr.check15: + %t70 = icmp ult i64 %t55, %t60 + %t71 = icmp ult i64 %t55, %t58 + %t72 = and i1 %t56, %t70 + %t73 = and i1 %t72, %t71 + br i1 %t73, label %arr.dense16, label %arr.get.slow12 +arr.dense16: + %t74 = getelementptr inbounds i8, ptr %t64, i64 %t55 + %t75 = load i8, ptr %t74, !tbaa !4 + %t76 = icmp eq i8 %t75, 1 + br i1 %t76, label %arr.get.value14, label %arr.get.slow12 +arr.get.value14: + %t77 = getelementptr inbounds i64, ptr %t62, i64 %t55 + %t78 = load ptr, ptr %t77, !tbaa !6 + %t79 = icmp ne ptr %t78, null + br i1 %t79, label %arr.get.ref17, label %arr.get.slow12 +arr.get.ref17: + %t80 = call ptr @sc_rc_retain_str(ptr %t78) + br label %arr.get.join13 +arr.get.slow12: + %t81 = call ptr @scr_arr_get_ref(ptr %t51, double %t52) cold + br label %arr.get.join13 +arr.get.join13: + %t82 = phi ptr [ %t80, %arr.get.ref17 ], [ %t81, %arr.get.slow12 ] + %t83 = call ptr @scr_http_req_header_values(ptr %t50, ptr %t82) ; +1 or NULL + %t84 = getelementptr inbounds %sc_rs_r32, ptr %t16, i64 0, i32 1 + %t85 = load ptr, ptr %t84 + call void @scr_map_set_str_ref(ptr %t85, ptr %t48, ptr %t83) + br label %rks.j18 +rks.j18: + call void @sc_rrelease_r32(ptr %t16) + call void @scr_str_release(ptr %t48) + call void @scr_http_req_release(ptr %t50) + call void @scr_str_release(ptr %t82) + br label %loop.u5 +loop.u5: + %t86 = load double, ptr %sc_l_i_0 + %t87 = fadd double %t86, 0x4000000000000000 + store double %t87, ptr %sc_l_i_0 + br label %loop.c3 +loop.e2: + %t88 = load ptr, ptr %sc_l_out_0 + %t89 = load ptr, ptr %sc_l_ps_0 + call void @scr_arr_release(ptr %t89) + ret ptr %t88 +} +define internal ptr @sc_f__x25_headersDistinct_snapshot_4(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_headersDistinct_snapshot_4(ptr %p0) + call void @scr_http_req_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_arr_idxOr_16(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.16 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_16(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_16(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_union_retag_9(ptr %p_sc_l_u_0) #0 { ; %union.retag.9 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_retag_9(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_retag_9(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m4_UploadedFile(ptr %p0) + ret ptr %t3 +} + +define internal i1 @sc_bf__x25_obj_hasOwn_17(ptr %p_sc_l_r_0, ptr %p_sc_l_k_0) #0 { ; %obj.hasOwn.17 +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_k_0 = alloca ptr ; k + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_r_0 + %t5 = call ptr @sc_rretain_r3(ptr %t4) + %t6 = load ptr, ptr %sc_l_k_0 + %t7 = call ptr @sc_rc_retain_str(ptr %t6) + %t8 = getelementptr inbounds %sc_rs_r3, ptr %t5, i64 0, i32 1 + %t9 = load ptr, ptr %t8 + %t10 = call zeroext i1 @scr_map_has_str(ptr %t9, ptr %t7) + call void @sc_rrelease_r3(ptr %t5) + call void @scr_str_release(ptr %t7) + ret i1 %t10 +} +define internal i1 @sc_f__x25_obj_hasOwn_17(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_obj_hasOwn_17(ptr %p0, ptr %p1) + call void @sc_rrelease_r3(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_bf__x25_union_narrow_9(ptr %p_sc_l_u_0) #0 { ; %union.narrow.9 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_9(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_9(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_release__x25_m4_UploadedFile(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_f__x25_unit_strand_10() #0 { ; %unit.strand.10 +entry: + %t0 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3628675094055315) + call void @scr_throw_obj(ptr %t0, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +} + +define internal ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser() #0 { ; %prototype.data.%m4.MultipartParser +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_3531366543973767) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed) + %t13 = call ptr @sc_dfb_0(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_1173128410961643) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish) + %t34 = call ptr @sc_dfb_1(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_1900193337948069) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed) + %t55 = call ptr @sc_dfb_1(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + ret ptr null +exc.k27: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = call ptr @sc_td_0(ptr @sc_lit_3922224781708262) + %t74 = call ptr @scr_dyn_new_obj() + %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit) + %t76 = call ptr @sc_dfb_1(ptr %t75, ptr null) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + ret ptr null +exc.k29: + %t80 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + ret ptr null +exc.k31: + %t84 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k33: + %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t88) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t88) + %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + %t94 = call ptr @sc_td_0(ptr @sc_lit_1360183775732063) + %t95 = call ptr @scr_dyn_new_obj() + %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart) + %t97 = call ptr @sc_dfb_1(ptr %t96, ptr null) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t93) + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @sc_rc_release_dyn(ptr %t97) + ret ptr null +exc.k37: + %t101 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t93) + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @sc_rc_release_dyn(ptr %t97) + call void @sc_rc_release_dyn(ptr %t101) + ret ptr null +exc.k39: + %t105 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t93) + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @sc_rc_release_dyn(ptr %t97) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t105) + ret ptr null +exc.k41: + %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t93) + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @sc_rc_release_dyn(ptr %t97) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t109) + ret ptr null +exc.k43: + call void @sc_rc_release_dyn(ptr %t93) + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t95) + call void @scr_closure_release(ptr %t96) + call void @sc_rc_release_dyn(ptr %t97) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t109) + %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t114 = call ptr @sc_rc_retain_dyn(ptr %t113) + %t115 = call ptr @sc_td_0(ptr @sc_lit_142546227685363) + %t116 = call ptr @scr_dyn_new_obj() + %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart) + %t118 = call ptr @sc_dfb_0(ptr %t117, ptr null) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118) + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t114) + call void @sc_rc_release_dyn(ptr %t115) + call void @sc_rc_release_dyn(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + ret ptr null +exc.k45: + %t122 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t114) + call void @sc_rc_release_dyn(ptr %t115) + call void @sc_rc_release_dyn(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t122) + ret ptr null +exc.k47: + %t126 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126) + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t114) + call void @sc_rc_release_dyn(ptr %t115) + call void @sc_rc_release_dyn(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t126) + ret ptr null +exc.k49: + %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t114) + call void @sc_rc_release_dyn(ptr %t115) + call void @sc_rc_release_dyn(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t126) + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.k51: + call void @sc_rc_release_dyn(ptr %t114) + call void @sc_rc_release_dyn(ptr %t115) + call void @sc_rc_release_dyn(ptr %t116) + call void @scr_closure_release(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t126) + call void @sc_rc_release_dyn(ptr %t130) + %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t135 = call ptr @sc_rc_retain_dyn(ptr %t134) + %t136 = call ptr @sc_td_0(ptr @sc_lit_2281930073577937) + %t137 = call ptr @scr_dyn_new_obj() + %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit) + %t139 = call ptr @sc_dfb_0(ptr %t138, ptr null) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t135) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @sc_rc_release_dyn(ptr %t139) + ret ptr null +exc.k53: + %t143 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t135) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @sc_rc_release_dyn(ptr %t139) + call void @sc_rc_release_dyn(ptr %t143) + ret ptr null +exc.k55: + %t147 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t135) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @sc_rc_release_dyn(ptr %t139) + call void @sc_rc_release_dyn(ptr %t143) + call void @sc_rc_release_dyn(ptr %t147) + ret ptr null +exc.k57: + %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t135) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @sc_rc_release_dyn(ptr %t139) + call void @sc_rc_release_dyn(ptr %t143) + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t151) + ret ptr null +exc.k59: + call void @sc_rc_release_dyn(ptr %t135) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t137) + call void @scr_closure_release(ptr %t138) + call void @sc_rc_release_dyn(ptr %t139) + call void @sc_rc_release_dyn(ptr %t143) + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t151) + %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t156 = call ptr @sc_rc_retain_dyn(ptr %t155) + %t157 = call ptr @sc_td_0(ptr @sc_lit_1113582459875923) + %t158 = call ptr @scr_dyn_new_obj() + %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart) + %t160 = call ptr @sc_dfb_1(ptr %t159, ptr null) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160) + %t161 = load i32, ptr %exc.cell + %t162 = icmp ne i32 %t161, 0 + %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false) + br i1 %t163, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @sc_rc_release_dyn(ptr %t160) + ret ptr null +exc.k61: + %t164 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164) + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_rc_release_dyn(ptr %t164) + ret ptr null +exc.k63: + %t168 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_rc_release_dyn(ptr %t164) + call void @sc_rc_release_dyn(ptr %t168) + ret ptr null +exc.k65: + %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_rc_release_dyn(ptr %t164) + call void @sc_rc_release_dyn(ptr %t168) + call void @sc_rc_release_dyn(ptr %t172) + ret ptr null +exc.k67: + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t158) + call void @scr_closure_release(ptr %t159) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_rc_release_dyn(ptr %t164) + call void @sc_rc_release_dyn(ptr %t168) + call void @sc_rc_release_dyn(ptr %t172) + br label %if.j3 +if.j3: + %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + %t177 = call ptr @sc_rc_retain_dyn(ptr %t176) + ret ptr %t177 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MultipartParser +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_3163508115280491 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_3163508115280491) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_3163508115280491 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_105(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartParser(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m4_MultipartParser(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MultipartParser.feed +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m4_MultipartParser_feed(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish() #0 { ; %method.value:%%m4.MultipartParser.finish +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m4_MultipartParser_finish(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed() #0 { ; %method.value:%%m4.MultipartParser._malformed +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m4_MultipartParser__malformed(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit() #0 { ; %method.value:%%m4.MultipartParser._limit +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m4_MultipartParser__limit(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart() #0 { ; %method.value:%%m4.MultipartParser._abortPart +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m4_MultipartParser__abortPart(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MultipartParser._startPart +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m4_MultipartParser__startPart(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MultipartParser._emit +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m4_MultipartParser__emit(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart() #0 { ; %method.value:%%m4.MultipartParser._endPart +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m4_MultipartParser__endPart(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m4_MultipartParser(ptr %t5) + ret void +} + +define internal void @sc_f__x25_fn50_then2(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_f_0, ptr %p_sc_l_r_0) #0 { ; %fn50_then2 +entry: + %sc_l_p_0 = alloca ptr ; p + %sc_l_f_0 = alloca ptr ; f + %sc_l_r_0 = alloca ptr ; r + %sc_l_e_0 = alloca ptr ; e + %s18 = alloca [1 x ptr] + store ptr null, ptr %sc_l_e_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_f_0, ptr %sc_l_f_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @scr_promise_retain_v(ptr %t4) + call void @scr_await_void(ptr %t5) + %t6 = load ptr, ptr @scr_exc_active + %t7 = load i32, ptr %t6 + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_promise_release(ptr %t5) + br label %try.c3 +exc.k7: + call void @scr_promise_release(ptr %t5) + br label %try.e5 +try.c3: + %t10 = call ptr @scr_exc_take() ; catch binding + store ptr %t10, ptr %sc_l_e_0 + %t11 = load ptr, ptr %sc_l_r_0 + %t12 = load ptr, ptr %sc_l_e_0 + %t13 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t12) + %t14 = load ptr, ptr @scr_exc_active + %t15 = load i32, ptr %t14 + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t13) + br label %exc.cleanup10 +exc.k9: + %t19 = getelementptr inbounds [1 x ptr], ptr %s18, i64 0, i64 0 + store ptr %t13, ptr %t19 + call void @scr_dyn_this_push_dyn(ptr null) + %t20 = call ptr @scr_dyn_call(ptr %t11, ptr %s18, i64 1, ptr @sc_cs_4467357854213836) + call void @scr_dyn_this_pop() + %t21 = load ptr, ptr @scr_exc_active + %t22 = load i32, ptr %t21 + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t20) + br label %exc.cleanup10 +exc.k12: + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t20) + %t25 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t25) + %t26 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t26) + %t27 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t27) + %t28 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t28) + ret void +try.e5: + %t29 = load ptr, ptr %sc_l_f_0 + %t30 = getelementptr inbounds %ScrClosure, ptr %t29, i64 0, i32 1 + %t31 = load ptr, ptr %t30 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t31(ptr %t29) + call void @scr_dyn_this_pop() + %t32 = load ptr, ptr @scr_exc_active + %t33 = load i32, ptr %t32 + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u13, label %exc.k14 +exc.u13: + br label %exc.cleanup2 +exc.k14: + %t36 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t36) + %t37 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t37) + %t38 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t38) + ret void +exc.cleanup2: + %t39 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t39) + %t40 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t40) + %t41 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t41) + ret void +exc.cleanup10: + %t42 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t42) + %t43 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t43) + %t44 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t44) + %t45 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t45) + ret void +} + +define internal void @sc_bf__x25_fn51(ptr %sc_env, ptr %p_sc_l_chunk_0) #0 { ; %fn51 +entry: + %sc_l_chunk_0 = alloca ptr ; chunk + %sc_l_answered_0 = alloca ptr ; answered + %sc_l_parser_0 = alloca ptr ; parser + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_req_0 = alloca ptr ; req + %sc_l_parser_1 = alloca ptr ; parser + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_req_1 = alloca ptr ; req + %exc.cell = load ptr, ptr @scr_exc_active + %s39 = alloca ptr + %s54 = alloca [1 x ptr] + %s75 = alloca double + %s76 = alloca i32 + %s83 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_parser_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_req_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_answered_0 ; captured answered + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_parser_0 ; captured parser + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_sink_0 ; captured sink + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_req_0 ; captured req + store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0 + %t12 = call ptr @llvm.stacksave.p0() + %t13 = load ptr, ptr @scr_stack_guard + %t14 = icmp ult ptr %t12, %t13 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t16 = load ptr, ptr %sc_l_parser_0 + %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %sc_l_parser_1 + %t19 = load ptr, ptr %sc_l_sink_0 + %t20 = getelementptr inbounds %ScrBox, ptr %t19, i32 0, i32 5 + %t21 = load ptr, ptr %t20 + store ptr %t21, ptr %sc_l_sink_1 + %t22 = load ptr, ptr %sc_l_req_0 + %t23 = getelementptr inbounds %ScrBox, ptr %t22, i32 0, i32 5 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %sc_l_req_1 + %t25 = load ptr, ptr %sc_l_answered_0 + %t28 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5 + %t27 = load i64, ptr %t28 + %t26 = icmp ne i64 %t27, 0 + br i1 %t26, label %if.t2, label %if.j3 +if.t2: + ret void +if.j3: + %t29 = load ptr, ptr %sc_l_parser_1 + store ptr %t29, ptr %sc_l__x25_callbackReceiver_0 + %t30 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t31 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t30) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t31) + ret void +exc.k5: + store ptr %t31, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t35 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t36 = getelementptr inbounds i8, ptr %t35, i64 8 ; ->kind + %t37 = load i32, ptr %t36 + %t38 = icmp eq i32 %t37, 6 + br i1 %t38, label %tern.t6, label %tern.f7 +tern.t6: + %t41 = call ptr @scr_dyn_undefined() + %t40 = call ptr @scr_dyn_retain_v(ptr %t41) + store ptr %t40, ptr %s39 + br label %tern.j8 +tern.f7: + %t42 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t43 = call ptr @sc_rc_retain_dyn(ptr %t42) + %t44 = call ptr @sc_f__x25_dyn_class_property_25(ptr %t43) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t44) + br label %exc.cleanup11 +exc.k10: + store ptr %t44, ptr %s39 + br label %tern.j8 +tern.j8: + %t48 = load ptr, ptr %s39 + store ptr %t48, ptr %sc_l__x25_callback_0 + %t49 = load ptr, ptr %sc_l__x25_callback_0 + %t50 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t51 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t50, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t52 = load ptr, ptr %sc_l_chunk_0 + %t53 = call ptr @sc_td_1(ptr %t52) + %t55 = getelementptr inbounds [1 x ptr], ptr %s54, i64 0, i64 0 + store ptr %t53, ptr %t55 + call void @scr_dyn_this_push_dyn(ptr %t51) + %t56 = call ptr @scr_dyn_call(ptr %t49, ptr %s54, i64 1, ptr @sc_cs_3152039762744504) + call void @scr_dyn_this_pop() + %t57 = load i32, ptr %exc.cell + %t58 = icmp ne i32 %t57, 0 + %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false) + br i1 %t59, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t56) + br label %exc.cleanup14 +exc.k13: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t56) + %t60 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t60) + %t61 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t61) + %t62 = load ptr, ptr %sc_l_parser_1 + %t63 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t62, i64 0, i32 18 + %t64 = load double, ptr %t63, !tbaa !26 + %t65 = fcmp une double %t64, 0x0000000000000000 + br i1 %t65, label %if.t15, label %if.j16 +if.t15: + %t66 = load ptr, ptr %sc_l_answered_0 + %t67 = zext i1 true to i64 + %t68 = getelementptr inbounds %ScrBox, ptr %t66, i32 0, i32 5 + store i64 %t67, ptr %t68 + %t69 = load ptr, ptr %sc_l_sink_1 + %t70 = load ptr, ptr %sc_l_req_1 + %t71 = load ptr, ptr %sc_l_parser_1 + %t72 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t71, i64 0, i32 18 + %t73 = load double, ptr %t72, !tbaa !26 + %t74 = fcmp oeq double %t73, 0x4000000000000000 + br i1 %t74, label %tern.t17, label %tern.f18 +tern.t17: + store double 0x4079D00000000000, ptr %s75 + store i32 413, ptr %s76 + br label %tern.j19 +tern.f18: + store double 0x4079000000000000, ptr %s75 + store i32 400, ptr %s76 + br label %tern.j19 +tern.j19: + %t77 = load double, ptr %s75 + %t78 = load i32, ptr %s76 + %t79 = load ptr, ptr %sc_l_parser_1 + %t80 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t79, i64 0, i32 18 + %t81 = load double, ptr %t80, !tbaa !26 + %t82 = fcmp oeq double %t81, 0x4000000000000000 + br i1 %t82, label %tern.t20, label %tern.f21 +tern.t20: + store ptr @sc_lit_1580796233797134, ptr %s83 + br label %tern.j22 +tern.f21: + store ptr @sc_lit_960209946846820, ptr %s83 + br label %tern.j22 +tern.j22: + %t84 = load ptr, ptr %s83 + call void @sc_bf__x25_m5_abortMultipart.i32(ptr %t69, ptr %t70, i32 %t78, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u23, label %exc.k24 +exc.u23: + ret void +exc.k24: + br label %if.j16 +if.j16: + ret void +exc.cleanup11: + %t88 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t88) + ret void +exc.cleanup14: + %t89 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t89) + %t90 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t90) + ret void +} +define internal void @sc_f__x25_fn51(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn51(ptr %sc_env, ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn52(ptr %sc_env) #0 { ; %fn52 +entry: + %sc_l_answered_0 = alloca ptr ; answered + %sc_l_parser_0 = alloca ptr ; parser + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_req_0 = alloca ptr ; req + %sc_l_c_0 = alloca ptr ; c + %sc_l_rv_0 = alloca ptr ; rv + %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_1 = alloca ptr ; %callback + %sc_l_chain_0 = alloca ptr ; chain + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_parser_1 = alloca ptr ; parser + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_req_1 = alloca ptr ; req + %sc_l_c_1 = alloca ptr ; c + %sc_l_chain_1 = alloca ptr ; chain + %sc_l_oef_1 = alloca ptr ; oef + %s37 = alloca %ScrUnion + %s38 = getelementptr inbounds %ScrUnion, ptr %s37, i32 0, i32 1 + %s39 = getelementptr inbounds %ScrUnion, ptr %s37, i32 0, i32 5 + %s40 = alloca ptr + %s47 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s75 = alloca ptr + %s104 = alloca double + %s105 = alloca i32 + %s112 = alloca ptr + %s132 = alloca ptr + %s155 = alloca [2 x ptr] + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_rv_0 + store ptr null, ptr %sc_l__x25_callbackReceiver_1 + store ptr null, ptr %sc_l__x25_callbackBag_1 + store ptr null, ptr %sc_l__x25_callback_1 + store ptr null, ptr %sc_l_parser_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_req_1 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_chain_1 + store ptr null, ptr %sc_l_oef_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_answered_0 ; captured answered + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_parser_0 ; captured parser + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_sink_0 ; captured sink + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_req_0 ; captured req + %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4] + %t14 = load ptr, ptr %t13 + store ptr %t14, ptr %sc_l_c_0 ; captured c + %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5] + %t17 = load ptr, ptr %t16 + store ptr %t17, ptr %sc_l_chain_0 ; captured chain + %t18 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t19 = getelementptr inbounds ptr, ptr %t18, i64 6 ; caps[6] + %t20 = load ptr, ptr %t19 + store ptr %t20, ptr %sc_l_oef_0 ; captured oef + %t21 = call ptr @llvm.stacksave.p0() + %t22 = load ptr, ptr @scr_stack_guard + %t23 = icmp ult ptr %t21, %t22 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t25 = load ptr, ptr %sc_l_parser_0 + %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5 + %t27 = load ptr, ptr %t26 + store ptr %t27, ptr %sc_l_parser_1 + %t28 = load ptr, ptr %sc_l_sink_0 + %t29 = getelementptr inbounds %ScrBox, ptr %t28, i32 0, i32 5 + %t30 = load ptr, ptr %t29 + store ptr %t30, ptr %sc_l_sink_1 + %t31 = load ptr, ptr %sc_l_req_0 + %t32 = getelementptr inbounds %ScrBox, ptr %t31, i32 0, i32 5 + %t33 = load ptr, ptr %t32 + store ptr %t33, ptr %sc_l_req_1 + %t34 = load ptr, ptr %sc_l_c_0 + %t35 = getelementptr inbounds %ScrBox, ptr %t34, i32 0, i32 5 + %t36 = load ptr, ptr %t35 + store ptr %t36, ptr %sc_l_c_1 + store ptr null, ptr %s40 + %t41 = load ptr, ptr %sc_l_chain_0 + %t42 = getelementptr inbounds %ScrBox, ptr %t41, i32 0, i32 5 + %t43 = load ptr, ptr %t42 + %t45 = getelementptr inbounds %ScrUnion, ptr %t43, i64 0, i32 1 + %t44 = load i32, ptr %t45 + store ptr null, ptr %s47 + %t46 = icmp eq i32 %t44, 0 + br i1 %t46, label %union.copy.ref2, label %union.copy.join3 +union.copy.ref2: + %t48 = getelementptr inbounds %ScrUnion, ptr %t43, i64 0, i32 5 + %t49 = load ptr, ptr %t48 + %t50 = call ptr @scr_closure_retain_v(ptr %t49) + store ptr %t50, ptr %s47 + br label %union.copy.join3 +union.copy.join3: + %t51 = load ptr, ptr %s47 + %t53 = getelementptr inbounds %ScrUnion, ptr %t43, i64 0, i32 1 + %t52 = load i32, ptr %t53 + %t54 = getelementptr inbounds %ScrUnion, ptr %t43, i32 0, i32 5 + %t55 = load i64, ptr %t54 + store i32 %t52, ptr %s38 + store i64 %t55, ptr %s39 + %t56 = load ptr, ptr %s40 + store ptr %t51, ptr %s40 + call void @scr_closure_release(ptr %t56) + store ptr %s37, ptr %sc_l_chain_1 + %t57 = load ptr, ptr %sc_l_oef_0 + %t58 = getelementptr inbounds %ScrBox, ptr %t57, i32 0, i32 5 + %t59 = load ptr, ptr %t58 + store ptr %t59, ptr %sc_l_oef_1 + %t60 = load ptr, ptr %sc_l_answered_0 + %t63 = getelementptr inbounds %ScrBox, ptr %t60, i32 0, i32 5 + %t62 = load i64, ptr %t63 + %t61 = icmp ne i64 %t62, 0 + br i1 %t61, label %if.t4, label %if.j5 +if.t4: + %t64 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t64) + ret void +if.j5: + %t65 = load ptr, ptr %sc_l_parser_1 + store ptr %t65, ptr %sc_l__x25_callbackReceiver_0 + %t66 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t67 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup8 +exc.k7: + store ptr %t67, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t71 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t72 = getelementptr inbounds i8, ptr %t71, i64 8 ; ->kind + %t73 = load i32, ptr %t72 + %t74 = icmp eq i32 %t73, 6 + br i1 %t74, label %tern.t9, label %tern.f10 +tern.t9: + %t77 = call ptr @scr_dyn_undefined() + %t76 = call ptr @scr_dyn_retain_v(ptr %t77) + store ptr %t76, ptr %s75 + br label %tern.j11 +tern.f10: + %t78 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + %t80 = call ptr @sc_f__x25_dyn_class_property_26(ptr %t79) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t80) + br label %exc.cleanup14 +exc.k13: + store ptr %t80, ptr %s75 + br label %tern.j11 +tern.j11: + %t84 = load ptr, ptr %s75 + store ptr %t84, ptr %sc_l__x25_callback_0 + %t85 = load ptr, ptr %sc_l__x25_callback_0 + %t86 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t87 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t86, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t87) + %t88 = call ptr @scr_dyn_call(ptr %t85, ptr null, i64 0, ptr @sc_cs_3007189739552489) + call void @scr_dyn_this_pop() + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_rc_release_dyn(ptr %t88) + br label %exc.cleanup17 +exc.k16: + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_rc_release_dyn(ptr %t88) + %t92 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t92) + %t93 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t93) + %t94 = load ptr, ptr %sc_l_parser_1 + %t95 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t94, i64 0, i32 18 + %t96 = load double, ptr %t95, !tbaa !26 + %t97 = fcmp une double %t96, 0x0000000000000000 + br i1 %t97, label %if.t18, label %if.j19 +if.t18: + %t98 = load ptr, ptr %sc_l_sink_1 + %t99 = load ptr, ptr %sc_l_req_1 + %t100 = load ptr, ptr %sc_l_parser_1 + %t101 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t100, i64 0, i32 18 + %t102 = load double, ptr %t101, !tbaa !26 + %t103 = fcmp oeq double %t102, 0x4000000000000000 + br i1 %t103, label %tern.t20, label %tern.f21 +tern.t20: + store double 0x4079D00000000000, ptr %s104 + store i32 413, ptr %s105 + br label %tern.j22 +tern.f21: + store double 0x4079000000000000, ptr %s104 + store i32 400, ptr %s105 + br label %tern.j22 +tern.j22: + %t106 = load double, ptr %s104 + %t107 = load i32, ptr %s105 + %t108 = load ptr, ptr %sc_l_parser_1 + %t109 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t108, i64 0, i32 18 + %t110 = load double, ptr %t109, !tbaa !26 + %t111 = fcmp oeq double %t110, 0x4000000000000000 + br i1 %t111, label %tern.t23, label %tern.f24 +tern.t23: + store ptr @sc_lit_1580796233797134, ptr %s112 + br label %tern.j25 +tern.f24: + store ptr @sc_lit_960209946846820, ptr %s112 + br label %tern.j25 +tern.j25: + %t113 = load ptr, ptr %s112 + call void @sc_bf__x25_m5_abortMultipart.i32(ptr %t98, ptr %t99, i32 %t107, ptr %t113) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u26, label %exc.k27 +exc.u26: + br label %exc.cleanup8 +exc.k27: + %t117 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t117) + ret void +if.j19: + %t118 = load ptr, ptr %sc_l_c_1 + %t119 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t118, i64 0, i32 1 + %t120 = load ptr, ptr %t119, !tbaa !24 + %t121 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t120) + store ptr %t121, ptr %sc_l_rv_0 + %t122 = load ptr, ptr %sc_l_rv_0 + store ptr %t122, ptr %sc_l__x25_callbackReceiver_1 + %t123 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t124 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t123) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t124) + br label %exc.cleanup30 +exc.k29: + store ptr %t124, ptr %sc_l__x25_callbackBag_1 + store i1 true, ptr %sc_l__x25_callbackPresent_1 + %t128 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t129 = getelementptr inbounds i8, ptr %t128, i64 8 ; ->kind + %t130 = load i32, ptr %t129 + %t131 = icmp eq i32 %t130, 6 + br i1 %t131, label %tern.t31, label %tern.f32 +tern.t31: + %t134 = call ptr @scr_dyn_undefined() + %t133 = call ptr @scr_dyn_retain_v(ptr %t134) + store ptr %t133, ptr %s132 + br label %tern.j33 +tern.f32: + %t135 = load ptr, ptr %sc_l__x25_callbackBag_1 + %t136 = call ptr @sc_rc_retain_dyn(ptr %t135) + %t137 = call ptr @sc_f__x25_dyn_class_property_27(ptr %t136) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup36 +exc.k35: + store ptr %t137, ptr %s132 + br label %tern.j33 +tern.j33: + %t141 = load ptr, ptr %s132 + store ptr %t141, ptr %sc_l__x25_callback_1 + %t142 = load ptr, ptr %sc_l__x25_callback_1 + %t143 = load ptr, ptr %sc_l__x25_callbackReceiver_1 + %t144 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t143, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t145 = load ptr, ptr %sc_l_parser_1 + %t146 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t145, i64 0, i32 19 + %t147 = load ptr, ptr %t146, !tbaa !28 + %t148 = call ptr @scr_arr_retain_v(ptr %t147) + %t149 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t148, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t149, ptr @sc_ldr_11_materialize_ops) + %t150 = load ptr, ptr %sc_l_parser_1 + %t151 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t150, i64 0, i32 20 + %t152 = load ptr, ptr %t151, !tbaa !30 + %t153 = call ptr @scr_arr_retain_v(ptr %t152) + %t154 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t153, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t154, ptr @sc_ldr_2_materialize_ops) + %t156 = getelementptr inbounds [2 x ptr], ptr %s155, i64 0, i64 0 + store ptr %t149, ptr %t156 + %t157 = getelementptr inbounds [2 x ptr], ptr %s155, i64 0, i64 1 + store ptr %t154, ptr %t157 + call void @scr_dyn_this_push_dyn(ptr %t144) + %t158 = call ptr @scr_dyn_call(ptr %t142, ptr %s155, i64 2, ptr @sc_cs_1513435222814291) + call void @scr_dyn_this_pop() + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rc_release_dyn(ptr %t144) + call void @scr_arr_release(ptr %t148) + call void @sc_rc_release_dyn(ptr %t149) + call void @scr_arr_release(ptr %t153) + call void @sc_rc_release_dyn(ptr %t154) + call void @sc_rc_release_dyn(ptr %t158) + br label %exc.cleanup39 +exc.k38: + call void @sc_rc_release_dyn(ptr %t144) + call void @scr_arr_release(ptr %t148) + call void @sc_rc_release_dyn(ptr %t149) + call void @scr_arr_release(ptr %t153) + call void @sc_rc_release_dyn(ptr %t154) + call void @sc_rc_release_dyn(ptr %t158) + %t162 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t162) + %t163 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t163) + %t164 = load ptr, ptr %sc_l_chain_1 + %t165 = load ptr, ptr %sc_l_c_1 + %t166 = load ptr, ptr %sc_l_sink_1 + %t167 = load ptr, ptr %sc_l_oef_1 + call void @sc_bf__x25_m5_runChain(ptr %t164, ptr %t165, ptr %t166, ptr %t167) + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u40, label %exc.k41 +exc.u40: + br label %exc.cleanup30 +exc.k41: + %t171 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t171) + %t172 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t172) + ret void +exc.cleanup8: + %t173 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t173) + ret void +exc.cleanup14: + %t174 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t174) + %t175 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t175) + ret void +exc.cleanup17: + %t176 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t176) + %t177 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t177) + %t178 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t178) + ret void +exc.cleanup30: + %t179 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t179) + %t180 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t180) + ret void +exc.cleanup36: + %t181 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t181) + %t182 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t182) + %t183 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t183) + ret void +exc.cleanup39: + %t184 = load ptr, ptr %sc_l__x25_callbackBag_1 + call void @sc_rc_release_dyn(ptr %t184) + %t185 = load ptr, ptr %sc_l__x25_callback_1 + call void @sc_rc_release_dyn(ptr %t185) + %t186 = load ptr, ptr %s40 + call void @scr_closure_release(ptr %t186) + %t187 = load ptr, ptr %sc_l_rv_0 + call void @sc_release__x25_m5_ReqViewCore(ptr %t187) + ret void +} + +define internal ptr @sc_bf__x25_fn_adapt_11_impl(ptr %sc_env, ptr %p_sc_l_a_0) #0 { ; %fn.adapt.11.impl +entry: + %sc_l_f_0 = alloca ptr ; f + %sc_l_a_0 = alloca ptr ; a0 + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_f_0 ; captured f + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t7 = load ptr, ptr %sc_l_f_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + %t10 = call ptr @scr_dyn_this_get() + %t11 = load ptr, ptr %sc_l_a_0 + %t12 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11) + %t13 = getelementptr inbounds %ScrClosure, ptr %t9, i64 0, i32 1 + %t14 = load ptr, ptr %t13 + call void @scr_dyn_this_push_dyn(ptr %t10) + call void %t14(ptr %t9, ptr %t12) + call void @scr_dyn_this_pop() + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t10) + %t19 = call ptr @scr_dyn_undefined() + %t18 = call ptr @scr_dyn_retain_v(ptr %t19) + ret ptr %t18 +} +define internal ptr @sc_f__x25_fn_adapt_11_impl(ptr %sc_env, ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn_adapt_11_impl(ptr %sc_env, ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_fn_adapt_11(ptr %p_sc_l_f_0) #0 { ; %fn.adapt.11 +entry: + %sc_l_f_0 = alloca ptr ; f + %s0 = alloca ptr ; lazy box f + store ptr null, ptr %s0 + store ptr %p_sc_l_f_0, ptr %sc_l_f_0 + %t1 = call ptr @scr_closure_new(ptr @sc_f__x25_fn_adapt_11_impl, i64 1) + %t2 = getelementptr inbounds %ScrClosure, ptr %t1, i64 0, i32 7 + store ptr @sc_bf__x25_fn_adapt_11_impl, ptr %t2 + %t3 = load ptr, ptr %s0 + %t4 = icmp eq ptr %t3, null + br i1 %t4, label %lazy.box0, label %lazy.box.j1 +lazy.box0: + %t5 = call ptr @scr_box_new(i32 4) + %t6 = load ptr, ptr %sc_l_f_0 + %t7 = call ptr @scr_closure_retain_v(ptr %t6) + call void @scr_box_set_ref(ptr %t5, ptr %t7) + store ptr %t5, ptr %s0 + br label %lazy.box.j1 +lazy.box.j1: + %t8 = load ptr, ptr %s0 + %t9 = call ptr @sc_retain_box(ptr %t8) + %t10 = getelementptr inbounds %ScrClosure, ptr %t1, i64 1 ; caps + %t11 = getelementptr inbounds ptr, ptr %t10, i64 0 ; caps[0] + store ptr %t9, ptr %t11 + %t12 = getelementptr inbounds %ScrBox, ptr %t8, i64 0, i32 5 + %t13 = load ptr, ptr %t12 + call void @scr_closure_adopt_identity(ptr %t1, ptr %t13, i32 1) + %t14 = load ptr, ptr %s0 + %t15 = icmp ne ptr %t14, null + br i1 %t15, label %lazy.release2, label %lazy.release.j3 +lazy.release2: + call void @scr_box_release(ptr %t14) + br label %lazy.release.j3 +lazy.release.j3: + ret ptr %t1 +} +define internal ptr @sc_f__x25_fn_adapt_11(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_fn_adapt_11(ptr %p0) + call void @scr_closure_release(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_fn53(ptr %sc_env, ptr %p_sc_l__r_0, ptr %p_sc_l__s_0) #0 { ; %fn53 +entry: + %sc_l__r_0 = alloca ptr ; _r + %sc_l__s_0 = alloca ptr ; _s + store ptr %p_sc_l__r_0, ptr %sc_l__r_0 + store ptr %p_sc_l__s_0, ptr %sc_l__s_0 + ret i1 false +} +define internal i1 @sc_f__x25_fn53(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_fn53(ptr %sc_env, ptr %p0, ptr %p1) + call void @scr_http_req_release(ptr %p0) + call void @scr_http_res_release(ptr %p1) + ret i1 %result +} + +define internal void @sc_bf__x25_fn55(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn55 +entry: + %sc_l_resolve_0 = alloca ptr ; resolve + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_resolve_0 + %t5 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t6(ptr %t4, i1 false) + call void @scr_dyn_this_pop() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + ret void +exc.k3: + ret void +} +define internal void @sc_f__x25_fn55(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn55(ptr %sc_env, ptr %p0) + call void @scr_closure_release(ptr %p0) + ret void +} + +define internal ptr @sc_bf__x25_fn54(ptr %sc_env, ptr %p_sc_l__m_0, ptr %p_sc_l__u_0, ptr %p_sc_l__h_0, ptr %p_sc_l__w_0, ptr %p_sc_l__b_0, ptr %p_sc_l__b8_0, ptr %p_sc_l__s_0) #0 { ; %fn54 +entry: + %sc_l__m_0 = alloca ptr ; _m + %sc_l__u_0 = alloca ptr ; _u + %sc_l__h_0 = alloca ptr ; _h + %sc_l__w_0 = alloca ptr ; _w + %sc_l__b_0 = alloca ptr ; _b + %sc_l__b8_0 = alloca ptr ; _b8 + %sc_l__s_0 = alloca ptr ; _s + store ptr %p_sc_l__m_0, ptr %sc_l__m_0 + store ptr %p_sc_l__u_0, ptr %sc_l__u_0 + store ptr %p_sc_l__h_0, ptr %sc_l__h_0 + store ptr %p_sc_l__w_0, ptr %sc_l__w_0 + store ptr %p_sc_l__b_0, ptr %sc_l__b_0 + store ptr %p_sc_l__b8_0, ptr %sc_l__b8_0 + store ptr %p_sc_l__s_0, ptr %sc_l__s_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_promise_new() + %t5 = call ptr @scr_make_resolve(ptr %t4, i32 1) + %t6 = call ptr @scr_closure_new(ptr @sc_f__x25_fn55, i64 0) + %t7 = getelementptr inbounds %ScrClosure, ptr %t6, i64 0, i32 4 + store i32 4, ptr %t7 + %t8 = getelementptr inbounds %ScrClosure, ptr %t6, i64 0, i32 7 + store ptr @sc_bf__x25_fn55, ptr %t8 + call void @scr_promise_run_executor(ptr %t4, ptr %t6, ptr %t5) + call void @scr_closure_release(ptr %t6) + ret ptr %t4 +} +define internal ptr @sc_f__x25_fn54(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 { +entry: + %result = call ptr @sc_bf__x25_fn54(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rrelease_r0(ptr %p2) + call void @sc_rc_release_dyn(ptr %p3) + call void @scr_str_release(ptr %p4) + call void @scr_union_release(ptr %p5) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p6) + ret ptr %result +} + +define internal i1 @sc_bf__x25_fn56(ptr %sc_env, ptr %p_sc_l__r_0, ptr %p_sc_l__s_0, ptr %p_sc_l__h_0) #0 { ; %fn56 +entry: + %sc_l__r_0 = alloca ptr ; _r + %sc_l__s_0 = alloca ptr ; _s + %sc_l__h_0 = alloca ptr ; _h + store ptr %p_sc_l__r_0, ptr %sc_l__r_0 + store ptr %p_sc_l__s_0, ptr %sc_l__s_0 + store ptr %p_sc_l__h_0, ptr %sc_l__h_0 + ret i1 false +} +define internal i1 @sc_f__x25_fn56(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call i1 @sc_bf__x25_fn56(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) + call void @scr_http_req_release(ptr %p0) + call void @scr_net_sock_release(ptr %p1) + call void @scr_bytes_release(ptr %p2) + ret i1 %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() #0 { ; %prototype.data.%m3.LiteResponse +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_dyn_release(ptr %t6) + ret ptr null +exc.k5: + %t10 = call ptr @scr_dyn_obj_create(ptr %t6) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_dyn_release(ptr %t6) + call void @scr_dyn_release(ptr %t10) + ret ptr null +exc.k7: + %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + call void @scr_dyn_release(ptr %t14) + store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + call void @scr_dyn_release(ptr %t6) + store i1 true, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse_ready + %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + %t17 = call ptr @sc_td_0(ptr @sc_lit_3752021314181142) + %t18 = call ptr @scr_dyn_new_obj() + %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus) + %t20 = call ptr @sc_dfb_45(ptr %t19, ptr null) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + ret ptr null +exc.k9: + %t24 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + ret ptr null +exc.k11: + %t28 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + ret ptr null +exc.k13: + %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + call void @scr_dyn_release(ptr %t32) + ret ptr null +exc.k15: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + call void @scr_dyn_release(ptr %t32) + %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_td_0(ptr @sc_lit_2364278031517622) + %t39 = call ptr @scr_dyn_new_obj() + %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader) + %t41 = call ptr @sc_dfb_9(ptr %t40, ptr null) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + ret ptr null +exc.k17: + %t45 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + ret ptr null +exc.k19: + %t49 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49) + %t50 = load i32, ptr %exc.cell + %t51 = icmp ne i32 %t50, 0 + %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false) + br i1 %t52, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + ret ptr null +exc.k21: + %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39) + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + call void @scr_dyn_release(ptr %t53) + ret ptr null +exc.k23: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + call void @scr_dyn_release(ptr %t53) + %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t58 = call ptr @sc_rc_retain_dyn(ptr %t57) + %t59 = call ptr @sc_td_0(ptr @sc_lit_470306239805907) + %t60 = call ptr @scr_dyn_new_obj() + %t61 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader) + %t62 = call ptr @sc_dfb_9(ptr %t61, ptr null) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3610950885518037, ptr %t62) + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + ret ptr null +exc.k25: + %t66 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_1948131179100861, ptr %t66) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + ret ptr null +exc.k27: + %t70 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3198935257758645, ptr %t70) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u28, label %exc.k29 +exc.u28: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + ret ptr null +exc.k29: + %t74 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t58, ptr %t59, ptr %t60) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + call void @scr_dyn_release(ptr %t74) + ret ptr null +exc.k31: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + call void @scr_dyn_release(ptr %t74) + %t78 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + %t80 = call ptr @sc_td_0(ptr @sc_lit_4133069531575059) + %t81 = call ptr @scr_dyn_new_obj() + %t82 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody) + %t83 = call ptr @sc_dfb_46(ptr %t82, ptr null) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3610950885518037, ptr %t83) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + ret ptr null +exc.k33: + %t87 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_1948131179100861, ptr %t87) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u34, label %exc.k35 +exc.u34: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + ret ptr null +exc.k35: + %t91 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3198935257758645, ptr %t91) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + ret ptr null +exc.k37: + %t95 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t79, ptr %t80, ptr %t81) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + call void @scr_dyn_release(ptr %t95) + ret ptr null +exc.k39: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + call void @scr_dyn_release(ptr %t95) + %t99 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t100 = call ptr @sc_rc_retain_dyn(ptr %t99) + %t101 = call ptr @sc_td_0(ptr @sc_lit_2253648670486996) + %t102 = call ptr @scr_dyn_new_obj() + %t103 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes) + %t104 = call ptr @sc_dfb_47(ptr %t103, ptr null) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3610950885518037, ptr %t104) + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + ret ptr null +exc.k41: + %t108 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_1948131179100861, ptr %t108) + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + ret ptr null +exc.k43: + %t112 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3198935257758645, ptr %t112) + %t113 = load i32, ptr %exc.cell + %t114 = icmp ne i32 %t113, 0 + %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false) + br i1 %t115, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + ret ptr null +exc.k45: + %t116 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t100, ptr %t101, ptr %t102) + %t117 = load i32, ptr %exc.cell + %t118 = icmp ne i32 %t117, 0 + %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false) + br i1 %t119, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + call void @scr_dyn_release(ptr %t116) + ret ptr null +exc.k47: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + call void @scr_dyn_release(ptr %t116) + %t120 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t121 = call ptr @sc_rc_retain_dyn(ptr %t120) + %t122 = call ptr @sc_td_0(ptr @sc_lit_161925136240866) + %t123 = call ptr @scr_dyn_new_obj() + %t124 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect) + %t125 = call ptr @sc_dfb_48(ptr %t124, ptr null) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3610950885518037, ptr %t125) + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + ret ptr null +exc.k49: + %t129 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_1948131179100861, ptr %t129) + %t130 = load i32, ptr %exc.cell + %t131 = icmp ne i32 %t130, 0 + %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false) + br i1 %t132, label %exc.u50, label %exc.k51 +exc.u50: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + ret ptr null +exc.k51: + %t133 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3198935257758645, ptr %t133) + %t134 = load i32, ptr %exc.cell + %t135 = icmp ne i32 %t134, 0 + %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false) + br i1 %t136, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + ret ptr null +exc.k53: + %t137 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t121, ptr %t122, ptr %t123) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + call void @scr_dyn_release(ptr %t137) + ret ptr null +exc.k55: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + call void @scr_dyn_release(ptr %t137) + %t141 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t142 = call ptr @sc_rc_retain_dyn(ptr %t141) + %t143 = call ptr @sc_td_0(ptr @sc_lit_298897322184109) + %t144 = call ptr @scr_dyn_new_obj() + %t145 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write) + %t146 = call ptr @sc_dfb_46(ptr %t145, ptr null) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3610950885518037, ptr %t146) + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + ret ptr null +exc.k57: + %t150 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_1948131179100861, ptr %t150) + %t151 = load i32, ptr %exc.cell + %t152 = icmp ne i32 %t151, 0 + %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false) + br i1 %t153, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + ret ptr null +exc.k59: + %t154 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3198935257758645, ptr %t154) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + ret ptr null +exc.k61: + %t158 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t142, ptr %t143, ptr %t144) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + call void @scr_dyn_release(ptr %t158) + ret ptr null +exc.k63: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + call void @scr_dyn_release(ptr %t158) + %t162 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t163 = call ptr @sc_rc_retain_dyn(ptr %t162) + %t164 = call ptr @sc_td_0(ptr @sc_lit_4085448292571548) + %t165 = call ptr @scr_dyn_new_obj() + %t166 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead) + %t167 = call ptr @sc_dfb_49(ptr %t166, ptr null) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3610950885518037, ptr %t167) + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u64, label %exc.k65 +exc.u64: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + ret ptr null +exc.k65: + %t171 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_1948131179100861, ptr %t171) + %t172 = load i32, ptr %exc.cell + %t173 = icmp ne i32 %t172, 0 + %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false) + br i1 %t174, label %exc.u66, label %exc.k67 +exc.u66: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + ret ptr null +exc.k67: + %t175 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3198935257758645, ptr %t175) + %t176 = load i32, ptr %exc.cell + %t177 = icmp ne i32 %t176, 0 + %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false) + br i1 %t178, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + ret ptr null +exc.k69: + %t179 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t163, ptr %t164, ptr %t165) + %t180 = load i32, ptr %exc.cell + %t181 = icmp ne i32 %t180, 0 + %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false) + br i1 %t182, label %exc.u70, label %exc.k71 +exc.u70: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + call void @scr_dyn_release(ptr %t179) + ret ptr null +exc.k71: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + call void @scr_dyn_release(ptr %t179) + %t183 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t184 = call ptr @sc_rc_retain_dyn(ptr %t183) + %t185 = call ptr @sc_td_0(ptr @sc_lit_3561861343106386) + %t186 = call ptr @scr_dyn_new_obj() + %t187 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream) + %t188 = call ptr @sc_dfb_1(ptr %t187, ptr null) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3610950885518037, ptr %t188) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + ret ptr null +exc.k73: + %t192 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_1948131179100861, ptr %t192) + %t193 = load i32, ptr %exc.cell + %t194 = icmp ne i32 %t193, 0 + %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false) + br i1 %t195, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + ret ptr null +exc.k75: + %t196 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3198935257758645, ptr %t196) + %t197 = load i32, ptr %exc.cell + %t198 = icmp ne i32 %t197, 0 + %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false) + br i1 %t199, label %exc.u76, label %exc.k77 +exc.u76: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + ret ptr null +exc.k77: + %t200 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t184, ptr %t185, ptr %t186) + %t201 = load i32, ptr %exc.cell + %t202 = icmp ne i32 %t201, 0 + %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false) + br i1 %t203, label %exc.u78, label %exc.k79 +exc.u78: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + call void @scr_dyn_release(ptr %t200) + ret ptr null +exc.k79: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + call void @scr_dyn_release(ptr %t200) + %t204 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t205 = call ptr @sc_rc_retain_dyn(ptr %t204) + %t206 = call ptr @sc_td_0(ptr @sc_lit_3108123016971750) + %t207 = call ptr @scr_dyn_new_obj() + %t208 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt) + %t209 = call ptr @sc_dfb_50(ptr %t208, ptr null) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3610950885518037, ptr %t209) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u80, label %exc.k81 +exc.u80: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + ret ptr null +exc.k81: + %t213 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_1948131179100861, ptr %t213) + %t214 = load i32, ptr %exc.cell + %t215 = icmp ne i32 %t214, 0 + %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false) + br i1 %t216, label %exc.u82, label %exc.k83 +exc.u82: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + ret ptr null +exc.k83: + %t217 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3198935257758645, ptr %t217) + %t218 = load i32, ptr %exc.cell + %t219 = icmp ne i32 %t218, 0 + %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false) + br i1 %t220, label %exc.u84, label %exc.k85 +exc.u84: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + ret ptr null +exc.k85: + %t221 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t205, ptr %t206, ptr %t207) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u86, label %exc.k87 +exc.u86: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + call void @scr_dyn_release(ptr %t221) + ret ptr null +exc.k87: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + call void @scr_dyn_release(ptr %t221) + %t225 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t226 = call ptr @sc_rc_retain_dyn(ptr %t225) + %t227 = call ptr @sc_td_0(ptr @sc_lit_2529432852777196) + %t228 = call ptr @scr_dyn_new_obj() + %t229 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent) + %t230 = call ptr @sc_dfb_51(ptr %t229, ptr null) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3610950885518037, ptr %t230) + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u88, label %exc.k89 +exc.u88: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + ret ptr null +exc.k89: + %t234 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_1948131179100861, ptr %t234) + %t235 = load i32, ptr %exc.cell + %t236 = icmp ne i32 %t235, 0 + %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false) + br i1 %t237, label %exc.u90, label %exc.k91 +exc.u90: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + ret ptr null +exc.k91: + %t238 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3198935257758645, ptr %t238) + %t239 = load i32, ptr %exc.cell + %t240 = icmp ne i32 %t239, 0 + %t241 = call i1 @llvm.expect.i1(i1 %t240, i1 false) + br i1 %t241, label %exc.u92, label %exc.k93 +exc.u92: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + ret ptr null +exc.k93: + %t242 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t226, ptr %t227, ptr %t228) + %t243 = load i32, ptr %exc.cell + %t244 = icmp ne i32 %t243, 0 + %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false) + br i1 %t245, label %exc.u94, label %exc.k95 +exc.u94: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + call void @scr_dyn_release(ptr %t242) + ret ptr null +exc.k95: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + call void @scr_dyn_release(ptr %t242) + %t246 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t247 = call ptr @sc_rc_retain_dyn(ptr %t246) + %t248 = call ptr @sc_td_0(ptr @sc_lit_4297539476301093) + %t249 = call ptr @scr_dyn_new_obj() + %t250 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent) + %t251 = call ptr @sc_dfb_51(ptr %t250, ptr null) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3610950885518037, ptr %t251) + %t252 = load i32, ptr %exc.cell + %t253 = icmp ne i32 %t252, 0 + %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false) + br i1 %t254, label %exc.u96, label %exc.k97 +exc.u96: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + ret ptr null +exc.k97: + %t255 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_1948131179100861, ptr %t255) + %t256 = load i32, ptr %exc.cell + %t257 = icmp ne i32 %t256, 0 + %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false) + br i1 %t258, label %exc.u98, label %exc.k99 +exc.u98: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + ret ptr null +exc.k99: + %t259 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3198935257758645, ptr %t259) + %t260 = load i32, ptr %exc.cell + %t261 = icmp ne i32 %t260, 0 + %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false) + br i1 %t262, label %exc.u100, label %exc.k101 +exc.u100: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + ret ptr null +exc.k101: + %t263 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t247, ptr %t248, ptr %t249) + %t264 = load i32, ptr %exc.cell + %t265 = icmp ne i32 %t264, 0 + %t266 = call i1 @llvm.expect.i1(i1 %t265, i1 false) + br i1 %t266, label %exc.u102, label %exc.k103 +exc.u102: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + call void @scr_dyn_release(ptr %t263) + ret ptr null +exc.k103: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + call void @scr_dyn_release(ptr %t263) + %t267 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t268 = call ptr @sc_rc_retain_dyn(ptr %t267) + %t269 = call ptr @sc_td_0(ptr @sc_lit_1959461887910059) + %t270 = call ptr @scr_dyn_new_obj() + %t271 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy) + %t272 = call ptr @sc_dfb_1(ptr %t271, ptr null) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3610950885518037, ptr %t272) + %t273 = load i32, ptr %exc.cell + %t274 = icmp ne i32 %t273, 0 + %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false) + br i1 %t275, label %exc.u104, label %exc.k105 +exc.u104: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + ret ptr null +exc.k105: + %t276 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_1948131179100861, ptr %t276) + %t277 = load i32, ptr %exc.cell + %t278 = icmp ne i32 %t277, 0 + %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false) + br i1 %t279, label %exc.u106, label %exc.k107 +exc.u106: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + ret ptr null +exc.k107: + %t280 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3198935257758645, ptr %t280) + %t281 = load i32, ptr %exc.cell + %t282 = icmp ne i32 %t281, 0 + %t283 = call i1 @llvm.expect.i1(i1 %t282, i1 false) + br i1 %t283, label %exc.u108, label %exc.k109 +exc.u108: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + ret ptr null +exc.k109: + %t284 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t268, ptr %t269, ptr %t270) + %t285 = load i32, ptr %exc.cell + %t286 = icmp ne i32 %t285, 0 + %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false) + br i1 %t287, label %exc.u110, label %exc.k111 +exc.u110: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + call void @scr_dyn_release(ptr %t284) + ret ptr null +exc.k111: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + call void @scr_dyn_release(ptr %t284) + br label %if.j3 +if.j3: + %t288 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + %t289 = call ptr @sc_rc_retain_dyn(ptr %t288) + ret ptr %t289 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m3.LiteResponse +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + %s92 = alloca ptr + %s109 = alloca i1 + %s120 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_629517122853751 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_629517122853751 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_29(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 18 + %t37 = icmp ule i64 %t35, 18 + %t38 = and i1 %t36, %t37 ; instanceof %m3.LiteResponse + call void @sc_release__x25_m2_ResponseSink(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_629517122853751 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_29(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect24, label %brand.done26 +brand.inspect24: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule25, label %brand.done26 +brand.capsule25: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_2434838942941195 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done26, label %brand.compare27 +brand.compare27: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2434838942941195) + store i1 %t65, ptr %s57 + br label %brand.done26 +brand.done26: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t28, label %if.j29 +if.t28: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect30, label %dc.checked33 +dc.inspect30: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule31, label %dc.checked33 +dc.capsule31: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_2434838942941195 + br i1 %t73, label %dc.exact32, label %dc.checked33 +dc.exact32: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done34 +dc.checked33: + %t79 = call ptr @sc_dc_52(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u35, label %exc.k36 +exc.u35: + ret ptr null +exc.k36: + br label %dc.done34 +dc.done34: + %t83 = load ptr, ptr %s68 + %t84 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t83, i64 0, i32 1 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %ScrVt, ptr %t85, i64 0, i32 0 + %t87 = load i64, ptr %t86 + %t88 = icmp uge i64 %t87, 18 + %t89 = icmp ule i64 %t87, 18 + %t90 = and i1 %t88, %t89 ; instanceof %m3.LiteResponse + call void @sc_release__x25_m2_FetchResponseSink(ptr %t83) + br i1 %t90, label %if.t37, label %if.j38 +if.t37: + %t91 = load ptr, ptr %sc_l_this_0 + %t93 = icmp ne ptr %t91, null + br i1 %t93, label %dc.inspect39, label %dc.checked42 +dc.inspect39: + %t98 = getelementptr inbounds i8, ptr %t91, i64 8 ; ->kind + %t99 = load i32, ptr %t98 + %t94 = icmp eq i32 %t99, 12 + br i1 %t94, label %dc.capsule40, label %dc.checked42 +dc.capsule40: + %t95 = getelementptr inbounds i8, ptr %t91, i64 40 ; ->v.typed_ref.type_key + %t96 = load ptr, ptr %t95 + %t97 = icmp eq ptr %t96, @sc_cs_2434838942941195 + br i1 %t97, label %dc.exact41, label %dc.checked42 +dc.exact41: + %t100 = getelementptr inbounds i8, ptr %t91, i64 16 ; ->v.typed_ref.ptr + %t101 = load ptr, ptr %t100 + %t102 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t101) + store ptr %t102, ptr %s92 + br label %dc.done43 +dc.checked42: + %t103 = call ptr @sc_dc_52(ptr %t91, ptr null) + store ptr %t103, ptr %s92 + %t104 = load i32, ptr %exc.cell + %t105 = icmp ne i32 %t104, 0 + %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false) + br i1 %t106, label %exc.u44, label %exc.k45 +exc.u44: + ret ptr null +exc.k45: + br label %dc.done43 +dc.done43: + %t107 = load ptr, ptr %s92 + ret ptr %t107 +if.j38: + br label %if.j29 +if.j29: + %t108 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s109 + %t110 = icmp ne ptr %t108, null + br i1 %t110, label %brand.inspect46, label %brand.done48 +brand.inspect46: + %t111 = getelementptr inbounds i8, ptr %t108, i64 8 ; ->kind + %t112 = load i32, ptr %t111 + %t113 = icmp eq i32 %t112, 12 + br i1 %t113, label %brand.capsule47, label %brand.done48 +brand.capsule47: + %t114 = getelementptr inbounds i8, ptr %t108, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_4074974279575818 + store i1 true, ptr %s109 + br i1 %t116, label %brand.done48, label %brand.compare49 +brand.compare49: + %t117 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t108, ptr @sc_lit_4074974279575818) + store i1 %t117, ptr %s109 + br label %brand.done48 +brand.done48: + %t118 = load i1, ptr %s109 + br i1 %t118, label %if.t50, label %if.j51 +if.t50: + %t119 = load ptr, ptr %sc_l_this_0 + %t121 = icmp ne ptr %t119, null + br i1 %t121, label %dc.inspect52, label %dc.checked55 +dc.inspect52: + %t126 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind + %t127 = load i32, ptr %t126 + %t122 = icmp eq i32 %t127, 12 + br i1 %t122, label %dc.capsule53, label %dc.checked55 +dc.capsule53: + %t123 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key + %t124 = load ptr, ptr %t123 + %t125 = icmp eq ptr %t124, @sc_cs_4074974279575818 + br i1 %t125, label %dc.exact54, label %dc.checked55 +dc.exact54: + %t128 = getelementptr inbounds i8, ptr %t119, i64 16 ; ->v.typed_ref.ptr + %t129 = load ptr, ptr %t128 + %t130 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t129) + store ptr %t130, ptr %s120 + br label %dc.done56 +dc.checked55: + %t131 = call ptr @sc_dc_104(ptr %t119, ptr null) + store ptr %t131, ptr %s120 + %t132 = load i32, ptr %exc.cell + %t133 = icmp ne i32 %t132, 0 + %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false) + br i1 %t134, label %exc.u57, label %exc.k58 +exc.u57: + ret ptr null +exc.k58: + br label %dc.done56 +dc.done56: + %t135 = load ptr, ptr %s120 + ret ptr %t135 +if.j51: + %t136 = load ptr, ptr %sc_l_this_0 + %t137 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteResponse(ptr %t136) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u59, label %exc.k60 +exc.u59: + call void @sc_release__x25_m3_LiteResponse(ptr %t137) + ret ptr null +exc.k60: + ret ptr %t137 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus(double %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteResponse.setStatus +entry: + %sc_l_p_0 = alloca double ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store double %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load double, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m3_LiteResponse_setStatus(ptr %t5, double %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.setHeader +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m3_LiteResponse_setHeader(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.appendHeader +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m3_LiteResponse_appendHeader(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteResponse.writeBody +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m3_LiteResponse_writeBody(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.bodyBytes +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m3_LiteResponse_bodyBytes(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %p0, ptr %p1) + call void @scr_bytes_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %p_sc_l_p_0, double %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.redirect +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca double ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store double %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load double, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m3_LiteResponse_redirect(ptr %t5, ptr %t9, double %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %p0, double %p1) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteResponse.write +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m3_LiteResponse_write(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.writeHead +entry: + %sc_l_p_0 = alloca double ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store double %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load double, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m3_LiteResponse_writeHead(ptr %t5, double %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %p0, ptr %p1) + call void @scr_arr_release(ptr %p1) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream() #0 { ; %method.value:%%m3.LiteResponse.endStream +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m3_LiteResponse_endStream(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteResponse.adopt +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m3_LiteResponse_adopt(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %p0) + call void @sc_rrelease_r1(ptr %p0) + ret void +} + +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent() #0 { ; %method.value:%%m3.LiteResponse.isSent +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret i1 false +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call i1 @sc_bf__x25__x25_m3_LiteResponse_isSent(ptr %t5) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret i1 %t9 +} + +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent() #0 { ; %method.value:%%m3.LiteResponse.isHeadersSent +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret i1 false +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call i1 @sc_bf__x25__x25_m3_LiteResponse_isHeadersSent(ptr %t5) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret i1 %t9 +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy() #0 { ; %method.value:%%m3.LiteResponse.destroy +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m3_LiteResponse_destroy(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteResponse(ptr %t5) + ret void +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %p_sc_l_p_0, i32 %p_sc_l_p_1.i32, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.3 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_1 = alloca i32 ; p1 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + %p_sc_l_p_1 = sitofp i32 %p_sc_l_p_1.i32 to double + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store i32 %p_sc_l_p_1.i32, ptr %sc_l_p_1 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = load i32, ptr %sc_l_p_1 + %t13 = load ptr, ptr %sc_l_p_calleeName + %t14 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_3.i32(ptr %t11, i32 %t12, ptr %t13) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_release__x25_m5_CtxCore(ptr %t14) + br label %exc.cleanup2 +exc.k6: + %t18 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t18) + ret ptr %t14 +exc.cleanup2: + %t19 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t19) + ret ptr null +} +define internal ptr @sc_bf__x25_dyn_class_protocol_3(ptr %p0, double %p1, ptr %p2) #0 { +entry: + %a1 = fptosi double %p1 to i32 + %r = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %p0, i32 %a1, ptr %p2) + ret ptr %r +} +define internal ptr @sc_f__x25_dyn_class_protocol_3(ptr %p0, double %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_3(ptr %p0, double %p1, ptr %p2) + call void @scr_str_release(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_3.i32(ptr %p_sc_l_p_0, i32 %p_sc_l_p_1.i32, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.3 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_1 = alloca i32 ; p1 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + %s13 = alloca [1 x ptr] + %p_sc_l_p_1 = sitofp i32 %p_sc_l_p_1.i32 to double + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store i32 %p_sc_l_p_1.i32, ptr %sc_l_p_1 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_rc_retain_dyn(ptr %t4) + %t6 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t6) + br label %exc.cleanup2 +exc.k4: + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = load i32, ptr %sc_l_p_1 + %t12 = call ptr @sc_td_2(double %p_sc_l_p_1) + %t14 = getelementptr inbounds [1 x ptr], ptr %s13, i64 0, i64 0 + store ptr %t12, ptr %t14 + %t16 = load ptr, ptr %sc_l_p_calleeName + %t17 = getelementptr inbounds %ScrStr, ptr %t16, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t10) + %t15 = call ptr @scr_dyn_call(ptr %t6, ptr %s13, i64 1, ptr %t17) + call void @scr_dyn_this_pop() + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t12) + call void @sc_rc_release_dyn(ptr %t15) + br label %exc.cleanup2 +exc.k6: + %t21 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t15) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t12) + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_release__x25_m5_CtxCore(ptr %t21) + br label %exc.cleanup2 +exc.k8: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t12) + call void @sc_rc_release_dyn(ptr %t15) + %t25 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t25) + ret ptr %t21 +exc.cleanup2: + %t26 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t26) + ret ptr null +} +define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_3(ptr %p0, double %p1, ptr %p2) #0 { +entry: + %a1 = fptosi double %p1 to i32 + %r = call ptr @sc_bf__x25_dyn_class_protocol_fallback_3.i32(ptr %p0, i32 %a1, ptr %p2) + ret ptr %r +} +define internal ptr @sc_f__x25_dyn_class_protocol_fallback_3(ptr %p0, double %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_3(ptr %p0, double %p1, ptr %p2) + call void @scr_str_release(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_union_retag_12(ptr %p_sc_l_u_0) #0 { ; %union.retag.12 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp eq ptr %t0, @sc_nullable_null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518) + call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp ne ptr %t4, null + %t7 = icmp ne ptr %t4, @sc_nullable_null + %t8 = and i1 %t6, %t7 + br i1 %t8, label %if.t2, label %if.j3 +if.t2: + %t9 = load ptr, ptr %sc_l_u_0 + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_u_0 + %t12 = icmp eq ptr %t10, null + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + ret ptr null +if.j5: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_retag_12(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_retag_12(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r11(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r11(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_4(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.4 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = load ptr, ptr %sc_l_p_1 + %t13 = load ptr, ptr %sc_l_p_2 + %t14 = load ptr, ptr %sc_l_p_calleeName + %t15 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_4(ptr %t11, ptr %t12, ptr %t13, ptr %t14) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_release__x25_m5_CtxCore(ptr %t15) + br label %exc.cleanup2 +exc.k6: + %t19 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t19) + ret ptr %t15 +exc.cleanup2: + %t20 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t20) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_4(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_4(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.4 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca [2 x ptr] + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_rc_retain_dyn(ptr %t4) + %t6 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t6) + br label %exc.cleanup2 +exc.k4: + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = load ptr, ptr %sc_l_p_1 + %t12 = call ptr @sc_td_0(ptr %t11) + %t13 = load ptr, ptr %sc_l_p_2 + %t14 = call ptr @sc_td_0(ptr %t13) + %t16 = getelementptr inbounds [2 x ptr], ptr %s15, i64 0, i64 0 + store ptr %t12, ptr %t16 + %t17 = getelementptr inbounds [2 x ptr], ptr %s15, i64 0, i64 1 + store ptr %t14, ptr %t17 + %t19 = load ptr, ptr %sc_l_p_calleeName + %t20 = getelementptr inbounds %ScrStr, ptr %t19, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t10) + %t18 = call ptr @scr_dyn_call(ptr %t6, ptr %s15, i64 2, ptr %t20) + call void @scr_dyn_this_pop() + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t12) + call void @sc_rc_release_dyn(ptr %t14) + call void @sc_rc_release_dyn(ptr %t18) + br label %exc.cleanup2 +exc.k6: + %t24 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t18) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t12) + call void @sc_rc_release_dyn(ptr %t14) + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_release__x25_m5_CtxCore(ptr %t24) + br label %exc.cleanup2 +exc.k8: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t12) + call void @sc_rc_release_dyn(ptr %t14) + call void @sc_rc_release_dyn(ptr %t18) + %t28 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t28) + ret ptr %t24 +exc.cleanup2: + %t29 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t29) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_fallback_4(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_4(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_bf__x25_union_narrow_10(ptr %p_sc_l_u_0) #0 { ; %union.narrow.10 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp eq ptr %t0, @sc_nullable_null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518) + call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp ne ptr %t4, null + %t7 = icmp ne ptr %t4, @sc_nullable_null + %t8 = and i1 %t6, %t7 + br i1 %t8, label %if.t2, label %if.j3 +if.t2: + %t9 = load ptr, ptr %sc_l_u_0 + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_u_0 + %t12 = icmp eq ptr %t10, null + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t13, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j5: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_10(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_10(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r10(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r10(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_5(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.5 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_callee = alloca ptr ; callee + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = load ptr, ptr %sc_l_p_callee + %t13 = load ptr, ptr %sc_l_p_1 + %t14 = load ptr, ptr %sc_l_p_2 + %t15 = load ptr, ptr %sc_l_p_calleeName + %t16 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_5(ptr %t11, ptr %t12, ptr %t13, ptr %t14, ptr %t15) + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_release__x25_m5_CtxCore(ptr %t16) + br label %exc.cleanup2 +exc.k6: + %t20 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t20) + ret ptr %t16 +exc.cleanup2: + %t21 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_5(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_5(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + call void @scr_str_release(ptr %p4) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_5(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.5 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_callee = alloca ptr ; callee + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_calleeName = alloca ptr ; calleeName + %s10 = alloca [2 x ptr] + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_callee + %t5 = load ptr, ptr %sc_l_p_0 + %t6 = load ptr, ptr %sc_l_p_1 + %t7 = call ptr @sc_td_0(ptr %t6) + %t8 = load ptr, ptr %sc_l_p_2 + %t9 = call ptr @sc_td_0(ptr %t8) + %t11 = getelementptr inbounds [2 x ptr], ptr %s10, i64 0, i64 0 + store ptr %t7, ptr %t11 + %t12 = getelementptr inbounds [2 x ptr], ptr %s10, i64 0, i64 1 + store ptr %t9, ptr %t12 + %t14 = load ptr, ptr %sc_l_p_calleeName + %t15 = getelementptr inbounds %ScrStr, ptr %t14, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t5) + %t13 = call ptr @scr_dyn_call(ptr %t4, ptr %s10, i64 2, ptr %t15) + call void @scr_dyn_this_pop() + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t13) + br label %exc.cleanup2 +exc.k4: + %t19 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t13) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_release__x25_m5_CtxCore(ptr %t19) + br label %exc.cleanup2 +exc.k6: + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t13) + %t23 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t23) + ret ptr %t19 +exc.cleanup2: + %t24 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_fallback_5(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_5(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p1) + call void @scr_str_release(ptr %p2) + call void @scr_str_release(ptr %p3) + call void @scr_str_release(ptr %p4) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_protocol_callee_5(ptr %p_sc_l_p_0) inlinehint #0 { ; %dyn.class.protocol.callee.5 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t12) + br label %exc.cleanup2 +exc.k6: + %t16 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t16) + ret ptr %t12 +exc.cleanup2: + %t17 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_6(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.6 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_callee = alloca ptr ; callee + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = load ptr, ptr %sc_l_p_callee + %t13 = load ptr, ptr %sc_l_p_1 + %t14 = load ptr, ptr %sc_l_p_2 + %t15 = load ptr, ptr %sc_l_p_calleeName + %t16 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_6(ptr %t11, ptr %t12, ptr %t13, ptr %t14, ptr %t15) + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_release__x25_m5_CtxCore(ptr %t16) + br label %exc.cleanup2 +exc.k6: + %t20 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t20) + ret ptr %t16 +exc.cleanup2: + %t21 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_6(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_6(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p1) + call void @scr_bytes_release(ptr %p2) + call void @scr_str_release(ptr %p3) + call void @scr_str_release(ptr %p4) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_6(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.6 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %sc_l_p_callee = alloca ptr ; callee + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %sc_l_p_calleeName = alloca ptr ; calleeName + %s10 = alloca [2 x ptr] + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_callee + %t5 = load ptr, ptr %sc_l_p_0 + %t6 = load ptr, ptr %sc_l_p_1 + %t7 = call ptr @sc_td_1(ptr %t6) + %t8 = load ptr, ptr %sc_l_p_2 + %t9 = call ptr @sc_td_0(ptr %t8) + %t11 = getelementptr inbounds [2 x ptr], ptr %s10, i64 0, i64 0 + store ptr %t7, ptr %t11 + %t12 = getelementptr inbounds [2 x ptr], ptr %s10, i64 0, i64 1 + store ptr %t9, ptr %t12 + %t14 = load ptr, ptr %sc_l_p_calleeName + %t15 = getelementptr inbounds %ScrStr, ptr %t14, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t5) + %t13 = call ptr @scr_dyn_call(ptr %t4, ptr %s10, i64 2, ptr %t15) + call void @scr_dyn_this_pop() + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t13) + br label %exc.cleanup2 +exc.k4: + %t19 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t13) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_release__x25_m5_CtxCore(ptr %t19) + br label %exc.cleanup2 +exc.k6: + call void @sc_rc_release_dyn(ptr %t7) + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t13) + %t23 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t23) + ret ptr %t19 +exc.cleanup2: + %t24 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_protocol_fallback_6(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_6(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p1) + call void @scr_bytes_release(ptr %p2) + call void @scr_str_release(ptr %p3) + call void @scr_str_release(ptr %p4) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_protocol_callee_6(ptr %p_sc_l_p_0) inlinehint #0 { ; %dyn.class.protocol.callee.6 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = call ptr @sc_f__x25_dyn_class_property_63(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t12) + br label %exc.cleanup2 +exc.k6: + %t16 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t16) + ret ptr %t12 +exc.cleanup2: + %t17 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +} + +define internal ptr @sc_bf__x25_arr_idxOr_18(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.18 +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_i_0 = alloca double ; i + %s29 = alloca ptr + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store double %p_sc_l_i_0, ptr %sc_l_i_0 + %t0 = load ptr, ptr %sc_l_a_0 + %t1 = load double, ptr %sc_l_i_0 + %t2 = fptosi double %t1 to i64 + %t4 = freeze i64 %t2 + %t3 = sitofp i64 %t4 to double + %t5 = fcmp oeq double %t3, %t1 + %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8 + %t11 = load ptr, ptr %t10, !tbaa !2 + %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1 + %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296} + %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2 + %t9 = load i64, ptr %t8, !tbaa !2 + %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9 + %t13 = load ptr, ptr %t12, !tbaa !2 + %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6 + %t15 = load i32, ptr %t14, !tbaa !2 + %t16 = zext i32 %t15 to i64 + %t17 = icmp ult i64 %t4, %t16 + %t18 = and i1 %t5, %t17 + br i1 %t18, label %arr.state.filled2, label %arr.check3 +arr.check3: + %t19 = icmp ult i64 %t4, %t9 + %t20 = icmp ult i64 %t4, %t7 + %t21 = and i1 %t5, %t19 + %t22 = and i1 %t21, %t20 + br i1 %t22, label %arr.dense4, label %arr.state.slow0 +arr.dense4: + %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4 + %t24 = load i8, ptr %t23, !tbaa !4 + %t25 = uitofp i8 %t24 to double + br label %arr.state.fast5 +arr.state.fast5: + br label %arr.state.join1 +arr.state.filled2: + br label %arr.state.join1 +arr.state.slow0: + %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite) + br label %arr.state.join1 +arr.state.join1: + %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ] + %t28 = fcmp oeq double %t27, 0x3FF0000000000000 + br i1 %t28, label %tern.t6, label %tern.f7 +tern.t6: + %t30 = load ptr, ptr %sc_l_a_0 + %t31 = load double, ptr %sc_l_i_0 + %t32 = fptosi double %t31 to i64 + %t34 = freeze i64 %t32 + %t33 = sitofp i64 %t34 to double + %t35 = fcmp oeq double %t33, %t31 + %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8 + %t41 = load ptr, ptr %t40, !tbaa !2 + %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1 + %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296} + %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2 + %t39 = load i64, ptr %t38, !tbaa !2 + %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9 + %t43 = load ptr, ptr %t42, !tbaa !2 + %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6 + %t45 = load i32, ptr %t44, !tbaa !2 + %t46 = zext i32 %t45 to i64 + %t47 = icmp ult i64 %t34, %t46 + %t48 = and i1 %t35, %t47 + br i1 %t48, label %arr.get.value11, label %arr.check12 +arr.check12: + %t49 = icmp ult i64 %t34, %t39 + %t50 = icmp ult i64 %t34, %t37 + %t51 = and i1 %t35, %t49 + %t52 = and i1 %t51, %t50 + br i1 %t52, label %arr.dense13, label %arr.get.slow9 +arr.dense13: + %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34 + %t54 = load i8, ptr %t53, !tbaa !4 + %t55 = icmp eq i8 %t54, 1 + br i1 %t55, label %arr.get.value11, label %arr.get.slow9 +arr.get.value11: + %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34 + %t57 = load ptr, ptr %t56, !tbaa !6 + %t58 = icmp ne ptr %t57, null + br i1 %t58, label %arr.get.ref14, label %arr.get.slow9 +arr.get.ref14: + %t59 = call ptr @sc_rretain_r10(ptr %t57) + br label %arr.get.join10 +arr.get.slow9: + %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold + br label %arr.get.join10 +arr.get.join10: + %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ] + store ptr %t61, ptr %s29 + br label %tern.j8 +tern.f7: + store ptr null, ptr %s29 + br label %tern.j8 +tern.j8: + %t62 = load ptr, ptr %s29 + ret ptr %t62 +} +define internal ptr @sc_f__x25_arr_idxOr_18(ptr %p0, double %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_arr_idxOr_18(ptr %p0, double %p1) + call void @scr_arr_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_union_narrow_11(ptr %p_sc_l_u_0) #0 { ; %union.narrow.11 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_11(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_11(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r10(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r10(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_union_retag_13(ptr %p_sc_l_u_0) #0 { ; %union.retag.13 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_retag_13(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_retag_13(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r10(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @sc_rrelease_r10(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_union_narrow_12(ptr %p_sc_l_u_0) #0 { ; %union.narrow.12 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %if.t0, label %if.j1 +if.t0: + %t3 = load ptr, ptr %sc_l_u_0 + ret ptr %t3 +if.j1: + %t4 = load ptr, ptr %sc_l_u_0 + %t6 = icmp eq ptr %t4, null + br i1 %t6, label %if.t2, label %if.j3 +if.t2: + %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_12(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_union_narrow_12(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @scr_arr_retain_v(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_arr_release(ptr %p0) + ret ptr %t3 +} + +define internal void @sc_f__x25_fn58(ptr %sc_env) #0 { ; %fn58 +entry: + %sc_l_i_0 = alloca ptr ; i + %sc_l_drained_0 = alloca ptr ; drained + %sc_l_ctl_0 = alloca ptr ; ctl + %sc_l_drained_1 = alloca ptr ; drained + %sc_l_ctl_1 = alloca ptr ; ctl + %exc.cell = load ptr, ptr @scr_exc_active + %s39 = alloca [1 x ptr] + store ptr null, ptr %sc_l_drained_1 + store ptr null, ptr %sc_l_ctl_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_i_0 ; captured i + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_drained_0 ; captured drained + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_ctl_0 ; captured ctl + %t9 = call ptr @llvm.stacksave.p0() + %t10 = load ptr, ptr @scr_stack_guard + %t11 = icmp ult ptr %t9, %t10 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t13 = load ptr, ptr %sc_l_drained_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_drained_1 + %t16 = load ptr, ptr %sc_l_ctl_0 + %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %sc_l_ctl_1 + br label %loop.c3 +loop.c3: + %t19 = load ptr, ptr %sc_l_i_0 + %t21 = getelementptr inbounds %ScrBox, ptr %t19, i32 0, i32 5 + %t20 = load double, ptr %t21 + %t22 = load ptr, ptr %sc_l_drained_1 + %t23 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 1 + %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296} + %t25 = sitofp i64 %t24 to double + %t27 = fptosi double %t25 to i64 + %t26 = fcmp olt double %t20, %t25 + br i1 %t26, label %loop.b4, label %loop.e2 +loop.b4: + %t28 = load ptr, ptr %sc_l_ctl_1 + %t29 = call ptr @scr_dyn_prepare_method(ptr %t28, ptr @sc_cs_3739322700708094) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t29) + ret void +exc.k6: + %t33 = load ptr, ptr %sc_l_drained_1 + %t34 = load ptr, ptr %sc_l_i_0 + %t36 = getelementptr inbounds %ScrBox, ptr %t34, i32 0, i32 5 + %t35 = load double, ptr %t36 + %t37 = call ptr @sc_bf__x25_arr_idxOr_14(ptr %t33, double %t35) + %t38 = call ptr @sc_ldu_11(ptr %t37) + %t40 = getelementptr inbounds [1 x ptr], ptr %s39, i64 0, i64 0 + store ptr %t38, ptr %t40 + %t41 = call ptr @scr_dyn_invoke_prepared(ptr %t28, ptr %t29, ptr @sc_cs_3739322700708094, ptr %s39, i64 1, ptr @sc_cs_4217381500900616) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_union_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t41) + ret void +exc.k8: + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_union_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t41) + %t45 = load ptr, ptr %sc_l_i_0 + %t47 = getelementptr inbounds %ScrBox, ptr %t45, i32 0, i32 5 + %t46 = load double, ptr %t47 + %t48 = fadd double %t46, 0x3FF0000000000000 + %t49 = load ptr, ptr %sc_l_i_0 + %t50 = getelementptr inbounds %ScrBox, ptr %t49, i32 0, i32 5 + store double %t48, ptr %t50 + br label %loop.c3 +loop.e2: + ret void +} + +define internal void @sc_bf__x25_fn59(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn59 +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_ctl_0 = alloca ptr ; ctl + %sc_l_i_0 = alloca ptr ; i + %sc_l_drained_0 = alloca ptr ; drained + %sc_l_ctl_1 = alloca ptr ; ctl + %sc_l_drained_1 = alloca ptr ; drained + %exc.cell = load ptr, ptr @scr_exc_active + %s26 = alloca [1 x ptr] + store ptr null, ptr %sc_l_ctl_1 + store ptr null, ptr %sc_l_drained_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_ctl_0 ; captured ctl + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_i_0 ; captured i + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_drained_0 ; captured drained + store ptr %p_sc_l_c_0, ptr %sc_l_c_0 + %t9 = call ptr @llvm.stacksave.p0() + %t10 = load ptr, ptr @scr_stack_guard + %t11 = icmp ult ptr %t9, %t10 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t13 = load ptr, ptr %sc_l_ctl_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_ctl_1 + %t16 = load ptr, ptr %sc_l_drained_0 + %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %sc_l_drained_1 + %t19 = load ptr, ptr %sc_l_ctl_1 + %t20 = call ptr @scr_dyn_prepare_method(ptr %t19, ptr @sc_cs_3739322700708094) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t20) + ret void +exc.k3: + %t24 = load ptr, ptr %sc_l_c_0 + %t25 = call ptr @sc_td_1(ptr %t24) + %t27 = getelementptr inbounds [1 x ptr], ptr %s26, i64 0, i64 0 + store ptr %t25, ptr %t27 + %t28 = call ptr @scr_dyn_invoke_prepared(ptr %t19, ptr %t20, ptr @sc_cs_3739322700708094, ptr %s26, i64 1, ptr @sc_cs_4217381500900616) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t28) + ret void +exc.k5: + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t28) + %t32 = load ptr, ptr %sc_l_drained_1 + %t33 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 1 + %t34 = load i64, ptr %t33, !tbaa !2, !range !{i64 0, i64 4294967296} + %t35 = sitofp i64 %t34 to double + %t36 = load ptr, ptr %sc_l_i_0 + %t37 = getelementptr inbounds %ScrBox, ptr %t36, i32 0, i32 5 + store double %t35, ptr %t37 + ret void +} +define internal void @sc_f__x25_fn59(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn59(ptr %sc_env, ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn60(ptr %sc_env) #0 { ; %fn60 +entry: + %sc_l_pump_0 = alloca ptr ; pump + %sc_l_ctl_0 = alloca ptr ; ctl + %sc_l_pump_1 = alloca ptr ; pump + %sc_l_ctl_1 = alloca ptr ; ctl + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_pump_1 + store ptr null, ptr %sc_l_ctl_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_pump_0 ; captured pump + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_ctl_0 ; captured ctl + %t6 = call ptr @llvm.stacksave.p0() + %t7 = load ptr, ptr @scr_stack_guard + %t8 = icmp ult ptr %t6, %t7 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t10 = load ptr, ptr %sc_l_pump_0 + %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5 + %t12 = load ptr, ptr %t11 + store ptr %t12, ptr %sc_l_pump_1 + %t13 = load ptr, ptr %sc_l_ctl_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_ctl_1 + %t16 = load ptr, ptr %sc_l_pump_1 + %t17 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 1 + %t18 = load ptr, ptr %t17 + %t19 = icmp eq ptr %t18, @sc_f__x25_fn58 + br i1 %t19, label %callback.direct2, label %callback.indirect3 +callback.direct2: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn58(ptr %t16) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.indirect3: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t18(ptr %t16) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.done4: + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u5, label %exc.k6 +exc.u5: + ret void +exc.k6: + %t23 = load ptr, ptr %sc_l_ctl_1 + %t24 = call ptr @scr_dyn_prepare_method(ptr %t23, ptr @sc_cs_863112869792180) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t24) + ret void +exc.k8: + %t28 = call ptr @scr_dyn_invoke_prepared(ptr %t23, ptr %t24, ptr @sc_cs_863112869792180, ptr null, i64 0, ptr @sc_cs_897001462723037) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + ret void +exc.k10: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + ret void +} + +define internal void @sc_f__x25_fn61(ptr %sc_env) #0 { ; %fn61 +entry: + %sc_l_pump_0 = alloca ptr ; pump + %sc_l_ctl_0 = alloca ptr ; ctl + %sc_l_pump_1 = alloca ptr ; pump + %sc_l_ctl_1 = alloca ptr ; ctl + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_pump_1 + store ptr null, ptr %sc_l_ctl_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_pump_0 ; captured pump + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_ctl_0 ; captured ctl + %t6 = call ptr @llvm.stacksave.p0() + %t7 = load ptr, ptr @scr_stack_guard + %t8 = icmp ult ptr %t6, %t7 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t10 = load ptr, ptr %sc_l_pump_0 + %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5 + %t12 = load ptr, ptr %t11 + store ptr %t12, ptr %sc_l_pump_1 + %t13 = load ptr, ptr %sc_l_ctl_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_ctl_1 + %t16 = load ptr, ptr %sc_l_pump_1 + %t17 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 1 + %t18 = load ptr, ptr %t17 + %t19 = icmp eq ptr %t18, @sc_f__x25_fn58 + br i1 %t19, label %callback.direct2, label %callback.indirect3 +callback.direct2: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn58(ptr %t16) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.indirect3: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t18(ptr %t16) + call void @scr_dyn_this_pop() + br label %callback.done4 +callback.done4: + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u5, label %exc.k6 +exc.u5: + ret void +exc.k6: + %t23 = load ptr, ptr %sc_l_ctl_1 + %t24 = call ptr @scr_dyn_prepare_method(ptr %t23, ptr @sc_cs_863112869792180) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t24) + ret void +exc.k8: + %t28 = call ptr @scr_dyn_invoke_prepared(ptr %t23, ptr %t24, ptr @sc_cs_863112869792180, ptr null, i64 0, ptr @sc_cs_897001462723037) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + ret void +exc.k10: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + ret void +} + +define internal void @sc_f__x25_fn57(ptr %sc_env, ptr %p_sc_l_ctl_0) #0 { ; %fn57 +entry: + %sc_l_ctl_0 = alloca ptr ; ctl + %sc_l_this_0 = alloca ptr ; this + %sc_l_self_0 = alloca ptr ; self + %sc_l_drained_0 = alloca ptr ; drained + %sc_l_i_0 = alloca ptr ; i + %sc_l_pump_0 = alloca ptr ; pump + %sc_l_im_0 = alloca ptr ; im + %sc_l_self_1 = alloca ptr ; self + %sc_l_pump_1 = alloca ptr ; pump + %sc_l_im_1 = alloca ptr ; im + %s9 = alloca ptr ; lazy box ctl + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_drained_0 + store ptr null, ptr %sc_l_i_0 + store ptr null, ptr %sc_l_pump_0 + store ptr null, ptr %sc_l_self_1 + store ptr null, ptr %sc_l_pump_1 + store ptr null, ptr %sc_l_im_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_this_0 ; captured this + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_self_0 ; captured self + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_im_0 ; captured im + store ptr null, ptr %s9 + store ptr %p_sc_l_ctl_0, ptr %sc_l_ctl_0 + %t10 = call ptr @llvm.stacksave.p0() + %t11 = load ptr, ptr @scr_stack_guard + %t12 = icmp ult ptr %t10, %t11 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t14 = load ptr, ptr %sc_l_self_0 + %t15 = getelementptr inbounds %ScrBox, ptr %t14, i32 0, i32 5 + %t16 = load ptr, ptr %t15 + store ptr %t16, ptr %sc_l_self_1 + %t17 = load ptr, ptr %sc_l_im_0 + %t18 = getelementptr inbounds %ScrBox, ptr %t17, i32 0, i32 5 + %t19 = load ptr, ptr %t18 + store ptr %t19, ptr %sc_l_im_1 + %t20 = call ptr @scr_box_new(i32 3) ; let drained (boxed) + store ptr %t20, ptr %sc_l_drained_0 + %t21 = load ptr, ptr %sc_l_self_1 + %t22 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t21, i64 0, i32 7 + %t23 = load ptr, ptr %t22, !tbaa !82 + %t24 = call ptr @scr_arr_retain_v(ptr %t23) + call void @scr_box_set_ref(ptr %t20, ptr %t24) + %t25 = call ptr @scr_box_new(i32 0) ; let i (boxed) + store ptr %t25, ptr %sc_l_i_0 + %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5 + store double 0x0000000000000000, ptr %t26 + %t27 = call ptr @scr_closure_new(ptr @sc_f__x25_fn58, i64 3) + %t28 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 4 + store i32 4, ptr %t28 + %t29 = load ptr, ptr %sc_l_i_0 + %t30 = call ptr @sc_retain_box(ptr %t29) + %t31 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps + %t32 = getelementptr inbounds ptr, ptr %t31, i64 0 ; caps[0] + store ptr %t30, ptr %t32 + %t33 = load ptr, ptr %sc_l_drained_0 + %t34 = call ptr @sc_retain_box(ptr %t33) + %t35 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps + %t36 = getelementptr inbounds ptr, ptr %t35, i64 1 ; caps[1] + store ptr %t34, ptr %t36 + %t37 = load ptr, ptr %s9 + %t38 = icmp eq ptr %t37, null + br i1 %t38, label %lazy.box3, label %lazy.box.j4 +lazy.box3: + %t39 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t40 = load ptr, ptr %sc_l_ctl_0 + %t41 = call ptr @sc_rc_retain_dyn(ptr %t40) + call void @scr_box_set_ref(ptr %t39, ptr %t41) + store ptr %t39, ptr %s9 + br label %lazy.box.j4 +lazy.box.j4: + %t42 = load ptr, ptr %s9 + %t43 = call ptr @sc_retain_box(ptr %t42) + %t44 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps + %t45 = getelementptr inbounds ptr, ptr %t44, i64 2 ; caps[2] + store ptr %t43, ptr %t45 + store ptr %t27, ptr %sc_l_pump_1 + %t46 = call ptr @scr_box_new(i32 4) ; let pump (boxed) + store ptr %t46, ptr %sc_l_pump_0 + %t47 = load ptr, ptr %sc_l_pump_1 + %t48 = call ptr @scr_closure_retain_v(ptr %t47) + call void @scr_box_set_ref(ptr %t46, ptr %t48) + %t49 = load ptr, ptr %sc_l_pump_1 + %t50 = getelementptr inbounds %ScrClosure, ptr %t49, i64 0, i32 1 + %t51 = load ptr, ptr %t50 + %t52 = icmp eq ptr %t51, @sc_f__x25_fn58 + br i1 %t52, label %callback.direct5, label %callback.indirect6 +callback.direct5: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn58(ptr %t49) + call void @scr_dyn_this_pop() + br label %callback.done7 +callback.indirect6: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t51(ptr %t49) + call void @scr_dyn_this_pop() + br label %callback.done7 +callback.done7: + %t53 = load i32, ptr %exc.cell + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u8, label %exc.k9 +exc.u8: + br label %exc.cleanup10 +exc.k9: + %t56 = load ptr, ptr %sc_l_im_1 + %t57 = call ptr @scr_http_req_retain_v(ptr %t56) + %t58 = call ptr @scr_closure_new(ptr @sc_f__x25_fn59, i64 3) + %t59 = getelementptr inbounds %ScrClosure, ptr %t58, i64 0, i32 4 + store i32 4, ptr %t59 + %t60 = getelementptr inbounds %ScrClosure, ptr %t58, i64 0, i32 7 + store ptr @sc_bf__x25_fn59, ptr %t60 + %t61 = load ptr, ptr %s9 + %t62 = icmp eq ptr %t61, null + br i1 %t62, label %lazy.box11, label %lazy.box.j12 +lazy.box11: + %t63 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t64 = load ptr, ptr %sc_l_ctl_0 + %t65 = call ptr @sc_rc_retain_dyn(ptr %t64) + call void @scr_box_set_ref(ptr %t63, ptr %t65) + store ptr %t63, ptr %s9 + br label %lazy.box.j12 +lazy.box.j12: + %t66 = load ptr, ptr %s9 + %t67 = call ptr @sc_retain_box(ptr %t66) + %t68 = getelementptr inbounds %ScrClosure, ptr %t58, i64 1 ; caps + %t69 = getelementptr inbounds ptr, ptr %t68, i64 0 ; caps[0] + store ptr %t67, ptr %t69 + %t70 = load ptr, ptr %sc_l_i_0 + %t71 = call ptr @sc_retain_box(ptr %t70) + %t72 = getelementptr inbounds %ScrClosure, ptr %t58, i64 1 ; caps + %t73 = getelementptr inbounds ptr, ptr %t72, i64 1 ; caps[1] + store ptr %t71, ptr %t73 + %t74 = load ptr, ptr %sc_l_drained_0 + %t75 = call ptr @sc_retain_box(ptr %t74) + %t76 = getelementptr inbounds %ScrClosure, ptr %t58, i64 1 ; caps + %t77 = getelementptr inbounds ptr, ptr %t76, i64 2 ; caps[2] + store ptr %t75, ptr %t77 + call void @scr_http_req_on_data(ptr %t57, ptr %t58, ptr @scr_net_data_thunk_bytes, i1 false) + call void @scr_http_req_release(ptr %t57) + %t78 = load ptr, ptr %sc_l_im_1 + %t79 = call ptr @scr_http_req_retain_v(ptr %t78) + %t80 = call ptr @scr_closure_new(ptr @sc_f__x25_fn60, i64 2) + %t81 = getelementptr inbounds %ScrClosure, ptr %t80, i64 0, i32 4 + store i32 4, ptr %t81 + %t82 = load ptr, ptr %sc_l_pump_0 + %t83 = call ptr @sc_retain_box(ptr %t82) + %t84 = getelementptr inbounds %ScrClosure, ptr %t80, i64 1 ; caps + %t85 = getelementptr inbounds ptr, ptr %t84, i64 0 ; caps[0] + store ptr %t83, ptr %t85 + %t86 = load ptr, ptr %s9 + %t87 = icmp eq ptr %t86, null + br i1 %t87, label %lazy.box13, label %lazy.box.j14 +lazy.box13: + %t88 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t89 = load ptr, ptr %sc_l_ctl_0 + %t90 = call ptr @sc_rc_retain_dyn(ptr %t89) + call void @scr_box_set_ref(ptr %t88, ptr %t90) + store ptr %t88, ptr %s9 + br label %lazy.box.j14 +lazy.box.j14: + %t91 = load ptr, ptr %s9 + %t92 = call ptr @sc_retain_box(ptr %t91) + %t93 = getelementptr inbounds %ScrClosure, ptr %t80, i64 1 ; caps + %t94 = getelementptr inbounds ptr, ptr %t93, i64 1 ; caps[1] + store ptr %t92, ptr %t94 + call void @scr_http_req_on_end(ptr %t79, ptr %t80, i1 false) + call void @scr_http_req_release(ptr %t79) + %t95 = load ptr, ptr %sc_l_im_1 + %t96 = call ptr @scr_http_req_retain_v(ptr %t95) + %t97 = call ptr @scr_closure_new(ptr @sc_f__x25_fn61, i64 2) + %t98 = getelementptr inbounds %ScrClosure, ptr %t97, i64 0, i32 4 + store i32 4, ptr %t98 + %t99 = load ptr, ptr %sc_l_pump_0 + %t100 = call ptr @sc_retain_box(ptr %t99) + %t101 = getelementptr inbounds %ScrClosure, ptr %t97, i64 1 ; caps + %t102 = getelementptr inbounds ptr, ptr %t101, i64 0 ; caps[0] + store ptr %t100, ptr %t102 + %t103 = load ptr, ptr %s9 + %t104 = icmp eq ptr %t103, null + br i1 %t104, label %lazy.box15, label %lazy.box.j16 +lazy.box15: + %t105 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) + %t106 = load ptr, ptr %sc_l_ctl_0 + %t107 = call ptr @sc_rc_retain_dyn(ptr %t106) + call void @scr_box_set_ref(ptr %t105, ptr %t107) + store ptr %t105, ptr %s9 + br label %lazy.box.j16 +lazy.box.j16: + %t108 = load ptr, ptr %s9 + %t109 = call ptr @sc_retain_box(ptr %t108) + %t110 = getelementptr inbounds %ScrClosure, ptr %t97, i64 1 ; caps + %t111 = getelementptr inbounds ptr, ptr %t110, i64 1 ; caps[1] + store ptr %t109, ptr %t111 + call void @scr_http_req_on_error(ptr %t96, ptr %t97, ptr @scr_child_err_thunk0, i1 false) + call void @scr_http_req_release(ptr %t96) + %t112 = load ptr, ptr %s9 + %t113 = icmp ne ptr %t112, null + br i1 %t113, label %lazy.release17, label %lazy.release.j18 +lazy.release17: + call void @scr_box_release(ptr %t112) + br label %lazy.release.j18 +lazy.release.j18: + %t114 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rc_release_dyn(ptr %t114) + %t115 = load ptr, ptr %sc_l_drained_0 + call void @scr_box_release(ptr %t115) + %t116 = load ptr, ptr %sc_l_i_0 + call void @scr_box_release(ptr %t116) + %t117 = load ptr, ptr %sc_l_pump_1 + call void @scr_closure_release(ptr %t117) + %t118 = load ptr, ptr %sc_l_pump_0 + call void @scr_box_release(ptr %t118) + ret void +exc.cleanup2: + %t119 = load ptr, ptr %s9 + %t120 = icmp ne ptr %t119, null + br i1 %t120, label %lazy.release19, label %lazy.release.j20 +lazy.release19: + call void @scr_box_release(ptr %t119) + br label %lazy.release.j20 +lazy.release.j20: + %t121 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rc_release_dyn(ptr %t121) + ret void +exc.cleanup10: + %t122 = load ptr, ptr %s9 + %t123 = icmp ne ptr %t122, null + br i1 %t123, label %lazy.release21, label %lazy.release.j22 +lazy.release21: + call void @scr_box_release(ptr %t122) + br label %lazy.release.j22 +lazy.release.j22: + %t124 = load ptr, ptr %sc_l_ctl_0 + call void @sc_rc_release_dyn(ptr %t124) + %t125 = load ptr, ptr %sc_l_drained_0 + call void @scr_box_release(ptr %t125) + %t126 = load ptr, ptr %sc_l_i_0 + call void @scr_box_release(ptr %t126) + %t127 = load ptr, ptr %sc_l_pump_1 + call void @scr_closure_release(ptr %t127) + %t128 = load ptr, ptr %sc_l_pump_0 + call void @scr_box_release(ptr %t128) + ret void +} + +define internal void @sc_bf__x25_error_name_write(ptr %p_sc_l_error_0, ptr %p_sc_l_value) #0 { ; %error.name.write +entry: + %sc_l_error_0 = alloca ptr ; error + %sc_l_value = alloca ptr ; value + store ptr %p_sc_l_error_0, ptr %sc_l_error_0 + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_error_0 + %t1 = getelementptr inbounds %ScrError, ptr %t0, i64 0, i32 9 + %t2 = load i8, ptr %t1, !tbaa !206 + %t3 = trunc i8 %t2 to i1 + br i1 %t3, label %if.t0, label %if.j1 +if.t0: + %t4 = load ptr, ptr %sc_l_error_0 + %t5 = getelementptr inbounds %ScrError, ptr %t4, i64 0, i32 9 + %t6 = load i8, ptr %t5, !tbaa !206 + %t7 = trunc i8 %t6 to i1 + %t8 = xor i1 %t7, true + br i1 %t8, label %if.t2, label %if.j3 +if.t2: + %t9 = load ptr, ptr %sc_l_error_0 + %t10 = getelementptr inbounds %ScrError, ptr %t9, i64 0, i32 10 + %t11 = zext i1 true to i8 + store i8 %t11, ptr %t10, !tbaa !208 + br label %if.j3 +if.j3: + %t12 = load ptr, ptr %sc_l_error_0 + %t13 = load ptr, ptr %sc_l_value + %t14 = call ptr @sc_rc_retain_str(ptr %t13) + %t15 = getelementptr inbounds %ScrError, ptr %t12, i64 0, i32 2 + %t16 = load ptr, ptr %t15 + store ptr %t14, ptr %t15, !tbaa !10 + call void @scr_str_release(ptr %t16) + %t17 = getelementptr inbounds %ScrError, ptr %t12, i64 0, i32 9 + %t18 = getelementptr inbounds %ScrError, ptr %t12, i64 0, i32 10 + %t19 = load i8, ptr %t17 + %t20 = load i8, ptr %t18 + %t21 = icmp ne i8 %t19, 0 + %t22 = select i1 %t21, i8 %t20, i8 1 + store i8 1, ptr %t17 + store i8 %t22, ptr %t18 + %t23 = load ptr, ptr %sc_l_error_0 + %t24 = getelementptr inbounds %ScrError, ptr %t23, i64 0, i32 9 + %t25 = zext i1 true to i8 + store i8 %t25, ptr %t24, !tbaa !206 + ret void +if.j1: + %t26 = load ptr, ptr %sc_l_error_0 + %t27 = getelementptr inbounds %ScrError, ptr %t26, i64 0, i32 9 + %t28 = load i8, ptr %t27, !tbaa !206 + %t29 = trunc i8 %t28 to i1 + %t30 = xor i1 %t29, true + br i1 %t30, label %if.t4, label %if.j5 +if.t4: + %t31 = load ptr, ptr %sc_l_error_0 + %t32 = getelementptr inbounds %ScrError, ptr %t31, i64 0, i32 10 + %t33 = zext i1 true to i8 + store i8 %t33, ptr %t32, !tbaa !208 + br label %if.j5 +if.j5: + %t34 = load ptr, ptr %sc_l_error_0 + %t35 = load ptr, ptr %sc_l_value + %t36 = call ptr @sc_rc_retain_str(ptr %t35) + %t37 = getelementptr inbounds %ScrError, ptr %t34, i64 0, i32 2 + %t38 = load ptr, ptr %t37 + store ptr %t36, ptr %t37, !tbaa !10 + call void @scr_str_release(ptr %t38) + %t39 = getelementptr inbounds %ScrError, ptr %t34, i64 0, i32 9 + %t40 = getelementptr inbounds %ScrError, ptr %t34, i64 0, i32 10 + %t41 = load i8, ptr %t39 + %t42 = load i8, ptr %t40 + %t43 = icmp ne i8 %t41, 0 + %t44 = select i1 %t43, i8 %t42, i8 1 + store i8 1, ptr %t39 + store i8 %t44, ptr %t40 + %t45 = load ptr, ptr %sc_l_error_0 + %t46 = getelementptr inbounds %ScrError, ptr %t45, i64 0, i32 9 + %t47 = zext i1 true to i8 + store i8 %t47, ptr %t46, !tbaa !206 + ret void +} +define internal void @sc_f__x25_error_name_write(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_error_name_write(ptr %p0, ptr %p1) + call void @scr_error_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal i1 @sc_bf__x25_dyn_class_forInBagHas(ptr %p_sc_l_bag, ptr %p_sc_l_key) #0 { ; %dyn.class.forInBagHas +entry: + %sc_l_bag = alloca ptr ; bag + %sc_l_key = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_bag, ptr %sc_l_bag + store ptr %p_sc_l_key, ptr %sc_l_key + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_bag + %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 6 + br i1 %t7, label %if.t2, label %if.j3 +if.t2: + ret i1 false +if.j3: + %t8 = load ptr, ptr %sc_l_bag + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = load ptr, ptr %sc_l_key + %t11 = call ptr @sc_rc_retain_str(ptr %t10) + %t12 = call zeroext i1 @scr_dyn_has_key(ptr %t9, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @scr_str_release(ptr %t11) + ret i1 false +exc.k5: + call void @sc_rc_release_dyn(ptr %t9) + call void @scr_str_release(ptr %t11) + ret i1 %t12 +} +define internal i1 @sc_f__x25_dyn_class_forInBagHas(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_dyn_class_forInBagHas(ptr %p0, ptr %p1) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal i1 @sc_bf__x25_dyn_class_forInHasKey(ptr %p_sc_l_value, ptr %p_sc_l_key) #0 { ; %dyn.class.forInHasKey +entry: + %sc_l_value = alloca ptr ; value + %sc_l_key = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + %s15 = alloca i1 + store ptr %p_sc_l_value, ptr %sc_l_value + store ptr %p_sc_l_key, ptr %sc_l_key + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t5 = call ptr @sc_rc_retain_dyn(ptr %t4) + %t6 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret i1 false +exc.k3: + %t10 = load ptr, ptr %sc_l_key + %t11 = call i1 @sc_bf__x25_dyn_class_forInBagHas(ptr %t6, ptr %t10) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t6) + ret i1 %t11 +exc.k5: + call void @sc_rc_release_dyn(ptr %t6) + store i1 %t11, ptr %s15 + br i1 %t11, label %log.j7, label %log.r6 +log.r6: + %t16 = load ptr, ptr %sc_l_value + %t17 = call ptr @sc_rc_retain_dyn(ptr %t16) + %t18 = load ptr, ptr %sc_l_key + %t19 = call ptr @sc_rc_retain_str(ptr %t18) + %t20 = call zeroext i1 @scr_dyn_has_key(ptr %t17, ptr %t19) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t17) + call void @scr_str_release(ptr %t19) + ret i1 false +exc.k9: + store i1 %t20, ptr %s15 + call void @sc_rc_release_dyn(ptr %t17) + call void @scr_str_release(ptr %t19) + br label %log.j7 +log.j7: + %t24 = load i1, ptr %s15 + ret i1 %t24 +} +define internal i1 @sc_f__x25_dyn_class_forInHasKey(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_dyn_class_forInHasKey(ptr %p0, ptr %p1) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink() #0 { ; %prototype.data.%m4.MultipartFileSink +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_298897322184109) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write) + %t13 = call ptr @sc_dfb_0(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_952059176356082) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end) + %t34 = call ptr @sc_dfb_1(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_1026109439396001) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort) + %t55 = call ptr @sc_dfb_1(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + ret ptr null +exc.k27: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = call ptr @sc_td_0(ptr @sc_lit_1048673592241930) + %t74 = call ptr @scr_dyn_new_obj() + %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file) + %t76 = call ptr @sc_dfb_67(ptr %t75, ptr null) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + ret ptr null +exc.k29: + %t80 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + ret ptr null +exc.k31: + %t84 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k33: + %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t88) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t88) + br label %if.j3 +if.j3: + %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + ret ptr %t93 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartFileSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MultipartFileSink +entry: + %sc_l_this_0 = alloca ptr ; this + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s29 = alloca i1 + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_2072202777142634 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_2072202777142634) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_this_0 + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_2072202777142634 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_26(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + ret ptr %t27 +if.j5: + %t28 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s29 + %t30 = icmp ne ptr %t28, null + br i1 %t30, label %brand.inspect13, label %brand.done15 +brand.inspect13: + %t31 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t33 = icmp eq i32 %t32, 12 + br i1 %t33, label %brand.capsule14, label %brand.done15 +brand.capsule14: + %t34 = getelementptr inbounds i8, ptr %t28, i64 40 ; ->v.typed_ref.type_key + %t35 = load ptr, ptr %t34 + %t36 = icmp eq ptr %t35, @sc_cs_3728566007289652 + store i1 true, ptr %s29 + br i1 %t36, label %brand.done15, label %brand.compare16 +brand.compare16: + %t37 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t28, ptr @sc_lit_3728566007289652) + store i1 %t37, ptr %s29 + br label %brand.done15 +brand.done15: + %t38 = load i1, ptr %s29 + br i1 %t38, label %if.t17, label %if.j18 +if.t17: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect19, label %dc.checked22 +dc.inspect19: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule20, label %dc.checked22 +dc.capsule20: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_3728566007289652 + br i1 %t45, label %dc.exact21, label %dc.checked22 +dc.exact21: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done23 +dc.checked22: + %t51 = call ptr @sc_dc_100(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u24, label %exc.k25 +exc.u24: + ret ptr null +exc.k25: + br label %dc.done23 +dc.done23: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j18: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect26, label %brand.done28 +brand.inspect26: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule27, label %brand.done28 +brand.capsule27: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_3573893819363590 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done28, label %brand.compare29 +brand.compare29: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_3573893819363590) + store i1 %t65, ptr %s57 + br label %brand.done28 +brand.done28: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t30, label %if.j31 +if.t30: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect32, label %dc.checked35 +dc.inspect32: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule33, label %dc.checked35 +dc.capsule33: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_3573893819363590 + br i1 %t73, label %dc.exact34, label %dc.checked35 +dc.exact34: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m4_DiskFileSink(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done36 +dc.checked35: + %t79 = call ptr @sc_dc_120(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u37, label %exc.k38 +exc.u37: + ret ptr null +exc.k38: + br label %dc.done36 +dc.done36: + %t83 = load ptr, ptr %s68 + ret ptr %t83 +if.j31: + %t84 = load ptr, ptr %sc_l_this_0 + %t85 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %t84) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_release__x25_m4_MultipartFileSink(ptr %t85) + ret ptr null +exc.k40: + ret ptr %t85 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MultipartFileSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartFileSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MultipartFileSink.write +entry: + %sc_l_p_0 = alloca ptr ; p0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_write(ptr %t0) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end() #0 { ; %method.value:%%m4.MultipartFileSink.end +entry: + call void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_end() + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort() #0 { ; %method.value:%%m4.MultipartFileSink.abort +entry: + call void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_abort() + ret void +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file() #0 { ; %method.value:%%m4.MultipartFileSink.file +entry: + %t0 = call ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_file() + ret ptr %t0 +} + +define internal ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage() #0 { ; %prototype.data.%m4.MultipartStorage +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_4062729090063393) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin) + %t13 = call ptr @sc_dfb_68(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + br label %if.j3 +if.j3: + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + ret ptr %t30 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartStorage(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MultipartStorage +entry: + %sc_l_this_0 = alloca ptr ; this + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s29 = alloca i1 + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_3635319175845957 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3635319175845957) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_this_0 + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_3635319175845957 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_24(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + ret ptr %t27 +if.j5: + %t28 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s29 + %t30 = icmp ne ptr %t28, null + br i1 %t30, label %brand.inspect13, label %brand.done15 +brand.inspect13: + %t31 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t33 = icmp eq i32 %t32, 12 + br i1 %t33, label %brand.capsule14, label %brand.done15 +brand.capsule14: + %t34 = getelementptr inbounds i8, ptr %t28, i64 40 ; ->v.typed_ref.type_key + %t35 = load ptr, ptr %t34 + %t36 = icmp eq ptr %t35, @sc_cs_3456310594719780 + store i1 true, ptr %s29 + br i1 %t36, label %brand.done15, label %brand.compare16 +brand.compare16: + %t37 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t28, ptr @sc_lit_3456310594719780) + store i1 %t37, ptr %s29 + br label %brand.done15 +brand.done15: + %t38 = load i1, ptr %s29 + br i1 %t38, label %if.t17, label %if.j18 +if.t17: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect19, label %dc.checked22 +dc.inspect19: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule20, label %dc.checked22 +dc.capsule20: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_3456310594719780 + br i1 %t45, label %dc.exact21, label %dc.checked22 +dc.exact21: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done23 +dc.checked22: + %t51 = call ptr @sc_dc_99(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u24, label %exc.k25 +exc.u24: + ret ptr null +exc.k25: + br label %dc.done23 +dc.done23: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j18: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect26, label %brand.done28 +brand.inspect26: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule27, label %brand.done28 +brand.capsule27: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_2020403498516894 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done28, label %brand.compare29 +brand.compare29: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2020403498516894) + store i1 %t65, ptr %s57 + br label %brand.done28 +brand.done28: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t30, label %if.j31 +if.t30: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect32, label %dc.checked35 +dc.inspect32: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule33, label %dc.checked35 +dc.capsule33: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_2020403498516894 + br i1 %t73, label %dc.exact34, label %dc.checked35 +dc.exact34: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m4_DiskStorage(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done36 +dc.checked35: + %t79 = call ptr @sc_dc_121(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u37, label %exc.k38 +exc.u37: + ret ptr null +exc.k38: + br label %dc.done36 +dc.done36: + %t83 = load ptr, ptr %s68 + ret ptr %t83 +if.j31: + %t84 = load ptr, ptr %sc_l_this_0 + %t85 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartStorage(ptr %t84) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_release__x25_m4_MultipartStorage(ptr %t85) + ret ptr null +exc.k40: + ret ptr %t85 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MultipartStorage(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartStorage(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m4.MultipartStorage.begin +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + %t2 = load ptr, ptr %sc_l_p_2 + %t3 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartStorage_begin(ptr %t0, ptr %t1, ptr %t2) + ret ptr %t3 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret ptr %result +} + +define internal void @sc_f__x25_fn63_done(ptr %sc_env) #0 { ; %fn63_done +entry: + %sc_l_c_0 = alloca ptr ; c + %sc_l_sink_0 = alloca ptr ; sink + %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver + %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag + %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent + %sc_l__x25_callback_0 = alloca ptr ; %callback + %sc_l_r_0 = alloca ptr ; r + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_c_1 = alloca ptr ; c + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_resolve_1 = alloca ptr ; resolve + %s30 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + %s42 = alloca ptr + store ptr null, ptr %sc_l__x25_callbackReceiver_0 + store ptr null, ptr %sc_l__x25_callbackBag_0 + store ptr null, ptr %sc_l__x25_callback_0 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_resolve_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_c_0 ; captured c + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_sink_0 ; captured sink + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_r_0 ; captured r + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_resolve_0 ; captured resolve + %t12 = call ptr @llvm.stacksave.p0() + %t13 = load ptr, ptr @scr_stack_guard + %t14 = icmp ult ptr %t12, %t13 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t16 = load ptr, ptr %sc_l_c_0 + %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5 + %t18 = load ptr, ptr %t17 + store ptr %t18, ptr %sc_l_c_1 + %t19 = load ptr, ptr %sc_l_sink_0 + %t20 = getelementptr inbounds %ScrBox, ptr %t19, i32 0, i32 5 + %t21 = load ptr, ptr %t20 + store ptr %t21, ptr %sc_l_sink_1 + %t22 = load ptr, ptr %sc_l_resolve_0 + %t23 = getelementptr inbounds %ScrBox, ptr %t22, i32 0, i32 5 + %t24 = load ptr, ptr %t23 + store ptr %t24, ptr %sc_l_resolve_1 + %t25 = load ptr, ptr %sc_l_c_1 + %t26 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t25, i64 0, i32 5 + %t27 = load i8, ptr %t26, !tbaa !42 + %t28 = trunc i8 %t27 to i1 + %t29 = icmp eq i1 %t28, false + store i1 %t29, ptr %s30 + br i1 %t29, label %log.r2, label %log.j3 +log.r2: + %t31 = load ptr, ptr %sc_l_sink_1 + store ptr %t31, ptr %sc_l__x25_callbackReceiver_0 + %t32 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t34 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t33) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t34) + ret void +exc.k5: + store ptr %t34, ptr %sc_l__x25_callbackBag_0 + store i1 true, ptr %sc_l__x25_callbackPresent_0 + %t38 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t39 = getelementptr inbounds i8, ptr %t38, i64 8 ; ->kind + %t40 = load i32, ptr %t39 + %t41 = icmp eq i32 %t40, 6 + br i1 %t41, label %tern.t6, label %tern.f7 +tern.t6: + %t44 = call ptr @scr_dyn_undefined() + %t43 = call ptr @scr_dyn_retain_v(ptr %t44) + store ptr %t43, ptr %s42 + br label %tern.j8 +tern.f7: + %t45 = load ptr, ptr %sc_l__x25_callbackBag_0 + %t46 = call ptr @sc_rc_retain_dyn(ptr %t45) + %t47 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t46) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t47) + br label %exc.cleanup11 +exc.k10: + store ptr %t47, ptr %s42 + br label %tern.j8 +tern.j8: + %t51 = load ptr, ptr %s42 + store ptr %t51, ptr %sc_l__x25_callback_0 + %t52 = load ptr, ptr %sc_l__x25_callback_0 + %t53 = load ptr, ptr %sc_l__x25_callbackReceiver_0 + %t54 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t53, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_this_push_dyn(ptr %t54) + %t55 = call ptr @scr_dyn_call(ptr %t52, ptr null, i64 0, ptr @sc_cs_3079164241922068) + call void @scr_dyn_this_pop() + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + br label %exc.cleanup14 +exc.k13: + %t59 = call zeroext i1 @sc_dc_3(ptr %t55, ptr null) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + br label %exc.cleanup14 +exc.k16: + %t63 = icmp eq i1 %t59, false + store i1 %t63, ptr %s30 + call void @sc_rc_release_dyn(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + %t64 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t64) + %t65 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t65) + br label %log.j3 +log.j3: + %t66 = load i1, ptr %s30 + br i1 %t66, label %if.t17, label %if.j18 +if.t17: + %t67 = load ptr, ptr %sc_l_r_0 + %t68 = call ptr @scr_box_get_ref(ptr %t67) + %t69 = load ptr, ptr %sc_l_c_1 + %t70 = call i1 @sc_bf__x25_m5_adoptResponse(ptr %t68, ptr %t69) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u19, label %exc.k20 +exc.u19: + call void @sc_rc_release_dyn(ptr %t68) + ret void +exc.k20: + call void @sc_rc_release_dyn(ptr %t68) + %t74 = icmp eq i1 %t70, false + br i1 %t74, label %if.t21, label %if.j22 +if.t21: + %t75 = load ptr, ptr %sc_l_sink_1 + call void @sc_bf__x25_m5_send500(ptr %t75) + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u23, label %exc.k24 +exc.u23: + ret void +exc.k24: + br label %if.j22 +if.j22: + br label %if.j18 +if.j18: + %t79 = load ptr, ptr %sc_l_resolve_1 + %t80 = getelementptr inbounds %ScrClosure, ptr %t79, i64 0, i32 1 + %t81 = load ptr, ptr %t80 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t81(ptr %t79) + call void @scr_dyn_this_pop() + %t82 = load i32, ptr %exc.cell + %t83 = icmp ne i32 %t82, 0 + %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false) + br i1 %t84, label %exc.u25, label %exc.k26 +exc.u25: + ret void +exc.k26: + ret void +exc.cleanup11: + %t85 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t85) + ret void +exc.cleanup14: + %t86 = load ptr, ptr %sc_l__x25_callbackBag_0 + call void @sc_rc_release_dyn(ptr %t86) + %t87 = load ptr, ptr %sc_l__x25_callback_0 + call void @sc_rc_release_dyn(ptr %t87) + ret void +} + +define internal void @sc_bf__x25_fn64(ptr %sc_env, ptr %p_sc_l_v_0) #0 { ; %fn64 +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_c_0 = alloca ptr ; c + %sc_l_r_0 = alloca ptr ; r + %sc_l_done_0 = alloca ptr ; done + %sc_l_c_1 = alloca ptr ; c + %sc_l_done_1 = alloca ptr ; done + %s23 = alloca i1 + %s30 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_done_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_c_0 ; captured c + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_r_0 ; captured r + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_done_0 ; captured done + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + %t9 = call ptr @llvm.stacksave.p0() + %t10 = load ptr, ptr @scr_stack_guard + %t11 = icmp ult ptr %t9, %t10 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t13 = load ptr, ptr %sc_l_c_0 + %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5 + %t15 = load ptr, ptr %t14 + store ptr %t15, ptr %sc_l_c_1 + %t16 = load ptr, ptr %sc_l_done_0 + %t17 = call ptr @scr_box_get_ref(ptr %t16) + store ptr %t17, ptr %sc_l_done_1 + %t18 = load ptr, ptr %sc_l_v_0 + %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind + %t20 = load i32, ptr %t19 + %t21 = icmp eq i32 %t20, 0 + %t22 = xor i1 %t21, true + store i1 %t22, ptr %s23 + br i1 %t22, label %log.r2, label %log.j3 +log.r2: + %t24 = load ptr, ptr %sc_l_v_0 + %t25 = getelementptr inbounds i8, ptr %t24, i64 8 ; ->kind + %t26 = load i32, ptr %t25 + %t27 = icmp eq i32 %t26, 6 + %t28 = xor i1 %t27, true + store i1 %t28, ptr %s23 + br label %log.j3 +log.j3: + %t29 = load i1, ptr %s23 + store i1 %t29, ptr %s30 + br i1 %t29, label %log.r4, label %log.j5 +log.r4: + %t31 = load ptr, ptr %sc_l_v_0 + %t32 = load ptr, ptr %sc_l_c_1 + %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t34 = call zeroext i1 @scr_dyn_strict_eq(ptr %t31, ptr %t33) + %t35 = xor i1 %t34, true + store i1 %t35, ptr %s30 + call void @sc_rc_release_dyn(ptr %t33) + br label %log.j5 +log.j5: + %t36 = load i1, ptr %s30 + br i1 %t36, label %if.t6, label %if.j7 +if.t6: + %t37 = load ptr, ptr %sc_l_v_0 + %t38 = call ptr @sc_rc_retain_dyn(ptr %t37) + %t39 = load ptr, ptr %sc_l_r_0 + call void @scr_box_set_ref(ptr %t39, ptr %t38) + br label %if.j7 +if.j7: + %t40 = load ptr, ptr %sc_l_done_1 + %t41 = getelementptr inbounds %ScrClosure, ptr %t40, i64 0, i32 1 + %t42 = load ptr, ptr %t41 + %t43 = icmp eq ptr %t42, @sc_f__x25_fn63_done + br i1 %t43, label %callback.direct8, label %callback.indirect9 +callback.direct8: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn63_done(ptr %t40) + call void @scr_dyn_this_pop() + br label %callback.done10 +callback.indirect9: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t42(ptr %t40) + call void @scr_dyn_this_pop() + br label %callback.done10 +callback.done10: + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u11, label %exc.k12 +exc.u11: + br label %exc.cleanup13 +exc.k12: + %t47 = load ptr, ptr %sc_l_done_1 + call void @scr_closure_release(ptr %t47) + ret void +exc.cleanup13: + %t48 = load ptr, ptr %sc_l_done_1 + call void @scr_closure_release(ptr %t48) + ret void +} +define internal void @sc_f__x25_fn64(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn64(ptr %sc_env, ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_fn65(ptr %sc_env, ptr %p_sc_l_e_0) #0 { ; %fn65 +entry: + %sc_l_e_0 = alloca ptr ; e + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_c_0 = alloca ptr ; c + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_oef_1 = alloca ptr ; oef + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_c_1 = alloca ptr ; c + %sc_l_resolve_1 = alloca ptr ; resolve + %s16 = alloca %ScrUnion + %s17 = getelementptr inbounds %ScrUnion, ptr %s16, i32 0, i32 1 + %s18 = getelementptr inbounds %ScrUnion, ptr %s16, i32 0, i32 5 + %s19 = alloca ptr + %s26 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_oef_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_resolve_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_oef_0 ; captured oef + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_sink_0 ; captured sink + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_c_0 ; captured c + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_resolve_0 ; captured resolve + store ptr %p_sc_l_e_0, ptr %sc_l_e_0 + %t12 = call ptr @llvm.stacksave.p0() + %t13 = load ptr, ptr @scr_stack_guard + %t14 = icmp ult ptr %t12, %t13 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + store ptr null, ptr %s19 + %t20 = load ptr, ptr %sc_l_oef_0 + %t21 = getelementptr inbounds %ScrBox, ptr %t20, i32 0, i32 5 + %t22 = load ptr, ptr %t21 + %t24 = getelementptr inbounds %ScrUnion, ptr %t22, i64 0, i32 1 + %t23 = load i32, ptr %t24 + store ptr null, ptr %s26 + %t25 = icmp eq i32 %t23, 0 + br i1 %t25, label %union.copy.ref2, label %union.copy.join3 +union.copy.ref2: + %t27 = getelementptr inbounds %ScrUnion, ptr %t22, i64 0, i32 5 + %t28 = load ptr, ptr %t27 + %t29 = call ptr @scr_closure_retain_v(ptr %t28) + store ptr %t29, ptr %s26 + br label %union.copy.join3 +union.copy.join3: + %t30 = load ptr, ptr %s26 + %t32 = getelementptr inbounds %ScrUnion, ptr %t22, i64 0, i32 1 + %t31 = load i32, ptr %t32 + %t33 = getelementptr inbounds %ScrUnion, ptr %t22, i32 0, i32 5 + %t34 = load i64, ptr %t33 + store i32 %t31, ptr %s17 + store i64 %t34, ptr %s18 + %t35 = load ptr, ptr %s19 + store ptr %t30, ptr %s19 + call void @scr_closure_release(ptr %t35) + store ptr %s16, ptr %sc_l_oef_1 + %t36 = load ptr, ptr %sc_l_sink_0 + %t37 = getelementptr inbounds %ScrBox, ptr %t36, i32 0, i32 5 + %t38 = load ptr, ptr %t37 + store ptr %t38, ptr %sc_l_sink_1 + %t39 = load ptr, ptr %sc_l_c_0 + %t40 = getelementptr inbounds %ScrBox, ptr %t39, i32 0, i32 5 + %t41 = load ptr, ptr %t40 + store ptr %t41, ptr %sc_l_c_1 + %t42 = load ptr, ptr %sc_l_resolve_0 + %t43 = getelementptr inbounds %ScrBox, ptr %t42, i32 0, i32 5 + %t44 = load ptr, ptr %t43 + store ptr %t44, ptr %sc_l_resolve_1 + %t45 = load ptr, ptr %sc_l_oef_1 + %t48 = getelementptr inbounds %ScrUnion, ptr %t45, i64 0, i32 1 + %t47 = load i32, ptr %t48 + %t46 = icmp ne i32 %t47, 1 + br i1 %t46, label %if.t4, label %if.f6 +if.t4: + %t49 = load ptr, ptr %sc_l_oef_1 + %t50 = getelementptr inbounds %ScrUnion, ptr %t49, i64 0, i32 5 + %t51 = load ptr, ptr %t50 + %t52 = load ptr, ptr %sc_l_e_0 + %t53 = load ptr, ptr %sc_l_sink_1 + %t54 = load ptr, ptr %sc_l_c_1 + call void @sc_bf__x25_m5_runOnError(ptr %t51, ptr %t52, ptr %t53, ptr %t54) + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u7, label %exc.k8 +exc.u7: + br label %exc.cleanup9 +exc.k8: + br label %if.j5 +if.f6: + %t58 = load ptr, ptr %sc_l_sink_1 + call void @sc_bf__x25_m5_send500(ptr %t58) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u10, label %exc.k11 +exc.u10: + br label %exc.cleanup9 +exc.k11: + br label %if.j5 +if.j5: + %t62 = load ptr, ptr %sc_l_resolve_1 + %t63 = getelementptr inbounds %ScrClosure, ptr %t62, i64 0, i32 1 + %t64 = load ptr, ptr %t63 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t64(ptr %t62) + call void @scr_dyn_this_pop() + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u12, label %exc.k13 +exc.u12: + br label %exc.cleanup9 +exc.k13: + %t68 = load ptr, ptr %s19 + call void @scr_closure_release(ptr %t68) + ret void +exc.cleanup9: + %t69 = load ptr, ptr %s19 + call void @scr_closure_release(ptr %t69) + ret void +} +define internal void @sc_f__x25_fn65(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn65(ptr %sc_env, ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn66_then2(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_f_0, ptr %p_sc_l_r_0) #0 { ; %fn66_then2 +entry: + %sc_l_p_0 = alloca ptr ; p + %sc_l_f_0 = alloca ptr ; f + %sc_l_r_0 = alloca ptr ; r + %sc_l_e_0 = alloca ptr ; e + %sc_l_v_0 = alloca ptr ; v + %s20 = alloca [1 x ptr] + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l_v_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_f_0, ptr %sc_l_f_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @scr_promise_retain_v(ptr %t4) + %t6 = call ptr @scr_await_ref(ptr %t5) + %t7 = load ptr, ptr @scr_exc_active + %t8 = load i32, ptr %t7 + %t9 = icmp ne i32 %t8, 0 + %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false) + br i1 %t10, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_promise_release(ptr %t5) + call void @sc_rc_release_dyn(ptr %t6) + br label %try.c3 +exc.k7: + store ptr %t6, ptr %sc_l_v_0 + call void @scr_promise_release(ptr %t5) + %t11 = load ptr, ptr %sc_l_v_0 + call void @sc_rc_release_dyn(ptr %t11) + br label %try.e5 +try.c3: + %t12 = call ptr @scr_exc_take() ; catch binding + store ptr %t12, ptr %sc_l_e_0 + %t13 = load ptr, ptr %sc_l_r_0 + %t14 = load ptr, ptr %sc_l_e_0 + %t15 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t14) + %t16 = load ptr, ptr @scr_exc_active + %t17 = load i32, ptr %t16 + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t15) + br label %exc.cleanup10 +exc.k9: + %t21 = getelementptr inbounds [1 x ptr], ptr %s20, i64 0, i64 0 + store ptr %t15, ptr %t21 + call void @scr_dyn_this_push_dyn(ptr null) + %t22 = call ptr @scr_dyn_call(ptr %t13, ptr %s20, i64 1, ptr @sc_cs_1235448592878459) + call void @scr_dyn_this_pop() + %t23 = load ptr, ptr @scr_exc_active + %t24 = load i32, ptr %t23 + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup10 +exc.k12: + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t22) + %t27 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t27) + %t28 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t28) + %t29 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t29) + %t30 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t30) + ret void +try.e5: + %t31 = load ptr, ptr %sc_l_f_0 + %t32 = load ptr, ptr %sc_l_v_0 + %t33 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 1 + %t34 = load ptr, ptr %t33 + %t35 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 7 + %t36 = load ptr, ptr %t35 + %t37 = icmp ne ptr %t36, null + br i1 %t37, label %callback.lend13, label %callback.own14 +callback.lend13: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t36(ptr %t31, ptr %t32) + call void @scr_dyn_this_pop() + br label %callback.done15 +callback.own14: + %t38 = call ptr @sc_rc_retain_dyn(ptr %t32) + call void @scr_dyn_this_push_dyn(ptr null) + call void %t34(ptr %t31, ptr %t38) + call void @scr_dyn_this_pop() + br label %callback.done15 +callback.done15: + %t39 = load ptr, ptr @scr_exc_active + %t40 = load i32, ptr %t39 + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u16, label %exc.k17 +exc.u16: + br label %exc.cleanup2 +exc.k17: + %t43 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t43) + %t44 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t44) + %t45 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t45) + ret void +exc.cleanup2: + %t46 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t46) + %t47 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t47) + %t48 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t48) + ret void +exc.cleanup10: + %t49 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t49) + %t50 = load ptr, ptr %sc_l_p_0 + call void @scr_promise_release(ptr %t50) + %t51 = load ptr, ptr %sc_l_f_0 + call void @scr_closure_release(ptr %t51) + %t52 = load ptr, ptr %sc_l_r_0 + call void @sc_rc_release_dyn(ptr %t52) + ret void +} + +define internal void @sc_f__x25_fn62(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn62 +entry: + %sc_l_resolve_0 = alloca ptr ; resolve + %sc_l_done_0 = alloca ptr ; done + %sc_l_c_0 = alloca ptr ; c + %sc_l_sink_0 = alloca ptr ; sink + %sc_l_r_0 = alloca ptr ; r + %sc_l_oef_0 = alloca ptr ; oef + %sc_l_e_0 = alloca ptr ; e + %sc_l_done_1 = alloca ptr ; done + %sc_l_c_1 = alloca ptr ; c + %sc_l_sink_1 = alloca ptr ; sink + %sc_l_oef_1 = alloca ptr ; oef + %s12 = alloca ptr ; lazy box resolve + %s23 = alloca %ScrUnion + %s24 = getelementptr inbounds %ScrUnion, ptr %s23, i32 0, i32 1 + %s25 = getelementptr inbounds %ScrUnion, ptr %s23, i32 0, i32 5 + %s26 = alloca ptr + %s33 = alloca ptr + %s77 = alloca i1 + %s86 = alloca i1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_done_0 + store ptr null, ptr %sc_l_e_0 + store ptr null, ptr %sc_l_done_1 + store ptr null, ptr %sc_l_c_1 + store ptr null, ptr %sc_l_sink_1 + store ptr null, ptr %sc_l_oef_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_c_0 ; captured c + %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1] + %t5 = load ptr, ptr %t4 + store ptr %t5, ptr %sc_l_sink_0 ; captured sink + %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2] + %t8 = load ptr, ptr %t7 + store ptr %t8, ptr %sc_l_r_0 ; captured r + %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3] + %t11 = load ptr, ptr %t10 + store ptr %t11, ptr %sc_l_oef_0 ; captured oef + store ptr null, ptr %s12 + store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0 + %t13 = call ptr @llvm.stacksave.p0() + %t14 = load ptr, ptr @scr_stack_guard + %t15 = icmp ult ptr %t13, %t14 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t17 = load ptr, ptr %sc_l_c_0 + %t18 = getelementptr inbounds %ScrBox, ptr %t17, i32 0, i32 5 + %t19 = load ptr, ptr %t18 + store ptr %t19, ptr %sc_l_c_1 + %t20 = load ptr, ptr %sc_l_sink_0 + %t21 = getelementptr inbounds %ScrBox, ptr %t20, i32 0, i32 5 + %t22 = load ptr, ptr %t21 + store ptr %t22, ptr %sc_l_sink_1 + store ptr null, ptr %s26 + %t27 = load ptr, ptr %sc_l_oef_0 + %t28 = getelementptr inbounds %ScrBox, ptr %t27, i32 0, i32 5 + %t29 = load ptr, ptr %t28 + %t31 = getelementptr inbounds %ScrUnion, ptr %t29, i64 0, i32 1 + %t30 = load i32, ptr %t31 + store ptr null, ptr %s33 + %t32 = icmp eq i32 %t30, 0 + br i1 %t32, label %union.copy.ref3, label %union.copy.join4 +union.copy.ref3: + %t34 = getelementptr inbounds %ScrUnion, ptr %t29, i64 0, i32 5 + %t35 = load ptr, ptr %t34 + %t36 = call ptr @scr_closure_retain_v(ptr %t35) + store ptr %t36, ptr %s33 + br label %union.copy.join4 +union.copy.join4: + %t37 = load ptr, ptr %s33 + %t39 = getelementptr inbounds %ScrUnion, ptr %t29, i64 0, i32 1 + %t38 = load i32, ptr %t39 + %t40 = getelementptr inbounds %ScrUnion, ptr %t29, i32 0, i32 5 + %t41 = load i64, ptr %t40 + store i32 %t38, ptr %s24 + store i64 %t41, ptr %s25 + %t42 = load ptr, ptr %s26 + store ptr %t37, ptr %s26 + call void @scr_closure_release(ptr %t42) + store ptr %s23, ptr %sc_l_oef_1 + %t43 = call ptr @scr_box_new(i32 4) ; let done (boxed) + store ptr %t43, ptr %sc_l_done_0 + %t44 = call ptr @scr_closure_new(ptr @sc_f__x25_fn63_done, i64 4) + %t45 = getelementptr inbounds %ScrClosure, ptr %t44, i64 0, i32 4 + store i32 4, ptr %t45 + %t46 = load ptr, ptr %sc_l_c_0 + %t47 = call ptr @sc_retain_box(ptr %t46) + %t48 = getelementptr inbounds %ScrClosure, ptr %t44, i64 1 ; caps + %t49 = getelementptr inbounds ptr, ptr %t48, i64 0 ; caps[0] + store ptr %t47, ptr %t49 + %t50 = load ptr, ptr %sc_l_sink_0 + %t51 = call ptr @sc_retain_box(ptr %t50) + %t52 = getelementptr inbounds %ScrClosure, ptr %t44, i64 1 ; caps + %t53 = getelementptr inbounds ptr, ptr %t52, i64 1 ; caps[1] + store ptr %t51, ptr %t53 + %t54 = load ptr, ptr %sc_l_r_0 + %t55 = call ptr @sc_retain_box(ptr %t54) + %t56 = getelementptr inbounds %ScrClosure, ptr %t44, i64 1 ; caps + %t57 = getelementptr inbounds ptr, ptr %t56, i64 2 ; caps[2] + store ptr %t55, ptr %t57 + %t58 = load ptr, ptr %s12 + %t59 = icmp eq ptr %t58, null + br i1 %t59, label %lazy.box5, label %lazy.box.j6 +lazy.box5: + %t60 = call ptr @scr_box_new(i32 4) + %t61 = load ptr, ptr %sc_l_resolve_0 + %t62 = call ptr @scr_closure_retain_v(ptr %t61) + call void @scr_box_set_ref(ptr %t60, ptr %t62) + store ptr %t60, ptr %s12 + br label %lazy.box.j6 +lazy.box.j6: + %t63 = load ptr, ptr %s12 + %t64 = call ptr @sc_retain_box(ptr %t63) + %t65 = getelementptr inbounds %ScrClosure, ptr %t44, i64 1 ; caps + %t66 = getelementptr inbounds ptr, ptr %t65, i64 3 ; caps[3] + store ptr %t64, ptr %t66 + store ptr %t44, ptr %sc_l_done_1 + %t67 = load ptr, ptr %sc_l_done_1 + %t68 = call ptr @scr_closure_retain_v(ptr %t67) + %t69 = load ptr, ptr %sc_l_done_0 + call void @scr_box_set_ref(ptr %t69, ptr %t68) + %t70 = load ptr, ptr %sc_l_r_0 + %t71 = getelementptr inbounds %ScrBox, ptr %t70, i32 0, i32 5 + %t72 = load ptr, ptr %t71 + %t73 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t74 = load i32, ptr %t73 + %t75 = icmp eq i32 %t74, 0 + %t76 = xor i1 %t75, true + store i1 %t76, ptr %s77 + br i1 %t76, label %log.r7, label %log.j8 +log.r7: + %t78 = load ptr, ptr %sc_l_r_0 + %t79 = getelementptr inbounds %ScrBox, ptr %t78, i32 0, i32 5 + %t80 = load ptr, ptr %t79 + %t81 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind + %t82 = load i32, ptr %t81 + %t83 = icmp eq i32 %t82, 6 + %t84 = xor i1 %t83, true + store i1 %t84, ptr %s77 + br label %log.j8 +log.j8: + %t85 = load i1, ptr %s77 + store i1 %t85, ptr %s86 + br i1 %t85, label %log.r9, label %log.j10 +log.r9: + %t87 = load ptr, ptr %sc_l_r_0 + %t88 = call ptr @scr_box_get_ref(ptr %t87) + %t89 = call ptr @sc_f__x25_dyn_class_property_64(ptr %t88) + %t90 = load i32, ptr %exc.cell + %t91 = icmp ne i32 %t90, 0 + %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false) + br i1 %t92, label %exc.u11, label %exc.k12 +exc.u11: + call void @sc_rc_release_dyn(ptr %t89) + br label %exc.cleanup13 +exc.k12: + %t93 = getelementptr inbounds i8, ptr %t89, i64 8 ; ->kind + %t94 = load i32, ptr %t93 + %t95 = call zeroext i1 @scr_dyn_is_callable(ptr %t89) + store i1 %t95, ptr %s86 + call void @sc_rc_release_dyn(ptr %t89) + br label %log.j10 +log.j10: + %t96 = load i1, ptr %s86 + br i1 %t96, label %if.t14, label %if.j15 +if.t14: + %t97 = call ptr @scr_closure_new(ptr @sc_as__x25_fn66_then2, i64 0) + %t98 = getelementptr inbounds %ScrClosure, ptr %t97, i64 0, i32 4 + store i32 2, ptr %t98 + %t99 = load ptr, ptr %sc_l_r_0 + %t100 = call ptr @scr_box_get_ref(ptr %t99) + %t101 = call ptr @sc_dc_116(ptr %t100, ptr null) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u19, label %exc.k20 +exc.u19: + call void @scr_closure_release(ptr %t97) + call void @sc_rc_release_dyn(ptr %t100) + call void @scr_promise_release(ptr %t101) + br label %try.c16 +exc.k20: + %t105 = call ptr @scr_closure_new(ptr @sc_f__x25_fn64, i64 3) + %t106 = getelementptr inbounds %ScrClosure, ptr %t105, i64 0, i32 4 + store i32 4, ptr %t106 + %t107 = getelementptr inbounds %ScrClosure, ptr %t105, i64 0, i32 7 + store ptr @sc_bf__x25_fn64, ptr %t107 + %t108 = load ptr, ptr %sc_l_c_0 + %t109 = call ptr @sc_retain_box(ptr %t108) + %t110 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps + %t111 = getelementptr inbounds ptr, ptr %t110, i64 0 ; caps[0] + store ptr %t109, ptr %t111 + %t112 = load ptr, ptr %sc_l_r_0 + %t113 = call ptr @sc_retain_box(ptr %t112) + %t114 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps + %t115 = getelementptr inbounds ptr, ptr %t114, i64 1 ; caps[1] + store ptr %t113, ptr %t115 + %t116 = load ptr, ptr %sc_l_done_0 + %t117 = call ptr @sc_retain_box(ptr %t116) + %t118 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps + %t119 = getelementptr inbounds ptr, ptr %t118, i64 2 ; caps[2] + store ptr %t117, ptr %t119 + %t120 = call ptr @scr_closure_new(ptr @sc_f__x25_fn65, i64 4) + %t121 = getelementptr inbounds %ScrClosure, ptr %t120, i64 0, i32 4 + store i32 4, ptr %t121 + %t122 = getelementptr inbounds %ScrClosure, ptr %t120, i64 0, i32 7 + store ptr @sc_bf__x25_fn65, ptr %t122 + %t123 = load ptr, ptr %sc_l_oef_0 + %t124 = call ptr @sc_retain_box(ptr %t123) + %t125 = getelementptr inbounds %ScrClosure, ptr %t120, i64 1 ; caps + %t126 = getelementptr inbounds ptr, ptr %t125, i64 0 ; caps[0] + store ptr %t124, ptr %t126 + %t127 = load ptr, ptr %sc_l_sink_0 + %t128 = call ptr @sc_retain_box(ptr %t127) + %t129 = getelementptr inbounds %ScrClosure, ptr %t120, i64 1 ; caps + %t130 = getelementptr inbounds ptr, ptr %t129, i64 1 ; caps[1] + store ptr %t128, ptr %t130 + %t131 = load ptr, ptr %sc_l_c_0 + %t132 = call ptr @sc_retain_box(ptr %t131) + %t133 = getelementptr inbounds %ScrClosure, ptr %t120, i64 1 ; caps + %t134 = getelementptr inbounds ptr, ptr %t133, i64 2 ; caps[2] + store ptr %t132, ptr %t134 + %t135 = load ptr, ptr %s12 + %t136 = icmp eq ptr %t135, null + br i1 %t136, label %lazy.box21, label %lazy.box.j22 +lazy.box21: + %t137 = call ptr @scr_box_new(i32 4) + %t138 = load ptr, ptr %sc_l_resolve_0 + %t139 = call ptr @scr_closure_retain_v(ptr %t138) + call void @scr_box_set_ref(ptr %t137, ptr %t139) + store ptr %t137, ptr %s12 + br label %lazy.box.j22 +lazy.box.j22: + %t140 = load ptr, ptr %s12 + %t141 = call ptr @sc_retain_box(ptr %t140) + %t142 = getelementptr inbounds %ScrClosure, ptr %t120, i64 1 ; caps + %t143 = getelementptr inbounds ptr, ptr %t142, i64 3 ; caps[3] + store ptr %t141, ptr %t143 + %t144 = call ptr @sc_dfb_12(ptr %t120, ptr null) + %t145 = getelementptr inbounds %ScrClosure, ptr %t97, i64 0, i32 1 + %t146 = load ptr, ptr %t145 + call void @scr_dyn_this_push_dyn(ptr null) + %t147 = call ptr %t146(ptr %t97, ptr %t101, ptr %t105, ptr %t144) + call void @scr_dyn_this_pop() + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u23, label %exc.k24 +exc.u23: + call void @scr_closure_release(ptr %t97) + call void @sc_rc_release_dyn(ptr %t100) + call void @scr_closure_release(ptr %t120) + call void @scr_promise_release(ptr %t147) + br label %try.c16 +exc.k24: + call void @scr_closure_release(ptr %t97) + call void @sc_rc_release_dyn(ptr %t100) + call void @scr_closure_release(ptr %t120) + call void @scr_promise_release(ptr %t147) + br label %try.e18 +try.c16: + %t151 = call ptr @scr_exc_take() ; catch binding + store ptr %t151, ptr %sc_l_e_0 + %t152 = load ptr, ptr %sc_l_oef_1 + %t155 = getelementptr inbounds %ScrUnion, ptr %t152, i64 0, i32 1 + %t154 = load i32, ptr %t155 + %t153 = icmp ne i32 %t154, 1 + br i1 %t153, label %if.t25, label %if.f27 +if.t25: + %t156 = load ptr, ptr %sc_l_oef_1 + %t157 = getelementptr inbounds %ScrUnion, ptr %t156, i64 0, i32 5 + %t158 = load ptr, ptr %t157 + %t159 = load ptr, ptr %sc_l_e_0 + %t160 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t159) + %t161 = load i32, ptr %exc.cell + %t162 = icmp ne i32 %t161, 0 + %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false) + br i1 %t163, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup30 +exc.k29: + %t164 = load ptr, ptr %sc_l_sink_1 + %t165 = load ptr, ptr %sc_l_c_1 + call void @sc_bf__x25_m5_runOnError(ptr %t158, ptr %t160, ptr %t164, ptr %t165) + %t166 = load i32, ptr %exc.cell + %t167 = icmp ne i32 %t166, 0 + %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false) + br i1 %t168, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup30 +exc.k32: + call void @sc_rc_release_dyn(ptr %t160) + br label %if.j26 +if.f27: + %t169 = load ptr, ptr %sc_l_sink_1 + call void @sc_bf__x25_m5_send500(ptr %t169) + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u33, label %exc.k34 +exc.u33: + br label %exc.cleanup30 +exc.k34: + br label %if.j26 +if.j26: + %t173 = load ptr, ptr %sc_l_resolve_0 + %t174 = call ptr @scr_closure_retain_v(ptr %t173) + %t175 = getelementptr inbounds %ScrClosure, ptr %t174, i64 0, i32 1 + %t176 = load ptr, ptr %t175 + call void @scr_dyn_this_push_dyn(ptr null) + call void %t176(ptr %t174) + call void @scr_dyn_this_pop() + %t177 = load i32, ptr %exc.cell + %t178 = icmp ne i32 %t177, 0 + %t179 = call i1 @llvm.expect.i1(i1 %t178, i1 false) + br i1 %t179, label %exc.u35, label %exc.k36 +exc.u35: + call void @scr_closure_release(ptr %t174) + br label %exc.cleanup30 +exc.k36: + call void @scr_closure_release(ptr %t174) + %t180 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t180) + br label %try.e18 +try.e18: + %t181 = load ptr, ptr %s12 + %t182 = icmp ne ptr %t181, null + br i1 %t182, label %lazy.release37, label %lazy.release.j38 +lazy.release37: + call void @scr_box_release(ptr %t181) + br label %lazy.release.j38 +lazy.release.j38: + %t183 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t183) + %t184 = load ptr, ptr %s26 + call void @scr_closure_release(ptr %t184) + %t185 = load ptr, ptr %sc_l_done_0 + call void @scr_box_release(ptr %t185) + %t186 = load ptr, ptr %sc_l_done_1 + call void @scr_closure_release(ptr %t186) + ret void +if.j15: + %t187 = load ptr, ptr %sc_l_done_1 + %t188 = getelementptr inbounds %ScrClosure, ptr %t187, i64 0, i32 1 + %t189 = load ptr, ptr %t188 + %t190 = icmp eq ptr %t189, @sc_f__x25_fn63_done + br i1 %t190, label %callback.direct39, label %callback.indirect40 +callback.direct39: + call void @scr_dyn_this_push_dyn(ptr null) + call void @sc_f__x25_fn63_done(ptr %t187) + call void @scr_dyn_this_pop() + br label %callback.done41 +callback.indirect40: + call void @scr_dyn_this_push_dyn(ptr null) + call void %t189(ptr %t187) + call void @scr_dyn_this_pop() + br label %callback.done41 +callback.done41: + %t191 = load i32, ptr %exc.cell + %t192 = icmp ne i32 %t191, 0 + %t193 = call i1 @llvm.expect.i1(i1 %t192, i1 false) + br i1 %t193, label %exc.u42, label %exc.k43 +exc.u42: + br label %exc.cleanup13 +exc.k43: + %t194 = load ptr, ptr %s12 + %t195 = icmp ne ptr %t194, null + br i1 %t195, label %lazy.release44, label %lazy.release.j45 +lazy.release44: + call void @scr_box_release(ptr %t194) + br label %lazy.release.j45 +lazy.release.j45: + %t196 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t196) + %t197 = load ptr, ptr %s26 + call void @scr_closure_release(ptr %t197) + %t198 = load ptr, ptr %sc_l_done_0 + call void @scr_box_release(ptr %t198) + %t199 = load ptr, ptr %sc_l_done_1 + call void @scr_closure_release(ptr %t199) + ret void +exc.cleanup2: + %t200 = load ptr, ptr %s12 + %t201 = icmp ne ptr %t200, null + br i1 %t201, label %lazy.release46, label %lazy.release.j47 +lazy.release46: + call void @scr_box_release(ptr %t200) + br label %lazy.release.j47 +lazy.release.j47: + %t202 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t202) + ret void +exc.cleanup13: + %t203 = load ptr, ptr %s12 + %t204 = icmp ne ptr %t203, null + br i1 %t204, label %lazy.release48, label %lazy.release.j49 +lazy.release48: + call void @scr_box_release(ptr %t203) + br label %lazy.release.j49 +lazy.release.j49: + %t205 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t205) + %t206 = load ptr, ptr %s26 + call void @scr_closure_release(ptr %t206) + %t207 = load ptr, ptr %sc_l_done_0 + call void @scr_box_release(ptr %t207) + %t208 = load ptr, ptr %sc_l_done_1 + call void @scr_closure_release(ptr %t208) + ret void +exc.cleanup30: + %t209 = load ptr, ptr %sc_l_e_0 + call void @scr_caught_release(ptr %t209) + %t210 = load ptr, ptr %s12 + %t211 = icmp ne ptr %t210, null + br i1 %t211, label %lazy.release50, label %lazy.release.j51 +lazy.release50: + call void @scr_box_release(ptr %t210) + br label %lazy.release.j51 +lazy.release.j51: + %t212 = load ptr, ptr %sc_l_resolve_0 + call void @scr_closure_release(ptr %t212) + %t213 = load ptr, ptr %s26 + call void @scr_closure_release(ptr %t213) + %t214 = load ptr, ptr %sc_l_done_0 + call void @scr_box_release(ptr %t214) + %t215 = load ptr, ptr %sc_l_done_1 + call void @scr_closure_release(ptr %t215) + ret void +} + +define internal void @sc_f__x25_fn67(ptr %sc_env) #0 { ; %fn67 +entry: + %sc_l_req_0 = alloca ptr ; req + %sc_l_req_1 = alloca ptr ; req + store ptr null, ptr %sc_l_req_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_req_0 ; captured req + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_req_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_req_1 + %t10 = load ptr, ptr %sc_l_req_1 + %t11 = call ptr @scr_http_req_retain_v(ptr %t10) + call void @scr_http_req_destroy(ptr %t11) + call void @scr_http_req_release(ptr %t11) + ret void +} + +define internal void @sc_bf__x25_fn68(ptr %sc_env, ptr %p_sc_l_b_0) #0 { ; %fn68 +entry: + %sc_l_b_0 = alloca ptr ; b + %sc_l_res_0 = alloca ptr ; res + %sc_l_res_1 = alloca ptr ; res + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_res_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_res_0 ; captured res + store ptr %p_sc_l_b_0, ptr %sc_l_b_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_res_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_res_1 + %t10 = load ptr, ptr %sc_l_res_1 + %t11 = call ptr @scr_http_res_retain_v(ptr %t10) + %t12 = load ptr, ptr %sc_l_b_0 + %t13 = call ptr @scr_bytes_retain_v(ptr %t12) + call void @scr_http_res_write_bytes(ptr %t11, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t11) + call void @scr_bytes_release(ptr %t13) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t11) + call void @scr_bytes_release(ptr %t13) + ret void +} +define internal void @sc_f__x25_fn68(ptr %sc_env, ptr %p0) #0 { +entry: + call void @sc_bf__x25_fn68(ptr %sc_env, ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_fn69(ptr %sc_env) #0 { ; %fn69 +entry: + %sc_l_res_0 = alloca ptr ; res + %sc_l_res_1 = alloca ptr ; res + %exc.cell = load ptr, ptr @scr_exc_active + store ptr null, ptr %sc_l_res_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_res_0 ; captured res + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_res_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_res_1 + %t10 = load ptr, ptr %sc_l_res_1 + %t11 = call ptr @scr_http_res_retain_v(ptr %t10) + call void @scr_http_res_end(ptr %t11) + %t12 = load i32, ptr %exc.cell + %t13 = icmp ne i32 %t12, 0 + %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false) + br i1 %t14, label %exc.u2, label %exc.k3 +exc.u2: + call void @scr_http_res_release(ptr %t11) + ret void +exc.k3: + call void @scr_http_res_release(ptr %t11) + ret void +} + +define internal void @sc_bf__x25_fn70(ptr %sc_env, ptr %p_sc_l_v_0, ptr %p_sc_l_k_0) #0 { ; %fn70 +entry: + %sc_l_v_0 = alloca ptr ; v + %sc_l_k_0 = alloca ptr ; k + %sc_l_res_0 = alloca ptr ; res + %sc_l_res_1 = alloca ptr ; res + store ptr null, ptr %sc_l_res_1 + %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps + %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0] + %t2 = load ptr, ptr %t1 + store ptr %t2, ptr %sc_l_res_0 ; captured res + store ptr %p_sc_l_v_0, ptr %sc_l_v_0 + store ptr %p_sc_l_k_0, ptr %sc_l_k_0 + %t3 = call ptr @llvm.stacksave.p0() + %t4 = load ptr, ptr @scr_stack_guard + %t5 = icmp ult ptr %t3, %t4 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t7 = load ptr, ptr %sc_l_res_0 + %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5 + %t9 = load ptr, ptr %t8 + store ptr %t9, ptr %sc_l_res_1 + %t10 = load ptr, ptr %sc_l_res_1 + %t11 = call ptr @scr_http_res_retain_v(ptr %t10) + %t12 = load ptr, ptr %sc_l_k_0 + %t13 = call ptr @sc_rc_retain_str(ptr %t12) + %t14 = load ptr, ptr %sc_l_v_0 + %t15 = call ptr @sc_rc_retain_str(ptr %t14) + call void @scr_http_res_set_header(ptr %t11, ptr %t13, ptr %t15) + call void @scr_http_res_release(ptr %t11) + call void @scr_str_release(ptr %t13) + call void @scr_str_release(ptr %t15) + ret void +} +define internal void @sc_f__x25_fn70(ptr %sc_env, ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_fn70(ptr %sc_env, ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25_union_narrow_13(ptr %p_sc_l_u_0) #0 { ; %union.narrow.13 +entry: + %sc_l_u_0 = alloca ptr ; u + store ptr %p_sc_l_u_0, ptr %sc_l_u_0 + %t0 = load ptr, ptr %sc_l_u_0 + %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1 + %t2 = load i32, ptr %t3 + %t1 = icmp eq i32 %t2, 0 + br i1 %t1, label %if.t0, label %if.j1 +if.t0: + %t4 = load ptr, ptr %sc_l_u_0 + %t5 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 5 + %t6 = load ptr, ptr %t5 + %t7 = call ptr @scr_bytes_retain_v(ptr %t6) + ret ptr %t7 +if.j1: + %t8 = load ptr, ptr %sc_l_u_0 + %t11 = getelementptr inbounds %ScrUnion, ptr %t8, i64 0, i32 1 + %t10 = load i32, ptr %t11 + %t9 = icmp eq i32 %t10, 1 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t12 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407) + call void @scr_throw_obj(ptr %t12, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret ptr null +if.j3: + call void @scr_throw_str(ptr @sc_lit_464947614242071) + ret ptr null +} +define internal ptr @sc_f__x25_union_narrow_13(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_union_narrow_13(ptr %p0) + call void @scr_union_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_caught_dynamicValue(ptr %p_sc_l_caught) #0 { ; %caught.dynamicValue +entry: + %sc_l_caught = alloca ptr ; caught + store ptr %p_sc_l_caught, ptr %sc_l_caught + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_caught + %t5 = call zeroext i1 @scr_caught_instanceof(ptr %t4, i64 1, i64 1) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_caught + %t7 = getelementptr inbounds %ScrCaught, ptr %t6, i64 0, i32 4 + %t8 = load ptr, ptr %t7 + %t9 = getelementptr inbounds %ScrCaught, ptr %t6, i64 0, i32 5 + %t10 = load ptr, ptr %t9 + %t11 = call ptr %t10(ptr %t8) + %t12 = call ptr @sc_td_53(ptr %t11) + call void @scr_error_release(ptr %t11) + ret ptr %t12 +if.j3: + %t13 = load ptr, ptr %sc_l_caught + %t14 = call zeroext i1 @scr_caught_instanceof(ptr %t13, i64 0, i64 11) + br i1 %t14, label %if.t4, label %if.j5 +if.t4: + %t15 = load ptr, ptr %sc_l_caught + %t16 = getelementptr inbounds %ScrCaught, ptr %t15, i64 0, i32 4 + %t17 = load ptr, ptr %t16 + %t18 = getelementptr inbounds %ScrCaught, ptr %t15, i64 0, i32 5 + %t19 = load ptr, ptr %t18 + %t20 = call ptr %t19(ptr %t17) + %t21 = call ptr @sc_td_54(ptr %t20) + call void @scr_error_release(ptr %t20) + ret ptr %t21 +if.j5: + %t22 = load ptr, ptr %sc_l_caught + %t23 = call ptr @sc_cd(ptr %t22) + ret ptr %t23 +} +define internal ptr @sc_f__x25_caught_dynamicValue(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_caught_dynamicValue(ptr %p0) + call void @scr_caught_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_App(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m5.App +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m5_App() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_App(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_App(ptr %p0) + call void @sc_release__x25_m5_App(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m5.CtxCore +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m14.BakedAssets +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %p0) + call void @sc_release__x25_m14_BakedAssets(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MultipartStorage +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = load ptr, ptr %sc_l_this + %t1 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t0, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0 + %t4 = load i64, ptr %t3 + %t5 = icmp uge i64 %t4, 26 + %t6 = icmp ule i64 %t4, 26 + %t7 = and i1 %t5, %t6 ; instanceof %m4.MemoryStorage + br i1 %t7, label %if.t0, label %if.j1 +if.t0: + %t8 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k3: + ret ptr %t8 +if.j1: + %t12 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage() + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t12) + ret ptr null +exc.k5: + ret ptr %t12 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %p0) + call void @sc_release__x25_m4_MultipartStorage(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() #0 { ; %prototype.data.%m4.MemoryStorage +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k5: + %t10 = call ptr @scr_dyn_obj_create(ptr %t6) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k7: + %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + call void @sc_rc_release_dyn(ptr %t14) + store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + call void @sc_rc_release_dyn(ptr %t6) + store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage_ready + %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + %t17 = call ptr @sc_td_0(ptr @sc_lit_4062729090063393) + %t18 = call ptr @scr_dyn_new_obj() + %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin) + %t20 = call ptr @sc_dfb_68(ptr %t19, ptr null) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + ret ptr null +exc.k9: + %t24 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k11: + %t28 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + ret ptr null +exc.k13: + %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t32) + br label %if.j3 +if.j3: + %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + ret ptr %t37 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryStorage(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MemoryStorage +entry: + %sc_l_this_0 = alloca ptr ; this + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s36 = alloca ptr + %s53 = alloca i1 + %s64 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_3635319175845957 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3635319175845957) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_this_0 + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_3635319175845957 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_24(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + %t28 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t27, i64 0, i32 1 + %t29 = load ptr, ptr %t28 + %t30 = getelementptr inbounds %ScrVt, ptr %t29, i64 0, i32 0 + %t31 = load i64, ptr %t30 + %t32 = icmp uge i64 %t31, 26 + %t33 = icmp ule i64 %t31, 26 + %t34 = and i1 %t32, %t33 ; instanceof %m4.MemoryStorage + call void @sc_release__x25_m4_MultipartStorage(ptr %t27) + br i1 %t34, label %if.t13, label %if.j14 +if.t13: + %t35 = load ptr, ptr %sc_l_this_0 + %t37 = icmp ne ptr %t35, null + br i1 %t37, label %dc.inspect15, label %dc.checked18 +dc.inspect15: + %t42 = getelementptr inbounds i8, ptr %t35, i64 8 ; ->kind + %t43 = load i32, ptr %t42 + %t38 = icmp eq i32 %t43, 12 + br i1 %t38, label %dc.capsule16, label %dc.checked18 +dc.capsule16: + %t39 = getelementptr inbounds i8, ptr %t35, i64 40 ; ->v.typed_ref.type_key + %t40 = load ptr, ptr %t39 + %t41 = icmp eq ptr %t40, @sc_cs_3635319175845957 + br i1 %t41, label %dc.exact17, label %dc.checked18 +dc.exact17: + %t44 = getelementptr inbounds i8, ptr %t35, i64 16 ; ->v.typed_ref.ptr + %t45 = load ptr, ptr %t44 + %t46 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t45) + store ptr %t46, ptr %s36 + br label %dc.done19 +dc.checked18: + %t47 = call ptr @sc_dc_24(ptr %t35, ptr null) + store ptr %t47, ptr %s36 + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u20, label %exc.k21 +exc.u20: + ret ptr null +exc.k21: + br label %dc.done19 +dc.done19: + %t51 = load ptr, ptr %s36 + ret ptr %t51 +if.j14: + br label %if.j5 +if.j5: + %t52 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s53 + %t54 = icmp ne ptr %t52, null + br i1 %t54, label %brand.inspect22, label %brand.done24 +brand.inspect22: + %t55 = getelementptr inbounds i8, ptr %t52, i64 8 ; ->kind + %t56 = load i32, ptr %t55 + %t57 = icmp eq i32 %t56, 12 + br i1 %t57, label %brand.capsule23, label %brand.done24 +brand.capsule23: + %t58 = getelementptr inbounds i8, ptr %t52, i64 40 ; ->v.typed_ref.type_key + %t59 = load ptr, ptr %t58 + %t60 = icmp eq ptr %t59, @sc_cs_3456310594719780 + store i1 true, ptr %s53 + br i1 %t60, label %brand.done24, label %brand.compare25 +brand.compare25: + %t61 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t52, ptr @sc_lit_3456310594719780) + store i1 %t61, ptr %s53 + br label %brand.done24 +brand.done24: + %t62 = load i1, ptr %s53 + br i1 %t62, label %if.t26, label %if.j27 +if.t26: + %t63 = load ptr, ptr %sc_l_this_0 + %t65 = icmp ne ptr %t63, null + br i1 %t65, label %dc.inspect28, label %dc.checked31 +dc.inspect28: + %t70 = getelementptr inbounds i8, ptr %t63, i64 8 ; ->kind + %t71 = load i32, ptr %t70 + %t66 = icmp eq i32 %t71, 12 + br i1 %t66, label %dc.capsule29, label %dc.checked31 +dc.capsule29: + %t67 = getelementptr inbounds i8, ptr %t63, i64 40 ; ->v.typed_ref.type_key + %t68 = load ptr, ptr %t67 + %t69 = icmp eq ptr %t68, @sc_cs_3456310594719780 + br i1 %t69, label %dc.exact30, label %dc.checked31 +dc.exact30: + %t72 = getelementptr inbounds i8, ptr %t63, i64 16 ; ->v.typed_ref.ptr + %t73 = load ptr, ptr %t72 + %t74 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t73) + store ptr %t74, ptr %s64 + br label %dc.done32 +dc.checked31: + %t75 = call ptr @sc_dc_99(ptr %t63, ptr null) + store ptr %t75, ptr %s64 + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u33, label %exc.k34 +exc.u33: + ret ptr null +exc.k34: + br label %dc.done32 +dc.done32: + %t79 = load ptr, ptr %s64 + ret ptr %t79 +if.j27: + %t80 = load ptr, ptr %sc_l_this_0 + %t81 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryStorage(ptr %t80) + %t82 = load i32, ptr %exc.cell + %t83 = icmp ne i32 %t82, 0 + %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false) + br i1 %t84, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_release__x25_m4_MemoryStorage(ptr %t81) + ret ptr null +exc.k36: + ret ptr %t81 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MemoryStorage(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryStorage(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m4.MemoryStorage.begin +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_2 = alloca ptr ; p2 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_2, ptr %sc_l_p_2 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = load ptr, ptr %sc_l_p_1 + %t2 = load ptr, ptr %sc_l_p_2 + %t3 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MemoryStorage_begin(ptr %t0, ptr %t1, ptr %t2) + %t4 = load i32, ptr %exc.cell + %t5 = icmp ne i32 %t4, 0 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_release__x25_m4_MultipartFileSink(ptr %t3) + ret ptr null +exc.k1: + ret ptr %t3 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m5.ReqViewCore +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %p0) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m2.ResponseSink +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = load ptr, ptr %sc_l_this + %t1 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t0, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0 + %t4 = load i64, ptr %t3 + %t5 = icmp uge i64 %t4, 18 + %t6 = icmp ule i64 %t4, 18 + %t7 = and i1 %t5, %t6 ; instanceof %m3.LiteResponse + br i1 %t7, label %if.t0, label %if.j1 +if.t0: + %t8 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k3: + ret ptr %t8 +if.j1: + %t12 = load ptr, ptr %sc_l_this + %t13 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t12, i64 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %ScrVt, ptr %t14, i64 0, i32 0 + %t16 = load i64, ptr %t15 + %t17 = icmp uge i64 %t16, 17 + %t18 = icmp ule i64 %t16, 18 + %t19 = and i1 %t17, %t18 ; instanceof %m2.FetchResponseSink + br i1 %t19, label %if.t4, label %if.j5 +if.t4: + %t20 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t20) + ret ptr null +exc.k7: + ret ptr %t20 +if.j5: + %t24 = load ptr, ptr %sc_l_this + %t25 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t24, i64 0, i32 1 + %t26 = load ptr, ptr %t25 + %t27 = getelementptr inbounds %ScrVt, ptr %t26, i64 0, i32 0 + %t28 = load i64, ptr %t27 + %t29 = icmp uge i64 %t28, 16 + %t30 = icmp ule i64 %t28, 16 + %t31 = and i1 %t29, %t30 ; instanceof %m2.NodeResponseSink + br i1 %t31, label %if.t8, label %if.j9 +if.t8: + %t32 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k11: + ret ptr %t32 +if.j9: + %t36 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink() + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t36) + ret ptr null +exc.k13: + ret ptr %t36 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %p0) + call void @sc_release__x25_m2_ResponseSink(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() #0 { ; %prototype.data.%m2.NodeResponseSink +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_dyn_release(ptr %t6) + ret ptr null +exc.k5: + %t10 = call ptr @scr_dyn_obj_create(ptr %t6) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u6, label %exc.k7 +exc.u6: + call void @scr_dyn_release(ptr %t6) + call void @scr_dyn_release(ptr %t10) + ret ptr null +exc.k7: + %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + call void @scr_dyn_release(ptr %t14) + store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + call void @scr_dyn_release(ptr %t6) + store i1 true, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink_ready + %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + %t17 = call ptr @sc_td_0(ptr @sc_lit_3752021314181142) + %t18 = call ptr @scr_dyn_new_obj() + %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus) + %t20 = call ptr @sc_dfb_45(ptr %t19, ptr null) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + ret ptr null +exc.k9: + %t24 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u10, label %exc.k11 +exc.u10: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + ret ptr null +exc.k11: + %t28 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + ret ptr null +exc.k13: + %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + call void @scr_dyn_release(ptr %t32) + ret ptr null +exc.k15: + call void @scr_dyn_release(ptr %t16) + call void @scr_dyn_release(ptr %t17) + call void @scr_dyn_release(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @scr_dyn_release(ptr %t20) + call void @scr_dyn_release(ptr %t24) + call void @scr_dyn_release(ptr %t28) + call void @scr_dyn_release(ptr %t32) + %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_td_0(ptr @sc_lit_2364278031517622) + %t39 = call ptr @scr_dyn_new_obj() + %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader) + %t41 = call ptr @sc_dfb_9(ptr %t40, ptr null) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + ret ptr null +exc.k17: + %t45 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + ret ptr null +exc.k19: + %t49 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49) + %t50 = load i32, ptr %exc.cell + %t51 = icmp ne i32 %t50, 0 + %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false) + br i1 %t52, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + ret ptr null +exc.k21: + %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39) + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + call void @scr_dyn_release(ptr %t53) + ret ptr null +exc.k23: + call void @scr_dyn_release(ptr %t37) + call void @scr_dyn_release(ptr %t38) + call void @scr_dyn_release(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @scr_dyn_release(ptr %t41) + call void @scr_dyn_release(ptr %t45) + call void @scr_dyn_release(ptr %t49) + call void @scr_dyn_release(ptr %t53) + %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t58 = call ptr @sc_rc_retain_dyn(ptr %t57) + %t59 = call ptr @sc_td_0(ptr @sc_lit_470306239805907) + %t60 = call ptr @scr_dyn_new_obj() + %t61 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader) + %t62 = call ptr @sc_dfb_9(ptr %t61, ptr null) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3610950885518037, ptr %t62) + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + ret ptr null +exc.k25: + %t66 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_1948131179100861, ptr %t66) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + ret ptr null +exc.k27: + %t70 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3198935257758645, ptr %t70) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u28, label %exc.k29 +exc.u28: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + ret ptr null +exc.k29: + %t74 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t58, ptr %t59, ptr %t60) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + call void @scr_dyn_release(ptr %t74) + ret ptr null +exc.k31: + call void @scr_dyn_release(ptr %t58) + call void @scr_dyn_release(ptr %t59) + call void @scr_dyn_release(ptr %t60) + call void @scr_closure_release(ptr %t61) + call void @scr_dyn_release(ptr %t62) + call void @scr_dyn_release(ptr %t66) + call void @scr_dyn_release(ptr %t70) + call void @scr_dyn_release(ptr %t74) + %t78 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + %t80 = call ptr @sc_td_0(ptr @sc_lit_4133069531575059) + %t81 = call ptr @scr_dyn_new_obj() + %t82 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody) + %t83 = call ptr @sc_dfb_46(ptr %t82, ptr null) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3610950885518037, ptr %t83) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + ret ptr null +exc.k33: + %t87 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_1948131179100861, ptr %t87) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u34, label %exc.k35 +exc.u34: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + ret ptr null +exc.k35: + %t91 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3198935257758645, ptr %t91) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + ret ptr null +exc.k37: + %t95 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t79, ptr %t80, ptr %t81) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + call void @scr_dyn_release(ptr %t95) + ret ptr null +exc.k39: + call void @scr_dyn_release(ptr %t79) + call void @scr_dyn_release(ptr %t80) + call void @scr_dyn_release(ptr %t81) + call void @scr_closure_release(ptr %t82) + call void @scr_dyn_release(ptr %t83) + call void @scr_dyn_release(ptr %t87) + call void @scr_dyn_release(ptr %t91) + call void @scr_dyn_release(ptr %t95) + %t99 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t100 = call ptr @sc_rc_retain_dyn(ptr %t99) + %t101 = call ptr @sc_td_0(ptr @sc_lit_2253648670486996) + %t102 = call ptr @scr_dyn_new_obj() + %t103 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes) + %t104 = call ptr @sc_dfb_47(ptr %t103, ptr null) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3610950885518037, ptr %t104) + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + ret ptr null +exc.k41: + %t108 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_1948131179100861, ptr %t108) + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + ret ptr null +exc.k43: + %t112 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3198935257758645, ptr %t112) + %t113 = load i32, ptr %exc.cell + %t114 = icmp ne i32 %t113, 0 + %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false) + br i1 %t115, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + ret ptr null +exc.k45: + %t116 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t100, ptr %t101, ptr %t102) + %t117 = load i32, ptr %exc.cell + %t118 = icmp ne i32 %t117, 0 + %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false) + br i1 %t119, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + call void @scr_dyn_release(ptr %t116) + ret ptr null +exc.k47: + call void @scr_dyn_release(ptr %t100) + call void @scr_dyn_release(ptr %t101) + call void @scr_dyn_release(ptr %t102) + call void @scr_closure_release(ptr %t103) + call void @scr_dyn_release(ptr %t104) + call void @scr_dyn_release(ptr %t108) + call void @scr_dyn_release(ptr %t112) + call void @scr_dyn_release(ptr %t116) + %t120 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t121 = call ptr @sc_rc_retain_dyn(ptr %t120) + %t122 = call ptr @sc_td_0(ptr @sc_lit_161925136240866) + %t123 = call ptr @scr_dyn_new_obj() + %t124 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect) + %t125 = call ptr @sc_dfb_48(ptr %t124, ptr null) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3610950885518037, ptr %t125) + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + ret ptr null +exc.k49: + %t129 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_1948131179100861, ptr %t129) + %t130 = load i32, ptr %exc.cell + %t131 = icmp ne i32 %t130, 0 + %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false) + br i1 %t132, label %exc.u50, label %exc.k51 +exc.u50: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + ret ptr null +exc.k51: + %t133 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3198935257758645, ptr %t133) + %t134 = load i32, ptr %exc.cell + %t135 = icmp ne i32 %t134, 0 + %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false) + br i1 %t136, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + ret ptr null +exc.k53: + %t137 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t121, ptr %t122, ptr %t123) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + call void @scr_dyn_release(ptr %t137) + ret ptr null +exc.k55: + call void @scr_dyn_release(ptr %t121) + call void @scr_dyn_release(ptr %t122) + call void @scr_dyn_release(ptr %t123) + call void @scr_closure_release(ptr %t124) + call void @scr_dyn_release(ptr %t125) + call void @scr_dyn_release(ptr %t129) + call void @scr_dyn_release(ptr %t133) + call void @scr_dyn_release(ptr %t137) + %t141 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t142 = call ptr @sc_rc_retain_dyn(ptr %t141) + %t143 = call ptr @sc_td_0(ptr @sc_lit_298897322184109) + %t144 = call ptr @scr_dyn_new_obj() + %t145 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write) + %t146 = call ptr @sc_dfb_46(ptr %t145, ptr null) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3610950885518037, ptr %t146) + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + ret ptr null +exc.k57: + %t150 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_1948131179100861, ptr %t150) + %t151 = load i32, ptr %exc.cell + %t152 = icmp ne i32 %t151, 0 + %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false) + br i1 %t153, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + ret ptr null +exc.k59: + %t154 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3198935257758645, ptr %t154) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + ret ptr null +exc.k61: + %t158 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t142, ptr %t143, ptr %t144) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + call void @scr_dyn_release(ptr %t158) + ret ptr null +exc.k63: + call void @scr_dyn_release(ptr %t142) + call void @scr_dyn_release(ptr %t143) + call void @scr_dyn_release(ptr %t144) + call void @scr_closure_release(ptr %t145) + call void @scr_dyn_release(ptr %t146) + call void @scr_dyn_release(ptr %t150) + call void @scr_dyn_release(ptr %t154) + call void @scr_dyn_release(ptr %t158) + %t162 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t163 = call ptr @sc_rc_retain_dyn(ptr %t162) + %t164 = call ptr @sc_td_0(ptr @sc_lit_4085448292571548) + %t165 = call ptr @scr_dyn_new_obj() + %t166 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead) + %t167 = call ptr @sc_dfb_49(ptr %t166, ptr null) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3610950885518037, ptr %t167) + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u64, label %exc.k65 +exc.u64: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + ret ptr null +exc.k65: + %t171 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_1948131179100861, ptr %t171) + %t172 = load i32, ptr %exc.cell + %t173 = icmp ne i32 %t172, 0 + %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false) + br i1 %t174, label %exc.u66, label %exc.k67 +exc.u66: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + ret ptr null +exc.k67: + %t175 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3198935257758645, ptr %t175) + %t176 = load i32, ptr %exc.cell + %t177 = icmp ne i32 %t176, 0 + %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false) + br i1 %t178, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + ret ptr null +exc.k69: + %t179 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t163, ptr %t164, ptr %t165) + %t180 = load i32, ptr %exc.cell + %t181 = icmp ne i32 %t180, 0 + %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false) + br i1 %t182, label %exc.u70, label %exc.k71 +exc.u70: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + call void @scr_dyn_release(ptr %t179) + ret ptr null +exc.k71: + call void @scr_dyn_release(ptr %t163) + call void @scr_dyn_release(ptr %t164) + call void @scr_dyn_release(ptr %t165) + call void @scr_closure_release(ptr %t166) + call void @scr_dyn_release(ptr %t167) + call void @scr_dyn_release(ptr %t171) + call void @scr_dyn_release(ptr %t175) + call void @scr_dyn_release(ptr %t179) + %t183 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t184 = call ptr @sc_rc_retain_dyn(ptr %t183) + %t185 = call ptr @sc_td_0(ptr @sc_lit_3561861343106386) + %t186 = call ptr @scr_dyn_new_obj() + %t187 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream) + %t188 = call ptr @sc_dfb_1(ptr %t187, ptr null) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3610950885518037, ptr %t188) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + ret ptr null +exc.k73: + %t192 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_1948131179100861, ptr %t192) + %t193 = load i32, ptr %exc.cell + %t194 = icmp ne i32 %t193, 0 + %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false) + br i1 %t195, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + ret ptr null +exc.k75: + %t196 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3198935257758645, ptr %t196) + %t197 = load i32, ptr %exc.cell + %t198 = icmp ne i32 %t197, 0 + %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false) + br i1 %t199, label %exc.u76, label %exc.k77 +exc.u76: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + ret ptr null +exc.k77: + %t200 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t184, ptr %t185, ptr %t186) + %t201 = load i32, ptr %exc.cell + %t202 = icmp ne i32 %t201, 0 + %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false) + br i1 %t203, label %exc.u78, label %exc.k79 +exc.u78: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + call void @scr_dyn_release(ptr %t200) + ret ptr null +exc.k79: + call void @scr_dyn_release(ptr %t184) + call void @scr_dyn_release(ptr %t185) + call void @scr_dyn_release(ptr %t186) + call void @scr_closure_release(ptr %t187) + call void @scr_dyn_release(ptr %t188) + call void @scr_dyn_release(ptr %t192) + call void @scr_dyn_release(ptr %t196) + call void @scr_dyn_release(ptr %t200) + %t204 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t205 = call ptr @sc_rc_retain_dyn(ptr %t204) + %t206 = call ptr @sc_td_0(ptr @sc_lit_2529432852777196) + %t207 = call ptr @scr_dyn_new_obj() + %t208 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent) + %t209 = call ptr @sc_dfb_51(ptr %t208, ptr null) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3610950885518037, ptr %t209) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u80, label %exc.k81 +exc.u80: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + ret ptr null +exc.k81: + %t213 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_1948131179100861, ptr %t213) + %t214 = load i32, ptr %exc.cell + %t215 = icmp ne i32 %t214, 0 + %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false) + br i1 %t216, label %exc.u82, label %exc.k83 +exc.u82: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + ret ptr null +exc.k83: + %t217 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3198935257758645, ptr %t217) + %t218 = load i32, ptr %exc.cell + %t219 = icmp ne i32 %t218, 0 + %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false) + br i1 %t220, label %exc.u84, label %exc.k85 +exc.u84: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + ret ptr null +exc.k85: + %t221 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t205, ptr %t206, ptr %t207) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u86, label %exc.k87 +exc.u86: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + call void @scr_dyn_release(ptr %t221) + ret ptr null +exc.k87: + call void @scr_dyn_release(ptr %t205) + call void @scr_dyn_release(ptr %t206) + call void @scr_dyn_release(ptr %t207) + call void @scr_closure_release(ptr %t208) + call void @scr_dyn_release(ptr %t209) + call void @scr_dyn_release(ptr %t213) + call void @scr_dyn_release(ptr %t217) + call void @scr_dyn_release(ptr %t221) + %t225 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t226 = call ptr @sc_rc_retain_dyn(ptr %t225) + %t227 = call ptr @sc_td_0(ptr @sc_lit_4297539476301093) + %t228 = call ptr @scr_dyn_new_obj() + %t229 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent) + %t230 = call ptr @sc_dfb_51(ptr %t229, ptr null) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3610950885518037, ptr %t230) + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u88, label %exc.k89 +exc.u88: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + ret ptr null +exc.k89: + %t234 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_1948131179100861, ptr %t234) + %t235 = load i32, ptr %exc.cell + %t236 = icmp ne i32 %t235, 0 + %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false) + br i1 %t237, label %exc.u90, label %exc.k91 +exc.u90: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + ret ptr null +exc.k91: + %t238 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3198935257758645, ptr %t238) + %t239 = load i32, ptr %exc.cell + %t240 = icmp ne i32 %t239, 0 + %t241 = call i1 @llvm.expect.i1(i1 %t240, i1 false) + br i1 %t241, label %exc.u92, label %exc.k93 +exc.u92: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + ret ptr null +exc.k93: + %t242 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t226, ptr %t227, ptr %t228) + %t243 = load i32, ptr %exc.cell + %t244 = icmp ne i32 %t243, 0 + %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false) + br i1 %t245, label %exc.u94, label %exc.k95 +exc.u94: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + call void @scr_dyn_release(ptr %t242) + ret ptr null +exc.k95: + call void @scr_dyn_release(ptr %t226) + call void @scr_dyn_release(ptr %t227) + call void @scr_dyn_release(ptr %t228) + call void @scr_closure_release(ptr %t229) + call void @scr_dyn_release(ptr %t230) + call void @scr_dyn_release(ptr %t234) + call void @scr_dyn_release(ptr %t238) + call void @scr_dyn_release(ptr %t242) + %t246 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t247 = call ptr @sc_rc_retain_dyn(ptr %t246) + %t248 = call ptr @sc_td_0(ptr @sc_lit_1959461887910059) + %t249 = call ptr @scr_dyn_new_obj() + %t250 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy) + %t251 = call ptr @sc_dfb_1(ptr %t250, ptr null) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3610950885518037, ptr %t251) + %t252 = load i32, ptr %exc.cell + %t253 = icmp ne i32 %t252, 0 + %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false) + br i1 %t254, label %exc.u96, label %exc.k97 +exc.u96: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + ret ptr null +exc.k97: + %t255 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_1948131179100861, ptr %t255) + %t256 = load i32, ptr %exc.cell + %t257 = icmp ne i32 %t256, 0 + %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false) + br i1 %t258, label %exc.u98, label %exc.k99 +exc.u98: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + ret ptr null +exc.k99: + %t259 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3198935257758645, ptr %t259) + %t260 = load i32, ptr %exc.cell + %t261 = icmp ne i32 %t260, 0 + %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false) + br i1 %t262, label %exc.u100, label %exc.k101 +exc.u100: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + ret ptr null +exc.k101: + %t263 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t247, ptr %t248, ptr %t249) + %t264 = load i32, ptr %exc.cell + %t265 = icmp ne i32 %t264, 0 + %t266 = call i1 @llvm.expect.i1(i1 %t265, i1 false) + br i1 %t266, label %exc.u102, label %exc.k103 +exc.u102: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + call void @scr_dyn_release(ptr %t263) + ret ptr null +exc.k103: + call void @scr_dyn_release(ptr %t247) + call void @scr_dyn_release(ptr %t248) + call void @scr_dyn_release(ptr %t249) + call void @scr_closure_release(ptr %t250) + call void @scr_dyn_release(ptr %t251) + call void @scr_dyn_release(ptr %t255) + call void @scr_dyn_release(ptr %t259) + call void @scr_dyn_release(ptr %t263) + %t267 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t268 = call ptr @sc_rc_retain_dyn(ptr %t267) + %t269 = call ptr @sc_td_0(ptr @sc_lit_181663572509014) + %t270 = call ptr @scr_dyn_new_obj() + %t271 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf) + %t272 = call ptr @sc_dfb_52(ptr %t271, ptr null) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3610950885518037, ptr %t272) + %t273 = load i32, ptr %exc.cell + %t274 = icmp ne i32 %t273, 0 + %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false) + br i1 %t275, label %exc.u104, label %exc.k105 +exc.u104: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + ret ptr null +exc.k105: + %t276 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_1948131179100861, ptr %t276) + %t277 = load i32, ptr %exc.cell + %t278 = icmp ne i32 %t277, 0 + %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false) + br i1 %t279, label %exc.u106, label %exc.k107 +exc.u106: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + ret ptr null +exc.k107: + %t280 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3198935257758645, ptr %t280) + %t281 = load i32, ptr %exc.cell + %t282 = icmp ne i32 %t281, 0 + %t283 = call i1 @llvm.expect.i1(i1 %t282, i1 false) + br i1 %t283, label %exc.u108, label %exc.k109 +exc.u108: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + ret ptr null +exc.k109: + %t284 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t268, ptr %t269, ptr %t270) + %t285 = load i32, ptr %exc.cell + %t286 = icmp ne i32 %t285, 0 + %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false) + br i1 %t287, label %exc.u110, label %exc.k111 +exc.u110: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + call void @scr_dyn_release(ptr %t284) + ret ptr null +exc.k111: + call void @scr_dyn_release(ptr %t268) + call void @scr_dyn_release(ptr %t269) + call void @scr_dyn_release(ptr %t270) + call void @scr_closure_release(ptr %t271) + call void @scr_dyn_release(ptr %t272) + call void @scr_dyn_release(ptr %t276) + call void @scr_dyn_release(ptr %t280) + call void @scr_dyn_release(ptr %t284) + %t288 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t289 = call ptr @sc_rc_retain_dyn(ptr %t288) + %t290 = call ptr @sc_td_0(ptr @sc_lit_992600386266231) + %t291 = call ptr @scr_dyn_new_obj() + %t292 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf) + %t293 = call ptr @sc_dfb_53(ptr %t292, ptr null) + call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_3610950885518037, ptr %t293) + %t294 = load i32, ptr %exc.cell + %t295 = icmp ne i32 %t294, 0 + %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false) + br i1 %t296, label %exc.u112, label %exc.k113 +exc.u112: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + ret ptr null +exc.k113: + %t297 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_1948131179100861, ptr %t297) + %t298 = load i32, ptr %exc.cell + %t299 = icmp ne i32 %t298, 0 + %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false) + br i1 %t300, label %exc.u114, label %exc.k115 +exc.u114: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + call void @scr_dyn_release(ptr %t297) + ret ptr null +exc.k115: + %t301 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_3198935257758645, ptr %t301) + %t302 = load i32, ptr %exc.cell + %t303 = icmp ne i32 %t302, 0 + %t304 = call i1 @llvm.expect.i1(i1 %t303, i1 false) + br i1 %t304, label %exc.u116, label %exc.k117 +exc.u116: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + call void @scr_dyn_release(ptr %t297) + call void @scr_dyn_release(ptr %t301) + ret ptr null +exc.k117: + %t305 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t289, ptr %t290, ptr %t291) + %t306 = load i32, ptr %exc.cell + %t307 = icmp ne i32 %t306, 0 + %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false) + br i1 %t308, label %exc.u118, label %exc.k119 +exc.u118: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + call void @scr_dyn_release(ptr %t297) + call void @scr_dyn_release(ptr %t301) + call void @scr_dyn_release(ptr %t305) + ret ptr null +exc.k119: + call void @scr_dyn_release(ptr %t289) + call void @scr_dyn_release(ptr %t290) + call void @scr_dyn_release(ptr %t291) + call void @scr_closure_release(ptr %t292) + call void @scr_dyn_release(ptr %t293) + call void @scr_dyn_release(ptr %t297) + call void @scr_dyn_release(ptr %t301) + call void @scr_dyn_release(ptr %t305) + %t309 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t310 = call ptr @sc_rc_retain_dyn(ptr %t309) + %t311 = call ptr @sc_td_0(ptr @sc_lit_4198614539576238) + %t312 = call ptr @scr_dyn_new_obj() + %t313 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap) + %t314 = call ptr @sc_dfb_54(ptr %t313, ptr null) + call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_3610950885518037, ptr %t314) + %t315 = load i32, ptr %exc.cell + %t316 = icmp ne i32 %t315, 0 + %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false) + br i1 %t317, label %exc.u120, label %exc.k121 +exc.u120: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + ret ptr null +exc.k121: + %t318 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_1948131179100861, ptr %t318) + %t319 = load i32, ptr %exc.cell + %t320 = icmp ne i32 %t319, 0 + %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false) + br i1 %t321, label %exc.u122, label %exc.k123 +exc.u122: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + ret ptr null +exc.k123: + %t322 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_3198935257758645, ptr %t322) + %t323 = load i32, ptr %exc.cell + %t324 = icmp ne i32 %t323, 0 + %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false) + br i1 %t325, label %exc.u124, label %exc.k125 +exc.u124: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + call void @scr_dyn_release(ptr %t322) + ret ptr null +exc.k125: + %t326 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t310, ptr %t311, ptr %t312) + %t327 = load i32, ptr %exc.cell + %t328 = icmp ne i32 %t327, 0 + %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false) + br i1 %t329, label %exc.u126, label %exc.k127 +exc.u126: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + call void @scr_dyn_release(ptr %t322) + call void @scr_dyn_release(ptr %t326) + ret ptr null +exc.k127: + call void @scr_dyn_release(ptr %t310) + call void @scr_dyn_release(ptr %t311) + call void @scr_dyn_release(ptr %t312) + call void @scr_closure_release(ptr %t313) + call void @scr_dyn_release(ptr %t314) + call void @scr_dyn_release(ptr %t318) + call void @scr_dyn_release(ptr %t322) + call void @scr_dyn_release(ptr %t326) + %t330 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t331 = call ptr @sc_rc_retain_dyn(ptr %t330) + %t332 = call ptr @sc_td_0(ptr @sc_lit_3908714124573206) + %t333 = call ptr @scr_dyn_new_obj() + %t334 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes) + %t335 = call ptr @sc_dfb_55(ptr %t334, ptr null) + call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_3610950885518037, ptr %t335) + %t336 = load i32, ptr %exc.cell + %t337 = icmp ne i32 %t336, 0 + %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false) + br i1 %t338, label %exc.u128, label %exc.k129 +exc.u128: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + ret ptr null +exc.k129: + %t339 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_1948131179100861, ptr %t339) + %t340 = load i32, ptr %exc.cell + %t341 = icmp ne i32 %t340, 0 + %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false) + br i1 %t342, label %exc.u130, label %exc.k131 +exc.u130: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + call void @scr_dyn_release(ptr %t339) + ret ptr null +exc.k131: + %t343 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_3198935257758645, ptr %t343) + %t344 = load i32, ptr %exc.cell + %t345 = icmp ne i32 %t344, 0 + %t346 = call i1 @llvm.expect.i1(i1 %t345, i1 false) + br i1 %t346, label %exc.u132, label %exc.k133 +exc.u132: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + call void @scr_dyn_release(ptr %t339) + call void @scr_dyn_release(ptr %t343) + ret ptr null +exc.k133: + %t347 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t331, ptr %t332, ptr %t333) + %t348 = load i32, ptr %exc.cell + %t349 = icmp ne i32 %t348, 0 + %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false) + br i1 %t350, label %exc.u134, label %exc.k135 +exc.u134: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + call void @scr_dyn_release(ptr %t339) + call void @scr_dyn_release(ptr %t343) + call void @scr_dyn_release(ptr %t347) + ret ptr null +exc.k135: + call void @scr_dyn_release(ptr %t331) + call void @scr_dyn_release(ptr %t332) + call void @scr_dyn_release(ptr %t333) + call void @scr_closure_release(ptr %t334) + call void @scr_dyn_release(ptr %t335) + call void @scr_dyn_release(ptr %t339) + call void @scr_dyn_release(ptr %t343) + call void @scr_dyn_release(ptr %t347) + br label %if.j3 +if.j3: + %t351 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + %t352 = call ptr @sc_rc_retain_dyn(ptr %t351) + ret ptr %t352 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m2.NodeResponseSink +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_629517122853751 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_629517122853751 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_29(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 16 + %t37 = icmp ule i64 %t35, 16 + %t38 = and i1 %t36, %t37 ; instanceof %m2.NodeResponseSink + call void @sc_release__x25_m2_ResponseSink(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_629517122853751 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_29(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect24, label %brand.done26 +brand.inspect24: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule25, label %brand.done26 +brand.capsule25: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_3326437563644705 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done26, label %brand.compare27 +brand.compare27: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_3326437563644705) + store i1 %t65, ptr %s57 + br label %brand.done26 +brand.done26: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t28, label %if.j29 +if.t28: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect30, label %dc.checked33 +dc.inspect30: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule31, label %dc.checked33 +dc.capsule31: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_3326437563644705 + br i1 %t73, label %dc.exact32, label %dc.checked33 +dc.exact32: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done34 +dc.checked33: + %t79 = call ptr @sc_dc_102(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u35, label %exc.k36 +exc.u35: + ret ptr null +exc.k36: + br label %dc.done34 +dc.done34: + %t83 = load ptr, ptr %s68 + ret ptr %t83 +if.j29: + %t84 = load ptr, ptr %sc_l_this_0 + %t85 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_NodeResponseSink(ptr %t84) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t85) + ret ptr null +exc.k38: + ret ptr %t85 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus(double %p_sc_l_p_0) #0 { ; %method.value:%%m2.NodeResponseSink.setStatus +entry: + %sc_l_p_0 = alloca double ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store double %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load double, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m2_NodeResponseSink_setStatus(ptr %t5, double %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.setHeader +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_NodeResponseSink_setHeader(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.appendHeader +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_NodeResponseSink_appendHeader(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.NodeResponseSink.writeBody +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m2_NodeResponseSink_writeBody(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.bodyBytes +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %t5, ptr %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p0, ptr %p1) + call void @scr_bytes_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %p_sc_l_p_0, double %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.redirect +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca double ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store double %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = load double, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_NodeResponseSink_redirect(ptr %t5, ptr %t9, double %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %p0, double %p1) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.NodeResponseSink.write +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m2_NodeResponseSink_write(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.writeHead +entry: + %sc_l_p_0 = alloca double ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + store double %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load double, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_1 + call void @sc_bf__x25__x25_m2_NodeResponseSink_writeHead(ptr %t5, double %t9, ptr %t10) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %p0, ptr %p1) + call void @scr_arr_release(ptr %p1) + ret void +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream() #0 { ; %method.value:%%m2.NodeResponseSink.endStream +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m2_NodeResponseSink_endStream(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} + +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent() #0 { ; %method.value:%%m2.NodeResponseSink.isSent +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret i1 false +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call i1 @sc_bf__x25__x25_m2_NodeResponseSink_isSent(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret i1 %t9 +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret i1 %t9 +} + +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent() #0 { ; %method.value:%%m2.NodeResponseSink.isHeadersSent +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret i1 false +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call i1 @sc_bf__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret i1 %t9 +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret i1 %t9 +} + +define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy() #0 { ; %method.value:%%m2.NodeResponseSink.destroy +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_bf__x25__x25_m2_NodeResponseSink_destroy(ptr %t5) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret void +} + +define internal double @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf() #0 { ; %method.value:%%m2.NodeResponseSink.statusOf +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret double 0x0000000000000000 +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret double 0x0000000000000000 +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call double @sc_bf__x25__x25_m2_NodeResponseSink_statusOf(ptr %t5) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret double %t9 +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.NodeResponseSink.headerOf +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_headerOf(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + call void @scr_str_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap() #0 { ; %method.value:%%m2.NodeResponseSink.headersMap +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_headersMap(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + call void @sc_rrelease_r0(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes() #0 { ; %method.value:%%m2.NodeResponseSink.nodeRes +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_nodeRes(ptr %t5) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m9.EmbeddedAssets +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = load ptr, ptr %sc_l_this + %t1 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t0, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0 + %t4 = load i64, ptr %t3 + %t5 = icmp uge i64 %t4, 38 + %t6 = icmp ule i64 %t4, 38 + %t7 = and i1 %t5, %t6 ; instanceof %m14.BakedAssets + br i1 %t7, label %if.t0, label %if.j1 +if.t0: + %t8 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k3: + ret ptr %t8 +if.j1: + %t12 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t12) + ret ptr null +exc.k5: + ret ptr %t12 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %p0) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m2.FetchResponseSink +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = load ptr, ptr %sc_l_this + %t1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0 + %t4 = load i64, ptr %t3 + %t5 = icmp uge i64 %t4, 18 + %t6 = icmp ule i64 %t4, 18 + %t7 = and i1 %t5, %t6 ; instanceof %m3.LiteResponse + br i1 %t7, label %if.t0, label %if.j1 +if.t0: + %t8 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k3: + ret ptr %t8 +if.j1: + %t12 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t12) + ret ptr null +exc.k5: + ret ptr %t12 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %p0) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MultipartParser +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %p0) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m3.LiteResponse +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %p0) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m11.StaticServer +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %p0) + call void @sc_release__x25_m11_StaticServer(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m6.AssetSource +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = load ptr, ptr %sc_l_this + %t1 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t0, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0 + %t4 = load i64, ptr %t3 + %t5 = icmp uge i64 %t4, 38 + %t6 = icmp ule i64 %t4, 38 + %t7 = and i1 %t5, %t6 ; instanceof %m14.BakedAssets + br i1 %t7, label %if.t0, label %if.j1 +if.t0: + %t8 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k3: + ret ptr %t8 +if.j1: + %t12 = load ptr, ptr %sc_l_this + %t13 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t12, i64 0, i32 1 + %t14 = load ptr, ptr %t13 + %t15 = getelementptr inbounds %ScrVt, ptr %t14, i64 0, i32 0 + %t16 = load i64, ptr %t15 + %t17 = icmp uge i64 %t16, 37 + %t18 = icmp ule i64 %t16, 38 + %t19 = and i1 %t17, %t18 ; instanceof %m9.EmbeddedAssets + br i1 %t19, label %if.t4, label %if.j5 +if.t4: + %t20 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t20) + ret ptr null +exc.k7: + ret ptr %t20 +if.j5: + %t24 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource() + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k9: + ret ptr %t24 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %p0) + call void @sc_release__x25_m6_AssetSource(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MultipartFileSink +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = load ptr, ptr %sc_l_this + %t1 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t0, i64 0, i32 1 + %t2 = load ptr, ptr %t1 + %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0 + %t4 = load i64, ptr %t3 + %t5 = icmp uge i64 %t4, 23 + %t6 = icmp ule i64 %t4, 23 + %t7 = and i1 %t5, %t6 ; instanceof %m4.MemoryFileSink + br i1 %t7, label %if.t0, label %if.j1 +if.t0: + %t8 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k3: + ret ptr %t8 +if.j1: + %t12 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink() + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t12) + ret ptr null +exc.k5: + ret ptr %t12 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %p0) + call void @sc_release__x25_m4_MultipartFileSink(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() #0 { ; %prototype.data.%m4.MemoryFileSink +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k5: + %t10 = call ptr @scr_dyn_obj_create(ptr %t6) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k7: + %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + call void @sc_rc_release_dyn(ptr %t14) + store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + call void @sc_rc_release_dyn(ptr %t6) + store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink_ready + %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + %t17 = call ptr @sc_td_0(ptr @sc_lit_298897322184109) + %t18 = call ptr @scr_dyn_new_obj() + %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write) + %t20 = call ptr @sc_dfb_0(ptr %t19, ptr null) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20) + %t21 = load i32, ptr %exc.cell + %t22 = icmp ne i32 %t21, 0 + %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false) + br i1 %t23, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + ret ptr null +exc.k9: + %t24 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k11: + %t28 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + ret ptr null +exc.k13: + %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + call void @scr_closure_release(ptr %t19) + call void @sc_rc_release_dyn(ptr %t20) + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t32) + %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_td_0(ptr @sc_lit_1048673592241930) + %t39 = call ptr @scr_dyn_new_obj() + %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file) + %t41 = call ptr @sc_dfb_67(ptr %t40, ptr null) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + ret ptr null +exc.k17: + %t45 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t45) + ret ptr null +exc.k19: + %t49 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49) + %t50 = load i32, ptr %exc.cell + %t51 = icmp ne i32 %t50, 0 + %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false) + br i1 %t52, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t49) + ret ptr null +exc.k21: + %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39) + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_rc_release_dyn(ptr %t53) + ret ptr null +exc.k23: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t39) + call void @scr_closure_release(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_rc_release_dyn(ptr %t53) + br label %if.j3 +if.j3: + %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + %t58 = call ptr @sc_rc_retain_dyn(ptr %t57) + ret ptr %t58 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MemoryFileSink +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_2072202777142634 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_2072202777142634) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_2072202777142634 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_26(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 23 + %t37 = icmp ule i64 %t35, 23 + %t38 = and i1 %t36, %t37 ; instanceof %m4.MemoryFileSink + call void @sc_release__x25_m4_MultipartFileSink(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_this_0 + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_2072202777142634 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_26(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect24, label %brand.done26 +brand.inspect24: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule25, label %brand.done26 +brand.capsule25: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_3728566007289652 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done26, label %brand.compare27 +brand.compare27: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_3728566007289652) + store i1 %t65, ptr %s57 + br label %brand.done26 +brand.done26: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t28, label %if.j29 +if.t28: + %t67 = load ptr, ptr %sc_l_this_0 + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect30, label %dc.checked33 +dc.inspect30: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule31, label %dc.checked33 +dc.capsule31: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_3728566007289652 + br i1 %t73, label %dc.exact32, label %dc.checked33 +dc.exact32: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done34 +dc.checked33: + %t79 = call ptr @sc_dc_100(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u35, label %exc.k36 +exc.u35: + ret ptr null +exc.k36: + br label %dc.done34 +dc.done34: + %t83 = load ptr, ptr %s68 + ret ptr %t83 +if.j29: + %t84 = load ptr, ptr %sc_l_this_0 + %t85 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryFileSink(ptr %t84) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_release__x25_m4_MemoryFileSink(ptr %t85) + ret ptr null +exc.k38: + ret ptr %t85 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MemoryFileSink.write +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m4_MemoryFileSink_write(ptr %t5, ptr %t9) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file() #0 { ; %method.value:%%m4.MemoryFileSink.file +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m4_MemoryFileSink_file(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m4_MemoryFileSink(ptr %t5) + call void @sc_release__x25_m4_UploadedFile(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m4_MemoryFileSink(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m0.GenDispatch +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %p0) + call void @sc_release__x25_m0_GenDispatch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m0.GenFetch +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %p0) + call void @sc_release__x25_m0_GenFetch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m1.UpgradeDispatch +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %p0) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m2.NodeResponseSink +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %p0) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m3.LiteRequest +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %p0) + call void @sc_release__x25_m3_LiteRequest(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m5.App +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t4, i64 0, i32 18 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m5_App() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t18, i64 0, i32 18 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m5_App(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %p0) + call void @sc_release__x25_m5_App(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %p_sc_l_p_0) #0 { ; %dyn.class.readPropertiesOrEmpty +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s55 = alloca ptr + %s76 = alloca i1 + %s88 = alloca ptr + %s120 = alloca ptr + %s141 = alloca i1 + %s153 = alloca ptr + %s185 = alloca ptr + %s206 = alloca i1 + %s218 = alloca ptr + %s250 = alloca ptr + %s271 = alloca i1 + %s283 = alloca ptr + %s315 = alloca ptr + %s336 = alloca i1 + %s348 = alloca ptr + %s380 = alloca ptr + %s401 = alloca i1 + %s413 = alloca ptr + %s445 = alloca ptr + %s466 = alloca i1 + %s478 = alloca ptr + %s510 = alloca ptr + %s531 = alloca i1 + %s541 = alloca i1 + %s544 = alloca ptr + %s570 = alloca ptr + %s602 = alloca ptr + %s623 = alloca i1 + %s635 = alloca ptr + %s658 = alloca ptr + %s681 = alloca ptr + %s698 = alloca ptr + %s719 = alloca i1 + %s729 = alloca i1 + %s732 = alloca ptr + %s758 = alloca ptr + %s790 = alloca ptr + %s811 = alloca i1 + %s821 = alloca i1 + %s824 = alloca ptr + %s850 = alloca ptr + %s873 = alloca ptr + %s896 = alloca ptr + %s913 = alloca ptr + %s934 = alloca i1 + %s946 = alloca ptr + %s969 = alloca ptr + %s992 = alloca ptr + %s995 = alloca ptr + %s1018 = alloca ptr + %s1040 = alloca ptr + %s1061 = alloca i1 + %s1073 = alloca ptr + %s1105 = alloca ptr + %s1126 = alloca i1 + %s1138 = alloca ptr + %s1170 = alloca ptr + %s1191 = alloca i1 + %s1203 = alloca ptr + %s1228 = alloca ptr + %s1249 = alloca i1 + %s1261 = alloca ptr + %s1293 = alloca ptr + %s1314 = alloca i1 + %s1326 = alloca ptr + %s1351 = alloca ptr + %s1372 = alloca i1 + %s1382 = alloca i1 + %s1385 = alloca ptr + %s1411 = alloca ptr + %s1443 = alloca ptr + %s1464 = alloca i1 + %s1476 = alloca ptr + %s1499 = alloca ptr + %s1522 = alloca ptr + %s1539 = alloca ptr + %s1560 = alloca i1 + %s1572 = alloca ptr + %s1604 = alloca ptr + %s1625 = alloca i1 + %s1635 = alloca i1 + %s1638 = alloca ptr + %s1664 = alloca ptr + %s1696 = alloca ptr + %s1717 = alloca i1 + %s1729 = alloca ptr + %s1752 = alloca ptr + %s1775 = alloca ptr + %s1792 = alloca ptr + %s1813 = alloca i1 + %s1823 = alloca i1 + %s1826 = alloca ptr + %s1852 = alloca ptr + %s1884 = alloca ptr + %s1905 = alloca i1 + %s1915 = alloca i1 + %s1918 = alloca ptr + %s1944 = alloca ptr + %s1967 = alloca ptr + %s1990 = alloca ptr + %s2007 = alloca ptr + %s2028 = alloca i1 + %s2038 = alloca i1 + %s2041 = alloca ptr + %s2067 = alloca ptr + %s2099 = alloca ptr + %s2120 = alloca i1 + %s2132 = alloca ptr + %s2155 = alloca ptr + %s2178 = alloca ptr + %s2181 = alloca ptr + %s2204 = alloca ptr + %s2216 = alloca ptr + %s2239 = alloca ptr + %s2257 = alloca ptr + %s2278 = alloca i1 + %s2290 = alloca ptr + %s2322 = alloca ptr + %s2343 = alloca i1 + %s2355 = alloca ptr + %s2380 = alloca ptr + %s2401 = alloca i1 + %s2411 = alloca i1 + %s2414 = alloca ptr + %s2440 = alloca ptr + %s2472 = alloca ptr + %s2493 = alloca i1 + %s2505 = alloca ptr + %s2528 = alloca ptr + %s2551 = alloca ptr + %s2568 = alloca ptr + %s2589 = alloca i1 + %s2601 = alloca ptr + %s2633 = alloca ptr + %s2654 = alloca i1 + %s2666 = alloca ptr + %s2698 = alloca ptr + %s2719 = alloca i1 + %s2731 = alloca ptr + %s2763 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @scr_dyn_release(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_30(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_dyn_release(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t38, i64 0, i32 2 + %t40 = load ptr, ptr %t39, !tbaa !204 + %t41 = getelementptr inbounds i8, ptr %t40, i64 8 ; ->kind + %t42 = load i32, ptr %t41 + %t43 = icmp eq i32 %t42, 6 + call void @scr_dyn_release(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + br i1 %t43, label %if.t18, label %if.j19 +if.t18: + %t44 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore() + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_dyn_release(ptr %t44) + br label %exc.cleanup2 +exc.k21: + %t48 = call ptr @scr_dyn_obj_create(ptr %t44) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_dyn_release(ptr %t44) + call void @scr_dyn_release(ptr %t48) + br label %exc.cleanup2 +exc.k23: + call void @scr_dyn_release(ptr %t44) + %t52 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t52) + ret ptr %t48 +if.j19: + %t53 = load ptr, ptr %sc_l_p_0 + %t54 = call ptr @sc_rc_retain_dyn(ptr %t53) + %t56 = icmp ne ptr %t54, null + br i1 %t56, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t61 = getelementptr inbounds i8, ptr %t54, i64 8 ; ->kind + %t62 = load i32, ptr %t61 + %t57 = icmp eq i32 %t62, 12 + br i1 %t57, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t58 = getelementptr inbounds i8, ptr %t54, i64 40 ; ->v.typed_ref.type_key + %t59 = load ptr, ptr %t58 + %t60 = icmp eq ptr %t59, @sc_cs_1746033898805369 + br i1 %t60, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t63 = getelementptr inbounds i8, ptr %t54, i64 16 ; ->v.typed_ref.ptr + %t64 = load ptr, ptr %t63 + %t65 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t64) + store ptr %t65, ptr %s55 + br label %dc.done28 +dc.checked27: + %t66 = call ptr @sc_dc_30(ptr %t54, ptr null) + store ptr %t66, ptr %s55 + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u29, label %exc.k30 +exc.u29: + call void @scr_dyn_release(ptr %t54) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t70 = load ptr, ptr %s55 + %t71 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t70, i64 0, i32 2 + %t72 = load ptr, ptr %t71, !tbaa !204 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + call void @scr_dyn_release(ptr %t54) + call void @sc_release__x25_m5_CtxResCore(ptr %t70) + %t74 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t74) + ret ptr %t73 +if.j10: + %t75 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s76 + %t77 = icmp ne ptr %t75, null + br i1 %t77, label %brand.inspect31, label %brand.done33 +brand.inspect31: + %t78 = getelementptr inbounds i8, ptr %t75, i64 8 ; ->kind + %t79 = load i32, ptr %t78 + %t80 = icmp eq i32 %t79, 12 + br i1 %t80, label %brand.capsule32, label %brand.done33 +brand.capsule32: + %t81 = getelementptr inbounds i8, ptr %t75, i64 40 ; ->v.typed_ref.type_key + %t82 = load ptr, ptr %t81 + %t83 = icmp eq ptr %t82, @sc_cs_3456310594719780 + store i1 true, ptr %s76 + br i1 %t83, label %brand.done33, label %brand.compare34 +brand.compare34: + %t84 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t75, ptr @sc_lit_3456310594719780) + store i1 %t84, ptr %s76 + br label %brand.done33 +brand.done33: + %t85 = load i1, ptr %s76 + br i1 %t85, label %if.t35, label %if.j36 +if.t35: + %t86 = load ptr, ptr %sc_l_p_0 + %t87 = call ptr @sc_rc_retain_dyn(ptr %t86) + %t89 = icmp ne ptr %t87, null + br i1 %t89, label %dc.inspect37, label %dc.checked40 +dc.inspect37: + %t94 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind + %t95 = load i32, ptr %t94 + %t90 = icmp eq i32 %t95, 12 + br i1 %t90, label %dc.capsule38, label %dc.checked40 +dc.capsule38: + %t91 = getelementptr inbounds i8, ptr %t87, i64 40 ; ->v.typed_ref.type_key + %t92 = load ptr, ptr %t91 + %t93 = icmp eq ptr %t92, @sc_cs_3456310594719780 + br i1 %t93, label %dc.exact39, label %dc.checked40 +dc.exact39: + %t96 = getelementptr inbounds i8, ptr %t87, i64 16 ; ->v.typed_ref.ptr + %t97 = load ptr, ptr %t96 + %t98 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t97) + store ptr %t98, ptr %s88 + br label %dc.done41 +dc.checked40: + %t99 = call ptr @sc_dc_99(ptr %t87, ptr null) + store ptr %t99, ptr %s88 + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_dyn_release(ptr %t87) + br label %exc.cleanup2 +exc.k43: + br label %dc.done41 +dc.done41: + %t103 = load ptr, ptr %s88 + %t104 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t103, i64 0, i32 2 + %t105 = load ptr, ptr %t104, !tbaa !204 + %t106 = getelementptr inbounds i8, ptr %t105, i64 8 ; ->kind + %t107 = load i32, ptr %t106 + %t108 = icmp eq i32 %t107, 6 + call void @scr_dyn_release(ptr %t87) + call void @sc_release__x25_m4_MemoryStorage(ptr %t103) + br i1 %t108, label %if.t44, label %if.j45 +if.t44: + %t109 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_dyn_release(ptr %t109) + br label %exc.cleanup2 +exc.k47: + %t113 = call ptr @scr_dyn_obj_create(ptr %t109) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_dyn_release(ptr %t109) + call void @scr_dyn_release(ptr %t113) + br label %exc.cleanup2 +exc.k49: + call void @scr_dyn_release(ptr %t109) + %t117 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t117) + ret ptr %t113 +if.j45: + %t118 = load ptr, ptr %sc_l_p_0 + %t119 = call ptr @sc_rc_retain_dyn(ptr %t118) + %t121 = icmp ne ptr %t119, null + br i1 %t121, label %dc.inspect50, label %dc.checked53 +dc.inspect50: + %t126 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind + %t127 = load i32, ptr %t126 + %t122 = icmp eq i32 %t127, 12 + br i1 %t122, label %dc.capsule51, label %dc.checked53 +dc.capsule51: + %t123 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key + %t124 = load ptr, ptr %t123 + %t125 = icmp eq ptr %t124, @sc_cs_3456310594719780 + br i1 %t125, label %dc.exact52, label %dc.checked53 +dc.exact52: + %t128 = getelementptr inbounds i8, ptr %t119, i64 16 ; ->v.typed_ref.ptr + %t129 = load ptr, ptr %t128 + %t130 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t129) + store ptr %t130, ptr %s120 + br label %dc.done54 +dc.checked53: + %t131 = call ptr @sc_dc_99(ptr %t119, ptr null) + store ptr %t131, ptr %s120 + %t132 = load i32, ptr %exc.cell + %t133 = icmp ne i32 %t132, 0 + %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false) + br i1 %t134, label %exc.u55, label %exc.k56 +exc.u55: + call void @scr_dyn_release(ptr %t119) + br label %exc.cleanup2 +exc.k56: + br label %dc.done54 +dc.done54: + %t135 = load ptr, ptr %s120 + %t136 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t135, i64 0, i32 2 + %t137 = load ptr, ptr %t136, !tbaa !204 + %t138 = call ptr @sc_rc_retain_dyn(ptr %t137) + call void @scr_dyn_release(ptr %t119) + call void @sc_release__x25_m4_MemoryStorage(ptr %t135) + %t139 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t139) + ret ptr %t138 +if.j36: + %t140 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s141 + %t142 = icmp ne ptr %t140, null + br i1 %t142, label %brand.inspect57, label %brand.done59 +brand.inspect57: + %t143 = getelementptr inbounds i8, ptr %t140, i64 8 ; ->kind + %t144 = load i32, ptr %t143 + %t145 = icmp eq i32 %t144, 12 + br i1 %t145, label %brand.capsule58, label %brand.done59 +brand.capsule58: + %t146 = getelementptr inbounds i8, ptr %t140, i64 40 ; ->v.typed_ref.type_key + %t147 = load ptr, ptr %t146 + %t148 = icmp eq ptr %t147, @sc_cs_3728566007289652 + store i1 true, ptr %s141 + br i1 %t148, label %brand.done59, label %brand.compare60 +brand.compare60: + %t149 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t140, ptr @sc_lit_3728566007289652) + store i1 %t149, ptr %s141 + br label %brand.done59 +brand.done59: + %t150 = load i1, ptr %s141 + br i1 %t150, label %if.t61, label %if.j62 +if.t61: + %t151 = load ptr, ptr %sc_l_p_0 + %t152 = call ptr @sc_rc_retain_dyn(ptr %t151) + %t154 = icmp ne ptr %t152, null + br i1 %t154, label %dc.inspect63, label %dc.checked66 +dc.inspect63: + %t159 = getelementptr inbounds i8, ptr %t152, i64 8 ; ->kind + %t160 = load i32, ptr %t159 + %t155 = icmp eq i32 %t160, 12 + br i1 %t155, label %dc.capsule64, label %dc.checked66 +dc.capsule64: + %t156 = getelementptr inbounds i8, ptr %t152, i64 40 ; ->v.typed_ref.type_key + %t157 = load ptr, ptr %t156 + %t158 = icmp eq ptr %t157, @sc_cs_3728566007289652 + br i1 %t158, label %dc.exact65, label %dc.checked66 +dc.exact65: + %t161 = getelementptr inbounds i8, ptr %t152, i64 16 ; ->v.typed_ref.ptr + %t162 = load ptr, ptr %t161 + %t163 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t162) + store ptr %t163, ptr %s153 + br label %dc.done67 +dc.checked66: + %t164 = call ptr @sc_dc_100(ptr %t152, ptr null) + store ptr %t164, ptr %s153 + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_dyn_release(ptr %t152) + br label %exc.cleanup2 +exc.k69: + br label %dc.done67 +dc.done67: + %t168 = load ptr, ptr %s153 + %t169 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t168, i64 0, i32 2 + %t170 = load ptr, ptr %t169, !tbaa !204 + %t171 = getelementptr inbounds i8, ptr %t170, i64 8 ; ->kind + %t172 = load i32, ptr %t171 + %t173 = icmp eq i32 %t172, 6 + call void @scr_dyn_release(ptr %t152) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t168) + br i1 %t173, label %if.t70, label %if.j71 +if.t70: + %t174 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u72, label %exc.k73 +exc.u72: + call void @scr_dyn_release(ptr %t174) + br label %exc.cleanup2 +exc.k73: + %t178 = call ptr @scr_dyn_obj_create(ptr %t174) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u74, label %exc.k75 +exc.u74: + call void @scr_dyn_release(ptr %t174) + call void @scr_dyn_release(ptr %t178) + br label %exc.cleanup2 +exc.k75: + call void @scr_dyn_release(ptr %t174) + %t182 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t182) + ret ptr %t178 +if.j71: + %t183 = load ptr, ptr %sc_l_p_0 + %t184 = call ptr @sc_rc_retain_dyn(ptr %t183) + %t186 = icmp ne ptr %t184, null + br i1 %t186, label %dc.inspect76, label %dc.checked79 +dc.inspect76: + %t191 = getelementptr inbounds i8, ptr %t184, i64 8 ; ->kind + %t192 = load i32, ptr %t191 + %t187 = icmp eq i32 %t192, 12 + br i1 %t187, label %dc.capsule77, label %dc.checked79 +dc.capsule77: + %t188 = getelementptr inbounds i8, ptr %t184, i64 40 ; ->v.typed_ref.type_key + %t189 = load ptr, ptr %t188 + %t190 = icmp eq ptr %t189, @sc_cs_3728566007289652 + br i1 %t190, label %dc.exact78, label %dc.checked79 +dc.exact78: + %t193 = getelementptr inbounds i8, ptr %t184, i64 16 ; ->v.typed_ref.ptr + %t194 = load ptr, ptr %t193 + %t195 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t194) + store ptr %t195, ptr %s185 + br label %dc.done80 +dc.checked79: + %t196 = call ptr @sc_dc_100(ptr %t184, ptr null) + store ptr %t196, ptr %s185 + %t197 = load i32, ptr %exc.cell + %t198 = icmp ne i32 %t197, 0 + %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false) + br i1 %t199, label %exc.u81, label %exc.k82 +exc.u81: + call void @scr_dyn_release(ptr %t184) + br label %exc.cleanup2 +exc.k82: + br label %dc.done80 +dc.done80: + %t200 = load ptr, ptr %s185 + %t201 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t200, i64 0, i32 2 + %t202 = load ptr, ptr %t201, !tbaa !204 + %t203 = call ptr @sc_rc_retain_dyn(ptr %t202) + call void @scr_dyn_release(ptr %t184) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t200) + %t204 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t204) + ret ptr %t203 +if.j62: + %t205 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s206 + %t207 = icmp ne ptr %t205, null + br i1 %t207, label %brand.inspect83, label %brand.done85 +brand.inspect83: + %t208 = getelementptr inbounds i8, ptr %t205, i64 8 ; ->kind + %t209 = load i32, ptr %t208 + %t210 = icmp eq i32 %t209, 12 + br i1 %t210, label %brand.capsule84, label %brand.done85 +brand.capsule84: + %t211 = getelementptr inbounds i8, ptr %t205, i64 40 ; ->v.typed_ref.type_key + %t212 = load ptr, ptr %t211 + %t213 = icmp eq ptr %t212, @sc_cs_4041255434968695 + store i1 true, ptr %s206 + br i1 %t213, label %brand.done85, label %brand.compare86 +brand.compare86: + %t214 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t205, ptr @sc_lit_4041255434968695) + store i1 %t214, ptr %s206 + br label %brand.done85 +brand.done85: + %t215 = load i1, ptr %s206 + br i1 %t215, label %if.t87, label %if.j88 +if.t87: + %t216 = load ptr, ptr %sc_l_p_0 + %t217 = call ptr @sc_rc_retain_dyn(ptr %t216) + %t219 = icmp ne ptr %t217, null + br i1 %t219, label %dc.inspect89, label %dc.checked92 +dc.inspect89: + %t224 = getelementptr inbounds i8, ptr %t217, i64 8 ; ->kind + %t225 = load i32, ptr %t224 + %t220 = icmp eq i32 %t225, 12 + br i1 %t220, label %dc.capsule90, label %dc.checked92 +dc.capsule90: + %t221 = getelementptr inbounds i8, ptr %t217, i64 40 ; ->v.typed_ref.type_key + %t222 = load ptr, ptr %t221 + %t223 = icmp eq ptr %t222, @sc_cs_4041255434968695 + br i1 %t223, label %dc.exact91, label %dc.checked92 +dc.exact91: + %t226 = getelementptr inbounds i8, ptr %t217, i64 16 ; ->v.typed_ref.ptr + %t227 = load ptr, ptr %t226 + %t228 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t227) + store ptr %t228, ptr %s218 + br label %dc.done93 +dc.checked92: + %t229 = call ptr @sc_dc_101(ptr %t217, ptr null) + store ptr %t229, ptr %s218 + %t230 = load i32, ptr %exc.cell + %t231 = icmp ne i32 %t230, 0 + %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false) + br i1 %t232, label %exc.u94, label %exc.k95 +exc.u94: + call void @scr_dyn_release(ptr %t217) + br label %exc.cleanup2 +exc.k95: + br label %dc.done93 +dc.done93: + %t233 = load ptr, ptr %s218 + %t234 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t233, i64 0, i32 9 + %t235 = load ptr, ptr %t234, !tbaa !204 + %t236 = getelementptr inbounds i8, ptr %t235, i64 8 ; ->kind + %t237 = load i32, ptr %t236 + %t238 = icmp eq i32 %t237, 6 + call void @scr_dyn_release(ptr %t217) + call void @sc_release__x25_m3_LiteRequest(ptr %t233) + br i1 %t238, label %if.t96, label %if.j97 +if.t96: + %t239 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest() + %t240 = load i32, ptr %exc.cell + %t241 = icmp ne i32 %t240, 0 + %t242 = call i1 @llvm.expect.i1(i1 %t241, i1 false) + br i1 %t242, label %exc.u98, label %exc.k99 +exc.u98: + call void @scr_dyn_release(ptr %t239) + br label %exc.cleanup2 +exc.k99: + %t243 = call ptr @scr_dyn_obj_create(ptr %t239) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u100, label %exc.k101 +exc.u100: + call void @scr_dyn_release(ptr %t239) + call void @scr_dyn_release(ptr %t243) + br label %exc.cleanup2 +exc.k101: + call void @scr_dyn_release(ptr %t239) + %t247 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t247) + ret ptr %t243 +if.j97: + %t248 = load ptr, ptr %sc_l_p_0 + %t249 = call ptr @sc_rc_retain_dyn(ptr %t248) + %t251 = icmp ne ptr %t249, null + br i1 %t251, label %dc.inspect102, label %dc.checked105 +dc.inspect102: + %t256 = getelementptr inbounds i8, ptr %t249, i64 8 ; ->kind + %t257 = load i32, ptr %t256 + %t252 = icmp eq i32 %t257, 12 + br i1 %t252, label %dc.capsule103, label %dc.checked105 +dc.capsule103: + %t253 = getelementptr inbounds i8, ptr %t249, i64 40 ; ->v.typed_ref.type_key + %t254 = load ptr, ptr %t253 + %t255 = icmp eq ptr %t254, @sc_cs_4041255434968695 + br i1 %t255, label %dc.exact104, label %dc.checked105 +dc.exact104: + %t258 = getelementptr inbounds i8, ptr %t249, i64 16 ; ->v.typed_ref.ptr + %t259 = load ptr, ptr %t258 + %t260 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t259) + store ptr %t260, ptr %s250 + br label %dc.done106 +dc.checked105: + %t261 = call ptr @sc_dc_101(ptr %t249, ptr null) + store ptr %t261, ptr %s250 + %t262 = load i32, ptr %exc.cell + %t263 = icmp ne i32 %t262, 0 + %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false) + br i1 %t264, label %exc.u107, label %exc.k108 +exc.u107: + call void @scr_dyn_release(ptr %t249) + br label %exc.cleanup2 +exc.k108: + br label %dc.done106 +dc.done106: + %t265 = load ptr, ptr %s250 + %t266 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t265, i64 0, i32 9 + %t267 = load ptr, ptr %t266, !tbaa !204 + %t268 = call ptr @sc_rc_retain_dyn(ptr %t267) + call void @scr_dyn_release(ptr %t249) + call void @sc_release__x25_m3_LiteRequest(ptr %t265) + %t269 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t269) + ret ptr %t268 +if.j88: + %t270 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s271 + %t272 = icmp ne ptr %t270, null + br i1 %t272, label %brand.inspect109, label %brand.done111 +brand.inspect109: + %t273 = getelementptr inbounds i8, ptr %t270, i64 8 ; ->kind + %t274 = load i32, ptr %t273 + %t275 = icmp eq i32 %t274, 12 + br i1 %t275, label %brand.capsule110, label %brand.done111 +brand.capsule110: + %t276 = getelementptr inbounds i8, ptr %t270, i64 40 ; ->v.typed_ref.type_key + %t277 = load ptr, ptr %t276 + %t278 = icmp eq ptr %t277, @sc_cs_3326437563644705 + store i1 true, ptr %s271 + br i1 %t278, label %brand.done111, label %brand.compare112 +brand.compare112: + %t279 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t270, ptr @sc_lit_3326437563644705) + store i1 %t279, ptr %s271 + br label %brand.done111 +brand.done111: + %t280 = load i1, ptr %s271 + br i1 %t280, label %if.t113, label %if.j114 +if.t113: + %t281 = load ptr, ptr %sc_l_p_0 + %t282 = call ptr @sc_rc_retain_dyn(ptr %t281) + %t284 = icmp ne ptr %t282, null + br i1 %t284, label %dc.inspect115, label %dc.checked118 +dc.inspect115: + %t289 = getelementptr inbounds i8, ptr %t282, i64 8 ; ->kind + %t290 = load i32, ptr %t289 + %t285 = icmp eq i32 %t290, 12 + br i1 %t285, label %dc.capsule116, label %dc.checked118 +dc.capsule116: + %t286 = getelementptr inbounds i8, ptr %t282, i64 40 ; ->v.typed_ref.type_key + %t287 = load ptr, ptr %t286 + %t288 = icmp eq ptr %t287, @sc_cs_3326437563644705 + br i1 %t288, label %dc.exact117, label %dc.checked118 +dc.exact117: + %t291 = getelementptr inbounds i8, ptr %t282, i64 16 ; ->v.typed_ref.ptr + %t292 = load ptr, ptr %t291 + %t293 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t292) + store ptr %t293, ptr %s283 + br label %dc.done119 +dc.checked118: + %t294 = call ptr @sc_dc_102(ptr %t282, ptr null) + store ptr %t294, ptr %s283 + %t295 = load i32, ptr %exc.cell + %t296 = icmp ne i32 %t295, 0 + %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false) + br i1 %t297, label %exc.u120, label %exc.k121 +exc.u120: + call void @scr_dyn_release(ptr %t282) + br label %exc.cleanup2 +exc.k121: + br label %dc.done119 +dc.done119: + %t298 = load ptr, ptr %s283 + %t299 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t298, i64 0, i32 2 + %t300 = load ptr, ptr %t299, !tbaa !204 + %t301 = getelementptr inbounds i8, ptr %t300, i64 8 ; ->kind + %t302 = load i32, ptr %t301 + %t303 = icmp eq i32 %t302, 6 + call void @scr_dyn_release(ptr %t282) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t298) + br i1 %t303, label %if.t122, label %if.j123 +if.t122: + %t304 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u124, label %exc.k125 +exc.u124: + call void @scr_dyn_release(ptr %t304) + br label %exc.cleanup2 +exc.k125: + %t308 = call ptr @scr_dyn_obj_create(ptr %t304) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u126, label %exc.k127 +exc.u126: + call void @scr_dyn_release(ptr %t304) + call void @scr_dyn_release(ptr %t308) + br label %exc.cleanup2 +exc.k127: + call void @scr_dyn_release(ptr %t304) + %t312 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t312) + ret ptr %t308 +if.j123: + %t313 = load ptr, ptr %sc_l_p_0 + %t314 = call ptr @sc_rc_retain_dyn(ptr %t313) + %t316 = icmp ne ptr %t314, null + br i1 %t316, label %dc.inspect128, label %dc.checked131 +dc.inspect128: + %t321 = getelementptr inbounds i8, ptr %t314, i64 8 ; ->kind + %t322 = load i32, ptr %t321 + %t317 = icmp eq i32 %t322, 12 + br i1 %t317, label %dc.capsule129, label %dc.checked131 +dc.capsule129: + %t318 = getelementptr inbounds i8, ptr %t314, i64 40 ; ->v.typed_ref.type_key + %t319 = load ptr, ptr %t318 + %t320 = icmp eq ptr %t319, @sc_cs_3326437563644705 + br i1 %t320, label %dc.exact130, label %dc.checked131 +dc.exact130: + %t323 = getelementptr inbounds i8, ptr %t314, i64 16 ; ->v.typed_ref.ptr + %t324 = load ptr, ptr %t323 + %t325 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t324) + store ptr %t325, ptr %s315 + br label %dc.done132 +dc.checked131: + %t326 = call ptr @sc_dc_102(ptr %t314, ptr null) + store ptr %t326, ptr %s315 + %t327 = load i32, ptr %exc.cell + %t328 = icmp ne i32 %t327, 0 + %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false) + br i1 %t329, label %exc.u133, label %exc.k134 +exc.u133: + call void @scr_dyn_release(ptr %t314) + br label %exc.cleanup2 +exc.k134: + br label %dc.done132 +dc.done132: + %t330 = load ptr, ptr %s315 + %t331 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t330, i64 0, i32 2 + %t332 = load ptr, ptr %t331, !tbaa !204 + %t333 = call ptr @sc_rc_retain_dyn(ptr %t332) + call void @scr_dyn_release(ptr %t314) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t330) + %t334 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t334) + ret ptr %t333 +if.j114: + %t335 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s336 + %t337 = icmp ne ptr %t335, null + br i1 %t337, label %brand.inspect135, label %brand.done137 +brand.inspect135: + %t338 = getelementptr inbounds i8, ptr %t335, i64 8 ; ->kind + %t339 = load i32, ptr %t338 + %t340 = icmp eq i32 %t339, 12 + br i1 %t340, label %brand.capsule136, label %brand.done137 +brand.capsule136: + %t341 = getelementptr inbounds i8, ptr %t335, i64 40 ; ->v.typed_ref.type_key + %t342 = load ptr, ptr %t341 + %t343 = icmp eq ptr %t342, @sc_cs_3870085012327510 + store i1 true, ptr %s336 + br i1 %t343, label %brand.done137, label %brand.compare138 +brand.compare138: + %t344 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t335, ptr @sc_lit_3870085012327510) + store i1 %t344, ptr %s336 + br label %brand.done137 +brand.done137: + %t345 = load i1, ptr %s336 + br i1 %t345, label %if.t139, label %if.j140 +if.t139: + %t346 = load ptr, ptr %sc_l_p_0 + %t347 = call ptr @sc_rc_retain_dyn(ptr %t346) + %t349 = icmp ne ptr %t347, null + br i1 %t349, label %dc.inspect141, label %dc.checked144 +dc.inspect141: + %t354 = getelementptr inbounds i8, ptr %t347, i64 8 ; ->kind + %t355 = load i32, ptr %t354 + %t350 = icmp eq i32 %t355, 12 + br i1 %t350, label %dc.capsule142, label %dc.checked144 +dc.capsule142: + %t351 = getelementptr inbounds i8, ptr %t347, i64 40 ; ->v.typed_ref.type_key + %t352 = load ptr, ptr %t351 + %t353 = icmp eq ptr %t352, @sc_cs_3870085012327510 + br i1 %t353, label %dc.exact143, label %dc.checked144 +dc.exact143: + %t356 = getelementptr inbounds i8, ptr %t347, i64 16 ; ->v.typed_ref.ptr + %t357 = load ptr, ptr %t356 + %t358 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t357) + store ptr %t358, ptr %s348 + br label %dc.done145 +dc.checked144: + %t359 = call ptr @sc_dc_94(ptr %t347, ptr null) + store ptr %t359, ptr %s348 + %t360 = load i32, ptr %exc.cell + %t361 = icmp ne i32 %t360, 0 + %t362 = call i1 @llvm.expect.i1(i1 %t361, i1 false) + br i1 %t362, label %exc.u146, label %exc.k147 +exc.u146: + call void @scr_dyn_release(ptr %t347) + br label %exc.cleanup2 +exc.k147: + br label %dc.done145 +dc.done145: + %t363 = load ptr, ptr %s348 + %t364 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t363, i64 0, i32 1 + %t365 = load ptr, ptr %t364, !tbaa !204 + %t366 = getelementptr inbounds i8, ptr %t365, i64 8 ; ->kind + %t367 = load i32, ptr %t366 + %t368 = icmp eq i32 %t367, 6 + call void @scr_dyn_release(ptr %t347) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t363) + br i1 %t368, label %if.t148, label %if.j149 +if.t148: + %t369 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch() + %t370 = load i32, ptr %exc.cell + %t371 = icmp ne i32 %t370, 0 + %t372 = call i1 @llvm.expect.i1(i1 %t371, i1 false) + br i1 %t372, label %exc.u150, label %exc.k151 +exc.u150: + call void @scr_dyn_release(ptr %t369) + br label %exc.cleanup2 +exc.k151: + %t373 = call ptr @scr_dyn_obj_create(ptr %t369) + %t374 = load i32, ptr %exc.cell + %t375 = icmp ne i32 %t374, 0 + %t376 = call i1 @llvm.expect.i1(i1 %t375, i1 false) + br i1 %t376, label %exc.u152, label %exc.k153 +exc.u152: + call void @scr_dyn_release(ptr %t369) + call void @scr_dyn_release(ptr %t373) + br label %exc.cleanup2 +exc.k153: + call void @scr_dyn_release(ptr %t369) + %t377 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t377) + ret ptr %t373 +if.j149: + %t378 = load ptr, ptr %sc_l_p_0 + %t379 = call ptr @sc_rc_retain_dyn(ptr %t378) + %t381 = icmp ne ptr %t379, null + br i1 %t381, label %dc.inspect154, label %dc.checked157 +dc.inspect154: + %t386 = getelementptr inbounds i8, ptr %t379, i64 8 ; ->kind + %t387 = load i32, ptr %t386 + %t382 = icmp eq i32 %t387, 12 + br i1 %t382, label %dc.capsule155, label %dc.checked157 +dc.capsule155: + %t383 = getelementptr inbounds i8, ptr %t379, i64 40 ; ->v.typed_ref.type_key + %t384 = load ptr, ptr %t383 + %t385 = icmp eq ptr %t384, @sc_cs_3870085012327510 + br i1 %t385, label %dc.exact156, label %dc.checked157 +dc.exact156: + %t388 = getelementptr inbounds i8, ptr %t379, i64 16 ; ->v.typed_ref.ptr + %t389 = load ptr, ptr %t388 + %t390 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t389) + store ptr %t390, ptr %s380 + br label %dc.done158 +dc.checked157: + %t391 = call ptr @sc_dc_94(ptr %t379, ptr null) + store ptr %t391, ptr %s380 + %t392 = load i32, ptr %exc.cell + %t393 = icmp ne i32 %t392, 0 + %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false) + br i1 %t394, label %exc.u159, label %exc.k160 +exc.u159: + call void @scr_dyn_release(ptr %t379) + br label %exc.cleanup2 +exc.k160: + br label %dc.done158 +dc.done158: + %t395 = load ptr, ptr %s380 + %t396 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t395, i64 0, i32 1 + %t397 = load ptr, ptr %t396, !tbaa !204 + %t398 = call ptr @sc_rc_retain_dyn(ptr %t397) + call void @scr_dyn_release(ptr %t379) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t395) + %t399 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t399) + ret ptr %t398 +if.j140: + %t400 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s401 + %t402 = icmp ne ptr %t400, null + br i1 %t402, label %brand.inspect161, label %brand.done163 +brand.inspect161: + %t403 = getelementptr inbounds i8, ptr %t400, i64 8 ; ->kind + %t404 = load i32, ptr %t403 + %t405 = icmp eq i32 %t404, 12 + br i1 %t405, label %brand.capsule162, label %brand.done163 +brand.capsule162: + %t406 = getelementptr inbounds i8, ptr %t400, i64 40 ; ->v.typed_ref.type_key + %t407 = load ptr, ptr %t406 + %t408 = icmp eq ptr %t407, @sc_cs_2798802470260116 + store i1 true, ptr %s401 + br i1 %t408, label %brand.done163, label %brand.compare164 +brand.compare164: + %t409 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t400, ptr @sc_lit_2798802470260116) + store i1 %t409, ptr %s401 + br label %brand.done163 +brand.done163: + %t410 = load i1, ptr %s401 + br i1 %t410, label %if.t165, label %if.j166 +if.t165: + %t411 = load ptr, ptr %sc_l_p_0 + %t412 = call ptr @sc_rc_retain_dyn(ptr %t411) + %t414 = icmp ne ptr %t412, null + br i1 %t414, label %dc.inspect167, label %dc.checked170 +dc.inspect167: + %t419 = getelementptr inbounds i8, ptr %t412, i64 8 ; ->kind + %t420 = load i32, ptr %t419 + %t415 = icmp eq i32 %t420, 12 + br i1 %t415, label %dc.capsule168, label %dc.checked170 +dc.capsule168: + %t416 = getelementptr inbounds i8, ptr %t412, i64 40 ; ->v.typed_ref.type_key + %t417 = load ptr, ptr %t416 + %t418 = icmp eq ptr %t417, @sc_cs_2798802470260116 + br i1 %t418, label %dc.exact169, label %dc.checked170 +dc.exact169: + %t421 = getelementptr inbounds i8, ptr %t412, i64 16 ; ->v.typed_ref.ptr + %t422 = load ptr, ptr %t421 + %t423 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t422) + store ptr %t423, ptr %s413 + br label %dc.done171 +dc.checked170: + %t424 = call ptr @sc_dc_93(ptr %t412, ptr null) + store ptr %t424, ptr %s413 + %t425 = load i32, ptr %exc.cell + %t426 = icmp ne i32 %t425, 0 + %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false) + br i1 %t427, label %exc.u172, label %exc.k173 +exc.u172: + call void @scr_dyn_release(ptr %t412) + br label %exc.cleanup2 +exc.k173: + br label %dc.done171 +dc.done171: + %t428 = load ptr, ptr %s413 + %t429 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t428, i64 0, i32 2 + %t430 = load ptr, ptr %t429, !tbaa !204 + %t431 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind + %t432 = load i32, ptr %t431 + %t433 = icmp eq i32 %t432, 6 + call void @scr_dyn_release(ptr %t412) + call void @sc_release__x25_m0_GenFetch(ptr %t428) + br i1 %t433, label %if.t174, label %if.j175 +if.t174: + %t434 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch() + %t435 = load i32, ptr %exc.cell + %t436 = icmp ne i32 %t435, 0 + %t437 = call i1 @llvm.expect.i1(i1 %t436, i1 false) + br i1 %t437, label %exc.u176, label %exc.k177 +exc.u176: + call void @scr_dyn_release(ptr %t434) + br label %exc.cleanup2 +exc.k177: + %t438 = call ptr @scr_dyn_obj_create(ptr %t434) + %t439 = load i32, ptr %exc.cell + %t440 = icmp ne i32 %t439, 0 + %t441 = call i1 @llvm.expect.i1(i1 %t440, i1 false) + br i1 %t441, label %exc.u178, label %exc.k179 +exc.u178: + call void @scr_dyn_release(ptr %t434) + call void @scr_dyn_release(ptr %t438) + br label %exc.cleanup2 +exc.k179: + call void @scr_dyn_release(ptr %t434) + %t442 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t442) + ret ptr %t438 +if.j175: + %t443 = load ptr, ptr %sc_l_p_0 + %t444 = call ptr @sc_rc_retain_dyn(ptr %t443) + %t446 = icmp ne ptr %t444, null + br i1 %t446, label %dc.inspect180, label %dc.checked183 +dc.inspect180: + %t451 = getelementptr inbounds i8, ptr %t444, i64 8 ; ->kind + %t452 = load i32, ptr %t451 + %t447 = icmp eq i32 %t452, 12 + br i1 %t447, label %dc.capsule181, label %dc.checked183 +dc.capsule181: + %t448 = getelementptr inbounds i8, ptr %t444, i64 40 ; ->v.typed_ref.type_key + %t449 = load ptr, ptr %t448 + %t450 = icmp eq ptr %t449, @sc_cs_2798802470260116 + br i1 %t450, label %dc.exact182, label %dc.checked183 +dc.exact182: + %t453 = getelementptr inbounds i8, ptr %t444, i64 16 ; ->v.typed_ref.ptr + %t454 = load ptr, ptr %t453 + %t455 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t454) + store ptr %t455, ptr %s445 + br label %dc.done184 +dc.checked183: + %t456 = call ptr @sc_dc_93(ptr %t444, ptr null) + store ptr %t456, ptr %s445 + %t457 = load i32, ptr %exc.cell + %t458 = icmp ne i32 %t457, 0 + %t459 = call i1 @llvm.expect.i1(i1 %t458, i1 false) + br i1 %t459, label %exc.u185, label %exc.k186 +exc.u185: + call void @scr_dyn_release(ptr %t444) + br label %exc.cleanup2 +exc.k186: + br label %dc.done184 +dc.done184: + %t460 = load ptr, ptr %s445 + %t461 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t460, i64 0, i32 2 + %t462 = load ptr, ptr %t461, !tbaa !204 + %t463 = call ptr @sc_rc_retain_dyn(ptr %t462) + call void @scr_dyn_release(ptr %t444) + call void @sc_release__x25_m0_GenFetch(ptr %t460) + %t464 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t464) + ret ptr %t463 +if.j166: + %t465 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s466 + %t467 = icmp ne ptr %t465, null + br i1 %t467, label %brand.inspect187, label %brand.done189 +brand.inspect187: + %t468 = getelementptr inbounds i8, ptr %t465, i64 8 ; ->kind + %t469 = load i32, ptr %t468 + %t470 = icmp eq i32 %t469, 12 + br i1 %t470, label %brand.capsule188, label %brand.done189 +brand.capsule188: + %t471 = getelementptr inbounds i8, ptr %t465, i64 40 ; ->v.typed_ref.type_key + %t472 = load ptr, ptr %t471 + %t473 = icmp eq ptr %t472, @sc_cs_2165660704272757 + store i1 true, ptr %s466 + br i1 %t473, label %brand.done189, label %brand.compare190 +brand.compare190: + %t474 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t465, ptr @sc_lit_2165660704272757) + store i1 %t474, ptr %s466 + br label %brand.done189 +brand.done189: + %t475 = load i1, ptr %s466 + br i1 %t475, label %if.t191, label %if.j192 +if.t191: + %t476 = load ptr, ptr %sc_l_p_0 + %t477 = call ptr @sc_rc_retain_dyn(ptr %t476) + %t479 = icmp ne ptr %t477, null + br i1 %t479, label %dc.inspect193, label %dc.checked196 +dc.inspect193: + %t484 = getelementptr inbounds i8, ptr %t477, i64 8 ; ->kind + %t485 = load i32, ptr %t484 + %t480 = icmp eq i32 %t485, 12 + br i1 %t480, label %dc.capsule194, label %dc.checked196 +dc.capsule194: + %t481 = getelementptr inbounds i8, ptr %t477, i64 40 ; ->v.typed_ref.type_key + %t482 = load ptr, ptr %t481 + %t483 = icmp eq ptr %t482, @sc_cs_2165660704272757 + br i1 %t483, label %dc.exact195, label %dc.checked196 +dc.exact195: + %t486 = getelementptr inbounds i8, ptr %t477, i64 16 ; ->v.typed_ref.ptr + %t487 = load ptr, ptr %t486 + %t488 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t487) + store ptr %t488, ptr %s478 + br label %dc.done197 +dc.checked196: + %t489 = call ptr @sc_dc_92(ptr %t477, ptr null) + store ptr %t489, ptr %s478 + %t490 = load i32, ptr %exc.cell + %t491 = icmp ne i32 %t490, 0 + %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false) + br i1 %t492, label %exc.u198, label %exc.k199 +exc.u198: + call void @scr_dyn_release(ptr %t477) + br label %exc.cleanup2 +exc.k199: + br label %dc.done197 +dc.done197: + %t493 = load ptr, ptr %s478 + %t494 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t493, i64 0, i32 2 + %t495 = load ptr, ptr %t494, !tbaa !204 + %t496 = getelementptr inbounds i8, ptr %t495, i64 8 ; ->kind + %t497 = load i32, ptr %t496 + %t498 = icmp eq i32 %t497, 6 + call void @scr_dyn_release(ptr %t477) + call void @sc_release__x25_m0_GenDispatch(ptr %t493) + br i1 %t498, label %if.t200, label %if.j201 +if.t200: + %t499 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch() + %t500 = load i32, ptr %exc.cell + %t501 = icmp ne i32 %t500, 0 + %t502 = call i1 @llvm.expect.i1(i1 %t501, i1 false) + br i1 %t502, label %exc.u202, label %exc.k203 +exc.u202: + call void @scr_dyn_release(ptr %t499) + br label %exc.cleanup2 +exc.k203: + %t503 = call ptr @scr_dyn_obj_create(ptr %t499) + %t504 = load i32, ptr %exc.cell + %t505 = icmp ne i32 %t504, 0 + %t506 = call i1 @llvm.expect.i1(i1 %t505, i1 false) + br i1 %t506, label %exc.u204, label %exc.k205 +exc.u204: + call void @scr_dyn_release(ptr %t499) + call void @scr_dyn_release(ptr %t503) + br label %exc.cleanup2 +exc.k205: + call void @scr_dyn_release(ptr %t499) + %t507 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t507) + ret ptr %t503 +if.j201: + %t508 = load ptr, ptr %sc_l_p_0 + %t509 = call ptr @sc_rc_retain_dyn(ptr %t508) + %t511 = icmp ne ptr %t509, null + br i1 %t511, label %dc.inspect206, label %dc.checked209 +dc.inspect206: + %t516 = getelementptr inbounds i8, ptr %t509, i64 8 ; ->kind + %t517 = load i32, ptr %t516 + %t512 = icmp eq i32 %t517, 12 + br i1 %t512, label %dc.capsule207, label %dc.checked209 +dc.capsule207: + %t513 = getelementptr inbounds i8, ptr %t509, i64 40 ; ->v.typed_ref.type_key + %t514 = load ptr, ptr %t513 + %t515 = icmp eq ptr %t514, @sc_cs_2165660704272757 + br i1 %t515, label %dc.exact208, label %dc.checked209 +dc.exact208: + %t518 = getelementptr inbounds i8, ptr %t509, i64 16 ; ->v.typed_ref.ptr + %t519 = load ptr, ptr %t518 + %t520 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t519) + store ptr %t520, ptr %s510 + br label %dc.done210 +dc.checked209: + %t521 = call ptr @sc_dc_92(ptr %t509, ptr null) + store ptr %t521, ptr %s510 + %t522 = load i32, ptr %exc.cell + %t523 = icmp ne i32 %t522, 0 + %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false) + br i1 %t524, label %exc.u211, label %exc.k212 +exc.u211: + call void @scr_dyn_release(ptr %t509) + br label %exc.cleanup2 +exc.k212: + br label %dc.done210 +dc.done210: + %t525 = load ptr, ptr %s510 + %t526 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t525, i64 0, i32 2 + %t527 = load ptr, ptr %t526, !tbaa !204 + %t528 = call ptr @sc_rc_retain_dyn(ptr %t527) + call void @scr_dyn_release(ptr %t509) + call void @sc_release__x25_m0_GenDispatch(ptr %t525) + %t529 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t529) + ret ptr %t528 +if.j192: + %t530 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s531 + %t532 = icmp ne ptr %t530, null + br i1 %t532, label %brand.inspect213, label %brand.done215 +brand.inspect213: + %t533 = getelementptr inbounds i8, ptr %t530, i64 8 ; ->kind + %t534 = load i32, ptr %t533 + %t535 = icmp eq i32 %t534, 12 + br i1 %t535, label %brand.capsule214, label %brand.done215 +brand.capsule214: + %t536 = getelementptr inbounds i8, ptr %t530, i64 40 ; ->v.typed_ref.type_key + %t537 = load ptr, ptr %t536 + %t538 = icmp eq ptr %t537, @sc_cs_2072202777142634 + store i1 true, ptr %s531 + br i1 %t538, label %brand.done215, label %brand.compare216 +brand.compare216: + %t539 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t530, ptr @sc_lit_2072202777142634) + store i1 %t539, ptr %s531 + br label %brand.done215 +brand.done215: + %t540 = load i1, ptr %s531 + br i1 %t540, label %tern.t217, label %tern.f218 +tern.t217: + %t542 = load ptr, ptr %sc_l_p_0 + %t543 = call ptr @sc_rc_retain_dyn(ptr %t542) + %t545 = icmp ne ptr %t543, null + br i1 %t545, label %dc.inspect220, label %dc.checked223 +dc.inspect220: + %t550 = getelementptr inbounds i8, ptr %t543, i64 8 ; ->kind + %t551 = load i32, ptr %t550 + %t546 = icmp eq i32 %t551, 12 + br i1 %t546, label %dc.capsule221, label %dc.checked223 +dc.capsule221: + %t547 = getelementptr inbounds i8, ptr %t543, i64 40 ; ->v.typed_ref.type_key + %t548 = load ptr, ptr %t547 + %t549 = icmp eq ptr %t548, @sc_cs_2072202777142634 + br i1 %t549, label %dc.exact222, label %dc.checked223 +dc.exact222: + %t552 = getelementptr inbounds i8, ptr %t543, i64 16 ; ->v.typed_ref.ptr + %t553 = load ptr, ptr %t552 + %t554 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t553) + store ptr %t554, ptr %s544 + br label %dc.done224 +dc.checked223: + %t555 = call ptr @sc_dc_26(ptr %t543, ptr null) + store ptr %t555, ptr %s544 + %t556 = load i32, ptr %exc.cell + %t557 = icmp ne i32 %t556, 0 + %t558 = call i1 @llvm.expect.i1(i1 %t557, i1 false) + br i1 %t558, label %exc.u225, label %exc.k226 +exc.u225: + call void @scr_dyn_release(ptr %t543) + br label %exc.cleanup2 +exc.k226: + br label %dc.done224 +dc.done224: + %t559 = load ptr, ptr %s544 + %t560 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t559, i64 0, i32 1 + %t561 = load ptr, ptr %t560 + %t562 = getelementptr inbounds %ScrVt, ptr %t561, i64 0, i32 0 + %t563 = load i64, ptr %t562 + %t564 = icmp uge i64 %t563, 23 + %t565 = icmp ule i64 %t563, 23 + %t566 = and i1 %t564, %t565 ; instanceof %m4.MemoryFileSink + store i1 %t566, ptr %s541 + call void @scr_dyn_release(ptr %t543) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t559) + br label %tern.j219 +tern.f218: + store i1 false, ptr %s541 + br label %tern.j219 +tern.j219: + %t567 = load i1, ptr %s541 + br i1 %t567, label %if.t227, label %if.j228 +if.t227: + %t568 = load ptr, ptr %sc_l_p_0 + %t569 = call ptr @sc_rc_retain_dyn(ptr %t568) + %t571 = icmp ne ptr %t569, null + br i1 %t571, label %dc.inspect229, label %dc.checked232 +dc.inspect229: + %t576 = getelementptr inbounds i8, ptr %t569, i64 8 ; ->kind + %t577 = load i32, ptr %t576 + %t572 = icmp eq i32 %t577, 12 + br i1 %t572, label %dc.capsule230, label %dc.checked232 +dc.capsule230: + %t573 = getelementptr inbounds i8, ptr %t569, i64 40 ; ->v.typed_ref.type_key + %t574 = load ptr, ptr %t573 + %t575 = icmp eq ptr %t574, @sc_cs_2072202777142634 + br i1 %t575, label %dc.exact231, label %dc.checked232 +dc.exact231: + %t578 = getelementptr inbounds i8, ptr %t569, i64 16 ; ->v.typed_ref.ptr + %t579 = load ptr, ptr %t578 + %t580 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t579) + store ptr %t580, ptr %s570 + br label %dc.done233 +dc.checked232: + %t581 = call ptr @sc_dc_26(ptr %t569, ptr null) + store ptr %t581, ptr %s570 + %t582 = load i32, ptr %exc.cell + %t583 = icmp ne i32 %t582, 0 + %t584 = call i1 @llvm.expect.i1(i1 %t583, i1 false) + br i1 %t584, label %exc.u234, label %exc.k235 +exc.u234: + call void @scr_dyn_release(ptr %t569) + br label %exc.cleanup2 +exc.k235: + br label %dc.done233 +dc.done233: + %t585 = load ptr, ptr %s570 + %t586 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t585, i64 0, i32 2 + %t587 = load ptr, ptr %t586, !tbaa !204 + %t588 = getelementptr inbounds i8, ptr %t587, i64 8 ; ->kind + %t589 = load i32, ptr %t588 + %t590 = icmp eq i32 %t589, 6 + call void @scr_dyn_release(ptr %t569) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t585) + br i1 %t590, label %if.t236, label %if.j237 +if.t236: + %t591 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t592 = load i32, ptr %exc.cell + %t593 = icmp ne i32 %t592, 0 + %t594 = call i1 @llvm.expect.i1(i1 %t593, i1 false) + br i1 %t594, label %exc.u238, label %exc.k239 +exc.u238: + call void @scr_dyn_release(ptr %t591) + br label %exc.cleanup2 +exc.k239: + %t595 = call ptr @scr_dyn_obj_create(ptr %t591) + %t596 = load i32, ptr %exc.cell + %t597 = icmp ne i32 %t596, 0 + %t598 = call i1 @llvm.expect.i1(i1 %t597, i1 false) + br i1 %t598, label %exc.u240, label %exc.k241 +exc.u240: + call void @scr_dyn_release(ptr %t591) + call void @scr_dyn_release(ptr %t595) + br label %exc.cleanup2 +exc.k241: + call void @scr_dyn_release(ptr %t591) + %t599 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t599) + ret ptr %t595 +if.j237: + %t600 = load ptr, ptr %sc_l_p_0 + %t601 = call ptr @sc_rc_retain_dyn(ptr %t600) + %t603 = icmp ne ptr %t601, null + br i1 %t603, label %dc.inspect242, label %dc.checked245 +dc.inspect242: + %t608 = getelementptr inbounds i8, ptr %t601, i64 8 ; ->kind + %t609 = load i32, ptr %t608 + %t604 = icmp eq i32 %t609, 12 + br i1 %t604, label %dc.capsule243, label %dc.checked245 +dc.capsule243: + %t605 = getelementptr inbounds i8, ptr %t601, i64 40 ; ->v.typed_ref.type_key + %t606 = load ptr, ptr %t605 + %t607 = icmp eq ptr %t606, @sc_cs_2072202777142634 + br i1 %t607, label %dc.exact244, label %dc.checked245 +dc.exact244: + %t610 = getelementptr inbounds i8, ptr %t601, i64 16 ; ->v.typed_ref.ptr + %t611 = load ptr, ptr %t610 + %t612 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t611) + store ptr %t612, ptr %s602 + br label %dc.done246 +dc.checked245: + %t613 = call ptr @sc_dc_26(ptr %t601, ptr null) + store ptr %t613, ptr %s602 + %t614 = load i32, ptr %exc.cell + %t615 = icmp ne i32 %t614, 0 + %t616 = call i1 @llvm.expect.i1(i1 %t615, i1 false) + br i1 %t616, label %exc.u247, label %exc.k248 +exc.u247: + call void @scr_dyn_release(ptr %t601) + br label %exc.cleanup2 +exc.k248: + br label %dc.done246 +dc.done246: + %t617 = load ptr, ptr %s602 + %t618 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t617, i64 0, i32 2 + %t619 = load ptr, ptr %t618, !tbaa !204 + %t620 = call ptr @sc_rc_retain_dyn(ptr %t619) + call void @scr_dyn_release(ptr %t601) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t617) + %t621 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t621) + ret ptr %t620 +if.j228: + %t622 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s623 + %t624 = icmp ne ptr %t622, null + br i1 %t624, label %brand.inspect249, label %brand.done251 +brand.inspect249: + %t625 = getelementptr inbounds i8, ptr %t622, i64 8 ; ->kind + %t626 = load i32, ptr %t625 + %t627 = icmp eq i32 %t626, 12 + br i1 %t627, label %brand.capsule250, label %brand.done251 +brand.capsule250: + %t628 = getelementptr inbounds i8, ptr %t622, i64 40 ; ->v.typed_ref.type_key + %t629 = load ptr, ptr %t628 + %t630 = icmp eq ptr %t629, @sc_cs_2072202777142634 + store i1 true, ptr %s623 + br i1 %t630, label %brand.done251, label %brand.compare252 +brand.compare252: + %t631 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t622, ptr @sc_lit_2072202777142634) + store i1 %t631, ptr %s623 + br label %brand.done251 +brand.done251: + %t632 = load i1, ptr %s623 + br i1 %t632, label %if.t253, label %if.j254 +if.t253: + %t633 = load ptr, ptr %sc_l_p_0 + %t634 = call ptr @sc_rc_retain_dyn(ptr %t633) + %t636 = icmp ne ptr %t634, null + br i1 %t636, label %dc.inspect255, label %dc.checked258 +dc.inspect255: + %t641 = getelementptr inbounds i8, ptr %t634, i64 8 ; ->kind + %t642 = load i32, ptr %t641 + %t637 = icmp eq i32 %t642, 12 + br i1 %t637, label %dc.capsule256, label %dc.checked258 +dc.capsule256: + %t638 = getelementptr inbounds i8, ptr %t634, i64 40 ; ->v.typed_ref.type_key + %t639 = load ptr, ptr %t638 + %t640 = icmp eq ptr %t639, @sc_cs_2072202777142634 + br i1 %t640, label %dc.exact257, label %dc.checked258 +dc.exact257: + %t643 = getelementptr inbounds i8, ptr %t634, i64 16 ; ->v.typed_ref.ptr + %t644 = load ptr, ptr %t643 + %t645 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t644) + store ptr %t645, ptr %s635 + br label %dc.done259 +dc.checked258: + %t646 = call ptr @sc_dc_26(ptr %t634, ptr null) + store ptr %t646, ptr %s635 + %t647 = load i32, ptr %exc.cell + %t648 = icmp ne i32 %t647, 0 + %t649 = call i1 @llvm.expect.i1(i1 %t648, i1 false) + br i1 %t649, label %exc.u260, label %exc.k261 +exc.u260: + call void @scr_dyn_release(ptr %t634) + br label %exc.cleanup2 +exc.k261: + br label %dc.done259 +dc.done259: + %t650 = load ptr, ptr %s635 + %t651 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t650, i64 0, i32 2 + %t652 = load ptr, ptr %t651, !tbaa !204 + %t653 = getelementptr inbounds i8, ptr %t652, i64 8 ; ->kind + %t654 = load i32, ptr %t653 + %t655 = icmp eq i32 %t654, 6 + call void @scr_dyn_release(ptr %t634) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t650) + br i1 %t655, label %if.t262, label %if.j263 +if.t262: + %t656 = load ptr, ptr %sc_l_p_0 + %t657 = call ptr @sc_rc_retain_dyn(ptr %t656) + %t659 = icmp ne ptr %t657, null + br i1 %t659, label %dc.inspect264, label %dc.checked267 +dc.inspect264: + %t664 = getelementptr inbounds i8, ptr %t657, i64 8 ; ->kind + %t665 = load i32, ptr %t664 + %t660 = icmp eq i32 %t665, 12 + br i1 %t660, label %dc.capsule265, label %dc.checked267 +dc.capsule265: + %t661 = getelementptr inbounds i8, ptr %t657, i64 40 ; ->v.typed_ref.type_key + %t662 = load ptr, ptr %t661 + %t663 = icmp eq ptr %t662, @sc_cs_2072202777142634 + br i1 %t663, label %dc.exact266, label %dc.checked267 +dc.exact266: + %t666 = getelementptr inbounds i8, ptr %t657, i64 16 ; ->v.typed_ref.ptr + %t667 = load ptr, ptr %t666 + %t668 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t667) + store ptr %t668, ptr %s658 + br label %dc.done268 +dc.checked267: + %t669 = call ptr @sc_dc_26(ptr %t657, ptr null) + store ptr %t669, ptr %s658 + %t670 = load i32, ptr %exc.cell + %t671 = icmp ne i32 %t670, 0 + %t672 = call i1 @llvm.expect.i1(i1 %t671, i1 false) + br i1 %t672, label %exc.u269, label %exc.k270 +exc.u269: + call void @scr_dyn_release(ptr %t657) + br label %exc.cleanup2 +exc.k270: + br label %dc.done268 +dc.done268: + %t673 = load ptr, ptr %s658 + %t674 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t673, i64 0, i32 1 + %t675 = load ptr, ptr %t674 + %t676 = getelementptr inbounds %ScrVt, ptr %t675, i64 0, i32 0 + %t677 = load i64, ptr %t676 + %t678 = icmp uge i64 %t677, 23 + %t679 = icmp ule i64 %t677, 23 + %t680 = and i1 %t678, %t679 ; instanceof %m4.MemoryFileSink + br i1 %t680, label %tern.t271, label %tern.f272 +tern.t271: + %t682 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t683 = load i32, ptr %exc.cell + %t684 = icmp ne i32 %t683, 0 + %t685 = call i1 @llvm.expect.i1(i1 %t684, i1 false) + br i1 %t685, label %exc.u274, label %exc.k275 +exc.u274: + call void @scr_dyn_release(ptr %t682) + call void @scr_dyn_release(ptr %t657) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t673) + br label %exc.cleanup2 +exc.k275: + store ptr %t682, ptr %s681 + br label %tern.j273 +tern.f272: + %t686 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink() + %t687 = load i32, ptr %exc.cell + %t688 = icmp ne i32 %t687, 0 + %t689 = call i1 @llvm.expect.i1(i1 %t688, i1 false) + br i1 %t689, label %exc.u276, label %exc.k277 +exc.u276: + call void @scr_dyn_release(ptr %t686) + call void @scr_dyn_release(ptr %t657) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t673) + br label %exc.cleanup2 +exc.k277: + store ptr %t686, ptr %s681 + br label %tern.j273 +tern.j273: + %t690 = load ptr, ptr %s681 + %t691 = call ptr @scr_dyn_obj_create(ptr %t690) + %t692 = load i32, ptr %exc.cell + %t693 = icmp ne i32 %t692, 0 + %t694 = call i1 @llvm.expect.i1(i1 %t693, i1 false) + br i1 %t694, label %exc.u278, label %exc.k279 +exc.u278: + call void @scr_dyn_release(ptr %t657) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t673) + call void @scr_dyn_release(ptr %t690) + call void @scr_dyn_release(ptr %t691) + br label %exc.cleanup2 +exc.k279: + call void @scr_dyn_release(ptr %t657) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t673) + call void @scr_dyn_release(ptr %t690) + %t695 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t695) + ret ptr %t691 +if.j263: + %t696 = load ptr, ptr %sc_l_p_0 + %t697 = call ptr @sc_rc_retain_dyn(ptr %t696) + %t699 = icmp ne ptr %t697, null + br i1 %t699, label %dc.inspect280, label %dc.checked283 +dc.inspect280: + %t704 = getelementptr inbounds i8, ptr %t697, i64 8 ; ->kind + %t705 = load i32, ptr %t704 + %t700 = icmp eq i32 %t705, 12 + br i1 %t700, label %dc.capsule281, label %dc.checked283 +dc.capsule281: + %t701 = getelementptr inbounds i8, ptr %t697, i64 40 ; ->v.typed_ref.type_key + %t702 = load ptr, ptr %t701 + %t703 = icmp eq ptr %t702, @sc_cs_2072202777142634 + br i1 %t703, label %dc.exact282, label %dc.checked283 +dc.exact282: + %t706 = getelementptr inbounds i8, ptr %t697, i64 16 ; ->v.typed_ref.ptr + %t707 = load ptr, ptr %t706 + %t708 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t707) + store ptr %t708, ptr %s698 + br label %dc.done284 +dc.checked283: + %t709 = call ptr @sc_dc_26(ptr %t697, ptr null) + store ptr %t709, ptr %s698 + %t710 = load i32, ptr %exc.cell + %t711 = icmp ne i32 %t710, 0 + %t712 = call i1 @llvm.expect.i1(i1 %t711, i1 false) + br i1 %t712, label %exc.u285, label %exc.k286 +exc.u285: + call void @scr_dyn_release(ptr %t697) + br label %exc.cleanup2 +exc.k286: + br label %dc.done284 +dc.done284: + %t713 = load ptr, ptr %s698 + %t714 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t713, i64 0, i32 2 + %t715 = load ptr, ptr %t714, !tbaa !204 + %t716 = call ptr @sc_rc_retain_dyn(ptr %t715) + call void @scr_dyn_release(ptr %t697) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t713) + %t717 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t717) + ret ptr %t716 +if.j254: + %t718 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s719 + %t720 = icmp ne ptr %t718, null + br i1 %t720, label %brand.inspect287, label %brand.done289 +brand.inspect287: + %t721 = getelementptr inbounds i8, ptr %t718, i64 8 ; ->kind + %t722 = load i32, ptr %t721 + %t723 = icmp eq i32 %t722, 12 + br i1 %t723, label %brand.capsule288, label %brand.done289 +brand.capsule288: + %t724 = getelementptr inbounds i8, ptr %t718, i64 40 ; ->v.typed_ref.type_key + %t725 = load ptr, ptr %t724 + %t726 = icmp eq ptr %t725, @sc_cs_3314970835853795 + store i1 true, ptr %s719 + br i1 %t726, label %brand.done289, label %brand.compare290 +brand.compare290: + %t727 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t718, ptr @sc_lit_3314970835853795) + store i1 %t727, ptr %s719 + br label %brand.done289 +brand.done289: + %t728 = load i1, ptr %s719 + br i1 %t728, label %tern.t291, label %tern.f292 +tern.t291: + %t730 = load ptr, ptr %sc_l_p_0 + %t731 = call ptr @sc_rc_retain_dyn(ptr %t730) + %t733 = icmp ne ptr %t731, null + br i1 %t733, label %dc.inspect294, label %dc.checked297 +dc.inspect294: + %t738 = getelementptr inbounds i8, ptr %t731, i64 8 ; ->kind + %t739 = load i32, ptr %t738 + %t734 = icmp eq i32 %t739, 12 + br i1 %t734, label %dc.capsule295, label %dc.checked297 +dc.capsule295: + %t735 = getelementptr inbounds i8, ptr %t731, i64 40 ; ->v.typed_ref.type_key + %t736 = load ptr, ptr %t735 + %t737 = icmp eq ptr %t736, @sc_cs_3314970835853795 + br i1 %t737, label %dc.exact296, label %dc.checked297 +dc.exact296: + %t740 = getelementptr inbounds i8, ptr %t731, i64 16 ; ->v.typed_ref.ptr + %t741 = load ptr, ptr %t740 + %t742 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t741) + store ptr %t742, ptr %s732 + br label %dc.done298 +dc.checked297: + %t743 = call ptr @sc_dc_79(ptr %t731, ptr null) + store ptr %t743, ptr %s732 + %t744 = load i32, ptr %exc.cell + %t745 = icmp ne i32 %t744, 0 + %t746 = call i1 @llvm.expect.i1(i1 %t745, i1 false) + br i1 %t746, label %exc.u299, label %exc.k300 +exc.u299: + call void @scr_dyn_release(ptr %t731) + br label %exc.cleanup2 +exc.k300: + br label %dc.done298 +dc.done298: + %t747 = load ptr, ptr %s732 + %t748 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t747, i64 0, i32 1 + %t749 = load ptr, ptr %t748 + %t750 = getelementptr inbounds %ScrVt, ptr %t749, i64 0, i32 0 + %t751 = load i64, ptr %t750 + %t752 = icmp uge i64 %t751, 38 + %t753 = icmp ule i64 %t751, 38 + %t754 = and i1 %t752, %t753 ; instanceof %m14.BakedAssets + store i1 %t754, ptr %s729 + call void @scr_dyn_release(ptr %t731) + call void @sc_release__x25_m6_AssetSource(ptr %t747) + br label %tern.j293 +tern.f292: + store i1 false, ptr %s729 + br label %tern.j293 +tern.j293: + %t755 = load i1, ptr %s729 + br i1 %t755, label %if.t301, label %if.j302 +if.t301: + %t756 = load ptr, ptr %sc_l_p_0 + %t757 = call ptr @sc_rc_retain_dyn(ptr %t756) + %t759 = icmp ne ptr %t757, null + br i1 %t759, label %dc.inspect303, label %dc.checked306 +dc.inspect303: + %t764 = getelementptr inbounds i8, ptr %t757, i64 8 ; ->kind + %t765 = load i32, ptr %t764 + %t760 = icmp eq i32 %t765, 12 + br i1 %t760, label %dc.capsule304, label %dc.checked306 +dc.capsule304: + %t761 = getelementptr inbounds i8, ptr %t757, i64 40 ; ->v.typed_ref.type_key + %t762 = load ptr, ptr %t761 + %t763 = icmp eq ptr %t762, @sc_cs_3314970835853795 + br i1 %t763, label %dc.exact305, label %dc.checked306 +dc.exact305: + %t766 = getelementptr inbounds i8, ptr %t757, i64 16 ; ->v.typed_ref.ptr + %t767 = load ptr, ptr %t766 + %t768 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t767) + store ptr %t768, ptr %s758 + br label %dc.done307 +dc.checked306: + %t769 = call ptr @sc_dc_79(ptr %t757, ptr null) + store ptr %t769, ptr %s758 + %t770 = load i32, ptr %exc.cell + %t771 = icmp ne i32 %t770, 0 + %t772 = call i1 @llvm.expect.i1(i1 %t771, i1 false) + br i1 %t772, label %exc.u308, label %exc.k309 +exc.u308: + call void @scr_dyn_release(ptr %t757) + br label %exc.cleanup2 +exc.k309: + br label %dc.done307 +dc.done307: + %t773 = load ptr, ptr %s758 + %t774 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t773, i64 0, i32 2 + %t775 = load ptr, ptr %t774, !tbaa !204 + %t776 = getelementptr inbounds i8, ptr %t775, i64 8 ; ->kind + %t777 = load i32, ptr %t776 + %t778 = icmp eq i32 %t777, 6 + call void @scr_dyn_release(ptr %t757) + call void @sc_release__x25_m6_AssetSource(ptr %t773) + br i1 %t778, label %if.t310, label %if.j311 +if.t310: + %t779 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t780 = load i32, ptr %exc.cell + %t781 = icmp ne i32 %t780, 0 + %t782 = call i1 @llvm.expect.i1(i1 %t781, i1 false) + br i1 %t782, label %exc.u312, label %exc.k313 +exc.u312: + call void @scr_dyn_release(ptr %t779) + br label %exc.cleanup2 +exc.k313: + %t783 = call ptr @scr_dyn_obj_create(ptr %t779) + %t784 = load i32, ptr %exc.cell + %t785 = icmp ne i32 %t784, 0 + %t786 = call i1 @llvm.expect.i1(i1 %t785, i1 false) + br i1 %t786, label %exc.u314, label %exc.k315 +exc.u314: + call void @scr_dyn_release(ptr %t779) + call void @scr_dyn_release(ptr %t783) + br label %exc.cleanup2 +exc.k315: + call void @scr_dyn_release(ptr %t779) + %t787 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t787) + ret ptr %t783 +if.j311: + %t788 = load ptr, ptr %sc_l_p_0 + %t789 = call ptr @sc_rc_retain_dyn(ptr %t788) + %t791 = icmp ne ptr %t789, null + br i1 %t791, label %dc.inspect316, label %dc.checked319 +dc.inspect316: + %t796 = getelementptr inbounds i8, ptr %t789, i64 8 ; ->kind + %t797 = load i32, ptr %t796 + %t792 = icmp eq i32 %t797, 12 + br i1 %t792, label %dc.capsule317, label %dc.checked319 +dc.capsule317: + %t793 = getelementptr inbounds i8, ptr %t789, i64 40 ; ->v.typed_ref.type_key + %t794 = load ptr, ptr %t793 + %t795 = icmp eq ptr %t794, @sc_cs_3314970835853795 + br i1 %t795, label %dc.exact318, label %dc.checked319 +dc.exact318: + %t798 = getelementptr inbounds i8, ptr %t789, i64 16 ; ->v.typed_ref.ptr + %t799 = load ptr, ptr %t798 + %t800 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t799) + store ptr %t800, ptr %s790 + br label %dc.done320 +dc.checked319: + %t801 = call ptr @sc_dc_79(ptr %t789, ptr null) + store ptr %t801, ptr %s790 + %t802 = load i32, ptr %exc.cell + %t803 = icmp ne i32 %t802, 0 + %t804 = call i1 @llvm.expect.i1(i1 %t803, i1 false) + br i1 %t804, label %exc.u321, label %exc.k322 +exc.u321: + call void @scr_dyn_release(ptr %t789) + br label %exc.cleanup2 +exc.k322: + br label %dc.done320 +dc.done320: + %t805 = load ptr, ptr %s790 + %t806 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t805, i64 0, i32 2 + %t807 = load ptr, ptr %t806, !tbaa !204 + %t808 = call ptr @sc_rc_retain_dyn(ptr %t807) + call void @scr_dyn_release(ptr %t789) + call void @sc_release__x25_m6_AssetSource(ptr %t805) + %t809 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t809) + ret ptr %t808 +if.j302: + %t810 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s811 + %t812 = icmp ne ptr %t810, null + br i1 %t812, label %brand.inspect323, label %brand.done325 +brand.inspect323: + %t813 = getelementptr inbounds i8, ptr %t810, i64 8 ; ->kind + %t814 = load i32, ptr %t813 + %t815 = icmp eq i32 %t814, 12 + br i1 %t815, label %brand.capsule324, label %brand.done325 +brand.capsule324: + %t816 = getelementptr inbounds i8, ptr %t810, i64 40 ; ->v.typed_ref.type_key + %t817 = load ptr, ptr %t816 + %t818 = icmp eq ptr %t817, @sc_cs_3314970835853795 + store i1 true, ptr %s811 + br i1 %t818, label %brand.done325, label %brand.compare326 +brand.compare326: + %t819 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t810, ptr @sc_lit_3314970835853795) + store i1 %t819, ptr %s811 + br label %brand.done325 +brand.done325: + %t820 = load i1, ptr %s811 + br i1 %t820, label %tern.t327, label %tern.f328 +tern.t327: + %t822 = load ptr, ptr %sc_l_p_0 + %t823 = call ptr @sc_rc_retain_dyn(ptr %t822) + %t825 = icmp ne ptr %t823, null + br i1 %t825, label %dc.inspect330, label %dc.checked333 +dc.inspect330: + %t830 = getelementptr inbounds i8, ptr %t823, i64 8 ; ->kind + %t831 = load i32, ptr %t830 + %t826 = icmp eq i32 %t831, 12 + br i1 %t826, label %dc.capsule331, label %dc.checked333 +dc.capsule331: + %t827 = getelementptr inbounds i8, ptr %t823, i64 40 ; ->v.typed_ref.type_key + %t828 = load ptr, ptr %t827 + %t829 = icmp eq ptr %t828, @sc_cs_3314970835853795 + br i1 %t829, label %dc.exact332, label %dc.checked333 +dc.exact332: + %t832 = getelementptr inbounds i8, ptr %t823, i64 16 ; ->v.typed_ref.ptr + %t833 = load ptr, ptr %t832 + %t834 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t833) + store ptr %t834, ptr %s824 + br label %dc.done334 +dc.checked333: + %t835 = call ptr @sc_dc_79(ptr %t823, ptr null) + store ptr %t835, ptr %s824 + %t836 = load i32, ptr %exc.cell + %t837 = icmp ne i32 %t836, 0 + %t838 = call i1 @llvm.expect.i1(i1 %t837, i1 false) + br i1 %t838, label %exc.u335, label %exc.k336 +exc.u335: + call void @scr_dyn_release(ptr %t823) + br label %exc.cleanup2 +exc.k336: + br label %dc.done334 +dc.done334: + %t839 = load ptr, ptr %s824 + %t840 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t839, i64 0, i32 1 + %t841 = load ptr, ptr %t840 + %t842 = getelementptr inbounds %ScrVt, ptr %t841, i64 0, i32 0 + %t843 = load i64, ptr %t842 + %t844 = icmp uge i64 %t843, 37 + %t845 = icmp ule i64 %t843, 38 + %t846 = and i1 %t844, %t845 ; instanceof %m9.EmbeddedAssets + store i1 %t846, ptr %s821 + call void @scr_dyn_release(ptr %t823) + call void @sc_release__x25_m6_AssetSource(ptr %t839) + br label %tern.j329 +tern.f328: + store i1 false, ptr %s821 + br label %tern.j329 +tern.j329: + %t847 = load i1, ptr %s821 + br i1 %t847, label %if.t337, label %if.j338 +if.t337: + %t848 = load ptr, ptr %sc_l_p_0 + %t849 = call ptr @sc_rc_retain_dyn(ptr %t848) + %t851 = icmp ne ptr %t849, null + br i1 %t851, label %dc.inspect339, label %dc.checked342 +dc.inspect339: + %t856 = getelementptr inbounds i8, ptr %t849, i64 8 ; ->kind + %t857 = load i32, ptr %t856 + %t852 = icmp eq i32 %t857, 12 + br i1 %t852, label %dc.capsule340, label %dc.checked342 +dc.capsule340: + %t853 = getelementptr inbounds i8, ptr %t849, i64 40 ; ->v.typed_ref.type_key + %t854 = load ptr, ptr %t853 + %t855 = icmp eq ptr %t854, @sc_cs_3314970835853795 + br i1 %t855, label %dc.exact341, label %dc.checked342 +dc.exact341: + %t858 = getelementptr inbounds i8, ptr %t849, i64 16 ; ->v.typed_ref.ptr + %t859 = load ptr, ptr %t858 + %t860 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t859) + store ptr %t860, ptr %s850 + br label %dc.done343 +dc.checked342: + %t861 = call ptr @sc_dc_79(ptr %t849, ptr null) + store ptr %t861, ptr %s850 + %t862 = load i32, ptr %exc.cell + %t863 = icmp ne i32 %t862, 0 + %t864 = call i1 @llvm.expect.i1(i1 %t863, i1 false) + br i1 %t864, label %exc.u344, label %exc.k345 +exc.u344: + call void @scr_dyn_release(ptr %t849) + br label %exc.cleanup2 +exc.k345: + br label %dc.done343 +dc.done343: + %t865 = load ptr, ptr %s850 + %t866 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t865, i64 0, i32 2 + %t867 = load ptr, ptr %t866, !tbaa !204 + %t868 = getelementptr inbounds i8, ptr %t867, i64 8 ; ->kind + %t869 = load i32, ptr %t868 + %t870 = icmp eq i32 %t869, 6 + call void @scr_dyn_release(ptr %t849) + call void @sc_release__x25_m6_AssetSource(ptr %t865) + br i1 %t870, label %if.t346, label %if.j347 +if.t346: + %t871 = load ptr, ptr %sc_l_p_0 + %t872 = call ptr @sc_rc_retain_dyn(ptr %t871) + %t874 = icmp ne ptr %t872, null + br i1 %t874, label %dc.inspect348, label %dc.checked351 +dc.inspect348: + %t879 = getelementptr inbounds i8, ptr %t872, i64 8 ; ->kind + %t880 = load i32, ptr %t879 + %t875 = icmp eq i32 %t880, 12 + br i1 %t875, label %dc.capsule349, label %dc.checked351 +dc.capsule349: + %t876 = getelementptr inbounds i8, ptr %t872, i64 40 ; ->v.typed_ref.type_key + %t877 = load ptr, ptr %t876 + %t878 = icmp eq ptr %t877, @sc_cs_3314970835853795 + br i1 %t878, label %dc.exact350, label %dc.checked351 +dc.exact350: + %t881 = getelementptr inbounds i8, ptr %t872, i64 16 ; ->v.typed_ref.ptr + %t882 = load ptr, ptr %t881 + %t883 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t882) + store ptr %t883, ptr %s873 + br label %dc.done352 +dc.checked351: + %t884 = call ptr @sc_dc_79(ptr %t872, ptr null) + store ptr %t884, ptr %s873 + %t885 = load i32, ptr %exc.cell + %t886 = icmp ne i32 %t885, 0 + %t887 = call i1 @llvm.expect.i1(i1 %t886, i1 false) + br i1 %t887, label %exc.u353, label %exc.k354 +exc.u353: + call void @scr_dyn_release(ptr %t872) + br label %exc.cleanup2 +exc.k354: + br label %dc.done352 +dc.done352: + %t888 = load ptr, ptr %s873 + %t889 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t888, i64 0, i32 1 + %t890 = load ptr, ptr %t889 + %t891 = getelementptr inbounds %ScrVt, ptr %t890, i64 0, i32 0 + %t892 = load i64, ptr %t891 + %t893 = icmp uge i64 %t892, 38 + %t894 = icmp ule i64 %t892, 38 + %t895 = and i1 %t893, %t894 ; instanceof %m14.BakedAssets + br i1 %t895, label %tern.t355, label %tern.f356 +tern.t355: + %t897 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t898 = load i32, ptr %exc.cell + %t899 = icmp ne i32 %t898, 0 + %t900 = call i1 @llvm.expect.i1(i1 %t899, i1 false) + br i1 %t900, label %exc.u358, label %exc.k359 +exc.u358: + call void @scr_dyn_release(ptr %t897) + call void @scr_dyn_release(ptr %t872) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888) + br label %exc.cleanup2 +exc.k359: + store ptr %t897, ptr %s896 + br label %tern.j357 +tern.f356: + %t901 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t902 = load i32, ptr %exc.cell + %t903 = icmp ne i32 %t902, 0 + %t904 = call i1 @llvm.expect.i1(i1 %t903, i1 false) + br i1 %t904, label %exc.u360, label %exc.k361 +exc.u360: + call void @scr_dyn_release(ptr %t901) + call void @scr_dyn_release(ptr %t872) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888) + br label %exc.cleanup2 +exc.k361: + store ptr %t901, ptr %s896 + br label %tern.j357 +tern.j357: + %t905 = load ptr, ptr %s896 + %t906 = call ptr @scr_dyn_obj_create(ptr %t905) + %t907 = load i32, ptr %exc.cell + %t908 = icmp ne i32 %t907, 0 + %t909 = call i1 @llvm.expect.i1(i1 %t908, i1 false) + br i1 %t909, label %exc.u362, label %exc.k363 +exc.u362: + call void @scr_dyn_release(ptr %t872) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888) + call void @scr_dyn_release(ptr %t905) + call void @scr_dyn_release(ptr %t906) + br label %exc.cleanup2 +exc.k363: + call void @scr_dyn_release(ptr %t872) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888) + call void @scr_dyn_release(ptr %t905) + %t910 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t910) + ret ptr %t906 +if.j347: + %t911 = load ptr, ptr %sc_l_p_0 + %t912 = call ptr @sc_rc_retain_dyn(ptr %t911) + %t914 = icmp ne ptr %t912, null + br i1 %t914, label %dc.inspect364, label %dc.checked367 +dc.inspect364: + %t919 = getelementptr inbounds i8, ptr %t912, i64 8 ; ->kind + %t920 = load i32, ptr %t919 + %t915 = icmp eq i32 %t920, 12 + br i1 %t915, label %dc.capsule365, label %dc.checked367 +dc.capsule365: + %t916 = getelementptr inbounds i8, ptr %t912, i64 40 ; ->v.typed_ref.type_key + %t917 = load ptr, ptr %t916 + %t918 = icmp eq ptr %t917, @sc_cs_3314970835853795 + br i1 %t918, label %dc.exact366, label %dc.checked367 +dc.exact366: + %t921 = getelementptr inbounds i8, ptr %t912, i64 16 ; ->v.typed_ref.ptr + %t922 = load ptr, ptr %t921 + %t923 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t922) + store ptr %t923, ptr %s913 + br label %dc.done368 +dc.checked367: + %t924 = call ptr @sc_dc_79(ptr %t912, ptr null) + store ptr %t924, ptr %s913 + %t925 = load i32, ptr %exc.cell + %t926 = icmp ne i32 %t925, 0 + %t927 = call i1 @llvm.expect.i1(i1 %t926, i1 false) + br i1 %t927, label %exc.u369, label %exc.k370 +exc.u369: + call void @scr_dyn_release(ptr %t912) + br label %exc.cleanup2 +exc.k370: + br label %dc.done368 +dc.done368: + %t928 = load ptr, ptr %s913 + %t929 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t928, i64 0, i32 2 + %t930 = load ptr, ptr %t929, !tbaa !204 + %t931 = call ptr @sc_rc_retain_dyn(ptr %t930) + call void @scr_dyn_release(ptr %t912) + call void @sc_release__x25_m6_AssetSource(ptr %t928) + %t932 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t932) + ret ptr %t931 +if.j338: + %t933 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s934 + %t935 = icmp ne ptr %t933, null + br i1 %t935, label %brand.inspect371, label %brand.done373 +brand.inspect371: + %t936 = getelementptr inbounds i8, ptr %t933, i64 8 ; ->kind + %t937 = load i32, ptr %t936 + %t938 = icmp eq i32 %t937, 12 + br i1 %t938, label %brand.capsule372, label %brand.done373 +brand.capsule372: + %t939 = getelementptr inbounds i8, ptr %t933, i64 40 ; ->v.typed_ref.type_key + %t940 = load ptr, ptr %t939 + %t941 = icmp eq ptr %t940, @sc_cs_3314970835853795 + store i1 true, ptr %s934 + br i1 %t941, label %brand.done373, label %brand.compare374 +brand.compare374: + %t942 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t933, ptr @sc_lit_3314970835853795) + store i1 %t942, ptr %s934 + br label %brand.done373 +brand.done373: + %t943 = load i1, ptr %s934 + br i1 %t943, label %if.t375, label %if.j376 +if.t375: + %t944 = load ptr, ptr %sc_l_p_0 + %t945 = call ptr @sc_rc_retain_dyn(ptr %t944) + %t947 = icmp ne ptr %t945, null + br i1 %t947, label %dc.inspect377, label %dc.checked380 +dc.inspect377: + %t952 = getelementptr inbounds i8, ptr %t945, i64 8 ; ->kind + %t953 = load i32, ptr %t952 + %t948 = icmp eq i32 %t953, 12 + br i1 %t948, label %dc.capsule378, label %dc.checked380 +dc.capsule378: + %t949 = getelementptr inbounds i8, ptr %t945, i64 40 ; ->v.typed_ref.type_key + %t950 = load ptr, ptr %t949 + %t951 = icmp eq ptr %t950, @sc_cs_3314970835853795 + br i1 %t951, label %dc.exact379, label %dc.checked380 +dc.exact379: + %t954 = getelementptr inbounds i8, ptr %t945, i64 16 ; ->v.typed_ref.ptr + %t955 = load ptr, ptr %t954 + %t956 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t955) + store ptr %t956, ptr %s946 + br label %dc.done381 +dc.checked380: + %t957 = call ptr @sc_dc_79(ptr %t945, ptr null) + store ptr %t957, ptr %s946 + %t958 = load i32, ptr %exc.cell + %t959 = icmp ne i32 %t958, 0 + %t960 = call i1 @llvm.expect.i1(i1 %t959, i1 false) + br i1 %t960, label %exc.u382, label %exc.k383 +exc.u382: + call void @scr_dyn_release(ptr %t945) + br label %exc.cleanup2 +exc.k383: + br label %dc.done381 +dc.done381: + %t961 = load ptr, ptr %s946 + %t962 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t961, i64 0, i32 2 + %t963 = load ptr, ptr %t962, !tbaa !204 + %t964 = getelementptr inbounds i8, ptr %t963, i64 8 ; ->kind + %t965 = load i32, ptr %t964 + %t966 = icmp eq i32 %t965, 6 + call void @scr_dyn_release(ptr %t945) + call void @sc_release__x25_m6_AssetSource(ptr %t961) + br i1 %t966, label %if.t384, label %if.j385 +if.t384: + %t967 = load ptr, ptr %sc_l_p_0 + %t968 = call ptr @sc_rc_retain_dyn(ptr %t967) + %t970 = icmp ne ptr %t968, null + br i1 %t970, label %dc.inspect386, label %dc.checked389 +dc.inspect386: + %t975 = getelementptr inbounds i8, ptr %t968, i64 8 ; ->kind + %t976 = load i32, ptr %t975 + %t971 = icmp eq i32 %t976, 12 + br i1 %t971, label %dc.capsule387, label %dc.checked389 +dc.capsule387: + %t972 = getelementptr inbounds i8, ptr %t968, i64 40 ; ->v.typed_ref.type_key + %t973 = load ptr, ptr %t972 + %t974 = icmp eq ptr %t973, @sc_cs_3314970835853795 + br i1 %t974, label %dc.exact388, label %dc.checked389 +dc.exact388: + %t977 = getelementptr inbounds i8, ptr %t968, i64 16 ; ->v.typed_ref.ptr + %t978 = load ptr, ptr %t977 + %t979 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t978) + store ptr %t979, ptr %s969 + br label %dc.done390 +dc.checked389: + %t980 = call ptr @sc_dc_79(ptr %t968, ptr null) + store ptr %t980, ptr %s969 + %t981 = load i32, ptr %exc.cell + %t982 = icmp ne i32 %t981, 0 + %t983 = call i1 @llvm.expect.i1(i1 %t982, i1 false) + br i1 %t983, label %exc.u391, label %exc.k392 +exc.u391: + call void @scr_dyn_release(ptr %t968) + br label %exc.cleanup2 +exc.k392: + br label %dc.done390 +dc.done390: + %t984 = load ptr, ptr %s969 + %t985 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t984, i64 0, i32 1 + %t986 = load ptr, ptr %t985 + %t987 = getelementptr inbounds %ScrVt, ptr %t986, i64 0, i32 0 + %t988 = load i64, ptr %t987 + %t989 = icmp uge i64 %t988, 37 + %t990 = icmp ule i64 %t988, 38 + %t991 = and i1 %t989, %t990 ; instanceof %m9.EmbeddedAssets + br i1 %t991, label %tern.t393, label %tern.f394 +tern.t393: + %t993 = load ptr, ptr %sc_l_p_0 + %t994 = call ptr @sc_rc_retain_dyn(ptr %t993) + %t996 = icmp ne ptr %t994, null + br i1 %t996, label %dc.inspect396, label %dc.checked399 +dc.inspect396: + %t1001 = getelementptr inbounds i8, ptr %t994, i64 8 ; ->kind + %t1002 = load i32, ptr %t1001 + %t997 = icmp eq i32 %t1002, 12 + br i1 %t997, label %dc.capsule397, label %dc.checked399 +dc.capsule397: + %t998 = getelementptr inbounds i8, ptr %t994, i64 40 ; ->v.typed_ref.type_key + %t999 = load ptr, ptr %t998 + %t1000 = icmp eq ptr %t999, @sc_cs_3314970835853795 + br i1 %t1000, label %dc.exact398, label %dc.checked399 +dc.exact398: + %t1003 = getelementptr inbounds i8, ptr %t994, i64 16 ; ->v.typed_ref.ptr + %t1004 = load ptr, ptr %t1003 + %t1005 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1004) + store ptr %t1005, ptr %s995 + br label %dc.done400 +dc.checked399: + %t1006 = call ptr @sc_dc_79(ptr %t994, ptr null) + store ptr %t1006, ptr %s995 + %t1007 = load i32, ptr %exc.cell + %t1008 = icmp ne i32 %t1007, 0 + %t1009 = call i1 @llvm.expect.i1(i1 %t1008, i1 false) + br i1 %t1009, label %exc.u401, label %exc.k402 +exc.u401: + call void @scr_dyn_release(ptr %t994) + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + br label %exc.cleanup2 +exc.k402: + br label %dc.done400 +dc.done400: + %t1010 = load ptr, ptr %s995 + %t1011 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1010, i64 0, i32 1 + %t1012 = load ptr, ptr %t1011 + %t1013 = getelementptr inbounds %ScrVt, ptr %t1012, i64 0, i32 0 + %t1014 = load i64, ptr %t1013 + %t1015 = icmp uge i64 %t1014, 38 + %t1016 = icmp ule i64 %t1014, 38 + %t1017 = and i1 %t1015, %t1016 ; instanceof %m14.BakedAssets + br i1 %t1017, label %tern.t403, label %tern.f404 +tern.t403: + %t1019 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1020 = load i32, ptr %exc.cell + %t1021 = icmp ne i32 %t1020, 0 + %t1022 = call i1 @llvm.expect.i1(i1 %t1021, i1 false) + br i1 %t1022, label %exc.u406, label %exc.k407 +exc.u406: + call void @scr_dyn_release(ptr %t1019) + call void @scr_dyn_release(ptr %t994) + call void @sc_release__x25_m6_AssetSource(ptr %t1010) + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + br label %exc.cleanup2 +exc.k407: + store ptr %t1019, ptr %s1018 + br label %tern.j405 +tern.f404: + %t1023 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t1024 = load i32, ptr %exc.cell + %t1025 = icmp ne i32 %t1024, 0 + %t1026 = call i1 @llvm.expect.i1(i1 %t1025, i1 false) + br i1 %t1026, label %exc.u408, label %exc.k409 +exc.u408: + call void @scr_dyn_release(ptr %t1023) + call void @scr_dyn_release(ptr %t994) + call void @sc_release__x25_m6_AssetSource(ptr %t1010) + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + br label %exc.cleanup2 +exc.k409: + store ptr %t1023, ptr %s1018 + br label %tern.j405 +tern.j405: + %t1027 = load ptr, ptr %s1018 + store ptr %t1027, ptr %s992 + call void @scr_dyn_release(ptr %t994) + call void @sc_release__x25_m6_AssetSource(ptr %t1010) + br label %tern.j395 +tern.f394: + %t1028 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource() + %t1029 = load i32, ptr %exc.cell + %t1030 = icmp ne i32 %t1029, 0 + %t1031 = call i1 @llvm.expect.i1(i1 %t1030, i1 false) + br i1 %t1031, label %exc.u410, label %exc.k411 +exc.u410: + call void @scr_dyn_release(ptr %t1028) + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + br label %exc.cleanup2 +exc.k411: + store ptr %t1028, ptr %s992 + br label %tern.j395 +tern.j395: + %t1032 = load ptr, ptr %s992 + %t1033 = call ptr @scr_dyn_obj_create(ptr %t1032) + %t1034 = load i32, ptr %exc.cell + %t1035 = icmp ne i32 %t1034, 0 + %t1036 = call i1 @llvm.expect.i1(i1 %t1035, i1 false) + br i1 %t1036, label %exc.u412, label %exc.k413 +exc.u412: + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + call void @scr_dyn_release(ptr %t1032) + call void @scr_dyn_release(ptr %t1033) + br label %exc.cleanup2 +exc.k413: + call void @scr_dyn_release(ptr %t968) + call void @sc_release__x25_m6_AssetSource(ptr %t984) + call void @scr_dyn_release(ptr %t1032) + %t1037 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1037) + ret ptr %t1033 +if.j385: + %t1038 = load ptr, ptr %sc_l_p_0 + %t1039 = call ptr @sc_rc_retain_dyn(ptr %t1038) + %t1041 = icmp ne ptr %t1039, null + br i1 %t1041, label %dc.inspect414, label %dc.checked417 +dc.inspect414: + %t1046 = getelementptr inbounds i8, ptr %t1039, i64 8 ; ->kind + %t1047 = load i32, ptr %t1046 + %t1042 = icmp eq i32 %t1047, 12 + br i1 %t1042, label %dc.capsule415, label %dc.checked417 +dc.capsule415: + %t1043 = getelementptr inbounds i8, ptr %t1039, i64 40 ; ->v.typed_ref.type_key + %t1044 = load ptr, ptr %t1043 + %t1045 = icmp eq ptr %t1044, @sc_cs_3314970835853795 + br i1 %t1045, label %dc.exact416, label %dc.checked417 +dc.exact416: + %t1048 = getelementptr inbounds i8, ptr %t1039, i64 16 ; ->v.typed_ref.ptr + %t1049 = load ptr, ptr %t1048 + %t1050 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1049) + store ptr %t1050, ptr %s1040 + br label %dc.done418 +dc.checked417: + %t1051 = call ptr @sc_dc_79(ptr %t1039, ptr null) + store ptr %t1051, ptr %s1040 + %t1052 = load i32, ptr %exc.cell + %t1053 = icmp ne i32 %t1052, 0 + %t1054 = call i1 @llvm.expect.i1(i1 %t1053, i1 false) + br i1 %t1054, label %exc.u419, label %exc.k420 +exc.u419: + call void @scr_dyn_release(ptr %t1039) + br label %exc.cleanup2 +exc.k420: + br label %dc.done418 +dc.done418: + %t1055 = load ptr, ptr %s1040 + %t1056 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1055, i64 0, i32 2 + %t1057 = load ptr, ptr %t1056, !tbaa !204 + %t1058 = call ptr @sc_rc_retain_dyn(ptr %t1057) + call void @scr_dyn_release(ptr %t1039) + call void @sc_release__x25_m6_AssetSource(ptr %t1055) + %t1059 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1059) + ret ptr %t1058 +if.j376: + %t1060 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1061 + %t1062 = icmp ne ptr %t1060, null + br i1 %t1062, label %brand.inspect421, label %brand.done423 +brand.inspect421: + %t1063 = getelementptr inbounds i8, ptr %t1060, i64 8 ; ->kind + %t1064 = load i32, ptr %t1063 + %t1065 = icmp eq i32 %t1064, 12 + br i1 %t1065, label %brand.capsule422, label %brand.done423 +brand.capsule422: + %t1066 = getelementptr inbounds i8, ptr %t1060, i64 40 ; ->v.typed_ref.type_key + %t1067 = load ptr, ptr %t1066 + %t1068 = icmp eq ptr %t1067, @sc_cs_864190948149583 + store i1 true, ptr %s1061 + br i1 %t1068, label %brand.done423, label %brand.compare424 +brand.compare424: + %t1069 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1060, ptr @sc_lit_864190948149583) + store i1 %t1069, ptr %s1061 + br label %brand.done423 +brand.done423: + %t1070 = load i1, ptr %s1061 + br i1 %t1070, label %if.t425, label %if.j426 +if.t425: + %t1071 = load ptr, ptr %sc_l_p_0 + %t1072 = call ptr @sc_rc_retain_dyn(ptr %t1071) + %t1074 = icmp ne ptr %t1072, null + br i1 %t1074, label %dc.inspect427, label %dc.checked430 +dc.inspect427: + %t1079 = getelementptr inbounds i8, ptr %t1072, i64 8 ; ->kind + %t1080 = load i32, ptr %t1079 + %t1075 = icmp eq i32 %t1080, 12 + br i1 %t1075, label %dc.capsule428, label %dc.checked430 +dc.capsule428: + %t1076 = getelementptr inbounds i8, ptr %t1072, i64 40 ; ->v.typed_ref.type_key + %t1077 = load ptr, ptr %t1076 + %t1078 = icmp eq ptr %t1077, @sc_cs_864190948149583 + br i1 %t1078, label %dc.exact429, label %dc.checked430 +dc.exact429: + %t1081 = getelementptr inbounds i8, ptr %t1072, i64 16 ; ->v.typed_ref.ptr + %t1082 = load ptr, ptr %t1081 + %t1083 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1082) + store ptr %t1083, ptr %s1073 + br label %dc.done431 +dc.checked430: + %t1084 = call ptr @sc_dc_103(ptr %t1072, ptr null) + store ptr %t1084, ptr %s1073 + %t1085 = load i32, ptr %exc.cell + %t1086 = icmp ne i32 %t1085, 0 + %t1087 = call i1 @llvm.expect.i1(i1 %t1086, i1 false) + br i1 %t1087, label %exc.u432, label %exc.k433 +exc.u432: + call void @scr_dyn_release(ptr %t1072) + br label %exc.cleanup2 +exc.k433: + br label %dc.done431 +dc.done431: + %t1088 = load ptr, ptr %s1073 + %t1089 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1088, i64 0, i32 6 + %t1090 = load ptr, ptr %t1089, !tbaa !204 + %t1091 = getelementptr inbounds i8, ptr %t1090, i64 8 ; ->kind + %t1092 = load i32, ptr %t1091 + %t1093 = icmp eq i32 %t1092, 6 + call void @scr_dyn_release(ptr %t1072) + call void @sc_release__x25_m11_StaticServer(ptr %t1088) + br i1 %t1093, label %if.t434, label %if.j435 +if.t434: + %t1094 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer() + %t1095 = load i32, ptr %exc.cell + %t1096 = icmp ne i32 %t1095, 0 + %t1097 = call i1 @llvm.expect.i1(i1 %t1096, i1 false) + br i1 %t1097, label %exc.u436, label %exc.k437 +exc.u436: + call void @scr_dyn_release(ptr %t1094) + br label %exc.cleanup2 +exc.k437: + %t1098 = call ptr @scr_dyn_obj_create(ptr %t1094) + %t1099 = load i32, ptr %exc.cell + %t1100 = icmp ne i32 %t1099, 0 + %t1101 = call i1 @llvm.expect.i1(i1 %t1100, i1 false) + br i1 %t1101, label %exc.u438, label %exc.k439 +exc.u438: + call void @scr_dyn_release(ptr %t1094) + call void @scr_dyn_release(ptr %t1098) + br label %exc.cleanup2 +exc.k439: + call void @scr_dyn_release(ptr %t1094) + %t1102 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1102) + ret ptr %t1098 +if.j435: + %t1103 = load ptr, ptr %sc_l_p_0 + %t1104 = call ptr @sc_rc_retain_dyn(ptr %t1103) + %t1106 = icmp ne ptr %t1104, null + br i1 %t1106, label %dc.inspect440, label %dc.checked443 +dc.inspect440: + %t1111 = getelementptr inbounds i8, ptr %t1104, i64 8 ; ->kind + %t1112 = load i32, ptr %t1111 + %t1107 = icmp eq i32 %t1112, 12 + br i1 %t1107, label %dc.capsule441, label %dc.checked443 +dc.capsule441: + %t1108 = getelementptr inbounds i8, ptr %t1104, i64 40 ; ->v.typed_ref.type_key + %t1109 = load ptr, ptr %t1108 + %t1110 = icmp eq ptr %t1109, @sc_cs_864190948149583 + br i1 %t1110, label %dc.exact442, label %dc.checked443 +dc.exact442: + %t1113 = getelementptr inbounds i8, ptr %t1104, i64 16 ; ->v.typed_ref.ptr + %t1114 = load ptr, ptr %t1113 + %t1115 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1114) + store ptr %t1115, ptr %s1105 + br label %dc.done444 +dc.checked443: + %t1116 = call ptr @sc_dc_103(ptr %t1104, ptr null) + store ptr %t1116, ptr %s1105 + %t1117 = load i32, ptr %exc.cell + %t1118 = icmp ne i32 %t1117, 0 + %t1119 = call i1 @llvm.expect.i1(i1 %t1118, i1 false) + br i1 %t1119, label %exc.u445, label %exc.k446 +exc.u445: + call void @scr_dyn_release(ptr %t1104) + br label %exc.cleanup2 +exc.k446: + br label %dc.done444 +dc.done444: + %t1120 = load ptr, ptr %s1105 + %t1121 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1120, i64 0, i32 6 + %t1122 = load ptr, ptr %t1121, !tbaa !204 + %t1123 = call ptr @sc_rc_retain_dyn(ptr %t1122) + call void @scr_dyn_release(ptr %t1104) + call void @sc_release__x25_m11_StaticServer(ptr %t1120) + %t1124 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1124) + ret ptr %t1123 +if.j426: + %t1125 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1126 + %t1127 = icmp ne ptr %t1125, null + br i1 %t1127, label %brand.inspect447, label %brand.done449 +brand.inspect447: + %t1128 = getelementptr inbounds i8, ptr %t1125, i64 8 ; ->kind + %t1129 = load i32, ptr %t1128 + %t1130 = icmp eq i32 %t1129, 12 + br i1 %t1130, label %brand.capsule448, label %brand.done449 +brand.capsule448: + %t1131 = getelementptr inbounds i8, ptr %t1125, i64 40 ; ->v.typed_ref.type_key + %t1132 = load ptr, ptr %t1131 + %t1133 = icmp eq ptr %t1132, @sc_cs_4074974279575818 + store i1 true, ptr %s1126 + br i1 %t1133, label %brand.done449, label %brand.compare450 +brand.compare450: + %t1134 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1125, ptr @sc_lit_4074974279575818) + store i1 %t1134, ptr %s1126 + br label %brand.done449 +brand.done449: + %t1135 = load i1, ptr %s1126 + br i1 %t1135, label %if.t451, label %if.j452 +if.t451: + %t1136 = load ptr, ptr %sc_l_p_0 + %t1137 = call ptr @sc_rc_retain_dyn(ptr %t1136) + %t1139 = icmp ne ptr %t1137, null + br i1 %t1139, label %dc.inspect453, label %dc.checked456 +dc.inspect453: + %t1144 = getelementptr inbounds i8, ptr %t1137, i64 8 ; ->kind + %t1145 = load i32, ptr %t1144 + %t1140 = icmp eq i32 %t1145, 12 + br i1 %t1140, label %dc.capsule454, label %dc.checked456 +dc.capsule454: + %t1141 = getelementptr inbounds i8, ptr %t1137, i64 40 ; ->v.typed_ref.type_key + %t1142 = load ptr, ptr %t1141 + %t1143 = icmp eq ptr %t1142, @sc_cs_4074974279575818 + br i1 %t1143, label %dc.exact455, label %dc.checked456 +dc.exact455: + %t1146 = getelementptr inbounds i8, ptr %t1137, i64 16 ; ->v.typed_ref.ptr + %t1147 = load ptr, ptr %t1146 + %t1148 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1147) + store ptr %t1148, ptr %s1138 + br label %dc.done457 +dc.checked456: + %t1149 = call ptr @sc_dc_104(ptr %t1137, ptr null) + store ptr %t1149, ptr %s1138 + %t1150 = load i32, ptr %exc.cell + %t1151 = icmp ne i32 %t1150, 0 + %t1152 = call i1 @llvm.expect.i1(i1 %t1151, i1 false) + br i1 %t1152, label %exc.u458, label %exc.k459 +exc.u458: + call void @scr_dyn_release(ptr %t1137) + br label %exc.cleanup2 +exc.k459: + br label %dc.done457 +dc.done457: + %t1153 = load ptr, ptr %s1138 + %t1154 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1153, i64 0, i32 2 + %t1155 = load ptr, ptr %t1154, !tbaa !204 + %t1156 = getelementptr inbounds i8, ptr %t1155, i64 8 ; ->kind + %t1157 = load i32, ptr %t1156 + %t1158 = icmp eq i32 %t1157, 6 + call void @scr_dyn_release(ptr %t1137) + call void @sc_release__x25_m3_LiteResponse(ptr %t1153) + br i1 %t1158, label %if.t460, label %if.j461 +if.t460: + %t1159 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1160 = load i32, ptr %exc.cell + %t1161 = icmp ne i32 %t1160, 0 + %t1162 = call i1 @llvm.expect.i1(i1 %t1161, i1 false) + br i1 %t1162, label %exc.u462, label %exc.k463 +exc.u462: + call void @scr_dyn_release(ptr %t1159) + br label %exc.cleanup2 +exc.k463: + %t1163 = call ptr @scr_dyn_obj_create(ptr %t1159) + %t1164 = load i32, ptr %exc.cell + %t1165 = icmp ne i32 %t1164, 0 + %t1166 = call i1 @llvm.expect.i1(i1 %t1165, i1 false) + br i1 %t1166, label %exc.u464, label %exc.k465 +exc.u464: + call void @scr_dyn_release(ptr %t1159) + call void @scr_dyn_release(ptr %t1163) + br label %exc.cleanup2 +exc.k465: + call void @scr_dyn_release(ptr %t1159) + %t1167 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1167) + ret ptr %t1163 +if.j461: + %t1168 = load ptr, ptr %sc_l_p_0 + %t1169 = call ptr @sc_rc_retain_dyn(ptr %t1168) + %t1171 = icmp ne ptr %t1169, null + br i1 %t1171, label %dc.inspect466, label %dc.checked469 +dc.inspect466: + %t1176 = getelementptr inbounds i8, ptr %t1169, i64 8 ; ->kind + %t1177 = load i32, ptr %t1176 + %t1172 = icmp eq i32 %t1177, 12 + br i1 %t1172, label %dc.capsule467, label %dc.checked469 +dc.capsule467: + %t1173 = getelementptr inbounds i8, ptr %t1169, i64 40 ; ->v.typed_ref.type_key + %t1174 = load ptr, ptr %t1173 + %t1175 = icmp eq ptr %t1174, @sc_cs_4074974279575818 + br i1 %t1175, label %dc.exact468, label %dc.checked469 +dc.exact468: + %t1178 = getelementptr inbounds i8, ptr %t1169, i64 16 ; ->v.typed_ref.ptr + %t1179 = load ptr, ptr %t1178 + %t1180 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1179) + store ptr %t1180, ptr %s1170 + br label %dc.done470 +dc.checked469: + %t1181 = call ptr @sc_dc_104(ptr %t1169, ptr null) + store ptr %t1181, ptr %s1170 + %t1182 = load i32, ptr %exc.cell + %t1183 = icmp ne i32 %t1182, 0 + %t1184 = call i1 @llvm.expect.i1(i1 %t1183, i1 false) + br i1 %t1184, label %exc.u471, label %exc.k472 +exc.u471: + call void @scr_dyn_release(ptr %t1169) + br label %exc.cleanup2 +exc.k472: + br label %dc.done470 +dc.done470: + %t1185 = load ptr, ptr %s1170 + %t1186 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1185, i64 0, i32 2 + %t1187 = load ptr, ptr %t1186, !tbaa !204 + %t1188 = call ptr @sc_rc_retain_dyn(ptr %t1187) + call void @scr_dyn_release(ptr %t1169) + call void @sc_release__x25_m3_LiteResponse(ptr %t1185) + %t1189 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1189) + ret ptr %t1188 +if.j452: + %t1190 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1191 + %t1192 = icmp ne ptr %t1190, null + br i1 %t1192, label %brand.inspect473, label %brand.done475 +brand.inspect473: + %t1193 = getelementptr inbounds i8, ptr %t1190, i64 8 ; ->kind + %t1194 = load i32, ptr %t1193 + %t1195 = icmp eq i32 %t1194, 12 + br i1 %t1195, label %brand.capsule474, label %brand.done475 +brand.capsule474: + %t1196 = getelementptr inbounds i8, ptr %t1190, i64 40 ; ->v.typed_ref.type_key + %t1197 = load ptr, ptr %t1196 + %t1198 = icmp eq ptr %t1197, @sc_cs_4408523527888294 + store i1 true, ptr %s1191 + br i1 %t1198, label %brand.done475, label %brand.compare476 +brand.compare476: + %t1199 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1190, ptr @sc_lit_4408523527888294) + store i1 %t1199, ptr %s1191 + br label %brand.done475 +brand.done475: + %t1200 = load i1, ptr %s1191 + br i1 %t1200, label %if.t477, label %if.j478 +if.t477: + %t1201 = load ptr, ptr %sc_l_p_0 + %t1202 = call ptr @sc_rc_retain_dyn(ptr %t1201) + %t1204 = icmp ne ptr %t1202, null + br i1 %t1204, label %dc.inspect479, label %dc.checked482 +dc.inspect479: + %t1209 = getelementptr inbounds i8, ptr %t1202, i64 8 ; ->kind + %t1210 = load i32, ptr %t1209 + %t1205 = icmp eq i32 %t1210, 12 + br i1 %t1205, label %dc.capsule480, label %dc.checked482 +dc.capsule480: + %t1206 = getelementptr inbounds i8, ptr %t1202, i64 40 ; ->v.typed_ref.type_key + %t1207 = load ptr, ptr %t1206 + %t1208 = icmp eq ptr %t1207, @sc_cs_4408523527888294 + br i1 %t1208, label %dc.exact481, label %dc.checked482 +dc.exact481: + %t1211 = getelementptr inbounds i8, ptr %t1202, i64 16 ; ->v.typed_ref.ptr + %t1212 = load ptr, ptr %t1211 + %t1213 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1212) + store ptr %t1213, ptr %s1203 + br label %dc.done483 +dc.checked482: + %t1214 = call ptr @sc_dc_21(ptr %t1202, ptr null) + store ptr %t1214, ptr %s1203 + %t1215 = load i32, ptr %exc.cell + %t1216 = icmp ne i32 %t1215, 0 + %t1217 = call i1 @llvm.expect.i1(i1 %t1216, i1 false) + br i1 %t1217, label %exc.u484, label %exc.k485 +exc.u484: + call void @scr_dyn_release(ptr %t1202) + br label %exc.cleanup2 +exc.k485: + br label %dc.done483 +dc.done483: + %t1218 = load ptr, ptr %s1203 + %t1219 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1218, i64 0, i32 7 + %t1220 = load ptr, ptr %t1219, !tbaa !204 + %t1221 = getelementptr inbounds i8, ptr %t1220, i64 8 ; ->kind + %t1222 = load i32, ptr %t1221 + %t1223 = icmp eq i32 %t1222, 6 + call void @scr_dyn_release(ptr %t1202) + call void @sc_release__x25_m4_UploadedFile(ptr %t1218) + br i1 %t1223, label %if.t486, label %if.j487 +if.t486: + %t1224 = call ptr @scr_dyn_new_obj() + %t1225 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1225) + ret ptr %t1224 +if.j487: + %t1226 = load ptr, ptr %sc_l_p_0 + %t1227 = call ptr @sc_rc_retain_dyn(ptr %t1226) + %t1229 = icmp ne ptr %t1227, null + br i1 %t1229, label %dc.inspect488, label %dc.checked491 +dc.inspect488: + %t1234 = getelementptr inbounds i8, ptr %t1227, i64 8 ; ->kind + %t1235 = load i32, ptr %t1234 + %t1230 = icmp eq i32 %t1235, 12 + br i1 %t1230, label %dc.capsule489, label %dc.checked491 +dc.capsule489: + %t1231 = getelementptr inbounds i8, ptr %t1227, i64 40 ; ->v.typed_ref.type_key + %t1232 = load ptr, ptr %t1231 + %t1233 = icmp eq ptr %t1232, @sc_cs_4408523527888294 + br i1 %t1233, label %dc.exact490, label %dc.checked491 +dc.exact490: + %t1236 = getelementptr inbounds i8, ptr %t1227, i64 16 ; ->v.typed_ref.ptr + %t1237 = load ptr, ptr %t1236 + %t1238 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1237) + store ptr %t1238, ptr %s1228 + br label %dc.done492 +dc.checked491: + %t1239 = call ptr @sc_dc_21(ptr %t1227, ptr null) + store ptr %t1239, ptr %s1228 + %t1240 = load i32, ptr %exc.cell + %t1241 = icmp ne i32 %t1240, 0 + %t1242 = call i1 @llvm.expect.i1(i1 %t1241, i1 false) + br i1 %t1242, label %exc.u493, label %exc.k494 +exc.u493: + call void @scr_dyn_release(ptr %t1227) + br label %exc.cleanup2 +exc.k494: + br label %dc.done492 +dc.done492: + %t1243 = load ptr, ptr %s1228 + %t1244 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1243, i64 0, i32 7 + %t1245 = load ptr, ptr %t1244, !tbaa !204 + %t1246 = call ptr @sc_rc_retain_dyn(ptr %t1245) + call void @scr_dyn_release(ptr %t1227) + call void @sc_release__x25_m4_UploadedFile(ptr %t1243) + %t1247 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1247) + ret ptr %t1246 +if.j478: + %t1248 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1249 + %t1250 = icmp ne ptr %t1248, null + br i1 %t1250, label %brand.inspect495, label %brand.done497 +brand.inspect495: + %t1251 = getelementptr inbounds i8, ptr %t1248, i64 8 ; ->kind + %t1252 = load i32, ptr %t1251 + %t1253 = icmp eq i32 %t1252, 12 + br i1 %t1253, label %brand.capsule496, label %brand.done497 +brand.capsule496: + %t1254 = getelementptr inbounds i8, ptr %t1248, i64 40 ; ->v.typed_ref.type_key + %t1255 = load ptr, ptr %t1254 + %t1256 = icmp eq ptr %t1255, @sc_cs_3163508115280491 + store i1 true, ptr %s1249 + br i1 %t1256, label %brand.done497, label %brand.compare498 +brand.compare498: + %t1257 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1248, ptr @sc_lit_3163508115280491) + store i1 %t1257, ptr %s1249 + br label %brand.done497 +brand.done497: + %t1258 = load i1, ptr %s1249 + br i1 %t1258, label %if.t499, label %if.j500 +if.t499: + %t1259 = load ptr, ptr %sc_l_p_0 + %t1260 = call ptr @sc_rc_retain_dyn(ptr %t1259) + %t1262 = icmp ne ptr %t1260, null + br i1 %t1262, label %dc.inspect501, label %dc.checked504 +dc.inspect501: + %t1267 = getelementptr inbounds i8, ptr %t1260, i64 8 ; ->kind + %t1268 = load i32, ptr %t1267 + %t1263 = icmp eq i32 %t1268, 12 + br i1 %t1263, label %dc.capsule502, label %dc.checked504 +dc.capsule502: + %t1264 = getelementptr inbounds i8, ptr %t1260, i64 40 ; ->v.typed_ref.type_key + %t1265 = load ptr, ptr %t1264 + %t1266 = icmp eq ptr %t1265, @sc_cs_3163508115280491 + br i1 %t1266, label %dc.exact503, label %dc.checked504 +dc.exact503: + %t1269 = getelementptr inbounds i8, ptr %t1260, i64 16 ; ->v.typed_ref.ptr + %t1270 = load ptr, ptr %t1269 + %t1271 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1270) + store ptr %t1271, ptr %s1261 + br label %dc.done505 +dc.checked504: + %t1272 = call ptr @sc_dc_105(ptr %t1260, ptr null) + store ptr %t1272, ptr %s1261 + %t1273 = load i32, ptr %exc.cell + %t1274 = icmp ne i32 %t1273, 0 + %t1275 = call i1 @llvm.expect.i1(i1 %t1274, i1 false) + br i1 %t1275, label %exc.u506, label %exc.k507 +exc.u506: + call void @scr_dyn_release(ptr %t1260) + br label %exc.cleanup2 +exc.k507: + br label %dc.done505 +dc.done505: + %t1276 = load ptr, ptr %s1261 + %t1277 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1276, i64 0, i32 21 + %t1278 = load ptr, ptr %t1277, !tbaa !204 + %t1279 = getelementptr inbounds i8, ptr %t1278, i64 8 ; ->kind + %t1280 = load i32, ptr %t1279 + %t1281 = icmp eq i32 %t1280, 6 + call void @scr_dyn_release(ptr %t1260) + call void @sc_release__x25_m4_MultipartParser(ptr %t1276) + br i1 %t1281, label %if.t508, label %if.j509 +if.t508: + %t1282 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser() + %t1283 = load i32, ptr %exc.cell + %t1284 = icmp ne i32 %t1283, 0 + %t1285 = call i1 @llvm.expect.i1(i1 %t1284, i1 false) + br i1 %t1285, label %exc.u510, label %exc.k511 +exc.u510: + call void @scr_dyn_release(ptr %t1282) + br label %exc.cleanup2 +exc.k511: + %t1286 = call ptr @scr_dyn_obj_create(ptr %t1282) + %t1287 = load i32, ptr %exc.cell + %t1288 = icmp ne i32 %t1287, 0 + %t1289 = call i1 @llvm.expect.i1(i1 %t1288, i1 false) + br i1 %t1289, label %exc.u512, label %exc.k513 +exc.u512: + call void @scr_dyn_release(ptr %t1282) + call void @scr_dyn_release(ptr %t1286) + br label %exc.cleanup2 +exc.k513: + call void @scr_dyn_release(ptr %t1282) + %t1290 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1290) + ret ptr %t1286 +if.j509: + %t1291 = load ptr, ptr %sc_l_p_0 + %t1292 = call ptr @sc_rc_retain_dyn(ptr %t1291) + %t1294 = icmp ne ptr %t1292, null + br i1 %t1294, label %dc.inspect514, label %dc.checked517 +dc.inspect514: + %t1299 = getelementptr inbounds i8, ptr %t1292, i64 8 ; ->kind + %t1300 = load i32, ptr %t1299 + %t1295 = icmp eq i32 %t1300, 12 + br i1 %t1295, label %dc.capsule515, label %dc.checked517 +dc.capsule515: + %t1296 = getelementptr inbounds i8, ptr %t1292, i64 40 ; ->v.typed_ref.type_key + %t1297 = load ptr, ptr %t1296 + %t1298 = icmp eq ptr %t1297, @sc_cs_3163508115280491 + br i1 %t1298, label %dc.exact516, label %dc.checked517 +dc.exact516: + %t1301 = getelementptr inbounds i8, ptr %t1292, i64 16 ; ->v.typed_ref.ptr + %t1302 = load ptr, ptr %t1301 + %t1303 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1302) + store ptr %t1303, ptr %s1293 + br label %dc.done518 +dc.checked517: + %t1304 = call ptr @sc_dc_105(ptr %t1292, ptr null) + store ptr %t1304, ptr %s1293 + %t1305 = load i32, ptr %exc.cell + %t1306 = icmp ne i32 %t1305, 0 + %t1307 = call i1 @llvm.expect.i1(i1 %t1306, i1 false) + br i1 %t1307, label %exc.u519, label %exc.k520 +exc.u519: + call void @scr_dyn_release(ptr %t1292) + br label %exc.cleanup2 +exc.k520: + br label %dc.done518 +dc.done518: + %t1308 = load ptr, ptr %s1293 + %t1309 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1308, i64 0, i32 21 + %t1310 = load ptr, ptr %t1309, !tbaa !204 + %t1311 = call ptr @sc_rc_retain_dyn(ptr %t1310) + call void @scr_dyn_release(ptr %t1292) + call void @sc_release__x25_m4_MultipartParser(ptr %t1308) + %t1312 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1312) + ret ptr %t1311 +if.j500: + %t1313 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1314 + %t1315 = icmp ne ptr %t1313, null + br i1 %t1315, label %brand.inspect521, label %brand.done523 +brand.inspect521: + %t1316 = getelementptr inbounds i8, ptr %t1313, i64 8 ; ->kind + %t1317 = load i32, ptr %t1316 + %t1318 = icmp eq i32 %t1317, 12 + br i1 %t1318, label %brand.capsule522, label %brand.done523 +brand.capsule522: + %t1319 = getelementptr inbounds i8, ptr %t1313, i64 40 ; ->v.typed_ref.type_key + %t1320 = load ptr, ptr %t1319 + %t1321 = icmp eq ptr %t1320, @sc_cs_1875086966829314 + store i1 true, ptr %s1314 + br i1 %t1321, label %brand.done523, label %brand.compare524 +brand.compare524: + %t1322 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1313, ptr @sc_lit_1875086966829314) + store i1 %t1322, ptr %s1314 + br label %brand.done523 +brand.done523: + %t1323 = load i1, ptr %s1314 + br i1 %t1323, label %if.t525, label %if.j526 +if.t525: + %t1324 = load ptr, ptr %sc_l_p_0 + %t1325 = call ptr @sc_rc_retain_dyn(ptr %t1324) + %t1327 = icmp ne ptr %t1325, null + br i1 %t1327, label %dc.inspect527, label %dc.checked530 +dc.inspect527: + %t1332 = getelementptr inbounds i8, ptr %t1325, i64 8 ; ->kind + %t1333 = load i32, ptr %t1332 + %t1328 = icmp eq i32 %t1333, 12 + br i1 %t1328, label %dc.capsule528, label %dc.checked530 +dc.capsule528: + %t1329 = getelementptr inbounds i8, ptr %t1325, i64 40 ; ->v.typed_ref.type_key + %t1330 = load ptr, ptr %t1329 + %t1331 = icmp eq ptr %t1330, @sc_cs_1875086966829314 + br i1 %t1331, label %dc.exact529, label %dc.checked530 +dc.exact529: + %t1334 = getelementptr inbounds i8, ptr %t1325, i64 16 ; ->v.typed_ref.ptr + %t1335 = load ptr, ptr %t1334 + %t1336 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1335) + store ptr %t1336, ptr %s1326 + br label %dc.done531 +dc.checked530: + %t1337 = call ptr @sc_dc_106(ptr %t1325, ptr null) + store ptr %t1337, ptr %s1326 + %t1338 = load i32, ptr %exc.cell + %t1339 = icmp ne i32 %t1338, 0 + %t1340 = call i1 @llvm.expect.i1(i1 %t1339, i1 false) + br i1 %t1340, label %exc.u532, label %exc.k533 +exc.u532: + call void @scr_dyn_release(ptr %t1325) + br label %exc.cleanup2 +exc.k533: + br label %dc.done531 +dc.done531: + %t1341 = load ptr, ptr %s1326 + %t1342 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1341, i64 0, i32 22 + %t1343 = load ptr, ptr %t1342, !tbaa !204 + %t1344 = getelementptr inbounds i8, ptr %t1343, i64 8 ; ->kind + %t1345 = load i32, ptr %t1344 + %t1346 = icmp eq i32 %t1345, 6 + call void @scr_dyn_release(ptr %t1325) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1341) + br i1 %t1346, label %if.t534, label %if.j535 +if.t534: + %t1347 = call ptr @scr_dyn_new_obj() + %t1348 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1348) + ret ptr %t1347 +if.j535: + %t1349 = load ptr, ptr %sc_l_p_0 + %t1350 = call ptr @sc_rc_retain_dyn(ptr %t1349) + %t1352 = icmp ne ptr %t1350, null + br i1 %t1352, label %dc.inspect536, label %dc.checked539 +dc.inspect536: + %t1357 = getelementptr inbounds i8, ptr %t1350, i64 8 ; ->kind + %t1358 = load i32, ptr %t1357 + %t1353 = icmp eq i32 %t1358, 12 + br i1 %t1353, label %dc.capsule537, label %dc.checked539 +dc.capsule537: + %t1354 = getelementptr inbounds i8, ptr %t1350, i64 40 ; ->v.typed_ref.type_key + %t1355 = load ptr, ptr %t1354 + %t1356 = icmp eq ptr %t1355, @sc_cs_1875086966829314 + br i1 %t1356, label %dc.exact538, label %dc.checked539 +dc.exact538: + %t1359 = getelementptr inbounds i8, ptr %t1350, i64 16 ; ->v.typed_ref.ptr + %t1360 = load ptr, ptr %t1359 + %t1361 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1360) + store ptr %t1361, ptr %s1351 + br label %dc.done540 +dc.checked539: + %t1362 = call ptr @sc_dc_106(ptr %t1350, ptr null) + store ptr %t1362, ptr %s1351 + %t1363 = load i32, ptr %exc.cell + %t1364 = icmp ne i32 %t1363, 0 + %t1365 = call i1 @llvm.expect.i1(i1 %t1364, i1 false) + br i1 %t1365, label %exc.u541, label %exc.k542 +exc.u541: + call void @scr_dyn_release(ptr %t1350) + br label %exc.cleanup2 +exc.k542: + br label %dc.done540 +dc.done540: + %t1366 = load ptr, ptr %s1351 + %t1367 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1366, i64 0, i32 22 + %t1368 = load ptr, ptr %t1367, !tbaa !204 + %t1369 = call ptr @sc_rc_retain_dyn(ptr %t1368) + call void @scr_dyn_release(ptr %t1350) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1366) + %t1370 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1370) + ret ptr %t1369 +if.j526: + %t1371 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1372 + %t1373 = icmp ne ptr %t1371, null + br i1 %t1373, label %brand.inspect543, label %brand.done545 +brand.inspect543: + %t1374 = getelementptr inbounds i8, ptr %t1371, i64 8 ; ->kind + %t1375 = load i32, ptr %t1374 + %t1376 = icmp eq i32 %t1375, 12 + br i1 %t1376, label %brand.capsule544, label %brand.done545 +brand.capsule544: + %t1377 = getelementptr inbounds i8, ptr %t1371, i64 40 ; ->v.typed_ref.type_key + %t1378 = load ptr, ptr %t1377 + %t1379 = icmp eq ptr %t1378, @sc_cs_2434838942941195 + store i1 true, ptr %s1372 + br i1 %t1379, label %brand.done545, label %brand.compare546 +brand.compare546: + %t1380 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1371, ptr @sc_lit_2434838942941195) + store i1 %t1380, ptr %s1372 + br label %brand.done545 +brand.done545: + %t1381 = load i1, ptr %s1372 + br i1 %t1381, label %tern.t547, label %tern.f548 +tern.t547: + %t1383 = load ptr, ptr %sc_l_p_0 + %t1384 = call ptr @sc_rc_retain_dyn(ptr %t1383) + %t1386 = icmp ne ptr %t1384, null + br i1 %t1386, label %dc.inspect550, label %dc.checked553 +dc.inspect550: + %t1391 = getelementptr inbounds i8, ptr %t1384, i64 8 ; ->kind + %t1392 = load i32, ptr %t1391 + %t1387 = icmp eq i32 %t1392, 12 + br i1 %t1387, label %dc.capsule551, label %dc.checked553 +dc.capsule551: + %t1388 = getelementptr inbounds i8, ptr %t1384, i64 40 ; ->v.typed_ref.type_key + %t1389 = load ptr, ptr %t1388 + %t1390 = icmp eq ptr %t1389, @sc_cs_2434838942941195 + br i1 %t1390, label %dc.exact552, label %dc.checked553 +dc.exact552: + %t1393 = getelementptr inbounds i8, ptr %t1384, i64 16 ; ->v.typed_ref.ptr + %t1394 = load ptr, ptr %t1393 + %t1395 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1394) + store ptr %t1395, ptr %s1385 + br label %dc.done554 +dc.checked553: + %t1396 = call ptr @sc_dc_52(ptr %t1384, ptr null) + store ptr %t1396, ptr %s1385 + %t1397 = load i32, ptr %exc.cell + %t1398 = icmp ne i32 %t1397, 0 + %t1399 = call i1 @llvm.expect.i1(i1 %t1398, i1 false) + br i1 %t1399, label %exc.u555, label %exc.k556 +exc.u555: + call void @scr_dyn_release(ptr %t1384) + br label %exc.cleanup2 +exc.k556: + br label %dc.done554 +dc.done554: + %t1400 = load ptr, ptr %s1385 + %t1401 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1400, i64 0, i32 1 + %t1402 = load ptr, ptr %t1401 + %t1403 = getelementptr inbounds %ScrVt, ptr %t1402, i64 0, i32 0 + %t1404 = load i64, ptr %t1403 + %t1405 = icmp uge i64 %t1404, 18 + %t1406 = icmp ule i64 %t1404, 18 + %t1407 = and i1 %t1405, %t1406 ; instanceof %m3.LiteResponse + store i1 %t1407, ptr %s1382 + call void @scr_dyn_release(ptr %t1384) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1400) + br label %tern.j549 +tern.f548: + store i1 false, ptr %s1382 + br label %tern.j549 +tern.j549: + %t1408 = load i1, ptr %s1382 + br i1 %t1408, label %if.t557, label %if.j558 +if.t557: + %t1409 = load ptr, ptr %sc_l_p_0 + %t1410 = call ptr @sc_rc_retain_dyn(ptr %t1409) + %t1412 = icmp ne ptr %t1410, null + br i1 %t1412, label %dc.inspect559, label %dc.checked562 +dc.inspect559: + %t1417 = getelementptr inbounds i8, ptr %t1410, i64 8 ; ->kind + %t1418 = load i32, ptr %t1417 + %t1413 = icmp eq i32 %t1418, 12 + br i1 %t1413, label %dc.capsule560, label %dc.checked562 +dc.capsule560: + %t1414 = getelementptr inbounds i8, ptr %t1410, i64 40 ; ->v.typed_ref.type_key + %t1415 = load ptr, ptr %t1414 + %t1416 = icmp eq ptr %t1415, @sc_cs_2434838942941195 + br i1 %t1416, label %dc.exact561, label %dc.checked562 +dc.exact561: + %t1419 = getelementptr inbounds i8, ptr %t1410, i64 16 ; ->v.typed_ref.ptr + %t1420 = load ptr, ptr %t1419 + %t1421 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1420) + store ptr %t1421, ptr %s1411 + br label %dc.done563 +dc.checked562: + %t1422 = call ptr @sc_dc_52(ptr %t1410, ptr null) + store ptr %t1422, ptr %s1411 + %t1423 = load i32, ptr %exc.cell + %t1424 = icmp ne i32 %t1423, 0 + %t1425 = call i1 @llvm.expect.i1(i1 %t1424, i1 false) + br i1 %t1425, label %exc.u564, label %exc.k565 +exc.u564: + call void @scr_dyn_release(ptr %t1410) + br label %exc.cleanup2 +exc.k565: + br label %dc.done563 +dc.done563: + %t1426 = load ptr, ptr %s1411 + %t1427 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1426, i64 0, i32 2 + %t1428 = load ptr, ptr %t1427, !tbaa !204 + %t1429 = getelementptr inbounds i8, ptr %t1428, i64 8 ; ->kind + %t1430 = load i32, ptr %t1429 + %t1431 = icmp eq i32 %t1430, 6 + call void @scr_dyn_release(ptr %t1410) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1426) + br i1 %t1431, label %if.t566, label %if.j567 +if.t566: + %t1432 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1433 = load i32, ptr %exc.cell + %t1434 = icmp ne i32 %t1433, 0 + %t1435 = call i1 @llvm.expect.i1(i1 %t1434, i1 false) + br i1 %t1435, label %exc.u568, label %exc.k569 +exc.u568: + call void @scr_dyn_release(ptr %t1432) + br label %exc.cleanup2 +exc.k569: + %t1436 = call ptr @scr_dyn_obj_create(ptr %t1432) + %t1437 = load i32, ptr %exc.cell + %t1438 = icmp ne i32 %t1437, 0 + %t1439 = call i1 @llvm.expect.i1(i1 %t1438, i1 false) + br i1 %t1439, label %exc.u570, label %exc.k571 +exc.u570: + call void @scr_dyn_release(ptr %t1432) + call void @scr_dyn_release(ptr %t1436) + br label %exc.cleanup2 +exc.k571: + call void @scr_dyn_release(ptr %t1432) + %t1440 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1440) + ret ptr %t1436 +if.j567: + %t1441 = load ptr, ptr %sc_l_p_0 + %t1442 = call ptr @sc_rc_retain_dyn(ptr %t1441) + %t1444 = icmp ne ptr %t1442, null + br i1 %t1444, label %dc.inspect572, label %dc.checked575 +dc.inspect572: + %t1449 = getelementptr inbounds i8, ptr %t1442, i64 8 ; ->kind + %t1450 = load i32, ptr %t1449 + %t1445 = icmp eq i32 %t1450, 12 + br i1 %t1445, label %dc.capsule573, label %dc.checked575 +dc.capsule573: + %t1446 = getelementptr inbounds i8, ptr %t1442, i64 40 ; ->v.typed_ref.type_key + %t1447 = load ptr, ptr %t1446 + %t1448 = icmp eq ptr %t1447, @sc_cs_2434838942941195 + br i1 %t1448, label %dc.exact574, label %dc.checked575 +dc.exact574: + %t1451 = getelementptr inbounds i8, ptr %t1442, i64 16 ; ->v.typed_ref.ptr + %t1452 = load ptr, ptr %t1451 + %t1453 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1452) + store ptr %t1453, ptr %s1443 + br label %dc.done576 +dc.checked575: + %t1454 = call ptr @sc_dc_52(ptr %t1442, ptr null) + store ptr %t1454, ptr %s1443 + %t1455 = load i32, ptr %exc.cell + %t1456 = icmp ne i32 %t1455, 0 + %t1457 = call i1 @llvm.expect.i1(i1 %t1456, i1 false) + br i1 %t1457, label %exc.u577, label %exc.k578 +exc.u577: + call void @scr_dyn_release(ptr %t1442) + br label %exc.cleanup2 +exc.k578: + br label %dc.done576 +dc.done576: + %t1458 = load ptr, ptr %s1443 + %t1459 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1458, i64 0, i32 2 + %t1460 = load ptr, ptr %t1459, !tbaa !204 + %t1461 = call ptr @sc_rc_retain_dyn(ptr %t1460) + call void @scr_dyn_release(ptr %t1442) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1458) + %t1462 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1462) + ret ptr %t1461 +if.j558: + %t1463 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1464 + %t1465 = icmp ne ptr %t1463, null + br i1 %t1465, label %brand.inspect579, label %brand.done581 +brand.inspect579: + %t1466 = getelementptr inbounds i8, ptr %t1463, i64 8 ; ->kind + %t1467 = load i32, ptr %t1466 + %t1468 = icmp eq i32 %t1467, 12 + br i1 %t1468, label %brand.capsule580, label %brand.done581 +brand.capsule580: + %t1469 = getelementptr inbounds i8, ptr %t1463, i64 40 ; ->v.typed_ref.type_key + %t1470 = load ptr, ptr %t1469 + %t1471 = icmp eq ptr %t1470, @sc_cs_2434838942941195 + store i1 true, ptr %s1464 + br i1 %t1471, label %brand.done581, label %brand.compare582 +brand.compare582: + %t1472 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1463, ptr @sc_lit_2434838942941195) + store i1 %t1472, ptr %s1464 + br label %brand.done581 +brand.done581: + %t1473 = load i1, ptr %s1464 + br i1 %t1473, label %if.t583, label %if.j584 +if.t583: + %t1474 = load ptr, ptr %sc_l_p_0 + %t1475 = call ptr @sc_rc_retain_dyn(ptr %t1474) + %t1477 = icmp ne ptr %t1475, null + br i1 %t1477, label %dc.inspect585, label %dc.checked588 +dc.inspect585: + %t1482 = getelementptr inbounds i8, ptr %t1475, i64 8 ; ->kind + %t1483 = load i32, ptr %t1482 + %t1478 = icmp eq i32 %t1483, 12 + br i1 %t1478, label %dc.capsule586, label %dc.checked588 +dc.capsule586: + %t1479 = getelementptr inbounds i8, ptr %t1475, i64 40 ; ->v.typed_ref.type_key + %t1480 = load ptr, ptr %t1479 + %t1481 = icmp eq ptr %t1480, @sc_cs_2434838942941195 + br i1 %t1481, label %dc.exact587, label %dc.checked588 +dc.exact587: + %t1484 = getelementptr inbounds i8, ptr %t1475, i64 16 ; ->v.typed_ref.ptr + %t1485 = load ptr, ptr %t1484 + %t1486 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1485) + store ptr %t1486, ptr %s1476 + br label %dc.done589 +dc.checked588: + %t1487 = call ptr @sc_dc_52(ptr %t1475, ptr null) + store ptr %t1487, ptr %s1476 + %t1488 = load i32, ptr %exc.cell + %t1489 = icmp ne i32 %t1488, 0 + %t1490 = call i1 @llvm.expect.i1(i1 %t1489, i1 false) + br i1 %t1490, label %exc.u590, label %exc.k591 +exc.u590: + call void @scr_dyn_release(ptr %t1475) + br label %exc.cleanup2 +exc.k591: + br label %dc.done589 +dc.done589: + %t1491 = load ptr, ptr %s1476 + %t1492 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1491, i64 0, i32 2 + %t1493 = load ptr, ptr %t1492, !tbaa !204 + %t1494 = getelementptr inbounds i8, ptr %t1493, i64 8 ; ->kind + %t1495 = load i32, ptr %t1494 + %t1496 = icmp eq i32 %t1495, 6 + call void @scr_dyn_release(ptr %t1475) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1491) + br i1 %t1496, label %if.t592, label %if.j593 +if.t592: + %t1497 = load ptr, ptr %sc_l_p_0 + %t1498 = call ptr @sc_rc_retain_dyn(ptr %t1497) + %t1500 = icmp ne ptr %t1498, null + br i1 %t1500, label %dc.inspect594, label %dc.checked597 +dc.inspect594: + %t1505 = getelementptr inbounds i8, ptr %t1498, i64 8 ; ->kind + %t1506 = load i32, ptr %t1505 + %t1501 = icmp eq i32 %t1506, 12 + br i1 %t1501, label %dc.capsule595, label %dc.checked597 +dc.capsule595: + %t1502 = getelementptr inbounds i8, ptr %t1498, i64 40 ; ->v.typed_ref.type_key + %t1503 = load ptr, ptr %t1502 + %t1504 = icmp eq ptr %t1503, @sc_cs_2434838942941195 + br i1 %t1504, label %dc.exact596, label %dc.checked597 +dc.exact596: + %t1507 = getelementptr inbounds i8, ptr %t1498, i64 16 ; ->v.typed_ref.ptr + %t1508 = load ptr, ptr %t1507 + %t1509 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1508) + store ptr %t1509, ptr %s1499 + br label %dc.done598 +dc.checked597: + %t1510 = call ptr @sc_dc_52(ptr %t1498, ptr null) + store ptr %t1510, ptr %s1499 + %t1511 = load i32, ptr %exc.cell + %t1512 = icmp ne i32 %t1511, 0 + %t1513 = call i1 @llvm.expect.i1(i1 %t1512, i1 false) + br i1 %t1513, label %exc.u599, label %exc.k600 +exc.u599: + call void @scr_dyn_release(ptr %t1498) + br label %exc.cleanup2 +exc.k600: + br label %dc.done598 +dc.done598: + %t1514 = load ptr, ptr %s1499 + %t1515 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1514, i64 0, i32 1 + %t1516 = load ptr, ptr %t1515 + %t1517 = getelementptr inbounds %ScrVt, ptr %t1516, i64 0, i32 0 + %t1518 = load i64, ptr %t1517 + %t1519 = icmp uge i64 %t1518, 18 + %t1520 = icmp ule i64 %t1518, 18 + %t1521 = and i1 %t1519, %t1520 ; instanceof %m3.LiteResponse + br i1 %t1521, label %tern.t601, label %tern.f602 +tern.t601: + %t1523 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1524 = load i32, ptr %exc.cell + %t1525 = icmp ne i32 %t1524, 0 + %t1526 = call i1 @llvm.expect.i1(i1 %t1525, i1 false) + br i1 %t1526, label %exc.u604, label %exc.k605 +exc.u604: + call void @scr_dyn_release(ptr %t1523) + call void @scr_dyn_release(ptr %t1498) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1514) + br label %exc.cleanup2 +exc.k605: + store ptr %t1523, ptr %s1522 + br label %tern.j603 +tern.f602: + %t1527 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t1528 = load i32, ptr %exc.cell + %t1529 = icmp ne i32 %t1528, 0 + %t1530 = call i1 @llvm.expect.i1(i1 %t1529, i1 false) + br i1 %t1530, label %exc.u606, label %exc.k607 +exc.u606: + call void @scr_dyn_release(ptr %t1527) + call void @scr_dyn_release(ptr %t1498) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1514) + br label %exc.cleanup2 +exc.k607: + store ptr %t1527, ptr %s1522 + br label %tern.j603 +tern.j603: + %t1531 = load ptr, ptr %s1522 + %t1532 = call ptr @scr_dyn_obj_create(ptr %t1531) + %t1533 = load i32, ptr %exc.cell + %t1534 = icmp ne i32 %t1533, 0 + %t1535 = call i1 @llvm.expect.i1(i1 %t1534, i1 false) + br i1 %t1535, label %exc.u608, label %exc.k609 +exc.u608: + call void @scr_dyn_release(ptr %t1498) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1514) + call void @scr_dyn_release(ptr %t1531) + call void @scr_dyn_release(ptr %t1532) + br label %exc.cleanup2 +exc.k609: + call void @scr_dyn_release(ptr %t1498) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1514) + call void @scr_dyn_release(ptr %t1531) + %t1536 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1536) + ret ptr %t1532 +if.j593: + %t1537 = load ptr, ptr %sc_l_p_0 + %t1538 = call ptr @sc_rc_retain_dyn(ptr %t1537) + %t1540 = icmp ne ptr %t1538, null + br i1 %t1540, label %dc.inspect610, label %dc.checked613 +dc.inspect610: + %t1545 = getelementptr inbounds i8, ptr %t1538, i64 8 ; ->kind + %t1546 = load i32, ptr %t1545 + %t1541 = icmp eq i32 %t1546, 12 + br i1 %t1541, label %dc.capsule611, label %dc.checked613 +dc.capsule611: + %t1542 = getelementptr inbounds i8, ptr %t1538, i64 40 ; ->v.typed_ref.type_key + %t1543 = load ptr, ptr %t1542 + %t1544 = icmp eq ptr %t1543, @sc_cs_2434838942941195 + br i1 %t1544, label %dc.exact612, label %dc.checked613 +dc.exact612: + %t1547 = getelementptr inbounds i8, ptr %t1538, i64 16 ; ->v.typed_ref.ptr + %t1548 = load ptr, ptr %t1547 + %t1549 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1548) + store ptr %t1549, ptr %s1539 + br label %dc.done614 +dc.checked613: + %t1550 = call ptr @sc_dc_52(ptr %t1538, ptr null) + store ptr %t1550, ptr %s1539 + %t1551 = load i32, ptr %exc.cell + %t1552 = icmp ne i32 %t1551, 0 + %t1553 = call i1 @llvm.expect.i1(i1 %t1552, i1 false) + br i1 %t1553, label %exc.u615, label %exc.k616 +exc.u615: + call void @scr_dyn_release(ptr %t1538) + br label %exc.cleanup2 +exc.k616: + br label %dc.done614 +dc.done614: + %t1554 = load ptr, ptr %s1539 + %t1555 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1554, i64 0, i32 2 + %t1556 = load ptr, ptr %t1555, !tbaa !204 + %t1557 = call ptr @sc_rc_retain_dyn(ptr %t1556) + call void @scr_dyn_release(ptr %t1538) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1554) + %t1558 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1558) + ret ptr %t1557 +if.j584: + %t1559 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1560 + %t1561 = icmp ne ptr %t1559, null + br i1 %t1561, label %brand.inspect617, label %brand.done619 +brand.inspect617: + %t1562 = getelementptr inbounds i8, ptr %t1559, i64 8 ; ->kind + %t1563 = load i32, ptr %t1562 + %t1564 = icmp eq i32 %t1563, 12 + br i1 %t1564, label %brand.capsule618, label %brand.done619 +brand.capsule618: + %t1565 = getelementptr inbounds i8, ptr %t1559, i64 40 ; ->v.typed_ref.type_key + %t1566 = load ptr, ptr %t1565 + %t1567 = icmp eq ptr %t1566, @sc_cs_67546268704151 + store i1 true, ptr %s1560 + br i1 %t1567, label %brand.done619, label %brand.compare620 +brand.compare620: + %t1568 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1559, ptr @sc_lit_67546268704151) + store i1 %t1568, ptr %s1560 + br label %brand.done619 +brand.done619: + %t1569 = load i1, ptr %s1560 + br i1 %t1569, label %if.t621, label %if.j622 +if.t621: + %t1570 = load ptr, ptr %sc_l_p_0 + %t1571 = call ptr @sc_rc_retain_dyn(ptr %t1570) + %t1573 = icmp ne ptr %t1571, null + br i1 %t1573, label %dc.inspect623, label %dc.checked626 +dc.inspect623: + %t1578 = getelementptr inbounds i8, ptr %t1571, i64 8 ; ->kind + %t1579 = load i32, ptr %t1578 + %t1574 = icmp eq i32 %t1579, 12 + br i1 %t1574, label %dc.capsule624, label %dc.checked626 +dc.capsule624: + %t1575 = getelementptr inbounds i8, ptr %t1571, i64 40 ; ->v.typed_ref.type_key + %t1576 = load ptr, ptr %t1575 + %t1577 = icmp eq ptr %t1576, @sc_cs_67546268704151 + br i1 %t1577, label %dc.exact625, label %dc.checked626 +dc.exact625: + %t1580 = getelementptr inbounds i8, ptr %t1571, i64 16 ; ->v.typed_ref.ptr + %t1581 = load ptr, ptr %t1580 + %t1582 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1581) + store ptr %t1582, ptr %s1572 + br label %dc.done627 +dc.checked626: + %t1583 = call ptr @sc_dc_107(ptr %t1571, ptr null) + store ptr %t1583, ptr %s1572 + %t1584 = load i32, ptr %exc.cell + %t1585 = icmp ne i32 %t1584, 0 + %t1586 = call i1 @llvm.expect.i1(i1 %t1585, i1 false) + br i1 %t1586, label %exc.u628, label %exc.k629 +exc.u628: + call void @scr_dyn_release(ptr %t1571) + br label %exc.cleanup2 +exc.k629: + br label %dc.done627 +dc.done627: + %t1587 = load ptr, ptr %s1572 + %t1588 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1587, i64 0, i32 2 + %t1589 = load ptr, ptr %t1588, !tbaa !204 + %t1590 = getelementptr inbounds i8, ptr %t1589, i64 8 ; ->kind + %t1591 = load i32, ptr %t1590 + %t1592 = icmp eq i32 %t1591, 6 + call void @scr_dyn_release(ptr %t1571) + call void @sc_release__x25_m3_LiteHeaders(ptr %t1587) + br i1 %t1592, label %if.t630, label %if.j631 +if.t630: + %t1593 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders() + %t1594 = load i32, ptr %exc.cell + %t1595 = icmp ne i32 %t1594, 0 + %t1596 = call i1 @llvm.expect.i1(i1 %t1595, i1 false) + br i1 %t1596, label %exc.u632, label %exc.k633 +exc.u632: + call void @scr_dyn_release(ptr %t1593) + br label %exc.cleanup2 +exc.k633: + %t1597 = call ptr @scr_dyn_obj_create(ptr %t1593) + %t1598 = load i32, ptr %exc.cell + %t1599 = icmp ne i32 %t1598, 0 + %t1600 = call i1 @llvm.expect.i1(i1 %t1599, i1 false) + br i1 %t1600, label %exc.u634, label %exc.k635 +exc.u634: + call void @scr_dyn_release(ptr %t1593) + call void @scr_dyn_release(ptr %t1597) + br label %exc.cleanup2 +exc.k635: + call void @scr_dyn_release(ptr %t1593) + %t1601 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1601) + ret ptr %t1597 +if.j631: + %t1602 = load ptr, ptr %sc_l_p_0 + %t1603 = call ptr @sc_rc_retain_dyn(ptr %t1602) + %t1605 = icmp ne ptr %t1603, null + br i1 %t1605, label %dc.inspect636, label %dc.checked639 +dc.inspect636: + %t1610 = getelementptr inbounds i8, ptr %t1603, i64 8 ; ->kind + %t1611 = load i32, ptr %t1610 + %t1606 = icmp eq i32 %t1611, 12 + br i1 %t1606, label %dc.capsule637, label %dc.checked639 +dc.capsule637: + %t1607 = getelementptr inbounds i8, ptr %t1603, i64 40 ; ->v.typed_ref.type_key + %t1608 = load ptr, ptr %t1607 + %t1609 = icmp eq ptr %t1608, @sc_cs_67546268704151 + br i1 %t1609, label %dc.exact638, label %dc.checked639 +dc.exact638: + %t1612 = getelementptr inbounds i8, ptr %t1603, i64 16 ; ->v.typed_ref.ptr + %t1613 = load ptr, ptr %t1612 + %t1614 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1613) + store ptr %t1614, ptr %s1604 + br label %dc.done640 +dc.checked639: + %t1615 = call ptr @sc_dc_107(ptr %t1603, ptr null) + store ptr %t1615, ptr %s1604 + %t1616 = load i32, ptr %exc.cell + %t1617 = icmp ne i32 %t1616, 0 + %t1618 = call i1 @llvm.expect.i1(i1 %t1617, i1 false) + br i1 %t1618, label %exc.u641, label %exc.k642 +exc.u641: + call void @scr_dyn_release(ptr %t1603) + br label %exc.cleanup2 +exc.k642: + br label %dc.done640 +dc.done640: + %t1619 = load ptr, ptr %s1604 + %t1620 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1619, i64 0, i32 2 + %t1621 = load ptr, ptr %t1620, !tbaa !204 + %t1622 = call ptr @sc_rc_retain_dyn(ptr %t1621) + call void @scr_dyn_release(ptr %t1603) + call void @sc_release__x25_m3_LiteHeaders(ptr %t1619) + %t1623 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1623) + ret ptr %t1622 +if.j622: + %t1624 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1625 + %t1626 = icmp ne ptr %t1624, null + br i1 %t1626, label %brand.inspect643, label %brand.done645 +brand.inspect643: + %t1627 = getelementptr inbounds i8, ptr %t1624, i64 8 ; ->kind + %t1628 = load i32, ptr %t1627 + %t1629 = icmp eq i32 %t1628, 12 + br i1 %t1629, label %brand.capsule644, label %brand.done645 +brand.capsule644: + %t1630 = getelementptr inbounds i8, ptr %t1624, i64 40 ; ->v.typed_ref.type_key + %t1631 = load ptr, ptr %t1630 + %t1632 = icmp eq ptr %t1631, @sc_cs_2519527309428716 + store i1 true, ptr %s1625 + br i1 %t1632, label %brand.done645, label %brand.compare646 +brand.compare646: + %t1633 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1624, ptr @sc_lit_2519527309428716) + store i1 %t1633, ptr %s1625 + br label %brand.done645 +brand.done645: + %t1634 = load i1, ptr %s1625 + br i1 %t1634, label %tern.t647, label %tern.f648 +tern.t647: + %t1636 = load ptr, ptr %sc_l_p_0 + %t1637 = call ptr @sc_rc_retain_dyn(ptr %t1636) + %t1639 = icmp ne ptr %t1637, null + br i1 %t1639, label %dc.inspect650, label %dc.checked653 +dc.inspect650: + %t1644 = getelementptr inbounds i8, ptr %t1637, i64 8 ; ->kind + %t1645 = load i32, ptr %t1644 + %t1640 = icmp eq i32 %t1645, 12 + br i1 %t1640, label %dc.capsule651, label %dc.checked653 +dc.capsule651: + %t1641 = getelementptr inbounds i8, ptr %t1637, i64 40 ; ->v.typed_ref.type_key + %t1642 = load ptr, ptr %t1641 + %t1643 = icmp eq ptr %t1642, @sc_cs_2519527309428716 + br i1 %t1643, label %dc.exact652, label %dc.checked653 +dc.exact652: + %t1646 = getelementptr inbounds i8, ptr %t1637, i64 16 ; ->v.typed_ref.ptr + %t1647 = load ptr, ptr %t1646 + %t1648 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1647) + store ptr %t1648, ptr %s1638 + br label %dc.done654 +dc.checked653: + %t1649 = call ptr @sc_dc_108(ptr %t1637, ptr null) + store ptr %t1649, ptr %s1638 + %t1650 = load i32, ptr %exc.cell + %t1651 = icmp ne i32 %t1650, 0 + %t1652 = call i1 @llvm.expect.i1(i1 %t1651, i1 false) + br i1 %t1652, label %exc.u655, label %exc.k656 +exc.u655: + call void @scr_dyn_release(ptr %t1637) + br label %exc.cleanup2 +exc.k656: + br label %dc.done654 +dc.done654: + %t1653 = load ptr, ptr %s1638 + %t1654 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1653, i64 0, i32 1 + %t1655 = load ptr, ptr %t1654 + %t1656 = getelementptr inbounds %ScrVt, ptr %t1655, i64 0, i32 0 + %t1657 = load i64, ptr %t1656 + %t1658 = icmp uge i64 %t1657, 38 + %t1659 = icmp ule i64 %t1657, 38 + %t1660 = and i1 %t1658, %t1659 ; instanceof %m14.BakedAssets + store i1 %t1660, ptr %s1635 + call void @scr_dyn_release(ptr %t1637) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1653) + br label %tern.j649 +tern.f648: + store i1 false, ptr %s1635 + br label %tern.j649 +tern.j649: + %t1661 = load i1, ptr %s1635 + br i1 %t1661, label %if.t657, label %if.j658 +if.t657: + %t1662 = load ptr, ptr %sc_l_p_0 + %t1663 = call ptr @sc_rc_retain_dyn(ptr %t1662) + %t1665 = icmp ne ptr %t1663, null + br i1 %t1665, label %dc.inspect659, label %dc.checked662 +dc.inspect659: + %t1670 = getelementptr inbounds i8, ptr %t1663, i64 8 ; ->kind + %t1671 = load i32, ptr %t1670 + %t1666 = icmp eq i32 %t1671, 12 + br i1 %t1666, label %dc.capsule660, label %dc.checked662 +dc.capsule660: + %t1667 = getelementptr inbounds i8, ptr %t1663, i64 40 ; ->v.typed_ref.type_key + %t1668 = load ptr, ptr %t1667 + %t1669 = icmp eq ptr %t1668, @sc_cs_2519527309428716 + br i1 %t1669, label %dc.exact661, label %dc.checked662 +dc.exact661: + %t1672 = getelementptr inbounds i8, ptr %t1663, i64 16 ; ->v.typed_ref.ptr + %t1673 = load ptr, ptr %t1672 + %t1674 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1673) + store ptr %t1674, ptr %s1664 + br label %dc.done663 +dc.checked662: + %t1675 = call ptr @sc_dc_108(ptr %t1663, ptr null) + store ptr %t1675, ptr %s1664 + %t1676 = load i32, ptr %exc.cell + %t1677 = icmp ne i32 %t1676, 0 + %t1678 = call i1 @llvm.expect.i1(i1 %t1677, i1 false) + br i1 %t1678, label %exc.u664, label %exc.k665 +exc.u664: + call void @scr_dyn_release(ptr %t1663) + br label %exc.cleanup2 +exc.k665: + br label %dc.done663 +dc.done663: + %t1679 = load ptr, ptr %s1664 + %t1680 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1679, i64 0, i32 2 + %t1681 = load ptr, ptr %t1680, !tbaa !204 + %t1682 = getelementptr inbounds i8, ptr %t1681, i64 8 ; ->kind + %t1683 = load i32, ptr %t1682 + %t1684 = icmp eq i32 %t1683, 6 + call void @scr_dyn_release(ptr %t1663) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1679) + br i1 %t1684, label %if.t666, label %if.j667 +if.t666: + %t1685 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1686 = load i32, ptr %exc.cell + %t1687 = icmp ne i32 %t1686, 0 + %t1688 = call i1 @llvm.expect.i1(i1 %t1687, i1 false) + br i1 %t1688, label %exc.u668, label %exc.k669 +exc.u668: + call void @scr_dyn_release(ptr %t1685) + br label %exc.cleanup2 +exc.k669: + %t1689 = call ptr @scr_dyn_obj_create(ptr %t1685) + %t1690 = load i32, ptr %exc.cell + %t1691 = icmp ne i32 %t1690, 0 + %t1692 = call i1 @llvm.expect.i1(i1 %t1691, i1 false) + br i1 %t1692, label %exc.u670, label %exc.k671 +exc.u670: + call void @scr_dyn_release(ptr %t1685) + call void @scr_dyn_release(ptr %t1689) + br label %exc.cleanup2 +exc.k671: + call void @scr_dyn_release(ptr %t1685) + %t1693 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1693) + ret ptr %t1689 +if.j667: + %t1694 = load ptr, ptr %sc_l_p_0 + %t1695 = call ptr @sc_rc_retain_dyn(ptr %t1694) + %t1697 = icmp ne ptr %t1695, null + br i1 %t1697, label %dc.inspect672, label %dc.checked675 +dc.inspect672: + %t1702 = getelementptr inbounds i8, ptr %t1695, i64 8 ; ->kind + %t1703 = load i32, ptr %t1702 + %t1698 = icmp eq i32 %t1703, 12 + br i1 %t1698, label %dc.capsule673, label %dc.checked675 +dc.capsule673: + %t1699 = getelementptr inbounds i8, ptr %t1695, i64 40 ; ->v.typed_ref.type_key + %t1700 = load ptr, ptr %t1699 + %t1701 = icmp eq ptr %t1700, @sc_cs_2519527309428716 + br i1 %t1701, label %dc.exact674, label %dc.checked675 +dc.exact674: + %t1704 = getelementptr inbounds i8, ptr %t1695, i64 16 ; ->v.typed_ref.ptr + %t1705 = load ptr, ptr %t1704 + %t1706 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1705) + store ptr %t1706, ptr %s1696 + br label %dc.done676 +dc.checked675: + %t1707 = call ptr @sc_dc_108(ptr %t1695, ptr null) + store ptr %t1707, ptr %s1696 + %t1708 = load i32, ptr %exc.cell + %t1709 = icmp ne i32 %t1708, 0 + %t1710 = call i1 @llvm.expect.i1(i1 %t1709, i1 false) + br i1 %t1710, label %exc.u677, label %exc.k678 +exc.u677: + call void @scr_dyn_release(ptr %t1695) + br label %exc.cleanup2 +exc.k678: + br label %dc.done676 +dc.done676: + %t1711 = load ptr, ptr %s1696 + %t1712 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1711, i64 0, i32 2 + %t1713 = load ptr, ptr %t1712, !tbaa !204 + %t1714 = call ptr @sc_rc_retain_dyn(ptr %t1713) + call void @scr_dyn_release(ptr %t1695) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1711) + %t1715 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1715) + ret ptr %t1714 +if.j658: + %t1716 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1717 + %t1718 = icmp ne ptr %t1716, null + br i1 %t1718, label %brand.inspect679, label %brand.done681 +brand.inspect679: + %t1719 = getelementptr inbounds i8, ptr %t1716, i64 8 ; ->kind + %t1720 = load i32, ptr %t1719 + %t1721 = icmp eq i32 %t1720, 12 + br i1 %t1721, label %brand.capsule680, label %brand.done681 +brand.capsule680: + %t1722 = getelementptr inbounds i8, ptr %t1716, i64 40 ; ->v.typed_ref.type_key + %t1723 = load ptr, ptr %t1722 + %t1724 = icmp eq ptr %t1723, @sc_cs_2519527309428716 + store i1 true, ptr %s1717 + br i1 %t1724, label %brand.done681, label %brand.compare682 +brand.compare682: + %t1725 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1716, ptr @sc_lit_2519527309428716) + store i1 %t1725, ptr %s1717 + br label %brand.done681 +brand.done681: + %t1726 = load i1, ptr %s1717 + br i1 %t1726, label %if.t683, label %if.j684 +if.t683: + %t1727 = load ptr, ptr %sc_l_p_0 + %t1728 = call ptr @sc_rc_retain_dyn(ptr %t1727) + %t1730 = icmp ne ptr %t1728, null + br i1 %t1730, label %dc.inspect685, label %dc.checked688 +dc.inspect685: + %t1735 = getelementptr inbounds i8, ptr %t1728, i64 8 ; ->kind + %t1736 = load i32, ptr %t1735 + %t1731 = icmp eq i32 %t1736, 12 + br i1 %t1731, label %dc.capsule686, label %dc.checked688 +dc.capsule686: + %t1732 = getelementptr inbounds i8, ptr %t1728, i64 40 ; ->v.typed_ref.type_key + %t1733 = load ptr, ptr %t1732 + %t1734 = icmp eq ptr %t1733, @sc_cs_2519527309428716 + br i1 %t1734, label %dc.exact687, label %dc.checked688 +dc.exact687: + %t1737 = getelementptr inbounds i8, ptr %t1728, i64 16 ; ->v.typed_ref.ptr + %t1738 = load ptr, ptr %t1737 + %t1739 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1738) + store ptr %t1739, ptr %s1729 + br label %dc.done689 +dc.checked688: + %t1740 = call ptr @sc_dc_108(ptr %t1728, ptr null) + store ptr %t1740, ptr %s1729 + %t1741 = load i32, ptr %exc.cell + %t1742 = icmp ne i32 %t1741, 0 + %t1743 = call i1 @llvm.expect.i1(i1 %t1742, i1 false) + br i1 %t1743, label %exc.u690, label %exc.k691 +exc.u690: + call void @scr_dyn_release(ptr %t1728) + br label %exc.cleanup2 +exc.k691: + br label %dc.done689 +dc.done689: + %t1744 = load ptr, ptr %s1729 + %t1745 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1744, i64 0, i32 2 + %t1746 = load ptr, ptr %t1745, !tbaa !204 + %t1747 = getelementptr inbounds i8, ptr %t1746, i64 8 ; ->kind + %t1748 = load i32, ptr %t1747 + %t1749 = icmp eq i32 %t1748, 6 + call void @scr_dyn_release(ptr %t1728) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1744) + br i1 %t1749, label %if.t692, label %if.j693 +if.t692: + %t1750 = load ptr, ptr %sc_l_p_0 + %t1751 = call ptr @sc_rc_retain_dyn(ptr %t1750) + %t1753 = icmp ne ptr %t1751, null + br i1 %t1753, label %dc.inspect694, label %dc.checked697 +dc.inspect694: + %t1758 = getelementptr inbounds i8, ptr %t1751, i64 8 ; ->kind + %t1759 = load i32, ptr %t1758 + %t1754 = icmp eq i32 %t1759, 12 + br i1 %t1754, label %dc.capsule695, label %dc.checked697 +dc.capsule695: + %t1755 = getelementptr inbounds i8, ptr %t1751, i64 40 ; ->v.typed_ref.type_key + %t1756 = load ptr, ptr %t1755 + %t1757 = icmp eq ptr %t1756, @sc_cs_2519527309428716 + br i1 %t1757, label %dc.exact696, label %dc.checked697 +dc.exact696: + %t1760 = getelementptr inbounds i8, ptr %t1751, i64 16 ; ->v.typed_ref.ptr + %t1761 = load ptr, ptr %t1760 + %t1762 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1761) + store ptr %t1762, ptr %s1752 + br label %dc.done698 +dc.checked697: + %t1763 = call ptr @sc_dc_108(ptr %t1751, ptr null) + store ptr %t1763, ptr %s1752 + %t1764 = load i32, ptr %exc.cell + %t1765 = icmp ne i32 %t1764, 0 + %t1766 = call i1 @llvm.expect.i1(i1 %t1765, i1 false) + br i1 %t1766, label %exc.u699, label %exc.k700 +exc.u699: + call void @scr_dyn_release(ptr %t1751) + br label %exc.cleanup2 +exc.k700: + br label %dc.done698 +dc.done698: + %t1767 = load ptr, ptr %s1752 + %t1768 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1767, i64 0, i32 1 + %t1769 = load ptr, ptr %t1768 + %t1770 = getelementptr inbounds %ScrVt, ptr %t1769, i64 0, i32 0 + %t1771 = load i64, ptr %t1770 + %t1772 = icmp uge i64 %t1771, 38 + %t1773 = icmp ule i64 %t1771, 38 + %t1774 = and i1 %t1772, %t1773 ; instanceof %m14.BakedAssets + br i1 %t1774, label %tern.t701, label %tern.f702 +tern.t701: + %t1776 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t1777 = load i32, ptr %exc.cell + %t1778 = icmp ne i32 %t1777, 0 + %t1779 = call i1 @llvm.expect.i1(i1 %t1778, i1 false) + br i1 %t1779, label %exc.u704, label %exc.k705 +exc.u704: + call void @scr_dyn_release(ptr %t1776) + call void @scr_dyn_release(ptr %t1751) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1767) + br label %exc.cleanup2 +exc.k705: + store ptr %t1776, ptr %s1775 + br label %tern.j703 +tern.f702: + %t1780 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() + %t1781 = load i32, ptr %exc.cell + %t1782 = icmp ne i32 %t1781, 0 + %t1783 = call i1 @llvm.expect.i1(i1 %t1782, i1 false) + br i1 %t1783, label %exc.u706, label %exc.k707 +exc.u706: + call void @scr_dyn_release(ptr %t1780) + call void @scr_dyn_release(ptr %t1751) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1767) + br label %exc.cleanup2 +exc.k707: + store ptr %t1780, ptr %s1775 + br label %tern.j703 +tern.j703: + %t1784 = load ptr, ptr %s1775 + %t1785 = call ptr @scr_dyn_obj_create(ptr %t1784) + %t1786 = load i32, ptr %exc.cell + %t1787 = icmp ne i32 %t1786, 0 + %t1788 = call i1 @llvm.expect.i1(i1 %t1787, i1 false) + br i1 %t1788, label %exc.u708, label %exc.k709 +exc.u708: + call void @scr_dyn_release(ptr %t1751) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1767) + call void @scr_dyn_release(ptr %t1784) + call void @scr_dyn_release(ptr %t1785) + br label %exc.cleanup2 +exc.k709: + call void @scr_dyn_release(ptr %t1751) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1767) + call void @scr_dyn_release(ptr %t1784) + %t1789 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1789) + ret ptr %t1785 +if.j693: + %t1790 = load ptr, ptr %sc_l_p_0 + %t1791 = call ptr @sc_rc_retain_dyn(ptr %t1790) + %t1793 = icmp ne ptr %t1791, null + br i1 %t1793, label %dc.inspect710, label %dc.checked713 +dc.inspect710: + %t1798 = getelementptr inbounds i8, ptr %t1791, i64 8 ; ->kind + %t1799 = load i32, ptr %t1798 + %t1794 = icmp eq i32 %t1799, 12 + br i1 %t1794, label %dc.capsule711, label %dc.checked713 +dc.capsule711: + %t1795 = getelementptr inbounds i8, ptr %t1791, i64 40 ; ->v.typed_ref.type_key + %t1796 = load ptr, ptr %t1795 + %t1797 = icmp eq ptr %t1796, @sc_cs_2519527309428716 + br i1 %t1797, label %dc.exact712, label %dc.checked713 +dc.exact712: + %t1800 = getelementptr inbounds i8, ptr %t1791, i64 16 ; ->v.typed_ref.ptr + %t1801 = load ptr, ptr %t1800 + %t1802 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1801) + store ptr %t1802, ptr %s1792 + br label %dc.done714 +dc.checked713: + %t1803 = call ptr @sc_dc_108(ptr %t1791, ptr null) + store ptr %t1803, ptr %s1792 + %t1804 = load i32, ptr %exc.cell + %t1805 = icmp ne i32 %t1804, 0 + %t1806 = call i1 @llvm.expect.i1(i1 %t1805, i1 false) + br i1 %t1806, label %exc.u715, label %exc.k716 +exc.u715: + call void @scr_dyn_release(ptr %t1791) + br label %exc.cleanup2 +exc.k716: + br label %dc.done714 +dc.done714: + %t1807 = load ptr, ptr %s1792 + %t1808 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1807, i64 0, i32 2 + %t1809 = load ptr, ptr %t1808, !tbaa !204 + %t1810 = call ptr @sc_rc_retain_dyn(ptr %t1809) + call void @scr_dyn_release(ptr %t1791) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1807) + %t1811 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1811) + ret ptr %t1810 +if.j684: + %t1812 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1813 + %t1814 = icmp ne ptr %t1812, null + br i1 %t1814, label %brand.inspect717, label %brand.done719 +brand.inspect717: + %t1815 = getelementptr inbounds i8, ptr %t1812, i64 8 ; ->kind + %t1816 = load i32, ptr %t1815 + %t1817 = icmp eq i32 %t1816, 12 + br i1 %t1817, label %brand.capsule718, label %brand.done719 +brand.capsule718: + %t1818 = getelementptr inbounds i8, ptr %t1812, i64 40 ; ->v.typed_ref.type_key + %t1819 = load ptr, ptr %t1818 + %t1820 = icmp eq ptr %t1819, @sc_cs_629517122853751 + store i1 true, ptr %s1813 + br i1 %t1820, label %brand.done719, label %brand.compare720 +brand.compare720: + %t1821 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1812, ptr @sc_lit_629517122853751) + store i1 %t1821, ptr %s1813 + br label %brand.done719 +brand.done719: + %t1822 = load i1, ptr %s1813 + br i1 %t1822, label %tern.t721, label %tern.f722 +tern.t721: + %t1824 = load ptr, ptr %sc_l_p_0 + %t1825 = call ptr @sc_rc_retain_dyn(ptr %t1824) + %t1827 = icmp ne ptr %t1825, null + br i1 %t1827, label %dc.inspect724, label %dc.checked727 +dc.inspect724: + %t1832 = getelementptr inbounds i8, ptr %t1825, i64 8 ; ->kind + %t1833 = load i32, ptr %t1832 + %t1828 = icmp eq i32 %t1833, 12 + br i1 %t1828, label %dc.capsule725, label %dc.checked727 +dc.capsule725: + %t1829 = getelementptr inbounds i8, ptr %t1825, i64 40 ; ->v.typed_ref.type_key + %t1830 = load ptr, ptr %t1829 + %t1831 = icmp eq ptr %t1830, @sc_cs_629517122853751 + br i1 %t1831, label %dc.exact726, label %dc.checked727 +dc.exact726: + %t1834 = getelementptr inbounds i8, ptr %t1825, i64 16 ; ->v.typed_ref.ptr + %t1835 = load ptr, ptr %t1834 + %t1836 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1835) + store ptr %t1836, ptr %s1826 + br label %dc.done728 +dc.checked727: + %t1837 = call ptr @sc_dc_29(ptr %t1825, ptr null) + store ptr %t1837, ptr %s1826 + %t1838 = load i32, ptr %exc.cell + %t1839 = icmp ne i32 %t1838, 0 + %t1840 = call i1 @llvm.expect.i1(i1 %t1839, i1 false) + br i1 %t1840, label %exc.u729, label %exc.k730 +exc.u729: + call void @scr_dyn_release(ptr %t1825) + br label %exc.cleanup2 +exc.k730: + br label %dc.done728 +dc.done728: + %t1841 = load ptr, ptr %s1826 + %t1842 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t1841, i64 0, i32 1 + %t1843 = load ptr, ptr %t1842 + %t1844 = getelementptr inbounds %ScrVt, ptr %t1843, i64 0, i32 0 + %t1845 = load i64, ptr %t1844 + %t1846 = icmp uge i64 %t1845, 18 + %t1847 = icmp ule i64 %t1845, 18 + %t1848 = and i1 %t1846, %t1847 ; instanceof %m3.LiteResponse + store i1 %t1848, ptr %s1823 + call void @scr_dyn_release(ptr %t1825) + call void @sc_release__x25_m2_ResponseSink(ptr %t1841) + br label %tern.j723 +tern.f722: + store i1 false, ptr %s1823 + br label %tern.j723 +tern.j723: + %t1849 = load i1, ptr %s1823 + br i1 %t1849, label %if.t731, label %if.j732 +if.t731: + %t1850 = load ptr, ptr %sc_l_p_0 + %t1851 = call ptr @sc_rc_retain_dyn(ptr %t1850) + %t1853 = icmp ne ptr %t1851, null + br i1 %t1853, label %dc.inspect733, label %dc.checked736 +dc.inspect733: + %t1858 = getelementptr inbounds i8, ptr %t1851, i64 8 ; ->kind + %t1859 = load i32, ptr %t1858 + %t1854 = icmp eq i32 %t1859, 12 + br i1 %t1854, label %dc.capsule734, label %dc.checked736 +dc.capsule734: + %t1855 = getelementptr inbounds i8, ptr %t1851, i64 40 ; ->v.typed_ref.type_key + %t1856 = load ptr, ptr %t1855 + %t1857 = icmp eq ptr %t1856, @sc_cs_629517122853751 + br i1 %t1857, label %dc.exact735, label %dc.checked736 +dc.exact735: + %t1860 = getelementptr inbounds i8, ptr %t1851, i64 16 ; ->v.typed_ref.ptr + %t1861 = load ptr, ptr %t1860 + %t1862 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1861) + store ptr %t1862, ptr %s1852 + br label %dc.done737 +dc.checked736: + %t1863 = call ptr @sc_dc_29(ptr %t1851, ptr null) + store ptr %t1863, ptr %s1852 + %t1864 = load i32, ptr %exc.cell + %t1865 = icmp ne i32 %t1864, 0 + %t1866 = call i1 @llvm.expect.i1(i1 %t1865, i1 false) + br i1 %t1866, label %exc.u738, label %exc.k739 +exc.u738: + call void @scr_dyn_release(ptr %t1851) + br label %exc.cleanup2 +exc.k739: + br label %dc.done737 +dc.done737: + %t1867 = load ptr, ptr %s1852 + %t1868 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1867, i64 0, i32 2 + %t1869 = load ptr, ptr %t1868, !tbaa !204 + %t1870 = getelementptr inbounds i8, ptr %t1869, i64 8 ; ->kind + %t1871 = load i32, ptr %t1870 + %t1872 = icmp eq i32 %t1871, 6 + call void @scr_dyn_release(ptr %t1851) + call void @sc_release__x25_m2_ResponseSink(ptr %t1867) + br i1 %t1872, label %if.t740, label %if.j741 +if.t740: + %t1873 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1874 = load i32, ptr %exc.cell + %t1875 = icmp ne i32 %t1874, 0 + %t1876 = call i1 @llvm.expect.i1(i1 %t1875, i1 false) + br i1 %t1876, label %exc.u742, label %exc.k743 +exc.u742: + call void @scr_dyn_release(ptr %t1873) + br label %exc.cleanup2 +exc.k743: + %t1877 = call ptr @scr_dyn_obj_create(ptr %t1873) + %t1878 = load i32, ptr %exc.cell + %t1879 = icmp ne i32 %t1878, 0 + %t1880 = call i1 @llvm.expect.i1(i1 %t1879, i1 false) + br i1 %t1880, label %exc.u744, label %exc.k745 +exc.u744: + call void @scr_dyn_release(ptr %t1873) + call void @scr_dyn_release(ptr %t1877) + br label %exc.cleanup2 +exc.k745: + call void @scr_dyn_release(ptr %t1873) + %t1881 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1881) + ret ptr %t1877 +if.j741: + %t1882 = load ptr, ptr %sc_l_p_0 + %t1883 = call ptr @sc_rc_retain_dyn(ptr %t1882) + %t1885 = icmp ne ptr %t1883, null + br i1 %t1885, label %dc.inspect746, label %dc.checked749 +dc.inspect746: + %t1890 = getelementptr inbounds i8, ptr %t1883, i64 8 ; ->kind + %t1891 = load i32, ptr %t1890 + %t1886 = icmp eq i32 %t1891, 12 + br i1 %t1886, label %dc.capsule747, label %dc.checked749 +dc.capsule747: + %t1887 = getelementptr inbounds i8, ptr %t1883, i64 40 ; ->v.typed_ref.type_key + %t1888 = load ptr, ptr %t1887 + %t1889 = icmp eq ptr %t1888, @sc_cs_629517122853751 + br i1 %t1889, label %dc.exact748, label %dc.checked749 +dc.exact748: + %t1892 = getelementptr inbounds i8, ptr %t1883, i64 16 ; ->v.typed_ref.ptr + %t1893 = load ptr, ptr %t1892 + %t1894 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1893) + store ptr %t1894, ptr %s1884 + br label %dc.done750 +dc.checked749: + %t1895 = call ptr @sc_dc_29(ptr %t1883, ptr null) + store ptr %t1895, ptr %s1884 + %t1896 = load i32, ptr %exc.cell + %t1897 = icmp ne i32 %t1896, 0 + %t1898 = call i1 @llvm.expect.i1(i1 %t1897, i1 false) + br i1 %t1898, label %exc.u751, label %exc.k752 +exc.u751: + call void @scr_dyn_release(ptr %t1883) + br label %exc.cleanup2 +exc.k752: + br label %dc.done750 +dc.done750: + %t1899 = load ptr, ptr %s1884 + %t1900 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1899, i64 0, i32 2 + %t1901 = load ptr, ptr %t1900, !tbaa !204 + %t1902 = call ptr @sc_rc_retain_dyn(ptr %t1901) + call void @scr_dyn_release(ptr %t1883) + call void @sc_release__x25_m2_ResponseSink(ptr %t1899) + %t1903 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t1903) + ret ptr %t1902 +if.j732: + %t1904 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s1905 + %t1906 = icmp ne ptr %t1904, null + br i1 %t1906, label %brand.inspect753, label %brand.done755 +brand.inspect753: + %t1907 = getelementptr inbounds i8, ptr %t1904, i64 8 ; ->kind + %t1908 = load i32, ptr %t1907 + %t1909 = icmp eq i32 %t1908, 12 + br i1 %t1909, label %brand.capsule754, label %brand.done755 +brand.capsule754: + %t1910 = getelementptr inbounds i8, ptr %t1904, i64 40 ; ->v.typed_ref.type_key + %t1911 = load ptr, ptr %t1910 + %t1912 = icmp eq ptr %t1911, @sc_cs_629517122853751 + store i1 true, ptr %s1905 + br i1 %t1912, label %brand.done755, label %brand.compare756 +brand.compare756: + %t1913 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1904, ptr @sc_lit_629517122853751) + store i1 %t1913, ptr %s1905 + br label %brand.done755 +brand.done755: + %t1914 = load i1, ptr %s1905 + br i1 %t1914, label %tern.t757, label %tern.f758 +tern.t757: + %t1916 = load ptr, ptr %sc_l_p_0 + %t1917 = call ptr @sc_rc_retain_dyn(ptr %t1916) + %t1919 = icmp ne ptr %t1917, null + br i1 %t1919, label %dc.inspect760, label %dc.checked763 +dc.inspect760: + %t1924 = getelementptr inbounds i8, ptr %t1917, i64 8 ; ->kind + %t1925 = load i32, ptr %t1924 + %t1920 = icmp eq i32 %t1925, 12 + br i1 %t1920, label %dc.capsule761, label %dc.checked763 +dc.capsule761: + %t1921 = getelementptr inbounds i8, ptr %t1917, i64 40 ; ->v.typed_ref.type_key + %t1922 = load ptr, ptr %t1921 + %t1923 = icmp eq ptr %t1922, @sc_cs_629517122853751 + br i1 %t1923, label %dc.exact762, label %dc.checked763 +dc.exact762: + %t1926 = getelementptr inbounds i8, ptr %t1917, i64 16 ; ->v.typed_ref.ptr + %t1927 = load ptr, ptr %t1926 + %t1928 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1927) + store ptr %t1928, ptr %s1918 + br label %dc.done764 +dc.checked763: + %t1929 = call ptr @sc_dc_29(ptr %t1917, ptr null) + store ptr %t1929, ptr %s1918 + %t1930 = load i32, ptr %exc.cell + %t1931 = icmp ne i32 %t1930, 0 + %t1932 = call i1 @llvm.expect.i1(i1 %t1931, i1 false) + br i1 %t1932, label %exc.u765, label %exc.k766 +exc.u765: + call void @scr_dyn_release(ptr %t1917) + br label %exc.cleanup2 +exc.k766: + br label %dc.done764 +dc.done764: + %t1933 = load ptr, ptr %s1918 + %t1934 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t1933, i64 0, i32 1 + %t1935 = load ptr, ptr %t1934 + %t1936 = getelementptr inbounds %ScrVt, ptr %t1935, i64 0, i32 0 + %t1937 = load i64, ptr %t1936 + %t1938 = icmp uge i64 %t1937, 17 + %t1939 = icmp ule i64 %t1937, 18 + %t1940 = and i1 %t1938, %t1939 ; instanceof %m2.FetchResponseSink + store i1 %t1940, ptr %s1915 + call void @scr_dyn_release(ptr %t1917) + call void @sc_release__x25_m2_ResponseSink(ptr %t1933) + br label %tern.j759 +tern.f758: + store i1 false, ptr %s1915 + br label %tern.j759 +tern.j759: + %t1941 = load i1, ptr %s1915 + br i1 %t1941, label %if.t767, label %if.j768 +if.t767: + %t1942 = load ptr, ptr %sc_l_p_0 + %t1943 = call ptr @sc_rc_retain_dyn(ptr %t1942) + %t1945 = icmp ne ptr %t1943, null + br i1 %t1945, label %dc.inspect769, label %dc.checked772 +dc.inspect769: + %t1950 = getelementptr inbounds i8, ptr %t1943, i64 8 ; ->kind + %t1951 = load i32, ptr %t1950 + %t1946 = icmp eq i32 %t1951, 12 + br i1 %t1946, label %dc.capsule770, label %dc.checked772 +dc.capsule770: + %t1947 = getelementptr inbounds i8, ptr %t1943, i64 40 ; ->v.typed_ref.type_key + %t1948 = load ptr, ptr %t1947 + %t1949 = icmp eq ptr %t1948, @sc_cs_629517122853751 + br i1 %t1949, label %dc.exact771, label %dc.checked772 +dc.exact771: + %t1952 = getelementptr inbounds i8, ptr %t1943, i64 16 ; ->v.typed_ref.ptr + %t1953 = load ptr, ptr %t1952 + %t1954 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1953) + store ptr %t1954, ptr %s1944 + br label %dc.done773 +dc.checked772: + %t1955 = call ptr @sc_dc_29(ptr %t1943, ptr null) + store ptr %t1955, ptr %s1944 + %t1956 = load i32, ptr %exc.cell + %t1957 = icmp ne i32 %t1956, 0 + %t1958 = call i1 @llvm.expect.i1(i1 %t1957, i1 false) + br i1 %t1958, label %exc.u774, label %exc.k775 +exc.u774: + call void @scr_dyn_release(ptr %t1943) + br label %exc.cleanup2 +exc.k775: + br label %dc.done773 +dc.done773: + %t1959 = load ptr, ptr %s1944 + %t1960 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1959, i64 0, i32 2 + %t1961 = load ptr, ptr %t1960, !tbaa !204 + %t1962 = getelementptr inbounds i8, ptr %t1961, i64 8 ; ->kind + %t1963 = load i32, ptr %t1962 + %t1964 = icmp eq i32 %t1963, 6 + call void @scr_dyn_release(ptr %t1943) + call void @sc_release__x25_m2_ResponseSink(ptr %t1959) + br i1 %t1964, label %if.t776, label %if.j777 +if.t776: + %t1965 = load ptr, ptr %sc_l_p_0 + %t1966 = call ptr @sc_rc_retain_dyn(ptr %t1965) + %t1968 = icmp ne ptr %t1966, null + br i1 %t1968, label %dc.inspect778, label %dc.checked781 +dc.inspect778: + %t1973 = getelementptr inbounds i8, ptr %t1966, i64 8 ; ->kind + %t1974 = load i32, ptr %t1973 + %t1969 = icmp eq i32 %t1974, 12 + br i1 %t1969, label %dc.capsule779, label %dc.checked781 +dc.capsule779: + %t1970 = getelementptr inbounds i8, ptr %t1966, i64 40 ; ->v.typed_ref.type_key + %t1971 = load ptr, ptr %t1970 + %t1972 = icmp eq ptr %t1971, @sc_cs_629517122853751 + br i1 %t1972, label %dc.exact780, label %dc.checked781 +dc.exact780: + %t1975 = getelementptr inbounds i8, ptr %t1966, i64 16 ; ->v.typed_ref.ptr + %t1976 = load ptr, ptr %t1975 + %t1977 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1976) + store ptr %t1977, ptr %s1967 + br label %dc.done782 +dc.checked781: + %t1978 = call ptr @sc_dc_29(ptr %t1966, ptr null) + store ptr %t1978, ptr %s1967 + %t1979 = load i32, ptr %exc.cell + %t1980 = icmp ne i32 %t1979, 0 + %t1981 = call i1 @llvm.expect.i1(i1 %t1980, i1 false) + br i1 %t1981, label %exc.u783, label %exc.k784 +exc.u783: + call void @scr_dyn_release(ptr %t1966) + br label %exc.cleanup2 +exc.k784: + br label %dc.done782 +dc.done782: + %t1982 = load ptr, ptr %s1967 + %t1983 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1982, i64 0, i32 1 + %t1984 = load ptr, ptr %t1983 + %t1985 = getelementptr inbounds %ScrVt, ptr %t1984, i64 0, i32 0 + %t1986 = load i64, ptr %t1985 + %t1987 = icmp uge i64 %t1986, 18 + %t1988 = icmp ule i64 %t1986, 18 + %t1989 = and i1 %t1987, %t1988 ; instanceof %m3.LiteResponse + br i1 %t1989, label %tern.t785, label %tern.f786 +tern.t785: + %t1991 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t1992 = load i32, ptr %exc.cell + %t1993 = icmp ne i32 %t1992, 0 + %t1994 = call i1 @llvm.expect.i1(i1 %t1993, i1 false) + br i1 %t1994, label %exc.u788, label %exc.k789 +exc.u788: + call void @scr_dyn_release(ptr %t1991) + call void @scr_dyn_release(ptr %t1966) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1982) + br label %exc.cleanup2 +exc.k789: + store ptr %t1991, ptr %s1990 + br label %tern.j787 +tern.f786: + %t1995 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t1996 = load i32, ptr %exc.cell + %t1997 = icmp ne i32 %t1996, 0 + %t1998 = call i1 @llvm.expect.i1(i1 %t1997, i1 false) + br i1 %t1998, label %exc.u790, label %exc.k791 +exc.u790: + call void @scr_dyn_release(ptr %t1995) + call void @scr_dyn_release(ptr %t1966) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1982) + br label %exc.cleanup2 +exc.k791: + store ptr %t1995, ptr %s1990 + br label %tern.j787 +tern.j787: + %t1999 = load ptr, ptr %s1990 + %t2000 = call ptr @scr_dyn_obj_create(ptr %t1999) + %t2001 = load i32, ptr %exc.cell + %t2002 = icmp ne i32 %t2001, 0 + %t2003 = call i1 @llvm.expect.i1(i1 %t2002, i1 false) + br i1 %t2003, label %exc.u792, label %exc.k793 +exc.u792: + call void @scr_dyn_release(ptr %t1966) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1982) + call void @scr_dyn_release(ptr %t1999) + call void @scr_dyn_release(ptr %t2000) + br label %exc.cleanup2 +exc.k793: + call void @scr_dyn_release(ptr %t1966) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t1982) + call void @scr_dyn_release(ptr %t1999) + %t2004 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2004) + ret ptr %t2000 +if.j777: + %t2005 = load ptr, ptr %sc_l_p_0 + %t2006 = call ptr @sc_rc_retain_dyn(ptr %t2005) + %t2008 = icmp ne ptr %t2006, null + br i1 %t2008, label %dc.inspect794, label %dc.checked797 +dc.inspect794: + %t2013 = getelementptr inbounds i8, ptr %t2006, i64 8 ; ->kind + %t2014 = load i32, ptr %t2013 + %t2009 = icmp eq i32 %t2014, 12 + br i1 %t2009, label %dc.capsule795, label %dc.checked797 +dc.capsule795: + %t2010 = getelementptr inbounds i8, ptr %t2006, i64 40 ; ->v.typed_ref.type_key + %t2011 = load ptr, ptr %t2010 + %t2012 = icmp eq ptr %t2011, @sc_cs_629517122853751 + br i1 %t2012, label %dc.exact796, label %dc.checked797 +dc.exact796: + %t2015 = getelementptr inbounds i8, ptr %t2006, i64 16 ; ->v.typed_ref.ptr + %t2016 = load ptr, ptr %t2015 + %t2017 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2016) + store ptr %t2017, ptr %s2007 + br label %dc.done798 +dc.checked797: + %t2018 = call ptr @sc_dc_29(ptr %t2006, ptr null) + store ptr %t2018, ptr %s2007 + %t2019 = load i32, ptr %exc.cell + %t2020 = icmp ne i32 %t2019, 0 + %t2021 = call i1 @llvm.expect.i1(i1 %t2020, i1 false) + br i1 %t2021, label %exc.u799, label %exc.k800 +exc.u799: + call void @scr_dyn_release(ptr %t2006) + br label %exc.cleanup2 +exc.k800: + br label %dc.done798 +dc.done798: + %t2022 = load ptr, ptr %s2007 + %t2023 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2022, i64 0, i32 2 + %t2024 = load ptr, ptr %t2023, !tbaa !204 + %t2025 = call ptr @sc_rc_retain_dyn(ptr %t2024) + call void @scr_dyn_release(ptr %t2006) + call void @sc_release__x25_m2_ResponseSink(ptr %t2022) + %t2026 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2026) + ret ptr %t2025 +if.j768: + %t2027 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2028 + %t2029 = icmp ne ptr %t2027, null + br i1 %t2029, label %brand.inspect801, label %brand.done803 +brand.inspect801: + %t2030 = getelementptr inbounds i8, ptr %t2027, i64 8 ; ->kind + %t2031 = load i32, ptr %t2030 + %t2032 = icmp eq i32 %t2031, 12 + br i1 %t2032, label %brand.capsule802, label %brand.done803 +brand.capsule802: + %t2033 = getelementptr inbounds i8, ptr %t2027, i64 40 ; ->v.typed_ref.type_key + %t2034 = load ptr, ptr %t2033 + %t2035 = icmp eq ptr %t2034, @sc_cs_629517122853751 + store i1 true, ptr %s2028 + br i1 %t2035, label %brand.done803, label %brand.compare804 +brand.compare804: + %t2036 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2027, ptr @sc_lit_629517122853751) + store i1 %t2036, ptr %s2028 + br label %brand.done803 +brand.done803: + %t2037 = load i1, ptr %s2028 + br i1 %t2037, label %tern.t805, label %tern.f806 +tern.t805: + %t2039 = load ptr, ptr %sc_l_p_0 + %t2040 = call ptr @sc_rc_retain_dyn(ptr %t2039) + %t2042 = icmp ne ptr %t2040, null + br i1 %t2042, label %dc.inspect808, label %dc.checked811 +dc.inspect808: + %t2047 = getelementptr inbounds i8, ptr %t2040, i64 8 ; ->kind + %t2048 = load i32, ptr %t2047 + %t2043 = icmp eq i32 %t2048, 12 + br i1 %t2043, label %dc.capsule809, label %dc.checked811 +dc.capsule809: + %t2044 = getelementptr inbounds i8, ptr %t2040, i64 40 ; ->v.typed_ref.type_key + %t2045 = load ptr, ptr %t2044 + %t2046 = icmp eq ptr %t2045, @sc_cs_629517122853751 + br i1 %t2046, label %dc.exact810, label %dc.checked811 +dc.exact810: + %t2049 = getelementptr inbounds i8, ptr %t2040, i64 16 ; ->v.typed_ref.ptr + %t2050 = load ptr, ptr %t2049 + %t2051 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2050) + store ptr %t2051, ptr %s2041 + br label %dc.done812 +dc.checked811: + %t2052 = call ptr @sc_dc_29(ptr %t2040, ptr null) + store ptr %t2052, ptr %s2041 + %t2053 = load i32, ptr %exc.cell + %t2054 = icmp ne i32 %t2053, 0 + %t2055 = call i1 @llvm.expect.i1(i1 %t2054, i1 false) + br i1 %t2055, label %exc.u813, label %exc.k814 +exc.u813: + call void @scr_dyn_release(ptr %t2040) + br label %exc.cleanup2 +exc.k814: + br label %dc.done812 +dc.done812: + %t2056 = load ptr, ptr %s2041 + %t2057 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2056, i64 0, i32 1 + %t2058 = load ptr, ptr %t2057 + %t2059 = getelementptr inbounds %ScrVt, ptr %t2058, i64 0, i32 0 + %t2060 = load i64, ptr %t2059 + %t2061 = icmp uge i64 %t2060, 16 + %t2062 = icmp ule i64 %t2060, 16 + %t2063 = and i1 %t2061, %t2062 ; instanceof %m2.NodeResponseSink + store i1 %t2063, ptr %s2038 + call void @scr_dyn_release(ptr %t2040) + call void @sc_release__x25_m2_ResponseSink(ptr %t2056) + br label %tern.j807 +tern.f806: + store i1 false, ptr %s2038 + br label %tern.j807 +tern.j807: + %t2064 = load i1, ptr %s2038 + br i1 %t2064, label %if.t815, label %if.j816 +if.t815: + %t2065 = load ptr, ptr %sc_l_p_0 + %t2066 = call ptr @sc_rc_retain_dyn(ptr %t2065) + %t2068 = icmp ne ptr %t2066, null + br i1 %t2068, label %dc.inspect817, label %dc.checked820 +dc.inspect817: + %t2073 = getelementptr inbounds i8, ptr %t2066, i64 8 ; ->kind + %t2074 = load i32, ptr %t2073 + %t2069 = icmp eq i32 %t2074, 12 + br i1 %t2069, label %dc.capsule818, label %dc.checked820 +dc.capsule818: + %t2070 = getelementptr inbounds i8, ptr %t2066, i64 40 ; ->v.typed_ref.type_key + %t2071 = load ptr, ptr %t2070 + %t2072 = icmp eq ptr %t2071, @sc_cs_629517122853751 + br i1 %t2072, label %dc.exact819, label %dc.checked820 +dc.exact819: + %t2075 = getelementptr inbounds i8, ptr %t2066, i64 16 ; ->v.typed_ref.ptr + %t2076 = load ptr, ptr %t2075 + %t2077 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2076) + store ptr %t2077, ptr %s2067 + br label %dc.done821 +dc.checked820: + %t2078 = call ptr @sc_dc_29(ptr %t2066, ptr null) + store ptr %t2078, ptr %s2067 + %t2079 = load i32, ptr %exc.cell + %t2080 = icmp ne i32 %t2079, 0 + %t2081 = call i1 @llvm.expect.i1(i1 %t2080, i1 false) + br i1 %t2081, label %exc.u822, label %exc.k823 +exc.u822: + call void @scr_dyn_release(ptr %t2066) + br label %exc.cleanup2 +exc.k823: + br label %dc.done821 +dc.done821: + %t2082 = load ptr, ptr %s2067 + %t2083 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2082, i64 0, i32 2 + %t2084 = load ptr, ptr %t2083, !tbaa !204 + %t2085 = getelementptr inbounds i8, ptr %t2084, i64 8 ; ->kind + %t2086 = load i32, ptr %t2085 + %t2087 = icmp eq i32 %t2086, 6 + call void @scr_dyn_release(ptr %t2066) + call void @sc_release__x25_m2_ResponseSink(ptr %t2082) + br i1 %t2087, label %if.t824, label %if.j825 +if.t824: + %t2088 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t2089 = load i32, ptr %exc.cell + %t2090 = icmp ne i32 %t2089, 0 + %t2091 = call i1 @llvm.expect.i1(i1 %t2090, i1 false) + br i1 %t2091, label %exc.u826, label %exc.k827 +exc.u826: + call void @scr_dyn_release(ptr %t2088) + br label %exc.cleanup2 +exc.k827: + %t2092 = call ptr @scr_dyn_obj_create(ptr %t2088) + %t2093 = load i32, ptr %exc.cell + %t2094 = icmp ne i32 %t2093, 0 + %t2095 = call i1 @llvm.expect.i1(i1 %t2094, i1 false) + br i1 %t2095, label %exc.u828, label %exc.k829 +exc.u828: + call void @scr_dyn_release(ptr %t2088) + call void @scr_dyn_release(ptr %t2092) + br label %exc.cleanup2 +exc.k829: + call void @scr_dyn_release(ptr %t2088) + %t2096 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2096) + ret ptr %t2092 +if.j825: + %t2097 = load ptr, ptr %sc_l_p_0 + %t2098 = call ptr @sc_rc_retain_dyn(ptr %t2097) + %t2100 = icmp ne ptr %t2098, null + br i1 %t2100, label %dc.inspect830, label %dc.checked833 +dc.inspect830: + %t2105 = getelementptr inbounds i8, ptr %t2098, i64 8 ; ->kind + %t2106 = load i32, ptr %t2105 + %t2101 = icmp eq i32 %t2106, 12 + br i1 %t2101, label %dc.capsule831, label %dc.checked833 +dc.capsule831: + %t2102 = getelementptr inbounds i8, ptr %t2098, i64 40 ; ->v.typed_ref.type_key + %t2103 = load ptr, ptr %t2102 + %t2104 = icmp eq ptr %t2103, @sc_cs_629517122853751 + br i1 %t2104, label %dc.exact832, label %dc.checked833 +dc.exact832: + %t2107 = getelementptr inbounds i8, ptr %t2098, i64 16 ; ->v.typed_ref.ptr + %t2108 = load ptr, ptr %t2107 + %t2109 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2108) + store ptr %t2109, ptr %s2099 + br label %dc.done834 +dc.checked833: + %t2110 = call ptr @sc_dc_29(ptr %t2098, ptr null) + store ptr %t2110, ptr %s2099 + %t2111 = load i32, ptr %exc.cell + %t2112 = icmp ne i32 %t2111, 0 + %t2113 = call i1 @llvm.expect.i1(i1 %t2112, i1 false) + br i1 %t2113, label %exc.u835, label %exc.k836 +exc.u835: + call void @scr_dyn_release(ptr %t2098) + br label %exc.cleanup2 +exc.k836: + br label %dc.done834 +dc.done834: + %t2114 = load ptr, ptr %s2099 + %t2115 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2114, i64 0, i32 2 + %t2116 = load ptr, ptr %t2115, !tbaa !204 + %t2117 = call ptr @sc_rc_retain_dyn(ptr %t2116) + call void @scr_dyn_release(ptr %t2098) + call void @sc_release__x25_m2_ResponseSink(ptr %t2114) + %t2118 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2118) + ret ptr %t2117 +if.j816: + %t2119 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2120 + %t2121 = icmp ne ptr %t2119, null + br i1 %t2121, label %brand.inspect837, label %brand.done839 +brand.inspect837: + %t2122 = getelementptr inbounds i8, ptr %t2119, i64 8 ; ->kind + %t2123 = load i32, ptr %t2122 + %t2124 = icmp eq i32 %t2123, 12 + br i1 %t2124, label %brand.capsule838, label %brand.done839 +brand.capsule838: + %t2125 = getelementptr inbounds i8, ptr %t2119, i64 40 ; ->v.typed_ref.type_key + %t2126 = load ptr, ptr %t2125 + %t2127 = icmp eq ptr %t2126, @sc_cs_629517122853751 + store i1 true, ptr %s2120 + br i1 %t2127, label %brand.done839, label %brand.compare840 +brand.compare840: + %t2128 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2119, ptr @sc_lit_629517122853751) + store i1 %t2128, ptr %s2120 + br label %brand.done839 +brand.done839: + %t2129 = load i1, ptr %s2120 + br i1 %t2129, label %if.t841, label %if.j842 +if.t841: + %t2130 = load ptr, ptr %sc_l_p_0 + %t2131 = call ptr @sc_rc_retain_dyn(ptr %t2130) + %t2133 = icmp ne ptr %t2131, null + br i1 %t2133, label %dc.inspect843, label %dc.checked846 +dc.inspect843: + %t2138 = getelementptr inbounds i8, ptr %t2131, i64 8 ; ->kind + %t2139 = load i32, ptr %t2138 + %t2134 = icmp eq i32 %t2139, 12 + br i1 %t2134, label %dc.capsule844, label %dc.checked846 +dc.capsule844: + %t2135 = getelementptr inbounds i8, ptr %t2131, i64 40 ; ->v.typed_ref.type_key + %t2136 = load ptr, ptr %t2135 + %t2137 = icmp eq ptr %t2136, @sc_cs_629517122853751 + br i1 %t2137, label %dc.exact845, label %dc.checked846 +dc.exact845: + %t2140 = getelementptr inbounds i8, ptr %t2131, i64 16 ; ->v.typed_ref.ptr + %t2141 = load ptr, ptr %t2140 + %t2142 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2141) + store ptr %t2142, ptr %s2132 + br label %dc.done847 +dc.checked846: + %t2143 = call ptr @sc_dc_29(ptr %t2131, ptr null) + store ptr %t2143, ptr %s2132 + %t2144 = load i32, ptr %exc.cell + %t2145 = icmp ne i32 %t2144, 0 + %t2146 = call i1 @llvm.expect.i1(i1 %t2145, i1 false) + br i1 %t2146, label %exc.u848, label %exc.k849 +exc.u848: + call void @scr_dyn_release(ptr %t2131) + br label %exc.cleanup2 +exc.k849: + br label %dc.done847 +dc.done847: + %t2147 = load ptr, ptr %s2132 + %t2148 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2147, i64 0, i32 2 + %t2149 = load ptr, ptr %t2148, !tbaa !204 + %t2150 = getelementptr inbounds i8, ptr %t2149, i64 8 ; ->kind + %t2151 = load i32, ptr %t2150 + %t2152 = icmp eq i32 %t2151, 6 + call void @scr_dyn_release(ptr %t2131) + call void @sc_release__x25_m2_ResponseSink(ptr %t2147) + br i1 %t2152, label %if.t850, label %if.j851 +if.t850: + %t2153 = load ptr, ptr %sc_l_p_0 + %t2154 = call ptr @sc_rc_retain_dyn(ptr %t2153) + %t2156 = icmp ne ptr %t2154, null + br i1 %t2156, label %dc.inspect852, label %dc.checked855 +dc.inspect852: + %t2161 = getelementptr inbounds i8, ptr %t2154, i64 8 ; ->kind + %t2162 = load i32, ptr %t2161 + %t2157 = icmp eq i32 %t2162, 12 + br i1 %t2157, label %dc.capsule853, label %dc.checked855 +dc.capsule853: + %t2158 = getelementptr inbounds i8, ptr %t2154, i64 40 ; ->v.typed_ref.type_key + %t2159 = load ptr, ptr %t2158 + %t2160 = icmp eq ptr %t2159, @sc_cs_629517122853751 + br i1 %t2160, label %dc.exact854, label %dc.checked855 +dc.exact854: + %t2163 = getelementptr inbounds i8, ptr %t2154, i64 16 ; ->v.typed_ref.ptr + %t2164 = load ptr, ptr %t2163 + %t2165 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2164) + store ptr %t2165, ptr %s2155 + br label %dc.done856 +dc.checked855: + %t2166 = call ptr @sc_dc_29(ptr %t2154, ptr null) + store ptr %t2166, ptr %s2155 + %t2167 = load i32, ptr %exc.cell + %t2168 = icmp ne i32 %t2167, 0 + %t2169 = call i1 @llvm.expect.i1(i1 %t2168, i1 false) + br i1 %t2169, label %exc.u857, label %exc.k858 +exc.u857: + call void @scr_dyn_release(ptr %t2154) + br label %exc.cleanup2 +exc.k858: + br label %dc.done856 +dc.done856: + %t2170 = load ptr, ptr %s2155 + %t2171 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2170, i64 0, i32 1 + %t2172 = load ptr, ptr %t2171 + %t2173 = getelementptr inbounds %ScrVt, ptr %t2172, i64 0, i32 0 + %t2174 = load i64, ptr %t2173 + %t2175 = icmp uge i64 %t2174, 17 + %t2176 = icmp ule i64 %t2174, 18 + %t2177 = and i1 %t2175, %t2176 ; instanceof %m2.FetchResponseSink + br i1 %t2177, label %tern.t859, label %tern.f860 +tern.t859: + %t2179 = load ptr, ptr %sc_l_p_0 + %t2180 = call ptr @sc_rc_retain_dyn(ptr %t2179) + %t2182 = icmp ne ptr %t2180, null + br i1 %t2182, label %dc.inspect862, label %dc.checked865 +dc.inspect862: + %t2187 = getelementptr inbounds i8, ptr %t2180, i64 8 ; ->kind + %t2188 = load i32, ptr %t2187 + %t2183 = icmp eq i32 %t2188, 12 + br i1 %t2183, label %dc.capsule863, label %dc.checked865 +dc.capsule863: + %t2184 = getelementptr inbounds i8, ptr %t2180, i64 40 ; ->v.typed_ref.type_key + %t2185 = load ptr, ptr %t2184 + %t2186 = icmp eq ptr %t2185, @sc_cs_629517122853751 + br i1 %t2186, label %dc.exact864, label %dc.checked865 +dc.exact864: + %t2189 = getelementptr inbounds i8, ptr %t2180, i64 16 ; ->v.typed_ref.ptr + %t2190 = load ptr, ptr %t2189 + %t2191 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2190) + store ptr %t2191, ptr %s2181 + br label %dc.done866 +dc.checked865: + %t2192 = call ptr @sc_dc_29(ptr %t2180, ptr null) + store ptr %t2192, ptr %s2181 + %t2193 = load i32, ptr %exc.cell + %t2194 = icmp ne i32 %t2193, 0 + %t2195 = call i1 @llvm.expect.i1(i1 %t2194, i1 false) + br i1 %t2195, label %exc.u867, label %exc.k868 +exc.u867: + call void @scr_dyn_release(ptr %t2180) + call void @scr_dyn_release(ptr %t2154) + call void @sc_release__x25_m2_ResponseSink(ptr %t2170) + br label %exc.cleanup2 +exc.k868: + br label %dc.done866 +dc.done866: + %t2196 = load ptr, ptr %s2181 + %t2197 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2196, i64 0, i32 1 + %t2198 = load ptr, ptr %t2197 + %t2199 = getelementptr inbounds %ScrVt, ptr %t2198, i64 0, i32 0 + %t2200 = load i64, ptr %t2199 + %t2201 = icmp uge i64 %t2200, 18 + %t2202 = icmp ule i64 %t2200, 18 + %t2203 = and i1 %t2201, %t2202 ; instanceof %m3.LiteResponse + br i1 %t2203, label %tern.t869, label %tern.f870 +tern.t869: + %t2205 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t2206 = load i32, ptr %exc.cell + %t2207 = icmp ne i32 %t2206, 0 + %t2208 = call i1 @llvm.expect.i1(i1 %t2207, i1 false) + br i1 %t2208, label %exc.u872, label %exc.k873 +exc.u872: + call void @scr_dyn_release(ptr %t2205) + call void @scr_dyn_release(ptr %t2180) + call void @sc_release__x25_m2_ResponseSink(ptr %t2196) + call void @scr_dyn_release(ptr %t2154) + call void @sc_release__x25_m2_ResponseSink(ptr %t2170) + br label %exc.cleanup2 +exc.k873: + store ptr %t2205, ptr %s2204 + br label %tern.j871 +tern.f870: + %t2209 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() + %t2210 = load i32, ptr %exc.cell + %t2211 = icmp ne i32 %t2210, 0 + %t2212 = call i1 @llvm.expect.i1(i1 %t2211, i1 false) + br i1 %t2212, label %exc.u874, label %exc.k875 +exc.u874: + call void @scr_dyn_release(ptr %t2209) + call void @scr_dyn_release(ptr %t2180) + call void @sc_release__x25_m2_ResponseSink(ptr %t2196) + call void @scr_dyn_release(ptr %t2154) + call void @sc_release__x25_m2_ResponseSink(ptr %t2170) + br label %exc.cleanup2 +exc.k875: + store ptr %t2209, ptr %s2204 + br label %tern.j871 +tern.j871: + %t2213 = load ptr, ptr %s2204 + store ptr %t2213, ptr %s2178 + call void @scr_dyn_release(ptr %t2180) + call void @sc_release__x25_m2_ResponseSink(ptr %t2196) + br label %tern.j861 +tern.f860: + %t2214 = load ptr, ptr %sc_l_p_0 + %t2215 = call ptr @sc_rc_retain_dyn(ptr %t2214) + %t2217 = icmp ne ptr %t2215, null + br i1 %t2217, label %dc.inspect876, label %dc.checked879 +dc.inspect876: + %t2222 = getelementptr inbounds i8, ptr %t2215, i64 8 ; ->kind + %t2223 = load i32, ptr %t2222 + %t2218 = icmp eq i32 %t2223, 12 + br i1 %t2218, label %dc.capsule877, label %dc.checked879 +dc.capsule877: + %t2219 = getelementptr inbounds i8, ptr %t2215, i64 40 ; ->v.typed_ref.type_key + %t2220 = load ptr, ptr %t2219 + %t2221 = icmp eq ptr %t2220, @sc_cs_629517122853751 + br i1 %t2221, label %dc.exact878, label %dc.checked879 +dc.exact878: + %t2224 = getelementptr inbounds i8, ptr %t2215, i64 16 ; ->v.typed_ref.ptr + %t2225 = load ptr, ptr %t2224 + %t2226 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2225) + store ptr %t2226, ptr %s2216 + br label %dc.done880 +dc.checked879: + %t2227 = call ptr @sc_dc_29(ptr %t2215, ptr null) + store ptr %t2227, ptr %s2216 + %t2228 = load i32, ptr %exc.cell + %t2229 = icmp ne i32 %t2228, 0 + %t2230 = call i1 @llvm.expect.i1(i1 %t2229, i1 false) + br i1 %t2230, label %exc.u881, label %exc.k882 +exc.u881: + call void @scr_dyn_release(ptr %t2215) + call void @scr_dyn_release(ptr %t2154) + call void @sc_release__x25_m2_ResponseSink(ptr %t2170) + br label %exc.cleanup2 +exc.k882: + br label %dc.done880 +dc.done880: + %t2231 = load ptr, ptr %s2216 + %t2232 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2231, i64 0, i32 1 + %t2233 = load ptr, ptr %t2232 + %t2234 = getelementptr inbounds %ScrVt, ptr %t2233, i64 0, i32 0 + %t2235 = load i64, ptr %t2234 + %t2236 = icmp uge i64 %t2235, 16 + %t2237 = icmp ule i64 %t2235, 16 + %t2238 = and i1 %t2236, %t2237 ; instanceof %m2.NodeResponseSink + br i1 %t2238, label %tern.t883, label %tern.f884 +tern.t883: + %t2240 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() + %t2241 = load i32, ptr %exc.cell + %t2242 = icmp ne i32 %t2241, 0 + %t2243 = call i1 @llvm.expect.i1(i1 %t2242, i1 false) + br i1 %t2243, label %exc.u886, label %exc.k887 +exc.u886: + call void @scr_dyn_release(ptr %t2240) + call void @scr_dyn_release(ptr %t2215) + call void @sc_release__x25_m2_ResponseSink(ptr %t2231) + call void @scr_dyn_release(ptr %t2154) + call void @sc_release__x25_m2_ResponseSink(ptr %t2170) + br label %exc.cleanup2 +exc.k887: + store ptr %t2240, ptr %s2239 + br label %tern.j885 +tern.f884: + %t2244 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink() + %t2245 = load i32, ptr %exc.cell + %t2246 = icmp ne i32 %t2245, 0 + %t2247 = call i1 @llvm.expect.i1(i1 %t2246, i1 false) + br i1 %t2247, label %exc.u888, label %exc.k889 +exc.u888: + call void @scr_dyn_release(ptr %t2244) + call void @scr_dyn_release(ptr %t2215) + call void @sc_release__x25_m2_ResponseSink(ptr %t2231) + call void @scr_dyn_release(ptr %t2154) + call void @sc_release__x25_m2_ResponseSink(ptr %t2170) + br label %exc.cleanup2 +exc.k889: + store ptr %t2244, ptr %s2239 + br label %tern.j885 +tern.j885: + %t2248 = load ptr, ptr %s2239 + store ptr %t2248, ptr %s2178 + call void @scr_dyn_release(ptr %t2215) + call void @sc_release__x25_m2_ResponseSink(ptr %t2231) + br label %tern.j861 +tern.j861: + %t2249 = load ptr, ptr %s2178 + %t2250 = call ptr @scr_dyn_obj_create(ptr %t2249) + %t2251 = load i32, ptr %exc.cell + %t2252 = icmp ne i32 %t2251, 0 + %t2253 = call i1 @llvm.expect.i1(i1 %t2252, i1 false) + br i1 %t2253, label %exc.u890, label %exc.k891 +exc.u890: + call void @scr_dyn_release(ptr %t2154) + call void @sc_release__x25_m2_ResponseSink(ptr %t2170) + call void @scr_dyn_release(ptr %t2249) + call void @scr_dyn_release(ptr %t2250) + br label %exc.cleanup2 +exc.k891: + call void @scr_dyn_release(ptr %t2154) + call void @sc_release__x25_m2_ResponseSink(ptr %t2170) + call void @scr_dyn_release(ptr %t2249) + %t2254 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2254) + ret ptr %t2250 +if.j851: + %t2255 = load ptr, ptr %sc_l_p_0 + %t2256 = call ptr @sc_rc_retain_dyn(ptr %t2255) + %t2258 = icmp ne ptr %t2256, null + br i1 %t2258, label %dc.inspect892, label %dc.checked895 +dc.inspect892: + %t2263 = getelementptr inbounds i8, ptr %t2256, i64 8 ; ->kind + %t2264 = load i32, ptr %t2263 + %t2259 = icmp eq i32 %t2264, 12 + br i1 %t2259, label %dc.capsule893, label %dc.checked895 +dc.capsule893: + %t2260 = getelementptr inbounds i8, ptr %t2256, i64 40 ; ->v.typed_ref.type_key + %t2261 = load ptr, ptr %t2260 + %t2262 = icmp eq ptr %t2261, @sc_cs_629517122853751 + br i1 %t2262, label %dc.exact894, label %dc.checked895 +dc.exact894: + %t2265 = getelementptr inbounds i8, ptr %t2256, i64 16 ; ->v.typed_ref.ptr + %t2266 = load ptr, ptr %t2265 + %t2267 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2266) + store ptr %t2267, ptr %s2257 + br label %dc.done896 +dc.checked895: + %t2268 = call ptr @sc_dc_29(ptr %t2256, ptr null) + store ptr %t2268, ptr %s2257 + %t2269 = load i32, ptr %exc.cell + %t2270 = icmp ne i32 %t2269, 0 + %t2271 = call i1 @llvm.expect.i1(i1 %t2270, i1 false) + br i1 %t2271, label %exc.u897, label %exc.k898 +exc.u897: + call void @scr_dyn_release(ptr %t2256) + br label %exc.cleanup2 +exc.k898: + br label %dc.done896 +dc.done896: + %t2272 = load ptr, ptr %s2257 + %t2273 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2272, i64 0, i32 2 + %t2274 = load ptr, ptr %t2273, !tbaa !204 + %t2275 = call ptr @sc_rc_retain_dyn(ptr %t2274) + call void @scr_dyn_release(ptr %t2256) + call void @sc_release__x25_m2_ResponseSink(ptr %t2272) + %t2276 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2276) + ret ptr %t2275 +if.j842: + %t2277 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2278 + %t2279 = icmp ne ptr %t2277, null + br i1 %t2279, label %brand.inspect899, label %brand.done901 +brand.inspect899: + %t2280 = getelementptr inbounds i8, ptr %t2277, i64 8 ; ->kind + %t2281 = load i32, ptr %t2280 + %t2282 = icmp eq i32 %t2281, 12 + br i1 %t2282, label %brand.capsule900, label %brand.done901 +brand.capsule900: + %t2283 = getelementptr inbounds i8, ptr %t2277, i64 40 ; ->v.typed_ref.type_key + %t2284 = load ptr, ptr %t2283 + %t2285 = icmp eq ptr %t2284, @sc_cs_660811353369478 + store i1 true, ptr %s2278 + br i1 %t2285, label %brand.done901, label %brand.compare902 +brand.compare902: + %t2286 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2277, ptr @sc_lit_660811353369478) + store i1 %t2286, ptr %s2278 + br label %brand.done901 +brand.done901: + %t2287 = load i1, ptr %s2278 + br i1 %t2287, label %if.t903, label %if.j904 +if.t903: + %t2288 = load ptr, ptr %sc_l_p_0 + %t2289 = call ptr @sc_rc_retain_dyn(ptr %t2288) + %t2291 = icmp ne ptr %t2289, null + br i1 %t2291, label %dc.inspect905, label %dc.checked908 +dc.inspect905: + %t2296 = getelementptr inbounds i8, ptr %t2289, i64 8 ; ->kind + %t2297 = load i32, ptr %t2296 + %t2292 = icmp eq i32 %t2297, 12 + br i1 %t2292, label %dc.capsule906, label %dc.checked908 +dc.capsule906: + %t2293 = getelementptr inbounds i8, ptr %t2289, i64 40 ; ->v.typed_ref.type_key + %t2294 = load ptr, ptr %t2293 + %t2295 = icmp eq ptr %t2294, @sc_cs_660811353369478 + br i1 %t2295, label %dc.exact907, label %dc.checked908 +dc.exact907: + %t2298 = getelementptr inbounds i8, ptr %t2289, i64 16 ; ->v.typed_ref.ptr + %t2299 = load ptr, ptr %t2298 + %t2300 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2299) + store ptr %t2300, ptr %s2290 + br label %dc.done909 +dc.checked908: + %t2301 = call ptr @sc_dc_28(ptr %t2289, ptr null) + store ptr %t2301, ptr %s2290 + %t2302 = load i32, ptr %exc.cell + %t2303 = icmp ne i32 %t2302, 0 + %t2304 = call i1 @llvm.expect.i1(i1 %t2303, i1 false) + br i1 %t2304, label %exc.u910, label %exc.k911 +exc.u910: + call void @scr_dyn_release(ptr %t2289) + br label %exc.cleanup2 +exc.k911: + br label %dc.done909 +dc.done909: + %t2305 = load ptr, ptr %s2290 + %t2306 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2305, i64 0, i32 17 + %t2307 = load ptr, ptr %t2306, !tbaa !204 + %t2308 = getelementptr inbounds i8, ptr %t2307, i64 8 ; ->kind + %t2309 = load i32, ptr %t2308 + %t2310 = icmp eq i32 %t2309, 6 + call void @scr_dyn_release(ptr %t2289) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2305) + br i1 %t2310, label %if.t912, label %if.j913 +if.t912: + %t2311 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore() + %t2312 = load i32, ptr %exc.cell + %t2313 = icmp ne i32 %t2312, 0 + %t2314 = call i1 @llvm.expect.i1(i1 %t2313, i1 false) + br i1 %t2314, label %exc.u914, label %exc.k915 +exc.u914: + call void @scr_dyn_release(ptr %t2311) + br label %exc.cleanup2 +exc.k915: + %t2315 = call ptr @scr_dyn_obj_create(ptr %t2311) + %t2316 = load i32, ptr %exc.cell + %t2317 = icmp ne i32 %t2316, 0 + %t2318 = call i1 @llvm.expect.i1(i1 %t2317, i1 false) + br i1 %t2318, label %exc.u916, label %exc.k917 +exc.u916: + call void @scr_dyn_release(ptr %t2311) + call void @scr_dyn_release(ptr %t2315) + br label %exc.cleanup2 +exc.k917: + call void @scr_dyn_release(ptr %t2311) + %t2319 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2319) + ret ptr %t2315 +if.j913: + %t2320 = load ptr, ptr %sc_l_p_0 + %t2321 = call ptr @sc_rc_retain_dyn(ptr %t2320) + %t2323 = icmp ne ptr %t2321, null + br i1 %t2323, label %dc.inspect918, label %dc.checked921 +dc.inspect918: + %t2328 = getelementptr inbounds i8, ptr %t2321, i64 8 ; ->kind + %t2329 = load i32, ptr %t2328 + %t2324 = icmp eq i32 %t2329, 12 + br i1 %t2324, label %dc.capsule919, label %dc.checked921 +dc.capsule919: + %t2325 = getelementptr inbounds i8, ptr %t2321, i64 40 ; ->v.typed_ref.type_key + %t2326 = load ptr, ptr %t2325 + %t2327 = icmp eq ptr %t2326, @sc_cs_660811353369478 + br i1 %t2327, label %dc.exact920, label %dc.checked921 +dc.exact920: + %t2330 = getelementptr inbounds i8, ptr %t2321, i64 16 ; ->v.typed_ref.ptr + %t2331 = load ptr, ptr %t2330 + %t2332 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2331) + store ptr %t2332, ptr %s2322 + br label %dc.done922 +dc.checked921: + %t2333 = call ptr @sc_dc_28(ptr %t2321, ptr null) + store ptr %t2333, ptr %s2322 + %t2334 = load i32, ptr %exc.cell + %t2335 = icmp ne i32 %t2334, 0 + %t2336 = call i1 @llvm.expect.i1(i1 %t2335, i1 false) + br i1 %t2336, label %exc.u923, label %exc.k924 +exc.u923: + call void @scr_dyn_release(ptr %t2321) + br label %exc.cleanup2 +exc.k924: + br label %dc.done922 +dc.done922: + %t2337 = load ptr, ptr %s2322 + %t2338 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2337, i64 0, i32 17 + %t2339 = load ptr, ptr %t2338, !tbaa !204 + %t2340 = call ptr @sc_rc_retain_dyn(ptr %t2339) + call void @scr_dyn_release(ptr %t2321) + call void @sc_release__x25_m5_ReqViewCore(ptr %t2337) + %t2341 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2341) + ret ptr %t2340 +if.j904: + %t2342 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2343 + %t2344 = icmp ne ptr %t2342, null + br i1 %t2344, label %brand.inspect925, label %brand.done927 +brand.inspect925: + %t2345 = getelementptr inbounds i8, ptr %t2342, i64 8 ; ->kind + %t2346 = load i32, ptr %t2345 + %t2347 = icmp eq i32 %t2346, 12 + br i1 %t2347, label %brand.capsule926, label %brand.done927 +brand.capsule926: + %t2348 = getelementptr inbounds i8, ptr %t2342, i64 40 ; ->v.typed_ref.type_key + %t2349 = load ptr, ptr %t2348 + %t2350 = icmp eq ptr %t2349, @sc_cs_4336131790391205 + store i1 true, ptr %s2343 + br i1 %t2350, label %brand.done927, label %brand.compare928 +brand.compare928: + %t2351 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2342, ptr @sc_lit_4336131790391205) + store i1 %t2351, ptr %s2343 + br label %brand.done927 +brand.done927: + %t2352 = load i1, ptr %s2343 + br i1 %t2352, label %if.t929, label %if.j930 +if.t929: + %t2353 = load ptr, ptr %sc_l_p_0 + %t2354 = call ptr @sc_rc_retain_dyn(ptr %t2353) + %t2356 = icmp ne ptr %t2354, null + br i1 %t2356, label %dc.inspect931, label %dc.checked934 +dc.inspect931: + %t2361 = getelementptr inbounds i8, ptr %t2354, i64 8 ; ->kind + %t2362 = load i32, ptr %t2361 + %t2357 = icmp eq i32 %t2362, 12 + br i1 %t2357, label %dc.capsule932, label %dc.checked934 +dc.capsule932: + %t2358 = getelementptr inbounds i8, ptr %t2354, i64 40 ; ->v.typed_ref.type_key + %t2359 = load ptr, ptr %t2358 + %t2360 = icmp eq ptr %t2359, @sc_cs_4336131790391205 + br i1 %t2360, label %dc.exact933, label %dc.checked934 +dc.exact933: + %t2363 = getelementptr inbounds i8, ptr %t2354, i64 16 ; ->v.typed_ref.ptr + %t2364 = load ptr, ptr %t2363 + %t2365 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2364) + store ptr %t2365, ptr %s2355 + br label %dc.done935 +dc.checked934: + %t2366 = call ptr @sc_dc_43(ptr %t2354, ptr null) + store ptr %t2366, ptr %s2355 + %t2367 = load i32, ptr %exc.cell + %t2368 = icmp ne i32 %t2367, 0 + %t2369 = call i1 @llvm.expect.i1(i1 %t2368, i1 false) + br i1 %t2369, label %exc.u936, label %exc.k937 +exc.u936: + call void @scr_dyn_release(ptr %t2354) + br label %exc.cleanup2 +exc.k937: + br label %dc.done935 +dc.done935: + %t2370 = load ptr, ptr %s2355 + %t2371 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2370, i64 0, i32 6 + %t2372 = load ptr, ptr %t2371, !tbaa !204 + %t2373 = getelementptr inbounds i8, ptr %t2372, i64 8 ; ->kind + %t2374 = load i32, ptr %t2373 + %t2375 = icmp eq i32 %t2374, 6 + call void @scr_dyn_release(ptr %t2354) + call void @sc_release__x25_m5_MpCfg(ptr %t2370) + br i1 %t2375, label %if.t938, label %if.j939 +if.t938: + %t2376 = call ptr @scr_dyn_new_obj() + %t2377 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2377) + ret ptr %t2376 +if.j939: + %t2378 = load ptr, ptr %sc_l_p_0 + %t2379 = call ptr @sc_rc_retain_dyn(ptr %t2378) + %t2381 = icmp ne ptr %t2379, null + br i1 %t2381, label %dc.inspect940, label %dc.checked943 +dc.inspect940: + %t2386 = getelementptr inbounds i8, ptr %t2379, i64 8 ; ->kind + %t2387 = load i32, ptr %t2386 + %t2382 = icmp eq i32 %t2387, 12 + br i1 %t2382, label %dc.capsule941, label %dc.checked943 +dc.capsule941: + %t2383 = getelementptr inbounds i8, ptr %t2379, i64 40 ; ->v.typed_ref.type_key + %t2384 = load ptr, ptr %t2383 + %t2385 = icmp eq ptr %t2384, @sc_cs_4336131790391205 + br i1 %t2385, label %dc.exact942, label %dc.checked943 +dc.exact942: + %t2388 = getelementptr inbounds i8, ptr %t2379, i64 16 ; ->v.typed_ref.ptr + %t2389 = load ptr, ptr %t2388 + %t2390 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2389) + store ptr %t2390, ptr %s2380 + br label %dc.done944 +dc.checked943: + %t2391 = call ptr @sc_dc_43(ptr %t2379, ptr null) + store ptr %t2391, ptr %s2380 + %t2392 = load i32, ptr %exc.cell + %t2393 = icmp ne i32 %t2392, 0 + %t2394 = call i1 @llvm.expect.i1(i1 %t2393, i1 false) + br i1 %t2394, label %exc.u945, label %exc.k946 +exc.u945: + call void @scr_dyn_release(ptr %t2379) + br label %exc.cleanup2 +exc.k946: + br label %dc.done944 +dc.done944: + %t2395 = load ptr, ptr %s2380 + %t2396 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2395, i64 0, i32 6 + %t2397 = load ptr, ptr %t2396, !tbaa !204 + %t2398 = call ptr @sc_rc_retain_dyn(ptr %t2397) + call void @scr_dyn_release(ptr %t2379) + call void @sc_release__x25_m5_MpCfg(ptr %t2395) + %t2399 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2399) + ret ptr %t2398 +if.j930: + %t2400 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2401 + %t2402 = icmp ne ptr %t2400, null + br i1 %t2402, label %brand.inspect947, label %brand.done949 +brand.inspect947: + %t2403 = getelementptr inbounds i8, ptr %t2400, i64 8 ; ->kind + %t2404 = load i32, ptr %t2403 + %t2405 = icmp eq i32 %t2404, 12 + br i1 %t2405, label %brand.capsule948, label %brand.done949 +brand.capsule948: + %t2406 = getelementptr inbounds i8, ptr %t2400, i64 40 ; ->v.typed_ref.type_key + %t2407 = load ptr, ptr %t2406 + %t2408 = icmp eq ptr %t2407, @sc_cs_3635319175845957 + store i1 true, ptr %s2401 + br i1 %t2408, label %brand.done949, label %brand.compare950 +brand.compare950: + %t2409 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2400, ptr @sc_lit_3635319175845957) + store i1 %t2409, ptr %s2401 + br label %brand.done949 +brand.done949: + %t2410 = load i1, ptr %s2401 + br i1 %t2410, label %tern.t951, label %tern.f952 +tern.t951: + %t2412 = load ptr, ptr %sc_l_p_0 + %t2413 = call ptr @sc_rc_retain_dyn(ptr %t2412) + %t2415 = icmp ne ptr %t2413, null + br i1 %t2415, label %dc.inspect954, label %dc.checked957 +dc.inspect954: + %t2420 = getelementptr inbounds i8, ptr %t2413, i64 8 ; ->kind + %t2421 = load i32, ptr %t2420 + %t2416 = icmp eq i32 %t2421, 12 + br i1 %t2416, label %dc.capsule955, label %dc.checked957 +dc.capsule955: + %t2417 = getelementptr inbounds i8, ptr %t2413, i64 40 ; ->v.typed_ref.type_key + %t2418 = load ptr, ptr %t2417 + %t2419 = icmp eq ptr %t2418, @sc_cs_3635319175845957 + br i1 %t2419, label %dc.exact956, label %dc.checked957 +dc.exact956: + %t2422 = getelementptr inbounds i8, ptr %t2413, i64 16 ; ->v.typed_ref.ptr + %t2423 = load ptr, ptr %t2422 + %t2424 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2423) + store ptr %t2424, ptr %s2414 + br label %dc.done958 +dc.checked957: + %t2425 = call ptr @sc_dc_24(ptr %t2413, ptr null) + store ptr %t2425, ptr %s2414 + %t2426 = load i32, ptr %exc.cell + %t2427 = icmp ne i32 %t2426, 0 + %t2428 = call i1 @llvm.expect.i1(i1 %t2427, i1 false) + br i1 %t2428, label %exc.u959, label %exc.k960 +exc.u959: + call void @scr_dyn_release(ptr %t2413) + br label %exc.cleanup2 +exc.k960: + br label %dc.done958 +dc.done958: + %t2429 = load ptr, ptr %s2414 + %t2430 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2429, i64 0, i32 1 + %t2431 = load ptr, ptr %t2430 + %t2432 = getelementptr inbounds %ScrVt, ptr %t2431, i64 0, i32 0 + %t2433 = load i64, ptr %t2432 + %t2434 = icmp uge i64 %t2433, 26 + %t2435 = icmp ule i64 %t2433, 26 + %t2436 = and i1 %t2434, %t2435 ; instanceof %m4.MemoryStorage + store i1 %t2436, ptr %s2411 + call void @scr_dyn_release(ptr %t2413) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2429) + br label %tern.j953 +tern.f952: + store i1 false, ptr %s2411 + br label %tern.j953 +tern.j953: + %t2437 = load i1, ptr %s2411 + br i1 %t2437, label %if.t961, label %if.j962 +if.t961: + %t2438 = load ptr, ptr %sc_l_p_0 + %t2439 = call ptr @sc_rc_retain_dyn(ptr %t2438) + %t2441 = icmp ne ptr %t2439, null + br i1 %t2441, label %dc.inspect963, label %dc.checked966 +dc.inspect963: + %t2446 = getelementptr inbounds i8, ptr %t2439, i64 8 ; ->kind + %t2447 = load i32, ptr %t2446 + %t2442 = icmp eq i32 %t2447, 12 + br i1 %t2442, label %dc.capsule964, label %dc.checked966 +dc.capsule964: + %t2443 = getelementptr inbounds i8, ptr %t2439, i64 40 ; ->v.typed_ref.type_key + %t2444 = load ptr, ptr %t2443 + %t2445 = icmp eq ptr %t2444, @sc_cs_3635319175845957 + br i1 %t2445, label %dc.exact965, label %dc.checked966 +dc.exact965: + %t2448 = getelementptr inbounds i8, ptr %t2439, i64 16 ; ->v.typed_ref.ptr + %t2449 = load ptr, ptr %t2448 + %t2450 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2449) + store ptr %t2450, ptr %s2440 + br label %dc.done967 +dc.checked966: + %t2451 = call ptr @sc_dc_24(ptr %t2439, ptr null) + store ptr %t2451, ptr %s2440 + %t2452 = load i32, ptr %exc.cell + %t2453 = icmp ne i32 %t2452, 0 + %t2454 = call i1 @llvm.expect.i1(i1 %t2453, i1 false) + br i1 %t2454, label %exc.u968, label %exc.k969 +exc.u968: + call void @scr_dyn_release(ptr %t2439) + br label %exc.cleanup2 +exc.k969: + br label %dc.done967 +dc.done967: + %t2455 = load ptr, ptr %s2440 + %t2456 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t2455, i64 0, i32 2 + %t2457 = load ptr, ptr %t2456, !tbaa !204 + %t2458 = getelementptr inbounds i8, ptr %t2457, i64 8 ; ->kind + %t2459 = load i32, ptr %t2458 + %t2460 = icmp eq i32 %t2459, 6 + call void @scr_dyn_release(ptr %t2439) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2455) + br i1 %t2460, label %if.t970, label %if.j971 +if.t970: + %t2461 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t2462 = load i32, ptr %exc.cell + %t2463 = icmp ne i32 %t2462, 0 + %t2464 = call i1 @llvm.expect.i1(i1 %t2463, i1 false) + br i1 %t2464, label %exc.u972, label %exc.k973 +exc.u972: + call void @scr_dyn_release(ptr %t2461) + br label %exc.cleanup2 +exc.k973: + %t2465 = call ptr @scr_dyn_obj_create(ptr %t2461) + %t2466 = load i32, ptr %exc.cell + %t2467 = icmp ne i32 %t2466, 0 + %t2468 = call i1 @llvm.expect.i1(i1 %t2467, i1 false) + br i1 %t2468, label %exc.u974, label %exc.k975 +exc.u974: + call void @scr_dyn_release(ptr %t2461) + call void @scr_dyn_release(ptr %t2465) + br label %exc.cleanup2 +exc.k975: + call void @scr_dyn_release(ptr %t2461) + %t2469 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2469) + ret ptr %t2465 +if.j971: + %t2470 = load ptr, ptr %sc_l_p_0 + %t2471 = call ptr @sc_rc_retain_dyn(ptr %t2470) + %t2473 = icmp ne ptr %t2471, null + br i1 %t2473, label %dc.inspect976, label %dc.checked979 +dc.inspect976: + %t2478 = getelementptr inbounds i8, ptr %t2471, i64 8 ; ->kind + %t2479 = load i32, ptr %t2478 + %t2474 = icmp eq i32 %t2479, 12 + br i1 %t2474, label %dc.capsule977, label %dc.checked979 +dc.capsule977: + %t2475 = getelementptr inbounds i8, ptr %t2471, i64 40 ; ->v.typed_ref.type_key + %t2476 = load ptr, ptr %t2475 + %t2477 = icmp eq ptr %t2476, @sc_cs_3635319175845957 + br i1 %t2477, label %dc.exact978, label %dc.checked979 +dc.exact978: + %t2480 = getelementptr inbounds i8, ptr %t2471, i64 16 ; ->v.typed_ref.ptr + %t2481 = load ptr, ptr %t2480 + %t2482 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2481) + store ptr %t2482, ptr %s2472 + br label %dc.done980 +dc.checked979: + %t2483 = call ptr @sc_dc_24(ptr %t2471, ptr null) + store ptr %t2483, ptr %s2472 + %t2484 = load i32, ptr %exc.cell + %t2485 = icmp ne i32 %t2484, 0 + %t2486 = call i1 @llvm.expect.i1(i1 %t2485, i1 false) + br i1 %t2486, label %exc.u981, label %exc.k982 +exc.u981: + call void @scr_dyn_release(ptr %t2471) + br label %exc.cleanup2 +exc.k982: + br label %dc.done980 +dc.done980: + %t2487 = load ptr, ptr %s2472 + %t2488 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t2487, i64 0, i32 2 + %t2489 = load ptr, ptr %t2488, !tbaa !204 + %t2490 = call ptr @sc_rc_retain_dyn(ptr %t2489) + call void @scr_dyn_release(ptr %t2471) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2487) + %t2491 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2491) + ret ptr %t2490 +if.j962: + %t2492 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2493 + %t2494 = icmp ne ptr %t2492, null + br i1 %t2494, label %brand.inspect983, label %brand.done985 +brand.inspect983: + %t2495 = getelementptr inbounds i8, ptr %t2492, i64 8 ; ->kind + %t2496 = load i32, ptr %t2495 + %t2497 = icmp eq i32 %t2496, 12 + br i1 %t2497, label %brand.capsule984, label %brand.done985 +brand.capsule984: + %t2498 = getelementptr inbounds i8, ptr %t2492, i64 40 ; ->v.typed_ref.type_key + %t2499 = load ptr, ptr %t2498 + %t2500 = icmp eq ptr %t2499, @sc_cs_3635319175845957 + store i1 true, ptr %s2493 + br i1 %t2500, label %brand.done985, label %brand.compare986 +brand.compare986: + %t2501 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2492, ptr @sc_lit_3635319175845957) + store i1 %t2501, ptr %s2493 + br label %brand.done985 +brand.done985: + %t2502 = load i1, ptr %s2493 + br i1 %t2502, label %if.t987, label %if.j988 +if.t987: + %t2503 = load ptr, ptr %sc_l_p_0 + %t2504 = call ptr @sc_rc_retain_dyn(ptr %t2503) + %t2506 = icmp ne ptr %t2504, null + br i1 %t2506, label %dc.inspect989, label %dc.checked992 +dc.inspect989: + %t2511 = getelementptr inbounds i8, ptr %t2504, i64 8 ; ->kind + %t2512 = load i32, ptr %t2511 + %t2507 = icmp eq i32 %t2512, 12 + br i1 %t2507, label %dc.capsule990, label %dc.checked992 +dc.capsule990: + %t2508 = getelementptr inbounds i8, ptr %t2504, i64 40 ; ->v.typed_ref.type_key + %t2509 = load ptr, ptr %t2508 + %t2510 = icmp eq ptr %t2509, @sc_cs_3635319175845957 + br i1 %t2510, label %dc.exact991, label %dc.checked992 +dc.exact991: + %t2513 = getelementptr inbounds i8, ptr %t2504, i64 16 ; ->v.typed_ref.ptr + %t2514 = load ptr, ptr %t2513 + %t2515 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2514) + store ptr %t2515, ptr %s2505 + br label %dc.done993 +dc.checked992: + %t2516 = call ptr @sc_dc_24(ptr %t2504, ptr null) + store ptr %t2516, ptr %s2505 + %t2517 = load i32, ptr %exc.cell + %t2518 = icmp ne i32 %t2517, 0 + %t2519 = call i1 @llvm.expect.i1(i1 %t2518, i1 false) + br i1 %t2519, label %exc.u994, label %exc.k995 +exc.u994: + call void @scr_dyn_release(ptr %t2504) + br label %exc.cleanup2 +exc.k995: + br label %dc.done993 +dc.done993: + %t2520 = load ptr, ptr %s2505 + %t2521 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2520, i64 0, i32 2 + %t2522 = load ptr, ptr %t2521, !tbaa !204 + %t2523 = getelementptr inbounds i8, ptr %t2522, i64 8 ; ->kind + %t2524 = load i32, ptr %t2523 + %t2525 = icmp eq i32 %t2524, 6 + call void @scr_dyn_release(ptr %t2504) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2520) + br i1 %t2525, label %if.t996, label %if.j997 +if.t996: + %t2526 = load ptr, ptr %sc_l_p_0 + %t2527 = call ptr @sc_rc_retain_dyn(ptr %t2526) + %t2529 = icmp ne ptr %t2527, null + br i1 %t2529, label %dc.inspect998, label %dc.checked1001 +dc.inspect998: + %t2534 = getelementptr inbounds i8, ptr %t2527, i64 8 ; ->kind + %t2535 = load i32, ptr %t2534 + %t2530 = icmp eq i32 %t2535, 12 + br i1 %t2530, label %dc.capsule999, label %dc.checked1001 +dc.capsule999: + %t2531 = getelementptr inbounds i8, ptr %t2527, i64 40 ; ->v.typed_ref.type_key + %t2532 = load ptr, ptr %t2531 + %t2533 = icmp eq ptr %t2532, @sc_cs_3635319175845957 + br i1 %t2533, label %dc.exact1000, label %dc.checked1001 +dc.exact1000: + %t2536 = getelementptr inbounds i8, ptr %t2527, i64 16 ; ->v.typed_ref.ptr + %t2537 = load ptr, ptr %t2536 + %t2538 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2537) + store ptr %t2538, ptr %s2528 + br label %dc.done1002 +dc.checked1001: + %t2539 = call ptr @sc_dc_24(ptr %t2527, ptr null) + store ptr %t2539, ptr %s2528 + %t2540 = load i32, ptr %exc.cell + %t2541 = icmp ne i32 %t2540, 0 + %t2542 = call i1 @llvm.expect.i1(i1 %t2541, i1 false) + br i1 %t2542, label %exc.u1003, label %exc.k1004 +exc.u1003: + call void @scr_dyn_release(ptr %t2527) + br label %exc.cleanup2 +exc.k1004: + br label %dc.done1002 +dc.done1002: + %t2543 = load ptr, ptr %s2528 + %t2544 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2543, i64 0, i32 1 + %t2545 = load ptr, ptr %t2544 + %t2546 = getelementptr inbounds %ScrVt, ptr %t2545, i64 0, i32 0 + %t2547 = load i64, ptr %t2546 + %t2548 = icmp uge i64 %t2547, 26 + %t2549 = icmp ule i64 %t2547, 26 + %t2550 = and i1 %t2548, %t2549 ; instanceof %m4.MemoryStorage + br i1 %t2550, label %tern.t1005, label %tern.f1006 +tern.t1005: + %t2552 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t2553 = load i32, ptr %exc.cell + %t2554 = icmp ne i32 %t2553, 0 + %t2555 = call i1 @llvm.expect.i1(i1 %t2554, i1 false) + br i1 %t2555, label %exc.u1008, label %exc.k1009 +exc.u1008: + call void @scr_dyn_release(ptr %t2552) + call void @scr_dyn_release(ptr %t2527) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2543) + br label %exc.cleanup2 +exc.k1009: + store ptr %t2552, ptr %s2551 + br label %tern.j1007 +tern.f1006: + %t2556 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage() + %t2557 = load i32, ptr %exc.cell + %t2558 = icmp ne i32 %t2557, 0 + %t2559 = call i1 @llvm.expect.i1(i1 %t2558, i1 false) + br i1 %t2559, label %exc.u1010, label %exc.k1011 +exc.u1010: + call void @scr_dyn_release(ptr %t2556) + call void @scr_dyn_release(ptr %t2527) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2543) + br label %exc.cleanup2 +exc.k1011: + store ptr %t2556, ptr %s2551 + br label %tern.j1007 +tern.j1007: + %t2560 = load ptr, ptr %s2551 + %t2561 = call ptr @scr_dyn_obj_create(ptr %t2560) + %t2562 = load i32, ptr %exc.cell + %t2563 = icmp ne i32 %t2562, 0 + %t2564 = call i1 @llvm.expect.i1(i1 %t2563, i1 false) + br i1 %t2564, label %exc.u1012, label %exc.k1013 +exc.u1012: + call void @scr_dyn_release(ptr %t2527) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2543) + call void @scr_dyn_release(ptr %t2560) + call void @scr_dyn_release(ptr %t2561) + br label %exc.cleanup2 +exc.k1013: + call void @scr_dyn_release(ptr %t2527) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2543) + call void @scr_dyn_release(ptr %t2560) + %t2565 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2565) + ret ptr %t2561 +if.j997: + %t2566 = load ptr, ptr %sc_l_p_0 + %t2567 = call ptr @sc_rc_retain_dyn(ptr %t2566) + %t2569 = icmp ne ptr %t2567, null + br i1 %t2569, label %dc.inspect1014, label %dc.checked1017 +dc.inspect1014: + %t2574 = getelementptr inbounds i8, ptr %t2567, i64 8 ; ->kind + %t2575 = load i32, ptr %t2574 + %t2570 = icmp eq i32 %t2575, 12 + br i1 %t2570, label %dc.capsule1015, label %dc.checked1017 +dc.capsule1015: + %t2571 = getelementptr inbounds i8, ptr %t2567, i64 40 ; ->v.typed_ref.type_key + %t2572 = load ptr, ptr %t2571 + %t2573 = icmp eq ptr %t2572, @sc_cs_3635319175845957 + br i1 %t2573, label %dc.exact1016, label %dc.checked1017 +dc.exact1016: + %t2576 = getelementptr inbounds i8, ptr %t2567, i64 16 ; ->v.typed_ref.ptr + %t2577 = load ptr, ptr %t2576 + %t2578 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2577) + store ptr %t2578, ptr %s2568 + br label %dc.done1018 +dc.checked1017: + %t2579 = call ptr @sc_dc_24(ptr %t2567, ptr null) + store ptr %t2579, ptr %s2568 + %t2580 = load i32, ptr %exc.cell + %t2581 = icmp ne i32 %t2580, 0 + %t2582 = call i1 @llvm.expect.i1(i1 %t2581, i1 false) + br i1 %t2582, label %exc.u1019, label %exc.k1020 +exc.u1019: + call void @scr_dyn_release(ptr %t2567) + br label %exc.cleanup2 +exc.k1020: + br label %dc.done1018 +dc.done1018: + %t2583 = load ptr, ptr %s2568 + %t2584 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2583, i64 0, i32 2 + %t2585 = load ptr, ptr %t2584, !tbaa !204 + %t2586 = call ptr @sc_rc_retain_dyn(ptr %t2585) + call void @scr_dyn_release(ptr %t2567) + call void @sc_release__x25_m4_MultipartStorage(ptr %t2583) + %t2587 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2587) + ret ptr %t2586 +if.j988: + %t2588 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2589 + %t2590 = icmp ne ptr %t2588, null + br i1 %t2590, label %brand.inspect1021, label %brand.done1023 +brand.inspect1021: + %t2591 = getelementptr inbounds i8, ptr %t2588, i64 8 ; ->kind + %t2592 = load i32, ptr %t2591 + %t2593 = icmp eq i32 %t2592, 12 + br i1 %t2593, label %brand.capsule1022, label %brand.done1023 +brand.capsule1022: + %t2594 = getelementptr inbounds i8, ptr %t2588, i64 40 ; ->v.typed_ref.type_key + %t2595 = load ptr, ptr %t2594 + %t2596 = icmp eq ptr %t2595, @sc_cs_4143564844538255 + store i1 true, ptr %s2589 + br i1 %t2596, label %brand.done1023, label %brand.compare1024 +brand.compare1024: + %t2597 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2588, ptr @sc_lit_4143564844538255) + store i1 %t2597, ptr %s2589 + br label %brand.done1023 +brand.done1023: + %t2598 = load i1, ptr %s2589 + br i1 %t2598, label %if.t1025, label %if.j1026 +if.t1025: + %t2599 = load ptr, ptr %sc_l_p_0 + %t2600 = call ptr @sc_rc_retain_dyn(ptr %t2599) + %t2602 = icmp ne ptr %t2600, null + br i1 %t2602, label %dc.inspect1027, label %dc.checked1030 +dc.inspect1027: + %t2607 = getelementptr inbounds i8, ptr %t2600, i64 8 ; ->kind + %t2608 = load i32, ptr %t2607 + %t2603 = icmp eq i32 %t2608, 12 + br i1 %t2603, label %dc.capsule1028, label %dc.checked1030 +dc.capsule1028: + %t2604 = getelementptr inbounds i8, ptr %t2600, i64 40 ; ->v.typed_ref.type_key + %t2605 = load ptr, ptr %t2604 + %t2606 = icmp eq ptr %t2605, @sc_cs_4143564844538255 + br i1 %t2606, label %dc.exact1029, label %dc.checked1030 +dc.exact1029: + %t2609 = getelementptr inbounds i8, ptr %t2600, i64 16 ; ->v.typed_ref.ptr + %t2610 = load ptr, ptr %t2609 + %t2611 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t2610) + store ptr %t2611, ptr %s2601 + br label %dc.done1031 +dc.checked1030: + %t2612 = call ptr @sc_dc_109(ptr %t2600, ptr null) + store ptr %t2612, ptr %s2601 + %t2613 = load i32, ptr %exc.cell + %t2614 = icmp ne i32 %t2613, 0 + %t2615 = call i1 @llvm.expect.i1(i1 %t2614, i1 false) + br i1 %t2615, label %exc.u1032, label %exc.k1033 +exc.u1032: + call void @scr_dyn_release(ptr %t2600) + br label %exc.cleanup2 +exc.k1033: + br label %dc.done1031 +dc.done1031: + %t2616 = load ptr, ptr %s2601 + %t2617 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2616, i64 0, i32 2 + %t2618 = load ptr, ptr %t2617, !tbaa !204 + %t2619 = getelementptr inbounds i8, ptr %t2618, i64 8 ; ->kind + %t2620 = load i32, ptr %t2619 + %t2621 = icmp eq i32 %t2620, 6 + call void @scr_dyn_release(ptr %t2600) + call void @sc_release__x25_m14_BakedAssets(ptr %t2616) + br i1 %t2621, label %if.t1034, label %if.j1035 +if.t1034: + %t2622 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t2623 = load i32, ptr %exc.cell + %t2624 = icmp ne i32 %t2623, 0 + %t2625 = call i1 @llvm.expect.i1(i1 %t2624, i1 false) + br i1 %t2625, label %exc.u1036, label %exc.k1037 +exc.u1036: + call void @scr_dyn_release(ptr %t2622) + br label %exc.cleanup2 +exc.k1037: + %t2626 = call ptr @scr_dyn_obj_create(ptr %t2622) + %t2627 = load i32, ptr %exc.cell + %t2628 = icmp ne i32 %t2627, 0 + %t2629 = call i1 @llvm.expect.i1(i1 %t2628, i1 false) + br i1 %t2629, label %exc.u1038, label %exc.k1039 +exc.u1038: + call void @scr_dyn_release(ptr %t2622) + call void @scr_dyn_release(ptr %t2626) + br label %exc.cleanup2 +exc.k1039: + call void @scr_dyn_release(ptr %t2622) + %t2630 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2630) + ret ptr %t2626 +if.j1035: + %t2631 = load ptr, ptr %sc_l_p_0 + %t2632 = call ptr @sc_rc_retain_dyn(ptr %t2631) + %t2634 = icmp ne ptr %t2632, null + br i1 %t2634, label %dc.inspect1040, label %dc.checked1043 +dc.inspect1040: + %t2639 = getelementptr inbounds i8, ptr %t2632, i64 8 ; ->kind + %t2640 = load i32, ptr %t2639 + %t2635 = icmp eq i32 %t2640, 12 + br i1 %t2635, label %dc.capsule1041, label %dc.checked1043 +dc.capsule1041: + %t2636 = getelementptr inbounds i8, ptr %t2632, i64 40 ; ->v.typed_ref.type_key + %t2637 = load ptr, ptr %t2636 + %t2638 = icmp eq ptr %t2637, @sc_cs_4143564844538255 + br i1 %t2638, label %dc.exact1042, label %dc.checked1043 +dc.exact1042: + %t2641 = getelementptr inbounds i8, ptr %t2632, i64 16 ; ->v.typed_ref.ptr + %t2642 = load ptr, ptr %t2641 + %t2643 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t2642) + store ptr %t2643, ptr %s2633 + br label %dc.done1044 +dc.checked1043: + %t2644 = call ptr @sc_dc_109(ptr %t2632, ptr null) + store ptr %t2644, ptr %s2633 + %t2645 = load i32, ptr %exc.cell + %t2646 = icmp ne i32 %t2645, 0 + %t2647 = call i1 @llvm.expect.i1(i1 %t2646, i1 false) + br i1 %t2647, label %exc.u1045, label %exc.k1046 +exc.u1045: + call void @scr_dyn_release(ptr %t2632) + br label %exc.cleanup2 +exc.k1046: + br label %dc.done1044 +dc.done1044: + %t2648 = load ptr, ptr %s2633 + %t2649 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2648, i64 0, i32 2 + %t2650 = load ptr, ptr %t2649, !tbaa !204 + %t2651 = call ptr @sc_rc_retain_dyn(ptr %t2650) + call void @scr_dyn_release(ptr %t2632) + call void @sc_release__x25_m14_BakedAssets(ptr %t2648) + %t2652 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2652) + ret ptr %t2651 +if.j1026: + %t2653 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2654 + %t2655 = icmp ne ptr %t2653, null + br i1 %t2655, label %brand.inspect1047, label %brand.done1049 +brand.inspect1047: + %t2656 = getelementptr inbounds i8, ptr %t2653, i64 8 ; ->kind + %t2657 = load i32, ptr %t2656 + %t2658 = icmp eq i32 %t2657, 12 + br i1 %t2658, label %brand.capsule1048, label %brand.done1049 +brand.capsule1048: + %t2659 = getelementptr inbounds i8, ptr %t2653, i64 40 ; ->v.typed_ref.type_key + %t2660 = load ptr, ptr %t2659 + %t2661 = icmp eq ptr %t2660, @sc_cs_2875643240706496 + store i1 true, ptr %s2654 + br i1 %t2661, label %brand.done1049, label %brand.compare1050 +brand.compare1050: + %t2662 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2653, ptr @sc_lit_2875643240706496) + store i1 %t2662, ptr %s2654 + br label %brand.done1049 +brand.done1049: + %t2663 = load i1, ptr %s2654 + br i1 %t2663, label %if.t1051, label %if.j1052 +if.t1051: + %t2664 = load ptr, ptr %sc_l_p_0 + %t2665 = call ptr @sc_rc_retain_dyn(ptr %t2664) + %t2667 = icmp ne ptr %t2665, null + br i1 %t2667, label %dc.inspect1053, label %dc.checked1056 +dc.inspect1053: + %t2672 = getelementptr inbounds i8, ptr %t2665, i64 8 ; ->kind + %t2673 = load i32, ptr %t2672 + %t2668 = icmp eq i32 %t2673, 12 + br i1 %t2668, label %dc.capsule1054, label %dc.checked1056 +dc.capsule1054: + %t2669 = getelementptr inbounds i8, ptr %t2665, i64 40 ; ->v.typed_ref.type_key + %t2670 = load ptr, ptr %t2669 + %t2671 = icmp eq ptr %t2670, @sc_cs_2875643240706496 + br i1 %t2671, label %dc.exact1055, label %dc.checked1056 +dc.exact1055: + %t2674 = getelementptr inbounds i8, ptr %t2665, i64 16 ; ->v.typed_ref.ptr + %t2675 = load ptr, ptr %t2674 + %t2676 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t2675) + store ptr %t2676, ptr %s2666 + br label %dc.done1057 +dc.checked1056: + %t2677 = call ptr @sc_dc_48(ptr %t2665, ptr null) + store ptr %t2677, ptr %s2666 + %t2678 = load i32, ptr %exc.cell + %t2679 = icmp ne i32 %t2678, 0 + %t2680 = call i1 @llvm.expect.i1(i1 %t2679, i1 false) + br i1 %t2680, label %exc.u1058, label %exc.k1059 +exc.u1058: + call void @scr_dyn_release(ptr %t2665) + br label %exc.cleanup2 +exc.k1059: + br label %dc.done1057 +dc.done1057: + %t2681 = load ptr, ptr %s2666 + %t2682 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t2681, i64 0, i32 8 + %t2683 = load ptr, ptr %t2682, !tbaa !204 + %t2684 = getelementptr inbounds i8, ptr %t2683, i64 8 ; ->kind + %t2685 = load i32, ptr %t2684 + %t2686 = icmp eq i32 %t2685, 6 + call void @scr_dyn_release(ptr %t2665) + call void @sc_release__x25_m5_CtxCore(ptr %t2681) + br i1 %t2686, label %if.t1060, label %if.j1061 +if.t1060: + %t2687 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore() + %t2688 = load i32, ptr %exc.cell + %t2689 = icmp ne i32 %t2688, 0 + %t2690 = call i1 @llvm.expect.i1(i1 %t2689, i1 false) + br i1 %t2690, label %exc.u1062, label %exc.k1063 +exc.u1062: + call void @scr_dyn_release(ptr %t2687) + br label %exc.cleanup2 +exc.k1063: + %t2691 = call ptr @scr_dyn_obj_create(ptr %t2687) + %t2692 = load i32, ptr %exc.cell + %t2693 = icmp ne i32 %t2692, 0 + %t2694 = call i1 @llvm.expect.i1(i1 %t2693, i1 false) + br i1 %t2694, label %exc.u1064, label %exc.k1065 +exc.u1064: + call void @scr_dyn_release(ptr %t2687) + call void @scr_dyn_release(ptr %t2691) + br label %exc.cleanup2 +exc.k1065: + call void @scr_dyn_release(ptr %t2687) + %t2695 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2695) + ret ptr %t2691 +if.j1061: + %t2696 = load ptr, ptr %sc_l_p_0 + %t2697 = call ptr @sc_rc_retain_dyn(ptr %t2696) + %t2699 = icmp ne ptr %t2697, null + br i1 %t2699, label %dc.inspect1066, label %dc.checked1069 +dc.inspect1066: + %t2704 = getelementptr inbounds i8, ptr %t2697, i64 8 ; ->kind + %t2705 = load i32, ptr %t2704 + %t2700 = icmp eq i32 %t2705, 12 + br i1 %t2700, label %dc.capsule1067, label %dc.checked1069 +dc.capsule1067: + %t2701 = getelementptr inbounds i8, ptr %t2697, i64 40 ; ->v.typed_ref.type_key + %t2702 = load ptr, ptr %t2701 + %t2703 = icmp eq ptr %t2702, @sc_cs_2875643240706496 + br i1 %t2703, label %dc.exact1068, label %dc.checked1069 +dc.exact1068: + %t2706 = getelementptr inbounds i8, ptr %t2697, i64 16 ; ->v.typed_ref.ptr + %t2707 = load ptr, ptr %t2706 + %t2708 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t2707) + store ptr %t2708, ptr %s2698 + br label %dc.done1070 +dc.checked1069: + %t2709 = call ptr @sc_dc_48(ptr %t2697, ptr null) + store ptr %t2709, ptr %s2698 + %t2710 = load i32, ptr %exc.cell + %t2711 = icmp ne i32 %t2710, 0 + %t2712 = call i1 @llvm.expect.i1(i1 %t2711, i1 false) + br i1 %t2712, label %exc.u1071, label %exc.k1072 +exc.u1071: + call void @scr_dyn_release(ptr %t2697) + br label %exc.cleanup2 +exc.k1072: + br label %dc.done1070 +dc.done1070: + %t2713 = load ptr, ptr %s2698 + %t2714 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t2713, i64 0, i32 8 + %t2715 = load ptr, ptr %t2714, !tbaa !204 + %t2716 = call ptr @sc_rc_retain_dyn(ptr %t2715) + call void @scr_dyn_release(ptr %t2697) + call void @sc_release__x25_m5_CtxCore(ptr %t2713) + %t2717 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2717) + ret ptr %t2716 +if.j1052: + %t2718 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s2719 + %t2720 = icmp ne ptr %t2718, null + br i1 %t2720, label %brand.inspect1073, label %brand.done1075 +brand.inspect1073: + %t2721 = getelementptr inbounds i8, ptr %t2718, i64 8 ; ->kind + %t2722 = load i32, ptr %t2721 + %t2723 = icmp eq i32 %t2722, 12 + br i1 %t2723, label %brand.capsule1074, label %brand.done1075 +brand.capsule1074: + %t2724 = getelementptr inbounds i8, ptr %t2718, i64 40 ; ->v.typed_ref.type_key + %t2725 = load ptr, ptr %t2724 + %t2726 = icmp eq ptr %t2725, @sc_cs_21424698936986 + store i1 true, ptr %s2719 + br i1 %t2726, label %brand.done1075, label %brand.compare1076 +brand.compare1076: + %t2727 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2718, ptr @sc_lit_21424698936986) + store i1 %t2727, ptr %s2719 + br label %brand.done1075 +brand.done1075: + %t2728 = load i1, ptr %s2719 + br i1 %t2728, label %if.t1077, label %if.j1078 +if.t1077: + %t2729 = load ptr, ptr %sc_l_p_0 + %t2730 = call ptr @sc_rc_retain_dyn(ptr %t2729) + %t2732 = icmp ne ptr %t2730, null + br i1 %t2732, label %dc.inspect1079, label %dc.checked1082 +dc.inspect1079: + %t2737 = getelementptr inbounds i8, ptr %t2730, i64 8 ; ->kind + %t2738 = load i32, ptr %t2737 + %t2733 = icmp eq i32 %t2738, 12 + br i1 %t2733, label %dc.capsule1080, label %dc.checked1082 +dc.capsule1080: + %t2734 = getelementptr inbounds i8, ptr %t2730, i64 40 ; ->v.typed_ref.type_key + %t2735 = load ptr, ptr %t2734 + %t2736 = icmp eq ptr %t2735, @sc_cs_21424698936986 + br i1 %t2736, label %dc.exact1081, label %dc.checked1082 +dc.exact1081: + %t2739 = getelementptr inbounds i8, ptr %t2730, i64 16 ; ->v.typed_ref.ptr + %t2740 = load ptr, ptr %t2739 + %t2741 = call ptr @sc_retain__x25_m5_App(ptr %t2740) + store ptr %t2741, ptr %s2731 + br label %dc.done1083 +dc.checked1082: + %t2742 = call ptr @sc_dc_91(ptr %t2730, ptr null) + store ptr %t2742, ptr %s2731 + %t2743 = load i32, ptr %exc.cell + %t2744 = icmp ne i32 %t2743, 0 + %t2745 = call i1 @llvm.expect.i1(i1 %t2744, i1 false) + br i1 %t2745, label %exc.u1084, label %exc.k1085 +exc.u1084: + call void @scr_dyn_release(ptr %t2730) + br label %exc.cleanup2 +exc.k1085: + br label %dc.done1083 +dc.done1083: + %t2746 = load ptr, ptr %s2731 + %t2747 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t2746, i64 0, i32 18 + %t2748 = load ptr, ptr %t2747, !tbaa !204 + %t2749 = getelementptr inbounds i8, ptr %t2748, i64 8 ; ->kind + %t2750 = load i32, ptr %t2749 + %t2751 = icmp eq i32 %t2750, 6 + call void @scr_dyn_release(ptr %t2730) + call void @sc_release__x25_m5_App(ptr %t2746) + br i1 %t2751, label %if.t1086, label %if.j1087 +if.t1086: + %t2752 = call ptr @sc_f__x25_prototype_data__x25_m5_App() + %t2753 = load i32, ptr %exc.cell + %t2754 = icmp ne i32 %t2753, 0 + %t2755 = call i1 @llvm.expect.i1(i1 %t2754, i1 false) + br i1 %t2755, label %exc.u1088, label %exc.k1089 +exc.u1088: + call void @scr_dyn_release(ptr %t2752) + br label %exc.cleanup2 +exc.k1089: + %t2756 = call ptr @scr_dyn_obj_create(ptr %t2752) + %t2757 = load i32, ptr %exc.cell + %t2758 = icmp ne i32 %t2757, 0 + %t2759 = call i1 @llvm.expect.i1(i1 %t2758, i1 false) + br i1 %t2759, label %exc.u1090, label %exc.k1091 +exc.u1090: + call void @scr_dyn_release(ptr %t2752) + call void @scr_dyn_release(ptr %t2756) + br label %exc.cleanup2 +exc.k1091: + call void @scr_dyn_release(ptr %t2752) + %t2760 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2760) + ret ptr %t2756 +if.j1087: + %t2761 = load ptr, ptr %sc_l_p_0 + %t2762 = call ptr @sc_rc_retain_dyn(ptr %t2761) + %t2764 = icmp ne ptr %t2762, null + br i1 %t2764, label %dc.inspect1092, label %dc.checked1095 +dc.inspect1092: + %t2769 = getelementptr inbounds i8, ptr %t2762, i64 8 ; ->kind + %t2770 = load i32, ptr %t2769 + %t2765 = icmp eq i32 %t2770, 12 + br i1 %t2765, label %dc.capsule1093, label %dc.checked1095 +dc.capsule1093: + %t2766 = getelementptr inbounds i8, ptr %t2762, i64 40 ; ->v.typed_ref.type_key + %t2767 = load ptr, ptr %t2766 + %t2768 = icmp eq ptr %t2767, @sc_cs_21424698936986 + br i1 %t2768, label %dc.exact1094, label %dc.checked1095 +dc.exact1094: + %t2771 = getelementptr inbounds i8, ptr %t2762, i64 16 ; ->v.typed_ref.ptr + %t2772 = load ptr, ptr %t2771 + %t2773 = call ptr @sc_retain__x25_m5_App(ptr %t2772) + store ptr %t2773, ptr %s2763 + br label %dc.done1096 +dc.checked1095: + %t2774 = call ptr @sc_dc_91(ptr %t2762, ptr null) + store ptr %t2774, ptr %s2763 + %t2775 = load i32, ptr %exc.cell + %t2776 = icmp ne i32 %t2775, 0 + %t2777 = call i1 @llvm.expect.i1(i1 %t2776, i1 false) + br i1 %t2777, label %exc.u1097, label %exc.k1098 +exc.u1097: + call void @scr_dyn_release(ptr %t2762) + br label %exc.cleanup2 +exc.k1098: + br label %dc.done1096 +dc.done1096: + %t2778 = load ptr, ptr %s2763 + %t2779 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t2778, i64 0, i32 18 + %t2780 = load ptr, ptr %t2779, !tbaa !204 + %t2781 = call ptr @sc_rc_retain_dyn(ptr %t2780) + call void @scr_dyn_release(ptr %t2762) + call void @sc_release__x25_m5_App(ptr %t2778) + %t2782 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2782) + ret ptr %t2781 +if.j1078: + %t2783 = load ptr, ptr %sc_l_p_0 + ret ptr %t2783 +exc.cleanup2: + %t2784 = load ptr, ptr %sc_l_p_0 + call void @scr_dyn_release(ptr %t2784) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_staticProperties(ptr %p_sc_l_value) #0 { ; %dyn.class.staticProperties +entry: + %sc_l_value = alloca ptr ; value + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_value + %t1 = call ptr @sc_rc_retain_dyn(ptr %t0) + ret ptr %t1 +} +define internal ptr @sc_f__x25_dyn_class_staticProperties(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_0(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.0 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s363 = alloca i1 + %s374 = alloca i1 + %s386 = alloca ptr + %s413 = alloca ptr + %s436 = alloca ptr + %s471 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3314970835853795 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3314970835853795) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3314970835853795 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_79(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m6_AssetSource(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_731773075116702) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m6_AssetSource(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m6_AssetSource(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3314970835853795 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_79(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m6_AssetSource(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3314970835853795 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_79(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m6_AssetSource(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_731773075116702, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m6_AssetSource(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m6_AssetSource(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m6_AssetSource(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m6_AssetSource(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_67546268704151 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_67546268704151) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_67546268704151 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_107(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m3_LiteHeaders(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_731773075116702) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m3_LiteHeaders(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m3_LiteHeaders(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_67546268704151 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_107(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m3_LiteHeaders(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_67546268704151 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_107(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m3_LiteHeaders(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_731773075116702, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m3_LiteHeaders(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m3_LiteHeaders(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m3_LiteHeaders(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m3_LiteHeaders(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_2519527309428716 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_2519527309428716) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_2519527309428716 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_108(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_731773075116702) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_2519527309428716 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_108(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_2519527309428716 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_108(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_731773075116702, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_4143564844538255 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_4143564844538255) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_4143564844538255 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_109(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m14_BakedAssets(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_731773075116702) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m14_BakedAssets(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m14_BakedAssets(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_4143564844538255 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_109(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m14_BakedAssets(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_4143564844538255 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_109(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m14_BakedAssets(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_731773075116702, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m14_BakedAssets(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m14_BakedAssets(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m14_BakedAssets(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m14_BakedAssets(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s363 + %t364 = icmp ne ptr %t362, null + br i1 %t364, label %brand.inspect153, label %brand.done155 +brand.inspect153: + %t365 = getelementptr inbounds i8, ptr %t362, i64 8 ; ->kind + %t366 = load i32, ptr %t365 + %t367 = icmp eq i32 %t366, 12 + br i1 %t367, label %brand.capsule154, label %brand.done155 +brand.capsule154: + %t368 = getelementptr inbounds i8, ptr %t362, i64 40 ; ->v.typed_ref.type_key + %t369 = load ptr, ptr %t368 + %t370 = icmp eq ptr %t369, @sc_cs_2875643240706496 + store i1 true, ptr %s363 + br i1 %t370, label %brand.done155, label %brand.compare156 +brand.compare156: + %t371 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t362, ptr @sc_lit_2875643240706496) + store i1 %t371, ptr %s363 + br label %brand.done155 +brand.done155: + %t372 = load i1, ptr %s363 + br i1 %t372, label %if.t157, label %if.j158 +if.t157: + call void @scr_throw_error_msg_code(i32 0, ptr @sc_cs_1707336406926269, i64 80, ptr @sc_cs_2988681134725684) + br label %exc.cleanup2 +if.j158: + %t373 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s374 + %t375 = icmp ne ptr %t373, null + br i1 %t375, label %brand.inspect159, label %brand.done161 +brand.inspect159: + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t378 = icmp eq i32 %t377, 12 + br i1 %t378, label %brand.capsule160, label %brand.done161 +brand.capsule160: + %t379 = getelementptr inbounds i8, ptr %t373, i64 40 ; ->v.typed_ref.type_key + %t380 = load ptr, ptr %t379 + %t381 = icmp eq ptr %t380, @sc_cs_21424698936986 + store i1 true, ptr %s374 + br i1 %t381, label %brand.done161, label %brand.compare162 +brand.compare162: + %t382 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t373, ptr @sc_lit_21424698936986) + store i1 %t382, ptr %s374 + br label %brand.done161 +brand.done161: + %t383 = load i1, ptr %s374 + br i1 %t383, label %if.t163, label %if.j164 +if.t163: + %t384 = load ptr, ptr %sc_l_p_0 + %t385 = call ptr @sc_rc_retain_dyn(ptr %t384) + %t387 = icmp ne ptr %t385, null + br i1 %t387, label %dc.inspect165, label %dc.checked168 +dc.inspect165: + %t392 = getelementptr inbounds i8, ptr %t385, i64 8 ; ->kind + %t393 = load i32, ptr %t392 + %t388 = icmp eq i32 %t393, 12 + br i1 %t388, label %dc.capsule166, label %dc.checked168 +dc.capsule166: + %t389 = getelementptr inbounds i8, ptr %t385, i64 40 ; ->v.typed_ref.type_key + %t390 = load ptr, ptr %t389 + %t391 = icmp eq ptr %t390, @sc_cs_21424698936986 + br i1 %t391, label %dc.exact167, label %dc.checked168 +dc.exact167: + %t394 = getelementptr inbounds i8, ptr %t385, i64 16 ; ->v.typed_ref.ptr + %t395 = load ptr, ptr %t394 + %t396 = call ptr @sc_retain__x25_m5_App(ptr %t395) + store ptr %t396, ptr %s386 + br label %dc.done169 +dc.checked168: + %t397 = call ptr @sc_dc_91(ptr %t385, ptr null) + store ptr %t397, ptr %s386 + %t398 = load i32, ptr %exc.cell + %t399 = icmp ne i32 %t398, 0 + %t400 = call i1 @llvm.expect.i1(i1 %t399, i1 false) + br i1 %t400, label %exc.u170, label %exc.k171 +exc.u170: + call void @sc_rc_release_dyn(ptr %t385) + br label %exc.cleanup2 +exc.k171: + br label %dc.done169 +dc.done169: + %t401 = load ptr, ptr %s386 + %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t403 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t402) + %t404 = load i32, ptr %exc.cell + %t405 = icmp ne i32 %t404, 0 + %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false) + br i1 %t406, label %exc.u172, label %exc.k173 +exc.u172: + call void @sc_rc_release_dyn(ptr %t385) + call void @sc_release__x25_m5_App(ptr %t401) + call void @sc_rc_release_dyn(ptr %t403) + br label %exc.cleanup2 +exc.k173: + %t407 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t403, ptr @sc_lit_731773075116702) + %t408 = load i32, ptr %exc.cell + %t409 = icmp ne i32 %t408, 0 + %t410 = call i1 @llvm.expect.i1(i1 %t409, i1 false) + br i1 %t410, label %exc.u174, label %exc.k175 +exc.u174: + call void @sc_rc_release_dyn(ptr %t385) + call void @sc_release__x25_m5_App(ptr %t401) + call void @sc_rc_release_dyn(ptr %t403) + br label %exc.cleanup2 +exc.k175: + call void @sc_rc_release_dyn(ptr %t385) + call void @sc_release__x25_m5_App(ptr %t401) + call void @sc_rc_release_dyn(ptr %t403) + br i1 %t407, label %if.t176, label %if.j177 +if.t176: + %t411 = load ptr, ptr %sc_l_p_0 + %t412 = call ptr @sc_rc_retain_dyn(ptr %t411) + %t414 = icmp ne ptr %t412, null + br i1 %t414, label %dc.inspect178, label %dc.checked181 +dc.inspect178: + %t419 = getelementptr inbounds i8, ptr %t412, i64 8 ; ->kind + %t420 = load i32, ptr %t419 + %t415 = icmp eq i32 %t420, 12 + br i1 %t415, label %dc.capsule179, label %dc.checked181 +dc.capsule179: + %t416 = getelementptr inbounds i8, ptr %t412, i64 40 ; ->v.typed_ref.type_key + %t417 = load ptr, ptr %t416 + %t418 = icmp eq ptr %t417, @sc_cs_21424698936986 + br i1 %t418, label %dc.exact180, label %dc.checked181 +dc.exact180: + %t421 = getelementptr inbounds i8, ptr %t412, i64 16 ; ->v.typed_ref.ptr + %t422 = load ptr, ptr %t421 + %t423 = call ptr @sc_retain__x25_m5_App(ptr %t422) + store ptr %t423, ptr %s413 + br label %dc.done182 +dc.checked181: + %t424 = call ptr @sc_dc_91(ptr %t412, ptr null) + store ptr %t424, ptr %s413 + %t425 = load i32, ptr %exc.cell + %t426 = icmp ne i32 %t425, 0 + %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false) + br i1 %t427, label %exc.u183, label %exc.k184 +exc.u183: + call void @sc_rc_release_dyn(ptr %t412) + br label %exc.cleanup2 +exc.k184: + br label %dc.done182 +dc.done182: + %t428 = load ptr, ptr %s413 + %t429 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t428, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t430 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t429) + %t431 = load i32, ptr %exc.cell + %t432 = icmp ne i32 %t431, 0 + %t433 = call i1 @llvm.expect.i1(i1 %t432, i1 false) + br i1 %t433, label %exc.u185, label %exc.k186 +exc.u185: + call void @sc_rc_release_dyn(ptr %t412) + call void @sc_release__x25_m5_App(ptr %t428) + call void @sc_rc_release_dyn(ptr %t430) + br label %exc.cleanup2 +exc.k186: + %t434 = load ptr, ptr %sc_l_p_0 + %t435 = call ptr @sc_rc_retain_dyn(ptr %t434) + %t437 = icmp ne ptr %t435, null + br i1 %t437, label %dc.inspect187, label %dc.checked190 +dc.inspect187: + %t442 = getelementptr inbounds i8, ptr %t435, i64 8 ; ->kind + %t443 = load i32, ptr %t442 + %t438 = icmp eq i32 %t443, 12 + br i1 %t438, label %dc.capsule188, label %dc.checked190 +dc.capsule188: + %t439 = getelementptr inbounds i8, ptr %t435, i64 40 ; ->v.typed_ref.type_key + %t440 = load ptr, ptr %t439 + %t441 = icmp eq ptr %t440, @sc_cs_21424698936986 + br i1 %t441, label %dc.exact189, label %dc.checked190 +dc.exact189: + %t444 = getelementptr inbounds i8, ptr %t435, i64 16 ; ->v.typed_ref.ptr + %t445 = load ptr, ptr %t444 + %t446 = call ptr @sc_retain__x25_m5_App(ptr %t445) + store ptr %t446, ptr %s436 + br label %dc.done191 +dc.checked190: + %t447 = call ptr @sc_dc_91(ptr %t435, ptr null) + store ptr %t447, ptr %s436 + %t448 = load i32, ptr %exc.cell + %t449 = icmp ne i32 %t448, 0 + %t450 = call i1 @llvm.expect.i1(i1 %t449, i1 false) + br i1 %t450, label %exc.u192, label %exc.k193 +exc.u192: + call void @sc_rc_release_dyn(ptr %t412) + call void @sc_release__x25_m5_App(ptr %t428) + call void @sc_rc_release_dyn(ptr %t430) + call void @sc_rc_release_dyn(ptr %t435) + br label %exc.cleanup2 +exc.k193: + br label %dc.done191 +dc.done191: + %t451 = load ptr, ptr %s436 + %t452 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t451, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t453 = call ptr @scr_dyn_bag_get(ptr %t430, ptr @sc_lit_731773075116702, ptr %t452) + %t454 = load i32, ptr %exc.cell + %t455 = icmp ne i32 %t454, 0 + %t456 = call i1 @llvm.expect.i1(i1 %t455, i1 false) + br i1 %t456, label %exc.u194, label %exc.k195 +exc.u194: + call void @sc_rc_release_dyn(ptr %t412) + call void @sc_release__x25_m5_App(ptr %t428) + call void @sc_rc_release_dyn(ptr %t430) + call void @sc_rc_release_dyn(ptr %t435) + call void @sc_release__x25_m5_App(ptr %t451) + call void @sc_rc_release_dyn(ptr %t452) + call void @sc_rc_release_dyn(ptr %t453) + br label %exc.cleanup2 +exc.k195: + call void @sc_rc_release_dyn(ptr %t412) + call void @sc_release__x25_m5_App(ptr %t428) + call void @sc_rc_release_dyn(ptr %t430) + call void @sc_rc_release_dyn(ptr %t435) + call void @sc_release__x25_m5_App(ptr %t451) + call void @sc_rc_release_dyn(ptr %t452) + %t457 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t457) + ret ptr %t453 +if.j177: + %t459 = call ptr @scr_dyn_undefined() + %t458 = call ptr @scr_dyn_retain_v(ptr %t459) + %t460 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t460) + ret ptr %t458 +if.j164: + %t461 = load ptr, ptr %sc_l_p_0 + %t462 = call ptr @sc_rc_retain_dyn(ptr %t461) + %t463 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t462) + %t464 = load i32, ptr %exc.cell + %t465 = icmp ne i32 %t464, 0 + %t466 = call i1 @llvm.expect.i1(i1 %t465, i1 false) + br i1 %t466, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t463) + br label %exc.cleanup2 +exc.k197: + %t467 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t463) + call void @sc_rc_release_dyn(ptr %t463) + store ptr %t467, ptr %sc_l_bag_0 + %t468 = load ptr, ptr %sc_l_bag_0 + %t469 = load ptr, ptr %sc_l_p_0 + %t470 = call zeroext i1 @scr_dyn_strict_eq(ptr %t468, ptr %t469) + br i1 %t470, label %tern.t198, label %tern.f199 +tern.t198: + %t472 = load ptr, ptr %sc_l_bag_0 + %t475 = getelementptr inbounds i8, ptr %t472, i64 8 ; ->kind + %t476 = load i32, ptr %t475 + %t474 = icmp eq i32 %t476, 5 + br i1 %t474, label %dkg.ic201, label %dkg.any202 +dkg.ic201: + %t477 = call ptr @scr_dyn_obj_read_ic(ptr %t472, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_0) + br label %dkg.j203 +dkg.any202: + %t478 = call ptr @sc_dyn_key_get(ptr %t472, ptr @sc_lit_731773075116702, i1 false) + br label %dkg.j203 +dkg.j203: + %t473 = phi ptr [ %t477, %dkg.ic201 ], [ %t478, %dkg.any202 ] + %t479 = load i32, ptr %exc.cell + %t480 = icmp ne i32 %t479, 0 + %t481 = call i1 @llvm.expect.i1(i1 %t480, i1 false) + br i1 %t481, label %exc.u204, label %exc.k205 +exc.u204: + call void @sc_rc_release_dyn(ptr %t473) + br label %exc.cleanup206 +exc.k205: + store ptr %t473, ptr %s471 + br label %tern.j200 +tern.f199: + %t482 = load ptr, ptr %sc_l_bag_0 + %t483 = call ptr @sc_rc_retain_dyn(ptr %t482) + %t484 = load ptr, ptr %sc_l_p_0 + %t485 = call ptr @sc_rc_retain_dyn(ptr %t484) + %t486 = call ptr @scr_dyn_bag_get(ptr %t483, ptr @sc_lit_731773075116702, ptr %t485) + %t487 = load i32, ptr %exc.cell + %t488 = icmp ne i32 %t487, 0 + %t489 = call i1 @llvm.expect.i1(i1 %t488, i1 false) + br i1 %t489, label %exc.u207, label %exc.k208 +exc.u207: + call void @sc_rc_release_dyn(ptr %t483) + call void @sc_rc_release_dyn(ptr %t485) + call void @sc_rc_release_dyn(ptr %t486) + br label %exc.cleanup206 +exc.k208: + store ptr %t486, ptr %s471 + call void @sc_rc_release_dyn(ptr %t483) + call void @sc_rc_release_dyn(ptr %t485) + br label %tern.j200 +tern.j200: + %t490 = load ptr, ptr %s471 + %t491 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t491) + %t492 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t492) + ret ptr %t490 +exc.cleanup2: + %t493 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t493) + ret ptr null +exc.cleanup206: + %t494 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t494) + %t495 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t495) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m5.App +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_21424698936986 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m5_App(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_91(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m5_App(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m14_BakedAssets(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m14.BakedAssets +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t0, i64 0, i32 2 + %t2 = load ptr, ptr %t1, !tbaa !204 + %t3 = getelementptr inbounds i8, ptr %t2, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 6 + br i1 %t5, label %if.t0, label %if.j1 +if.t0: + %t6 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr null +exc.k3: + %t10 = call ptr @scr_dyn_obj_create(ptr %t6) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t6) + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + call void @sc_rc_release_dyn(ptr %t6) + ret ptr %t10 +if.j1: + %t14 = load ptr, ptr %sc_l_p_0 + %t15 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t14, i64 0, i32 2 + %t16 = load ptr, ptr %t15, !tbaa !204 + %t17 = call ptr @sc_rc_retain_dyn(ptr %t16) + ret ptr %t17 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m14_BakedAssets(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m14_BakedAssets(ptr %p0) + call void @sc_release__x25_m14_BakedAssets(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_1(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.1 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s7 = alloca i1 + %s19 = alloca ptr + %s46 = alloca ptr + %s69 = alloca ptr + %s95 = alloca i1 + %s107 = alloca ptr + %s134 = alloca ptr + %s157 = alloca ptr + %s192 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t0) + %t2 = load i32, ptr %exc.cell + %t3 = icmp ne i32 %t2, 0 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t1) + br label %exc.cleanup2 +exc.k1: + %t5 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t5) + store ptr %t1, ptr %sc_l_p_0 + %t6 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s7 + %t8 = icmp ne ptr %t6, null + br i1 %t8, label %brand.inspect3, label %brand.done5 +brand.inspect3: + %t9 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t10 = load i32, ptr %t9 + %t11 = icmp eq i32 %t10, 12 + br i1 %t11, label %brand.capsule4, label %brand.done5 +brand.capsule4: + %t12 = getelementptr inbounds i8, ptr %t6, i64 40 ; ->v.typed_ref.type_key + %t13 = load ptr, ptr %t12 + %t14 = icmp eq ptr %t13, @sc_cs_2519527309428716 + store i1 true, ptr %s7 + br i1 %t14, label %brand.done5, label %brand.compare6 +brand.compare6: + %t15 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t6, ptr @sc_lit_2519527309428716) + store i1 %t15, ptr %s7 + br label %brand.done5 +brand.done5: + %t16 = load i1, ptr %s7 + br i1 %t16, label %if.t7, label %if.j8 +if.t7: + %t17 = load ptr, ptr %sc_l_p_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t20 = icmp ne ptr %t18, null + br i1 %t20, label %dc.inspect9, label %dc.checked12 +dc.inspect9: + %t25 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind + %t26 = load i32, ptr %t25 + %t21 = icmp eq i32 %t26, 12 + br i1 %t21, label %dc.capsule10, label %dc.checked12 +dc.capsule10: + %t22 = getelementptr inbounds i8, ptr %t18, i64 40 ; ->v.typed_ref.type_key + %t23 = load ptr, ptr %t22 + %t24 = icmp eq ptr %t23, @sc_cs_2519527309428716 + br i1 %t24, label %dc.exact11, label %dc.checked12 +dc.exact11: + %t27 = getelementptr inbounds i8, ptr %t18, i64 16 ; ->v.typed_ref.ptr + %t28 = load ptr, ptr %t27 + %t29 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t28) + store ptr %t29, ptr %s19 + br label %dc.done13 +dc.checked12: + %t30 = call ptr @sc_dc_108(ptr %t18, ptr null) + store ptr %t30, ptr %s19 + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t18) + br label %exc.cleanup2 +exc.k15: + br label %dc.done13 +dc.done13: + %t34 = load ptr, ptr %s19 + %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t36 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t35) + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + br label %exc.cleanup2 +exc.k17: + %t40 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t36, ptr @sc_lit_228045523956680) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + br label %exc.cleanup2 +exc.k19: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + br i1 %t40, label %if.t20, label %if.j21 +if.t20: + %t44 = load ptr, ptr %sc_l_p_0 + %t45 = call ptr @sc_rc_retain_dyn(ptr %t44) + %t47 = icmp ne ptr %t45, null + br i1 %t47, label %dc.inspect22, label %dc.checked25 +dc.inspect22: + %t52 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind + %t53 = load i32, ptr %t52 + %t48 = icmp eq i32 %t53, 12 + br i1 %t48, label %dc.capsule23, label %dc.checked25 +dc.capsule23: + %t49 = getelementptr inbounds i8, ptr %t45, i64 40 ; ->v.typed_ref.type_key + %t50 = load ptr, ptr %t49 + %t51 = icmp eq ptr %t50, @sc_cs_2519527309428716 + br i1 %t51, label %dc.exact24, label %dc.checked25 +dc.exact24: + %t54 = getelementptr inbounds i8, ptr %t45, i64 16 ; ->v.typed_ref.ptr + %t55 = load ptr, ptr %t54 + %t56 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t55) + store ptr %t56, ptr %s46 + br label %dc.done26 +dc.checked25: + %t57 = call ptr @sc_dc_108(ptr %t45, ptr null) + store ptr %t57, ptr %s46 + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t45) + br label %exc.cleanup2 +exc.k28: + br label %dc.done26 +dc.done26: + %t61 = load ptr, ptr %s46 + %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t63 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t62) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t61) + call void @sc_rc_release_dyn(ptr %t63) + br label %exc.cleanup2 +exc.k30: + %t67 = load ptr, ptr %sc_l_p_0 + %t68 = call ptr @sc_rc_retain_dyn(ptr %t67) + %t70 = icmp ne ptr %t68, null + br i1 %t70, label %dc.inspect31, label %dc.checked34 +dc.inspect31: + %t75 = getelementptr inbounds i8, ptr %t68, i64 8 ; ->kind + %t76 = load i32, ptr %t75 + %t71 = icmp eq i32 %t76, 12 + br i1 %t71, label %dc.capsule32, label %dc.checked34 +dc.capsule32: + %t72 = getelementptr inbounds i8, ptr %t68, i64 40 ; ->v.typed_ref.type_key + %t73 = load ptr, ptr %t72 + %t74 = icmp eq ptr %t73, @sc_cs_2519527309428716 + br i1 %t74, label %dc.exact33, label %dc.checked34 +dc.exact33: + %t77 = getelementptr inbounds i8, ptr %t68, i64 16 ; ->v.typed_ref.ptr + %t78 = load ptr, ptr %t77 + %t79 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t78) + store ptr %t79, ptr %s69 + br label %dc.done35 +dc.checked34: + %t80 = call ptr @sc_dc_108(ptr %t68, ptr null) + store ptr %t80, ptr %s69 + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t61) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t68) + br label %exc.cleanup2 +exc.k37: + br label %dc.done35 +dc.done35: + %t84 = load ptr, ptr %s69 + %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t86 = call ptr @scr_dyn_bag_get(ptr %t63, ptr @sc_lit_228045523956680, ptr %t85) + %t87 = load i32, ptr %exc.cell + %t88 = icmp ne i32 %t87, 0 + %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false) + br i1 %t89, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t61) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t84) + call void @sc_rc_release_dyn(ptr %t85) + call void @sc_rc_release_dyn(ptr %t86) + br label %exc.cleanup2 +exc.k39: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t61) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t84) + call void @sc_rc_release_dyn(ptr %t85) + %t90 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t90) + ret ptr %t86 +if.j21: + %t92 = call ptr @scr_dyn_undefined() + %t91 = call ptr @scr_dyn_retain_v(ptr %t92) + %t93 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t93) + ret ptr %t91 +if.j8: + %t94 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s95 + %t96 = icmp ne ptr %t94, null + br i1 %t96, label %brand.inspect40, label %brand.done42 +brand.inspect40: + %t97 = getelementptr inbounds i8, ptr %t94, i64 8 ; ->kind + %t98 = load i32, ptr %t97 + %t99 = icmp eq i32 %t98, 12 + br i1 %t99, label %brand.capsule41, label %brand.done42 +brand.capsule41: + %t100 = getelementptr inbounds i8, ptr %t94, i64 40 ; ->v.typed_ref.type_key + %t101 = load ptr, ptr %t100 + %t102 = icmp eq ptr %t101, @sc_cs_4143564844538255 + store i1 true, ptr %s95 + br i1 %t102, label %brand.done42, label %brand.compare43 +brand.compare43: + %t103 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t94, ptr @sc_lit_4143564844538255) + store i1 %t103, ptr %s95 + br label %brand.done42 +brand.done42: + %t104 = load i1, ptr %s95 + br i1 %t104, label %if.t44, label %if.j45 +if.t44: + %t105 = load ptr, ptr %sc_l_p_0 + %t106 = call ptr @sc_rc_retain_dyn(ptr %t105) + %t108 = icmp ne ptr %t106, null + br i1 %t108, label %dc.inspect46, label %dc.checked49 +dc.inspect46: + %t113 = getelementptr inbounds i8, ptr %t106, i64 8 ; ->kind + %t114 = load i32, ptr %t113 + %t109 = icmp eq i32 %t114, 12 + br i1 %t109, label %dc.capsule47, label %dc.checked49 +dc.capsule47: + %t110 = getelementptr inbounds i8, ptr %t106, i64 40 ; ->v.typed_ref.type_key + %t111 = load ptr, ptr %t110 + %t112 = icmp eq ptr %t111, @sc_cs_4143564844538255 + br i1 %t112, label %dc.exact48, label %dc.checked49 +dc.exact48: + %t115 = getelementptr inbounds i8, ptr %t106, i64 16 ; ->v.typed_ref.ptr + %t116 = load ptr, ptr %t115 + %t117 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t116) + store ptr %t117, ptr %s107 + br label %dc.done50 +dc.checked49: + %t118 = call ptr @sc_dc_109(ptr %t106, ptr null) + store ptr %t118, ptr %s107 + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t106) + br label %exc.cleanup2 +exc.k52: + br label %dc.done50 +dc.done50: + %t122 = load ptr, ptr %s107 + %t123 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t122, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t124 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t123) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_release__x25_m14_BakedAssets(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + br label %exc.cleanup2 +exc.k54: + %t128 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t124, ptr @sc_lit_228045523956680) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_release__x25_m14_BakedAssets(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + br label %exc.cleanup2 +exc.k56: + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_release__x25_m14_BakedAssets(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + br i1 %t128, label %if.t57, label %if.j58 +if.t57: + %t132 = load ptr, ptr %sc_l_p_0 + %t133 = call ptr @sc_rc_retain_dyn(ptr %t132) + %t135 = icmp ne ptr %t133, null + br i1 %t135, label %dc.inspect59, label %dc.checked62 +dc.inspect59: + %t140 = getelementptr inbounds i8, ptr %t133, i64 8 ; ->kind + %t141 = load i32, ptr %t140 + %t136 = icmp eq i32 %t141, 12 + br i1 %t136, label %dc.capsule60, label %dc.checked62 +dc.capsule60: + %t137 = getelementptr inbounds i8, ptr %t133, i64 40 ; ->v.typed_ref.type_key + %t138 = load ptr, ptr %t137 + %t139 = icmp eq ptr %t138, @sc_cs_4143564844538255 + br i1 %t139, label %dc.exact61, label %dc.checked62 +dc.exact61: + %t142 = getelementptr inbounds i8, ptr %t133, i64 16 ; ->v.typed_ref.ptr + %t143 = load ptr, ptr %t142 + %t144 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t143) + store ptr %t144, ptr %s134 + br label %dc.done63 +dc.checked62: + %t145 = call ptr @sc_dc_109(ptr %t133, ptr null) + store ptr %t145, ptr %s134 + %t146 = load i32, ptr %exc.cell + %t147 = icmp ne i32 %t146, 0 + %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false) + br i1 %t148, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t133) + br label %exc.cleanup2 +exc.k65: + br label %dc.done63 +dc.done63: + %t149 = load ptr, ptr %s134 + %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t151 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t150) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_release__x25_m14_BakedAssets(ptr %t149) + call void @sc_rc_release_dyn(ptr %t151) + br label %exc.cleanup2 +exc.k67: + %t155 = load ptr, ptr %sc_l_p_0 + %t156 = call ptr @sc_rc_retain_dyn(ptr %t155) + %t158 = icmp ne ptr %t156, null + br i1 %t158, label %dc.inspect68, label %dc.checked71 +dc.inspect68: + %t163 = getelementptr inbounds i8, ptr %t156, i64 8 ; ->kind + %t164 = load i32, ptr %t163 + %t159 = icmp eq i32 %t164, 12 + br i1 %t159, label %dc.capsule69, label %dc.checked71 +dc.capsule69: + %t160 = getelementptr inbounds i8, ptr %t156, i64 40 ; ->v.typed_ref.type_key + %t161 = load ptr, ptr %t160 + %t162 = icmp eq ptr %t161, @sc_cs_4143564844538255 + br i1 %t162, label %dc.exact70, label %dc.checked71 +dc.exact70: + %t165 = getelementptr inbounds i8, ptr %t156, i64 16 ; ->v.typed_ref.ptr + %t166 = load ptr, ptr %t165 + %t167 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t166) + store ptr %t167, ptr %s157 + br label %dc.done72 +dc.checked71: + %t168 = call ptr @sc_dc_109(ptr %t156, ptr null) + store ptr %t168, ptr %s157 + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u73, label %exc.k74 +exc.u73: + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_release__x25_m14_BakedAssets(ptr %t149) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t156) + br label %exc.cleanup2 +exc.k74: + br label %dc.done72 +dc.done72: + %t172 = load ptr, ptr %s157 + %t173 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t172, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t174 = call ptr @scr_dyn_bag_get(ptr %t151, ptr @sc_lit_228045523956680, ptr %t173) + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_release__x25_m14_BakedAssets(ptr %t149) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_release__x25_m14_BakedAssets(ptr %t172) + call void @sc_rc_release_dyn(ptr %t173) + call void @sc_rc_release_dyn(ptr %t174) + br label %exc.cleanup2 +exc.k76: + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_release__x25_m14_BakedAssets(ptr %t149) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_release__x25_m14_BakedAssets(ptr %t172) + call void @sc_rc_release_dyn(ptr %t173) + %t178 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t178) + ret ptr %t174 +if.j58: + %t180 = call ptr @scr_dyn_undefined() + %t179 = call ptr @scr_dyn_retain_v(ptr %t180) + %t181 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t181) + ret ptr %t179 +if.j45: + %t182 = load ptr, ptr %sc_l_p_0 + %t183 = call ptr @sc_rc_retain_dyn(ptr %t182) + %t184 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t183) + %t185 = load i32, ptr %exc.cell + %t186 = icmp ne i32 %t185, 0 + %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false) + br i1 %t187, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t184) + br label %exc.cleanup2 +exc.k78: + %t188 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t184) + call void @sc_rc_release_dyn(ptr %t184) + store ptr %t188, ptr %sc_l_bag_0 + %t189 = load ptr, ptr %sc_l_bag_0 + %t190 = load ptr, ptr %sc_l_p_0 + %t191 = call zeroext i1 @scr_dyn_strict_eq(ptr %t189, ptr %t190) + br i1 %t191, label %tern.t79, label %tern.f80 +tern.t79: + %t193 = load ptr, ptr %sc_l_bag_0 + %t196 = getelementptr inbounds i8, ptr %t193, i64 8 ; ->kind + %t197 = load i32, ptr %t196 + %t195 = icmp eq i32 %t197, 5 + br i1 %t195, label %dkg.ic82, label %dkg.any83 +dkg.ic82: + %t198 = call ptr @scr_dyn_obj_read_ic(ptr %t193, ptr @sc_lit_228045523956680, ptr @sc_dyn_read_ic_1) + br label %dkg.j84 +dkg.any83: + %t199 = call ptr @sc_dyn_key_get(ptr %t193, ptr @sc_lit_228045523956680, i1 false) + br label %dkg.j84 +dkg.j84: + %t194 = phi ptr [ %t198, %dkg.ic82 ], [ %t199, %dkg.any83 ] + %t200 = load i32, ptr %exc.cell + %t201 = icmp ne i32 %t200, 0 + %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false) + br i1 %t202, label %exc.u85, label %exc.k86 +exc.u85: + call void @sc_rc_release_dyn(ptr %t194) + br label %exc.cleanup87 +exc.k86: + store ptr %t194, ptr %s192 + br label %tern.j81 +tern.f80: + %t203 = load ptr, ptr %sc_l_bag_0 + %t204 = call ptr @sc_rc_retain_dyn(ptr %t203) + %t205 = load ptr, ptr %sc_l_p_0 + %t206 = call ptr @sc_rc_retain_dyn(ptr %t205) + %t207 = call ptr @scr_dyn_bag_get(ptr %t204, ptr @sc_lit_228045523956680, ptr %t206) + %t208 = load i32, ptr %exc.cell + %t209 = icmp ne i32 %t208, 0 + %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false) + br i1 %t210, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t204) + call void @sc_rc_release_dyn(ptr %t206) + call void @sc_rc_release_dyn(ptr %t207) + br label %exc.cleanup87 +exc.k89: + store ptr %t207, ptr %s192 + call void @sc_rc_release_dyn(ptr %t204) + call void @sc_rc_release_dyn(ptr %t206) + br label %tern.j81 +tern.j81: + %t211 = load ptr, ptr %s192 + %t212 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t212) + %t213 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t213) + ret ptr %t211 +exc.cleanup2: + %t214 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t214) + ret ptr null +exc.cleanup87: + %t215 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t215) + %t216 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t216) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_2(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.2 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_21424698936986 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_21424698936986 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_91(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_864781090888737) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_21424698936986 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_91(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_21424698936986 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_91(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_864781090888737, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_864781090888737, ptr @sc_dyn_read_ic_2) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_864781090888737, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_864781090888737, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_3(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.3 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_21424698936986 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_21424698936986 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_91(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_405767859507088) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_21424698936986 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_91(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_21424698936986 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_91(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_405767859507088, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_405767859507088, ptr @sc_dyn_read_ic_3) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_405767859507088, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_405767859507088, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_4(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.4 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_21424698936986 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_21424698936986 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_91(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_603267670272610) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_21424698936986 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_91(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_21424698936986 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_91(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_603267670272610, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_603267670272610, ptr @sc_dyn_read_ic_4) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_603267670272610, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_603267670272610, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_5(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.5 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_21424698936986 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_21424698936986 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_91(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2014847608589337) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_21424698936986 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_91(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_21424698936986 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_91(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2014847608589337, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2014847608589337, ptr @sc_dyn_read_ic_5) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2014847608589337, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2014847608589337, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_6(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.6 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s45 = alloca i1 + %s57 = alloca ptr + %s88 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_101(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t38, i64 0, i32 2 + %t40 = load ptr, ptr %t39, !tbaa !78 + %t41 = call ptr @sc_rc_retain_str(ptr %t40) + %t42 = call ptr @sc_td_0(ptr %t41) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @scr_str_release(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + ret ptr %t42 +if.j10: + %t44 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s45 + %t46 = icmp ne ptr %t44, null + br i1 %t46, label %brand.inspect18, label %brand.done20 +brand.inspect18: + %t47 = getelementptr inbounds i8, ptr %t44, i64 8 ; ->kind + %t48 = load i32, ptr %t47 + %t49 = icmp eq i32 %t48, 12 + br i1 %t49, label %brand.capsule19, label %brand.done20 +brand.capsule19: + %t50 = getelementptr inbounds i8, ptr %t44, i64 40 ; ->v.typed_ref.type_key + %t51 = load ptr, ptr %t50 + %t52 = icmp eq ptr %t51, @sc_cs_660811353369478 + store i1 true, ptr %s45 + br i1 %t52, label %brand.done20, label %brand.compare21 +brand.compare21: + %t53 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t44, ptr @sc_lit_660811353369478) + store i1 %t53, ptr %s45 + br label %brand.done20 +brand.done20: + %t54 = load i1, ptr %s45 + br i1 %t54, label %if.t22, label %if.j23 +if.t22: + %t55 = load ptr, ptr %sc_l_p_0 + %t56 = call ptr @sc_rc_retain_dyn(ptr %t55) + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t64 = load i32, ptr %t63 + %t59 = icmp eq i32 %t64, 12 + br i1 %t59, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t61 = load ptr, ptr %t60 + %t62 = icmp eq ptr %t61, @sc_cs_660811353369478 + br i1 %t62, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr + %t66 = load ptr, ptr %t65 + %t67 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t66) + store ptr %t67, ptr %s57 + br label %dc.done28 +dc.checked27: + %t68 = call ptr @sc_dc_28(ptr %t56, ptr null) + store ptr %t68, ptr %s57 + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t56) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t72 = load ptr, ptr %s57 + %t73 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t72, i64 0, i32 6 + %t74 = load ptr, ptr %t73, !tbaa !78 + %t75 = call ptr @sc_rc_retain_str(ptr %t74) + %t76 = call ptr @sc_td_0(ptr %t75) + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_release__x25_m5_ReqViewCore(ptr %t72) + call void @scr_str_release(ptr %t75) + %t77 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t77) + ret ptr %t76 +if.j23: + %t78 = load ptr, ptr %sc_l_p_0 + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + %t80 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t79) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t80) + br label %exc.cleanup2 +exc.k32: + %t84 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t80) + call void @sc_rc_release_dyn(ptr %t80) + store ptr %t84, ptr %sc_l_bag_0 + %t85 = load ptr, ptr %sc_l_bag_0 + %t86 = load ptr, ptr %sc_l_p_0 + %t87 = call zeroext i1 @scr_dyn_strict_eq(ptr %t85, ptr %t86) + br i1 %t87, label %tern.t33, label %tern.f34 +tern.t33: + %t89 = load ptr, ptr %sc_l_bag_0 + %t92 = getelementptr inbounds i8, ptr %t89, i64 8 ; ->kind + %t93 = load i32, ptr %t92 + %t91 = icmp eq i32 %t93, 5 + br i1 %t91, label %dkg.ic36, label %dkg.any37 +dkg.ic36: + %t94 = call ptr @scr_dyn_obj_read_ic(ptr %t89, ptr @sc_lit_719487464480143, ptr @sc_dyn_read_ic_6) + br label %dkg.j38 +dkg.any37: + %t95 = call ptr @sc_dyn_key_get(ptr %t89, ptr @sc_lit_719487464480143, i1 false) + br label %dkg.j38 +dkg.j38: + %t90 = phi ptr [ %t94, %dkg.ic36 ], [ %t95, %dkg.any37 ] + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup41 +exc.k40: + store ptr %t90, ptr %s88 + br label %tern.j35 +tern.f34: + %t99 = load ptr, ptr %sc_l_bag_0 + %t100 = call ptr @sc_rc_retain_dyn(ptr %t99) + %t101 = load ptr, ptr %sc_l_p_0 + %t102 = call ptr @sc_rc_retain_dyn(ptr %t101) + %t103 = call ptr @scr_dyn_bag_get(ptr %t100, ptr @sc_lit_719487464480143, ptr %t102) + %t104 = load i32, ptr %exc.cell + %t105 = icmp ne i32 %t104, 0 + %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false) + br i1 %t106, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t103) + br label %exc.cleanup41 +exc.k43: + store ptr %t103, ptr %s88 + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t102) + br label %tern.j35 +tern.j35: + %t107 = load ptr, ptr %s88 + %t108 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t108) + %t109 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t109) + ret ptr %t107 +exc.cleanup2: + %t110 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t110) + ret ptr null +exc.cleanup41: + %t111 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t111) + %t112 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t112) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_7(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.7 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s45 = alloca i1 + %s57 = alloca ptr + %s88 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_101(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t38, i64 0, i32 1 + %t40 = load ptr, ptr %t39, !tbaa !76 + %t41 = call ptr @sc_rc_retain_str(ptr %t40) + %t42 = call ptr @sc_td_0(ptr %t41) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @scr_str_release(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + ret ptr %t42 +if.j10: + %t44 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s45 + %t46 = icmp ne ptr %t44, null + br i1 %t46, label %brand.inspect18, label %brand.done20 +brand.inspect18: + %t47 = getelementptr inbounds i8, ptr %t44, i64 8 ; ->kind + %t48 = load i32, ptr %t47 + %t49 = icmp eq i32 %t48, 12 + br i1 %t49, label %brand.capsule19, label %brand.done20 +brand.capsule19: + %t50 = getelementptr inbounds i8, ptr %t44, i64 40 ; ->v.typed_ref.type_key + %t51 = load ptr, ptr %t50 + %t52 = icmp eq ptr %t51, @sc_cs_660811353369478 + store i1 true, ptr %s45 + br i1 %t52, label %brand.done20, label %brand.compare21 +brand.compare21: + %t53 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t44, ptr @sc_lit_660811353369478) + store i1 %t53, ptr %s45 + br label %brand.done20 +brand.done20: + %t54 = load i1, ptr %s45 + br i1 %t54, label %if.t22, label %if.j23 +if.t22: + %t55 = load ptr, ptr %sc_l_p_0 + %t56 = call ptr @sc_rc_retain_dyn(ptr %t55) + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t64 = load i32, ptr %t63 + %t59 = icmp eq i32 %t64, 12 + br i1 %t59, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t61 = load ptr, ptr %t60 + %t62 = icmp eq ptr %t61, @sc_cs_660811353369478 + br i1 %t62, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr + %t66 = load ptr, ptr %t65 + %t67 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t66) + store ptr %t67, ptr %s57 + br label %dc.done28 +dc.checked27: + %t68 = call ptr @sc_dc_28(ptr %t56, ptr null) + store ptr %t68, ptr %s57 + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t56) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t72 = load ptr, ptr %s57 + %t73 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t72, i64 0, i32 5 + %t74 = load ptr, ptr %t73, !tbaa !76 + %t75 = call ptr @sc_rc_retain_str(ptr %t74) + %t76 = call ptr @sc_td_0(ptr %t75) + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_release__x25_m5_ReqViewCore(ptr %t72) + call void @scr_str_release(ptr %t75) + %t77 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t77) + ret ptr %t76 +if.j23: + %t78 = load ptr, ptr %sc_l_p_0 + %t79 = call ptr @sc_rc_retain_dyn(ptr %t78) + %t80 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t79) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t80) + br label %exc.cleanup2 +exc.k32: + %t84 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t80) + call void @sc_rc_release_dyn(ptr %t80) + store ptr %t84, ptr %sc_l_bag_0 + %t85 = load ptr, ptr %sc_l_bag_0 + %t86 = load ptr, ptr %sc_l_p_0 + %t87 = call zeroext i1 @scr_dyn_strict_eq(ptr %t85, ptr %t86) + br i1 %t87, label %tern.t33, label %tern.f34 +tern.t33: + %t89 = load ptr, ptr %sc_l_bag_0 + %t92 = getelementptr inbounds i8, ptr %t89, i64 8 ; ->kind + %t93 = load i32, ptr %t92 + %t91 = icmp eq i32 %t93, 5 + br i1 %t91, label %dkg.ic36, label %dkg.any37 +dkg.ic36: + %t94 = call ptr @scr_dyn_obj_read_ic(ptr %t89, ptr @sc_lit_1609576561362083, ptr @sc_dyn_read_ic_7) + br label %dkg.j38 +dkg.any37: + %t95 = call ptr @sc_dyn_key_get(ptr %t89, ptr @sc_lit_1609576561362083, i1 false) + br label %dkg.j38 +dkg.j38: + %t90 = phi ptr [ %t94, %dkg.ic36 ], [ %t95, %dkg.any37 ] + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup41 +exc.k40: + store ptr %t90, ptr %s88 + br label %tern.j35 +tern.f34: + %t99 = load ptr, ptr %sc_l_bag_0 + %t100 = call ptr @sc_rc_retain_dyn(ptr %t99) + %t101 = load ptr, ptr %sc_l_p_0 + %t102 = call ptr @sc_rc_retain_dyn(ptr %t101) + %t103 = call ptr @scr_dyn_bag_get(ptr %t100, ptr @sc_lit_1609576561362083, ptr %t102) + %t104 = load i32, ptr %exc.cell + %t105 = icmp ne i32 %t104, 0 + %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false) + br i1 %t106, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t103) + br label %exc.cleanup41 +exc.k43: + store ptr %t103, ptr %s88 + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t102) + br label %tern.j35 +tern.j35: + %t107 = load ptr, ptr %s88 + %t108 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t108) + %t109 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t109) + ret ptr %t107 +exc.cleanup2: + %t110 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t110) + ret ptr null +exc.cleanup41: + %t111 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t111) + %t112 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t112) + ret ptr null +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m5.ReqViewCore +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 17 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t18, i64 0, i32 17 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %p0) + call void @sc_release__x25_m5_ReqViewCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_8(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.8 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_660811353369478 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_660811353369478 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_28(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2356143898347316) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_660811353369478 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_28(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_660811353369478 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_28(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2356143898347316, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2356143898347316, ptr @sc_dyn_read_ic_8) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2356143898347316, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2356143898347316, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_9(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.9 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_660811353369478 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_660811353369478 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_28(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_40786511283622) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_660811353369478 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_28(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_660811353369478 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_28(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_40786511283622, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_40786511283622, ptr @sc_dyn_read_ic_9) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_40786511283622, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_40786511283622, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_10(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.10 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s363 = alloca i1 + %s375 = alloca ptr + %s402 = alloca ptr + %s425 = alloca ptr + %s460 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_30(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3908714124573206) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_1746033898805369 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_30(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_1746033898805369 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_30(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3908714124573206, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxResCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxResCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_4074974279575818 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_4074974279575818) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_4074974279575818 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_104(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m3_LiteResponse(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_3908714124573206) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m3_LiteResponse(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m3_LiteResponse(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_4074974279575818 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_104(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m3_LiteResponse(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_4074974279575818 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_104(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m3_LiteResponse(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_3908714124573206, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m3_LiteResponse(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m3_LiteResponse(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m3_LiteResponse(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m3_LiteResponse(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_2434838942941195 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_2434838942941195) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_2434838942941195 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_52(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_3908714124573206) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_2434838942941195 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_52(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_2434838942941195 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_52(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_3908714124573206, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_3326437563644705 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_3326437563644705) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_3326437563644705 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_102(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_3908714124573206) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_3326437563644705 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_102(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_3326437563644705 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_102(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_3908714124573206, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s363 + %t364 = icmp ne ptr %t362, null + br i1 %t364, label %brand.inspect153, label %brand.done155 +brand.inspect153: + %t365 = getelementptr inbounds i8, ptr %t362, i64 8 ; ->kind + %t366 = load i32, ptr %t365 + %t367 = icmp eq i32 %t366, 12 + br i1 %t367, label %brand.capsule154, label %brand.done155 +brand.capsule154: + %t368 = getelementptr inbounds i8, ptr %t362, i64 40 ; ->v.typed_ref.type_key + %t369 = load ptr, ptr %t368 + %t370 = icmp eq ptr %t369, @sc_cs_629517122853751 + store i1 true, ptr %s363 + br i1 %t370, label %brand.done155, label %brand.compare156 +brand.compare156: + %t371 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t362, ptr @sc_lit_629517122853751) + store i1 %t371, ptr %s363 + br label %brand.done155 +brand.done155: + %t372 = load i1, ptr %s363 + br i1 %t372, label %if.t157, label %if.j158 +if.t157: + %t373 = load ptr, ptr %sc_l_p_0 + %t374 = call ptr @sc_rc_retain_dyn(ptr %t373) + %t376 = icmp ne ptr %t374, null + br i1 %t376, label %dc.inspect159, label %dc.checked162 +dc.inspect159: + %t381 = getelementptr inbounds i8, ptr %t374, i64 8 ; ->kind + %t382 = load i32, ptr %t381 + %t377 = icmp eq i32 %t382, 12 + br i1 %t377, label %dc.capsule160, label %dc.checked162 +dc.capsule160: + %t378 = getelementptr inbounds i8, ptr %t374, i64 40 ; ->v.typed_ref.type_key + %t379 = load ptr, ptr %t378 + %t380 = icmp eq ptr %t379, @sc_cs_629517122853751 + br i1 %t380, label %dc.exact161, label %dc.checked162 +dc.exact161: + %t383 = getelementptr inbounds i8, ptr %t374, i64 16 ; ->v.typed_ref.ptr + %t384 = load ptr, ptr %t383 + %t385 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t384) + store ptr %t385, ptr %s375 + br label %dc.done163 +dc.checked162: + %t386 = call ptr @sc_dc_29(ptr %t374, ptr null) + store ptr %t386, ptr %s375 + %t387 = load i32, ptr %exc.cell + %t388 = icmp ne i32 %t387, 0 + %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false) + br i1 %t389, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup2 +exc.k165: + br label %dc.done163 +dc.done163: + %t390 = load ptr, ptr %s375 + %t391 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t390, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t392 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t391) + %t393 = load i32, ptr %exc.cell + %t394 = icmp ne i32 %t393, 0 + %t395 = call i1 @llvm.expect.i1(i1 %t394, i1 false) + br i1 %t395, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t374) + call void @sc_release__x25_m2_ResponseSink(ptr %t390) + call void @sc_rc_release_dyn(ptr %t392) + br label %exc.cleanup2 +exc.k167: + %t396 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t392, ptr @sc_lit_3908714124573206) + %t397 = load i32, ptr %exc.cell + %t398 = icmp ne i32 %t397, 0 + %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false) + br i1 %t399, label %exc.u168, label %exc.k169 +exc.u168: + call void @sc_rc_release_dyn(ptr %t374) + call void @sc_release__x25_m2_ResponseSink(ptr %t390) + call void @sc_rc_release_dyn(ptr %t392) + br label %exc.cleanup2 +exc.k169: + call void @sc_rc_release_dyn(ptr %t374) + call void @sc_release__x25_m2_ResponseSink(ptr %t390) + call void @sc_rc_release_dyn(ptr %t392) + br i1 %t396, label %if.t170, label %if.j171 +if.t170: + %t400 = load ptr, ptr %sc_l_p_0 + %t401 = call ptr @sc_rc_retain_dyn(ptr %t400) + %t403 = icmp ne ptr %t401, null + br i1 %t403, label %dc.inspect172, label %dc.checked175 +dc.inspect172: + %t408 = getelementptr inbounds i8, ptr %t401, i64 8 ; ->kind + %t409 = load i32, ptr %t408 + %t404 = icmp eq i32 %t409, 12 + br i1 %t404, label %dc.capsule173, label %dc.checked175 +dc.capsule173: + %t405 = getelementptr inbounds i8, ptr %t401, i64 40 ; ->v.typed_ref.type_key + %t406 = load ptr, ptr %t405 + %t407 = icmp eq ptr %t406, @sc_cs_629517122853751 + br i1 %t407, label %dc.exact174, label %dc.checked175 +dc.exact174: + %t410 = getelementptr inbounds i8, ptr %t401, i64 16 ; ->v.typed_ref.ptr + %t411 = load ptr, ptr %t410 + %t412 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t411) + store ptr %t412, ptr %s402 + br label %dc.done176 +dc.checked175: + %t413 = call ptr @sc_dc_29(ptr %t401, ptr null) + store ptr %t413, ptr %s402 + %t414 = load i32, ptr %exc.cell + %t415 = icmp ne i32 %t414, 0 + %t416 = call i1 @llvm.expect.i1(i1 %t415, i1 false) + br i1 %t416, label %exc.u177, label %exc.k178 +exc.u177: + call void @sc_rc_release_dyn(ptr %t401) + br label %exc.cleanup2 +exc.k178: + br label %dc.done176 +dc.done176: + %t417 = load ptr, ptr %s402 + %t418 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t417, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t419 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t418) + %t420 = load i32, ptr %exc.cell + %t421 = icmp ne i32 %t420, 0 + %t422 = call i1 @llvm.expect.i1(i1 %t421, i1 false) + br i1 %t422, label %exc.u179, label %exc.k180 +exc.u179: + call void @sc_rc_release_dyn(ptr %t401) + call void @sc_release__x25_m2_ResponseSink(ptr %t417) + call void @sc_rc_release_dyn(ptr %t419) + br label %exc.cleanup2 +exc.k180: + %t423 = load ptr, ptr %sc_l_p_0 + %t424 = call ptr @sc_rc_retain_dyn(ptr %t423) + %t426 = icmp ne ptr %t424, null + br i1 %t426, label %dc.inspect181, label %dc.checked184 +dc.inspect181: + %t431 = getelementptr inbounds i8, ptr %t424, i64 8 ; ->kind + %t432 = load i32, ptr %t431 + %t427 = icmp eq i32 %t432, 12 + br i1 %t427, label %dc.capsule182, label %dc.checked184 +dc.capsule182: + %t428 = getelementptr inbounds i8, ptr %t424, i64 40 ; ->v.typed_ref.type_key + %t429 = load ptr, ptr %t428 + %t430 = icmp eq ptr %t429, @sc_cs_629517122853751 + br i1 %t430, label %dc.exact183, label %dc.checked184 +dc.exact183: + %t433 = getelementptr inbounds i8, ptr %t424, i64 16 ; ->v.typed_ref.ptr + %t434 = load ptr, ptr %t433 + %t435 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t434) + store ptr %t435, ptr %s425 + br label %dc.done185 +dc.checked184: + %t436 = call ptr @sc_dc_29(ptr %t424, ptr null) + store ptr %t436, ptr %s425 + %t437 = load i32, ptr %exc.cell + %t438 = icmp ne i32 %t437, 0 + %t439 = call i1 @llvm.expect.i1(i1 %t438, i1 false) + br i1 %t439, label %exc.u186, label %exc.k187 +exc.u186: + call void @sc_rc_release_dyn(ptr %t401) + call void @sc_release__x25_m2_ResponseSink(ptr %t417) + call void @sc_rc_release_dyn(ptr %t419) + call void @sc_rc_release_dyn(ptr %t424) + br label %exc.cleanup2 +exc.k187: + br label %dc.done185 +dc.done185: + %t440 = load ptr, ptr %s425 + %t441 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t440, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t442 = call ptr @scr_dyn_bag_get(ptr %t419, ptr @sc_lit_3908714124573206, ptr %t441) + %t443 = load i32, ptr %exc.cell + %t444 = icmp ne i32 %t443, 0 + %t445 = call i1 @llvm.expect.i1(i1 %t444, i1 false) + br i1 %t445, label %exc.u188, label %exc.k189 +exc.u188: + call void @sc_rc_release_dyn(ptr %t401) + call void @sc_release__x25_m2_ResponseSink(ptr %t417) + call void @sc_rc_release_dyn(ptr %t419) + call void @sc_rc_release_dyn(ptr %t424) + call void @sc_release__x25_m2_ResponseSink(ptr %t440) + call void @sc_rc_release_dyn(ptr %t441) + call void @sc_rc_release_dyn(ptr %t442) + br label %exc.cleanup2 +exc.k189: + call void @sc_rc_release_dyn(ptr %t401) + call void @sc_release__x25_m2_ResponseSink(ptr %t417) + call void @sc_rc_release_dyn(ptr %t419) + call void @sc_rc_release_dyn(ptr %t424) + call void @sc_release__x25_m2_ResponseSink(ptr %t440) + call void @sc_rc_release_dyn(ptr %t441) + %t446 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t446) + ret ptr %t442 +if.j171: + %t448 = call ptr @scr_dyn_undefined() + %t447 = call ptr @scr_dyn_retain_v(ptr %t448) + %t449 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t449) + ret ptr %t447 +if.j158: + %t450 = load ptr, ptr %sc_l_p_0 + %t451 = call ptr @sc_rc_retain_dyn(ptr %t450) + %t452 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t451) + %t453 = load i32, ptr %exc.cell + %t454 = icmp ne i32 %t453, 0 + %t455 = call i1 @llvm.expect.i1(i1 %t454, i1 false) + br i1 %t455, label %exc.u190, label %exc.k191 +exc.u190: + call void @sc_rc_release_dyn(ptr %t452) + br label %exc.cleanup2 +exc.k191: + %t456 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t452) + call void @sc_rc_release_dyn(ptr %t452) + store ptr %t456, ptr %sc_l_bag_0 + %t457 = load ptr, ptr %sc_l_bag_0 + %t458 = load ptr, ptr %sc_l_p_0 + %t459 = call zeroext i1 @scr_dyn_strict_eq(ptr %t457, ptr %t458) + br i1 %t459, label %tern.t192, label %tern.f193 +tern.t192: + %t461 = load ptr, ptr %sc_l_bag_0 + %t464 = getelementptr inbounds i8, ptr %t461, i64 8 ; ->kind + %t465 = load i32, ptr %t464 + %t463 = icmp eq i32 %t465, 5 + br i1 %t463, label %dkg.ic195, label %dkg.any196 +dkg.ic195: + %t466 = call ptr @scr_dyn_obj_read_ic(ptr %t461, ptr @sc_lit_3908714124573206, ptr @sc_dyn_read_ic_10) + br label %dkg.j197 +dkg.any196: + %t467 = call ptr @sc_dyn_key_get(ptr %t461, ptr @sc_lit_3908714124573206, i1 false) + br label %dkg.j197 +dkg.j197: + %t462 = phi ptr [ %t466, %dkg.ic195 ], [ %t467, %dkg.any196 ] + %t468 = load i32, ptr %exc.cell + %t469 = icmp ne i32 %t468, 0 + %t470 = call i1 @llvm.expect.i1(i1 %t469, i1 false) + br i1 %t470, label %exc.u198, label %exc.k199 +exc.u198: + call void @sc_rc_release_dyn(ptr %t462) + br label %exc.cleanup200 +exc.k199: + store ptr %t462, ptr %s460 + br label %tern.j194 +tern.f193: + %t471 = load ptr, ptr %sc_l_bag_0 + %t472 = call ptr @sc_rc_retain_dyn(ptr %t471) + %t473 = load ptr, ptr %sc_l_p_0 + %t474 = call ptr @sc_rc_retain_dyn(ptr %t473) + %t475 = call ptr @scr_dyn_bag_get(ptr %t472, ptr @sc_lit_3908714124573206, ptr %t474) + %t476 = load i32, ptr %exc.cell + %t477 = icmp ne i32 %t476, 0 + %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false) + br i1 %t478, label %exc.u201, label %exc.k202 +exc.u201: + call void @sc_rc_release_dyn(ptr %t472) + call void @sc_rc_release_dyn(ptr %t474) + call void @sc_rc_release_dyn(ptr %t475) + br label %exc.cleanup200 +exc.k202: + store ptr %t475, ptr %s460 + call void @sc_rc_release_dyn(ptr %t472) + call void @sc_rc_release_dyn(ptr %t474) + br label %tern.j194 +tern.j194: + %t479 = load ptr, ptr %s460 + %t480 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t480) + %t481 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t481) + ret ptr %t479 +exc.cleanup2: + %t482 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t482) + ret ptr null +exc.cleanup200: + %t483 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t483) + %t484 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t484) + ret ptr null +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m5.CtxCore +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t4, i64 0, i32 8 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t18, i64 0, i32 8 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %p0) + call void @sc_release__x25_m5_CtxCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_11(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.11 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_2875643240706496 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2875643240706496) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_2875643240706496 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_48(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_587707337530151) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_2875643240706496 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_48(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_2875643240706496 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_48(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_587707337530151, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_587707337530151, ptr @sc_dyn_read_ic_11) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_587707337530151, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_587707337530151, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m5.CtxCore +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_2875643240706496 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_48(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_12(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.12 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s97 = alloca ptr + %s120 = alloca i1 + %s132 = alloca ptr + %s153 = alloca i1 + %s165 = alloca ptr + %s186 = alloca i1 + %s198 = alloca ptr + %s225 = alloca ptr + %s248 = alloca ptr + %s283 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_30(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call zeroext i1 @scr_dyn_has_own(ptr %t40, ptr @sc_lit_127274431826284) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_1746033898805369 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_30(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_1746033898805369 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_30(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_127274431826284, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxResCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxResCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t95 = load ptr, ptr %sc_l_p_0 + %t96 = call ptr @sc_rc_retain_dyn(ptr %t95) + %t98 = icmp ne ptr %t96, null + br i1 %t98, label %dc.inspect42, label %dc.checked45 +dc.inspect42: + %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind + %t104 = load i32, ptr %t103 + %t99 = icmp eq i32 %t104, 12 + br i1 %t99, label %dc.capsule43, label %dc.checked45 +dc.capsule43: + %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key + %t101 = load ptr, ptr %t100 + %t102 = icmp eq ptr %t101, @sc_cs_1746033898805369 + br i1 %t102, label %dc.exact44, label %dc.checked45 +dc.exact44: + %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr + %t106 = load ptr, ptr %t105 + %t107 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t106) + store ptr %t107, ptr %s97 + br label %dc.done46 +dc.checked45: + %t108 = call ptr @sc_dc_30(ptr %t96, ptr null) + store ptr %t108, ptr %s97 + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u47, label %exc.k48 +exc.u47: + call void @sc_rc_release_dyn(ptr %t96) + br label %exc.cleanup2 +exc.k48: + br label %dc.done46 +dc.done46: + %t112 = load ptr, ptr %s97 + %t113 = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_status(ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u49, label %exc.k50 +exc.u49: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m5_CtxResCore(ptr %t112) + br label %exc.cleanup2 +exc.k50: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m5_CtxResCore(ptr %t112) + %t117 = call ptr @sc_td_2(double %t113) + %t118 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t118) + ret ptr %t117 +if.j10: + %t119 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s120 + %t121 = icmp ne ptr %t119, null + br i1 %t121, label %brand.inspect51, label %brand.done53 +brand.inspect51: + %t122 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind + %t123 = load i32, ptr %t122 + %t124 = icmp eq i32 %t123, 12 + br i1 %t124, label %brand.capsule52, label %brand.done53 +brand.capsule52: + %t125 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key + %t126 = load ptr, ptr %t125 + %t127 = icmp eq ptr %t126, @sc_cs_4074974279575818 + store i1 true, ptr %s120 + br i1 %t127, label %brand.done53, label %brand.compare54 +brand.compare54: + %t128 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t119, ptr @sc_lit_4074974279575818) + store i1 %t128, ptr %s120 + br label %brand.done53 +brand.done53: + %t129 = load i1, ptr %s120 + br i1 %t129, label %if.t55, label %if.j56 +if.t55: + %t130 = load ptr, ptr %sc_l_p_0 + %t131 = call ptr @sc_rc_retain_dyn(ptr %t130) + %t133 = icmp ne ptr %t131, null + br i1 %t133, label %dc.inspect57, label %dc.checked60 +dc.inspect57: + %t138 = getelementptr inbounds i8, ptr %t131, i64 8 ; ->kind + %t139 = load i32, ptr %t138 + %t134 = icmp eq i32 %t139, 12 + br i1 %t134, label %dc.capsule58, label %dc.checked60 +dc.capsule58: + %t135 = getelementptr inbounds i8, ptr %t131, i64 40 ; ->v.typed_ref.type_key + %t136 = load ptr, ptr %t135 + %t137 = icmp eq ptr %t136, @sc_cs_4074974279575818 + br i1 %t137, label %dc.exact59, label %dc.checked60 +dc.exact59: + %t140 = getelementptr inbounds i8, ptr %t131, i64 16 ; ->v.typed_ref.ptr + %t141 = load ptr, ptr %t140 + %t142 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t141) + store ptr %t142, ptr %s132 + br label %dc.done61 +dc.checked60: + %t143 = call ptr @sc_dc_104(ptr %t131, ptr null) + store ptr %t143, ptr %s132 + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t131) + br label %exc.cleanup2 +exc.k63: + br label %dc.done61 +dc.done61: + %t147 = load ptr, ptr %s132 + %t148 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t147, i64 0, i32 3 + %t149 = load double, ptr %t148, !tbaa !52 + %t150 = call ptr @sc_td_2(double %t149) + call void @sc_rc_release_dyn(ptr %t131) + call void @sc_release__x25_m3_LiteResponse(ptr %t147) + %t151 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t151) + ret ptr %t150 +if.j56: + %t152 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s153 + %t154 = icmp ne ptr %t152, null + br i1 %t154, label %brand.inspect64, label %brand.done66 +brand.inspect64: + %t155 = getelementptr inbounds i8, ptr %t152, i64 8 ; ->kind + %t156 = load i32, ptr %t155 + %t157 = icmp eq i32 %t156, 12 + br i1 %t157, label %brand.capsule65, label %brand.done66 +brand.capsule65: + %t158 = getelementptr inbounds i8, ptr %t152, i64 40 ; ->v.typed_ref.type_key + %t159 = load ptr, ptr %t158 + %t160 = icmp eq ptr %t159, @sc_cs_2434838942941195 + store i1 true, ptr %s153 + br i1 %t160, label %brand.done66, label %brand.compare67 +brand.compare67: + %t161 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t152, ptr @sc_lit_2434838942941195) + store i1 %t161, ptr %s153 + br label %brand.done66 +brand.done66: + %t162 = load i1, ptr %s153 + br i1 %t162, label %if.t68, label %if.j69 +if.t68: + %t163 = load ptr, ptr %sc_l_p_0 + %t164 = call ptr @sc_rc_retain_dyn(ptr %t163) + %t166 = icmp ne ptr %t164, null + br i1 %t166, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t171 = getelementptr inbounds i8, ptr %t164, i64 8 ; ->kind + %t172 = load i32, ptr %t171 + %t167 = icmp eq i32 %t172, 12 + br i1 %t167, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t168 = getelementptr inbounds i8, ptr %t164, i64 40 ; ->v.typed_ref.type_key + %t169 = load ptr, ptr %t168 + %t170 = icmp eq ptr %t169, @sc_cs_2434838942941195 + br i1 %t170, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t173 = getelementptr inbounds i8, ptr %t164, i64 16 ; ->v.typed_ref.ptr + %t174 = load ptr, ptr %t173 + %t175 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t174) + store ptr %t175, ptr %s165 + br label %dc.done74 +dc.checked73: + %t176 = call ptr @sc_dc_52(ptr %t164, ptr null) + store ptr %t176, ptr %s165 + %t177 = load i32, ptr %exc.cell + %t178 = icmp ne i32 %t177, 0 + %t179 = call i1 @llvm.expect.i1(i1 %t178, i1 false) + br i1 %t179, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t164) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t180 = load ptr, ptr %s165 + %t181 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t180, i64 0, i32 3 + %t182 = load double, ptr %t181, !tbaa !52 + %t183 = call ptr @sc_td_2(double %t182) + call void @sc_rc_release_dyn(ptr %t164) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t180) + %t184 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t184) + ret ptr %t183 +if.j69: + %t185 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s186 + %t187 = icmp ne ptr %t185, null + br i1 %t187, label %brand.inspect77, label %brand.done79 +brand.inspect77: + %t188 = getelementptr inbounds i8, ptr %t185, i64 8 ; ->kind + %t189 = load i32, ptr %t188 + %t190 = icmp eq i32 %t189, 12 + br i1 %t190, label %brand.capsule78, label %brand.done79 +brand.capsule78: + %t191 = getelementptr inbounds i8, ptr %t185, i64 40 ; ->v.typed_ref.type_key + %t192 = load ptr, ptr %t191 + %t193 = icmp eq ptr %t192, @sc_cs_2875643240706496 + store i1 true, ptr %s186 + br i1 %t193, label %brand.done79, label %brand.compare80 +brand.compare80: + %t194 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t185, ptr @sc_lit_2875643240706496) + store i1 %t194, ptr %s186 + br label %brand.done79 +brand.done79: + %t195 = load i1, ptr %s186 + br i1 %t195, label %if.t81, label %if.j82 +if.t81: + %t196 = load ptr, ptr %sc_l_p_0 + %t197 = call ptr @sc_rc_retain_dyn(ptr %t196) + %t199 = icmp ne ptr %t197, null + br i1 %t199, label %dc.inspect83, label %dc.checked86 +dc.inspect83: + %t204 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind + %t205 = load i32, ptr %t204 + %t200 = icmp eq i32 %t205, 12 + br i1 %t200, label %dc.capsule84, label %dc.checked86 +dc.capsule84: + %t201 = getelementptr inbounds i8, ptr %t197, i64 40 ; ->v.typed_ref.type_key + %t202 = load ptr, ptr %t201 + %t203 = icmp eq ptr %t202, @sc_cs_2875643240706496 + br i1 %t203, label %dc.exact85, label %dc.checked86 +dc.exact85: + %t206 = getelementptr inbounds i8, ptr %t197, i64 16 ; ->v.typed_ref.ptr + %t207 = load ptr, ptr %t206 + %t208 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t207) + store ptr %t208, ptr %s198 + br label %dc.done87 +dc.checked86: + %t209 = call ptr @sc_dc_48(ptr %t197, ptr null) + store ptr %t209, ptr %s198 + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t197) + br label %exc.cleanup2 +exc.k89: + br label %dc.done87 +dc.done87: + %t213 = load ptr, ptr %s198 + %t214 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t213, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t215 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t214) + %t216 = load i32, ptr %exc.cell + %t217 = icmp ne i32 %t216, 0 + %t218 = call i1 @llvm.expect.i1(i1 %t217, i1 false) + br i1 %t218, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t197) + call void @sc_release__x25_m5_CtxCore(ptr %t213) + call void @sc_rc_release_dyn(ptr %t215) + br label %exc.cleanup2 +exc.k91: + %t219 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t215, ptr @sc_lit_127274431826284) + %t220 = load i32, ptr %exc.cell + %t221 = icmp ne i32 %t220, 0 + %t222 = call i1 @llvm.expect.i1(i1 %t221, i1 false) + br i1 %t222, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t197) + call void @sc_release__x25_m5_CtxCore(ptr %t213) + call void @sc_rc_release_dyn(ptr %t215) + br label %exc.cleanup2 +exc.k93: + call void @sc_rc_release_dyn(ptr %t197) + call void @sc_release__x25_m5_CtxCore(ptr %t213) + call void @sc_rc_release_dyn(ptr %t215) + br i1 %t219, label %if.t94, label %if.j95 +if.t94: + %t223 = load ptr, ptr %sc_l_p_0 + %t224 = call ptr @sc_rc_retain_dyn(ptr %t223) + %t226 = icmp ne ptr %t224, null + br i1 %t226, label %dc.inspect96, label %dc.checked99 +dc.inspect96: + %t231 = getelementptr inbounds i8, ptr %t224, i64 8 ; ->kind + %t232 = load i32, ptr %t231 + %t227 = icmp eq i32 %t232, 12 + br i1 %t227, label %dc.capsule97, label %dc.checked99 +dc.capsule97: + %t228 = getelementptr inbounds i8, ptr %t224, i64 40 ; ->v.typed_ref.type_key + %t229 = load ptr, ptr %t228 + %t230 = icmp eq ptr %t229, @sc_cs_2875643240706496 + br i1 %t230, label %dc.exact98, label %dc.checked99 +dc.exact98: + %t233 = getelementptr inbounds i8, ptr %t224, i64 16 ; ->v.typed_ref.ptr + %t234 = load ptr, ptr %t233 + %t235 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t234) + store ptr %t235, ptr %s225 + br label %dc.done100 +dc.checked99: + %t236 = call ptr @sc_dc_48(ptr %t224, ptr null) + store ptr %t236, ptr %s225 + %t237 = load i32, ptr %exc.cell + %t238 = icmp ne i32 %t237, 0 + %t239 = call i1 @llvm.expect.i1(i1 %t238, i1 false) + br i1 %t239, label %exc.u101, label %exc.k102 +exc.u101: + call void @sc_rc_release_dyn(ptr %t224) + br label %exc.cleanup2 +exc.k102: + br label %dc.done100 +dc.done100: + %t240 = load ptr, ptr %s225 + %t241 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t240, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t242 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t241) + %t243 = load i32, ptr %exc.cell + %t244 = icmp ne i32 %t243, 0 + %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false) + br i1 %t245, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t224) + call void @sc_release__x25_m5_CtxCore(ptr %t240) + call void @sc_rc_release_dyn(ptr %t242) + br label %exc.cleanup2 +exc.k104: + %t246 = load ptr, ptr %sc_l_p_0 + %t247 = call ptr @sc_rc_retain_dyn(ptr %t246) + %t249 = icmp ne ptr %t247, null + br i1 %t249, label %dc.inspect105, label %dc.checked108 +dc.inspect105: + %t254 = getelementptr inbounds i8, ptr %t247, i64 8 ; ->kind + %t255 = load i32, ptr %t254 + %t250 = icmp eq i32 %t255, 12 + br i1 %t250, label %dc.capsule106, label %dc.checked108 +dc.capsule106: + %t251 = getelementptr inbounds i8, ptr %t247, i64 40 ; ->v.typed_ref.type_key + %t252 = load ptr, ptr %t251 + %t253 = icmp eq ptr %t252, @sc_cs_2875643240706496 + br i1 %t253, label %dc.exact107, label %dc.checked108 +dc.exact107: + %t256 = getelementptr inbounds i8, ptr %t247, i64 16 ; ->v.typed_ref.ptr + %t257 = load ptr, ptr %t256 + %t258 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t257) + store ptr %t258, ptr %s248 + br label %dc.done109 +dc.checked108: + %t259 = call ptr @sc_dc_48(ptr %t247, ptr null) + store ptr %t259, ptr %s248 + %t260 = load i32, ptr %exc.cell + %t261 = icmp ne i32 %t260, 0 + %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false) + br i1 %t262, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t224) + call void @sc_release__x25_m5_CtxCore(ptr %t240) + call void @sc_rc_release_dyn(ptr %t242) + call void @sc_rc_release_dyn(ptr %t247) + br label %exc.cleanup2 +exc.k111: + br label %dc.done109 +dc.done109: + %t263 = load ptr, ptr %s248 + %t264 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t263, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t265 = call ptr @scr_dyn_bag_get(ptr %t242, ptr @sc_lit_127274431826284, ptr %t264) + %t266 = load i32, ptr %exc.cell + %t267 = icmp ne i32 %t266, 0 + %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false) + br i1 %t268, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t224) + call void @sc_release__x25_m5_CtxCore(ptr %t240) + call void @sc_rc_release_dyn(ptr %t242) + call void @sc_rc_release_dyn(ptr %t247) + call void @sc_release__x25_m5_CtxCore(ptr %t263) + call void @sc_rc_release_dyn(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + br label %exc.cleanup2 +exc.k113: + call void @sc_rc_release_dyn(ptr %t224) + call void @sc_release__x25_m5_CtxCore(ptr %t240) + call void @sc_rc_release_dyn(ptr %t242) + call void @sc_rc_release_dyn(ptr %t247) + call void @sc_release__x25_m5_CtxCore(ptr %t263) + call void @sc_rc_release_dyn(ptr %t264) + %t269 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t269) + ret ptr %t265 +if.j95: + %t271 = call ptr @scr_dyn_undefined() + %t270 = call ptr @scr_dyn_retain_v(ptr %t271) + %t272 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t272) + ret ptr %t270 +if.j82: + %t273 = load ptr, ptr %sc_l_p_0 + %t274 = call ptr @sc_rc_retain_dyn(ptr %t273) + %t275 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t274) + %t276 = load i32, ptr %exc.cell + %t277 = icmp ne i32 %t276, 0 + %t278 = call i1 @llvm.expect.i1(i1 %t277, i1 false) + br i1 %t278, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t275) + br label %exc.cleanup2 +exc.k115: + %t279 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t275) + call void @sc_rc_release_dyn(ptr %t275) + store ptr %t279, ptr %sc_l_bag_0 + %t280 = load ptr, ptr %sc_l_bag_0 + %t281 = load ptr, ptr %sc_l_p_0 + %t282 = call zeroext i1 @scr_dyn_strict_eq(ptr %t280, ptr %t281) + br i1 %t282, label %tern.t116, label %tern.f117 +tern.t116: + %t284 = load ptr, ptr %sc_l_bag_0 + %t287 = getelementptr inbounds i8, ptr %t284, i64 8 ; ->kind + %t288 = load i32, ptr %t287 + %t286 = icmp eq i32 %t288, 5 + br i1 %t286, label %dkg.ic119, label %dkg.any120 +dkg.ic119: + %t289 = call ptr @scr_dyn_obj_read_ic(ptr %t284, ptr @sc_lit_127274431826284, ptr @sc_dyn_read_ic_12) + br label %dkg.j121 +dkg.any120: + %t290 = call ptr @sc_dyn_key_get(ptr %t284, ptr @sc_lit_127274431826284, i1 false) + br label %dkg.j121 +dkg.j121: + %t285 = phi ptr [ %t289, %dkg.ic119 ], [ %t290, %dkg.any120 ] + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t285) + br label %exc.cleanup124 +exc.k123: + store ptr %t285, ptr %s283 + br label %tern.j118 +tern.f117: + %t294 = load ptr, ptr %sc_l_bag_0 + %t295 = call ptr @sc_rc_retain_dyn(ptr %t294) + %t296 = load ptr, ptr %sc_l_p_0 + %t297 = call ptr @sc_rc_retain_dyn(ptr %t296) + %t298 = call ptr @scr_dyn_bag_get(ptr %t295, ptr @sc_lit_127274431826284, ptr %t297) + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u125, label %exc.k126 +exc.u125: + call void @sc_rc_release_dyn(ptr %t295) + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t298) + br label %exc.cleanup124 +exc.k126: + store ptr %t298, ptr %s283 + call void @sc_rc_release_dyn(ptr %t295) + call void @sc_rc_release_dyn(ptr %t297) + br label %tern.j118 +tern.j118: + %t302 = load ptr, ptr %s283 + %t303 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t303) + %t304 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t304) + ret ptr %t302 +exc.cleanup2: + %t305 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t305) + ret ptr null +exc.cleanup124: + %t306 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t306) + %t307 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t307) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_13(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.13 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2364278031517622) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2364278031517622, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_2364278031517622) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_2364278031517622, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_2364278031517622) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_2364278031517622, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_2364278031517622) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_2364278031517622, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_2364278031517622, ptr @sc_dyn_read_ic_13) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_2364278031517622, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_2364278031517622, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_14(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.14 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4133069531575059) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4133069531575059, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4133069531575059) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4133069531575059, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_4133069531575059) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_4133069531575059, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_4133069531575059) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_4133069531575059, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_4133069531575059, ptr @sc_dyn_read_ic_14) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_4133069531575059, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_4133069531575059, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_15(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.15 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_470306239805907) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_470306239805907, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_470306239805907) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_470306239805907, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_470306239805907) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_470306239805907, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_470306239805907) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_470306239805907, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_470306239805907, ptr @sc_dyn_read_ic_15) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_470306239805907, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_470306239805907, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_16(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.16 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3752021314181142) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3752021314181142, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_3752021314181142) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_3752021314181142, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_3752021314181142) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_3752021314181142, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_3752021314181142) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_3752021314181142, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_3752021314181142, ptr @sc_dyn_read_ic_16) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_3752021314181142, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_3752021314181142, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal void @sc_bf__x25_dyn_class_computed_0(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1) #0 { ; %dyn.class.computed.0 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + %s51 = alloca i1 + %s66 = alloca ptr + %s89 = alloca i1 + %s104 = alloca ptr + %s127 = alloca i1 + %s142 = alloca ptr + %s165 = alloca i1 + %s180 = alloca ptr + %s203 = alloca i1 + %s218 = alloca ptr + %s241 = alloca i1 + %s256 = alloca ptr + %s279 = alloca i1 + %s294 = alloca ptr + %s317 = alloca i1 + %s332 = alloca ptr + %s355 = alloca i1 + %s370 = alloca ptr + %s393 = alloca i1 + %s408 = alloca ptr + %s431 = alloca i1 + %s446 = alloca ptr + %s469 = alloca i1 + %s484 = alloca ptr + %s507 = alloca i1 + %s522 = alloca ptr + %s545 = alloca i1 + %s560 = alloca ptr + %s583 = alloca i1 + %s598 = alloca ptr + %s621 = alloca i1 + %s636 = alloca ptr + %s659 = alloca i1 + %s674 = alloca ptr + %s697 = alloca i1 + %s712 = alloca ptr + %s735 = alloca i1 + %s750 = alloca ptr + %s773 = alloca i1 + %s788 = alloca ptr + %s811 = alloca i1 + %s826 = alloca ptr + %s849 = alloca i1 + %s864 = alloca ptr + %s887 = alloca i1 + %s902 = alloca ptr + %s925 = alloca i1 + %s940 = alloca ptr + %s963 = alloca i1 + %s978 = alloca ptr + store ptr null, ptr %sc_l_key_string + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_key + %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t13 = icmp eq i32 %t12, 15 + br i1 %t13, label %if.t5, label %if.j6 +if.t5: + %t14 = load ptr, ptr %sc_l_p_0 + %t15 = call ptr @sc_rc_retain_dyn(ptr %t14) + %t16 = call ptr @sc_f__x25_dyn_class_properties(ptr %t15) + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + call void @sc_rc_release_dyn(ptr %t16) + br label %exc.cleanup2 +exc.k8: + %t20 = load ptr, ptr %sc_l_p_key + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + %t22 = load ptr, ptr %sc_l_p_1 + %t23 = call ptr @sc_rc_retain_dyn(ptr %t22) + call void @scr_dyn_key_set_computed(ptr %t16, ptr %t21, ptr %t23) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u9, label %exc.k10 +exc.u9: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t23) + br label %exc.cleanup2 +exc.k10: + call void @sc_rc_release_dyn(ptr %t16) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t23) + %t27 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t27) + ret void +if.j6: + %t28 = load ptr, ptr %sc_l_p_0 + %t29 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t31 = icmp eq i32 %t30, 6 + %t32 = icmp eq i32 %t30, 0 + %t33 = or i1 %t31, %t32 + br i1 %t33, label %if.t11, label %if.j12 +if.t11: + %t34 = load ptr, ptr %sc_l_p_0 + %t35 = call ptr @sc_rc_retain_dyn(ptr %t34) + %t36 = load ptr, ptr %sc_l_p_key + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_1 + %t39 = call ptr @sc_rc_retain_dyn(ptr %t38) + call void @scr_dyn_key_set_computed(ptr %t35, ptr %t37, ptr %t39) + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + br label %exc.cleanup2 +exc.k14: + call void @sc_rc_release_dyn(ptr %t35) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + ret void +if.j12: + %t44 = load ptr, ptr %sc_l_p_key + %t45 = call ptr @sc_rc_retain_dyn(ptr %t44) + %t46 = call ptr @scr_dyn_string_coerce_js(ptr %t45) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_rc_release_dyn(ptr %t45) + call void @scr_str_release(ptr %t46) + br label %exc.cleanup2 +exc.k16: + store ptr %t46, ptr %sc_l_key_string + call void @sc_rc_release_dyn(ptr %t45) + %t50 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s51 + %t52 = icmp ne ptr %t50, null + br i1 %t52, label %brand.inspect17, label %brand.done19 +brand.inspect17: + %t53 = getelementptr inbounds i8, ptr %t50, i64 8 ; ->kind + %t54 = load i32, ptr %t53 + %t55 = icmp eq i32 %t54, 12 + br i1 %t55, label %brand.capsule18, label %brand.done19 +brand.capsule18: + %t56 = getelementptr inbounds i8, ptr %t50, i64 40 ; ->v.typed_ref.type_key + %t57 = load ptr, ptr %t56 + %t58 = icmp eq ptr %t57, @sc_cs_1746033898805369 + store i1 true, ptr %s51 + br i1 %t58, label %brand.done19, label %brand.compare20 +brand.compare20: + %t59 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t50, ptr @sc_lit_1746033898805369) + store i1 %t59, ptr %s51 + br label %brand.done19 +brand.done19: + %t60 = load i1, ptr %s51 + br i1 %t60, label %if.t21, label %if.j22 +if.t21: + %t61 = load ptr, ptr %sc_l_p_0 + %t62 = load ptr, ptr %sc_l_p_key + %t63 = load ptr, ptr %sc_l_p_1 + %t64 = load ptr, ptr %sc_l_p_0 + %t65 = call ptr @sc_rc_retain_dyn(ptr %t64) + %t67 = icmp ne ptr %t65, null + br i1 %t67, label %dc.inspect23, label %dc.checked26 +dc.inspect23: + %t72 = getelementptr inbounds i8, ptr %t65, i64 8 ; ->kind + %t73 = load i32, ptr %t72 + %t68 = icmp eq i32 %t73, 12 + br i1 %t68, label %dc.capsule24, label %dc.checked26 +dc.capsule24: + %t69 = getelementptr inbounds i8, ptr %t65, i64 40 ; ->v.typed_ref.type_key + %t70 = load ptr, ptr %t69 + %t71 = icmp eq ptr %t70, @sc_cs_1746033898805369 + br i1 %t71, label %dc.exact25, label %dc.checked26 +dc.exact25: + %t74 = getelementptr inbounds i8, ptr %t65, i64 16 ; ->v.typed_ref.ptr + %t75 = load ptr, ptr %t74 + %t76 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t75) + store ptr %t76, ptr %s66 + br label %dc.done27 +dc.checked26: + %t77 = call ptr @sc_dc_30(ptr %t65, ptr null) + store ptr %t77, ptr %s66 + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t65) + br label %exc.cleanup30 +exc.k29: + br label %dc.done27 +dc.done27: + %t81 = load ptr, ptr %s66 + %t82 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_533(ptr %t61, ptr %t62, ptr %t63, ptr %t81, ptr %t82) + %t83 = load i32, ptr %exc.cell + %t84 = icmp ne i32 %t83, 0 + %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false) + br i1 %t85, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t65) + call void @sc_release__x25_m5_CtxResCore(ptr %t81) + br label %exc.cleanup30 +exc.k32: + call void @sc_rc_release_dyn(ptr %t65) + call void @sc_release__x25_m5_CtxResCore(ptr %t81) + %t86 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t86) + %t87 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t87) + ret void +if.j22: + %t88 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s89 + %t90 = icmp ne ptr %t88, null + br i1 %t90, label %brand.inspect33, label %brand.done35 +brand.inspect33: + %t91 = getelementptr inbounds i8, ptr %t88, i64 8 ; ->kind + %t92 = load i32, ptr %t91 + %t93 = icmp eq i32 %t92, 12 + br i1 %t93, label %brand.capsule34, label %brand.done35 +brand.capsule34: + %t94 = getelementptr inbounds i8, ptr %t88, i64 40 ; ->v.typed_ref.type_key + %t95 = load ptr, ptr %t94 + %t96 = icmp eq ptr %t95, @sc_cs_4041255434968695 + store i1 true, ptr %s89 + br i1 %t96, label %brand.done35, label %brand.compare36 +brand.compare36: + %t97 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t88, ptr @sc_lit_4041255434968695) + store i1 %t97, ptr %s89 + br label %brand.done35 +brand.done35: + %t98 = load i1, ptr %s89 + br i1 %t98, label %if.t37, label %if.j38 +if.t37: + %t99 = load ptr, ptr %sc_l_p_0 + %t100 = load ptr, ptr %sc_l_p_key + %t101 = load ptr, ptr %sc_l_p_1 + %t102 = load ptr, ptr %sc_l_p_0 + %t103 = call ptr @sc_rc_retain_dyn(ptr %t102) + %t105 = icmp ne ptr %t103, null + br i1 %t105, label %dc.inspect39, label %dc.checked42 +dc.inspect39: + %t110 = getelementptr inbounds i8, ptr %t103, i64 8 ; ->kind + %t111 = load i32, ptr %t110 + %t106 = icmp eq i32 %t111, 12 + br i1 %t106, label %dc.capsule40, label %dc.checked42 +dc.capsule40: + %t107 = getelementptr inbounds i8, ptr %t103, i64 40 ; ->v.typed_ref.type_key + %t108 = load ptr, ptr %t107 + %t109 = icmp eq ptr %t108, @sc_cs_4041255434968695 + br i1 %t109, label %dc.exact41, label %dc.checked42 +dc.exact41: + %t112 = getelementptr inbounds i8, ptr %t103, i64 16 ; ->v.typed_ref.ptr + %t113 = load ptr, ptr %t112 + %t114 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t113) + store ptr %t114, ptr %s104 + br label %dc.done43 +dc.checked42: + %t115 = call ptr @sc_dc_101(ptr %t103, ptr null) + store ptr %t115, ptr %s104 + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t103) + br label %exc.cleanup30 +exc.k45: + br label %dc.done43 +dc.done43: + %t119 = load ptr, ptr %s104 + %t120 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_487(ptr %t99, ptr %t100, ptr %t101, ptr %t119, ptr %t120) + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_release__x25_m3_LiteRequest(ptr %t119) + br label %exc.cleanup30 +exc.k47: + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_release__x25_m3_LiteRequest(ptr %t119) + %t124 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t124) + %t125 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t125) + ret void +if.j38: + %t126 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s127 + %t128 = icmp ne ptr %t126, null + br i1 %t128, label %brand.inspect48, label %brand.done50 +brand.inspect48: + %t129 = getelementptr inbounds i8, ptr %t126, i64 8 ; ->kind + %t130 = load i32, ptr %t129 + %t131 = icmp eq i32 %t130, 12 + br i1 %t131, label %brand.capsule49, label %brand.done50 +brand.capsule49: + %t132 = getelementptr inbounds i8, ptr %t126, i64 40 ; ->v.typed_ref.type_key + %t133 = load ptr, ptr %t132 + %t134 = icmp eq ptr %t133, @sc_cs_3870085012327510 + store i1 true, ptr %s127 + br i1 %t134, label %brand.done50, label %brand.compare51 +brand.compare51: + %t135 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t126, ptr @sc_lit_3870085012327510) + store i1 %t135, ptr %s127 + br label %brand.done50 +brand.done50: + %t136 = load i1, ptr %s127 + br i1 %t136, label %if.t52, label %if.j53 +if.t52: + %t137 = load ptr, ptr %sc_l_p_0 + %t138 = load ptr, ptr %sc_l_p_key + %t139 = load ptr, ptr %sc_l_p_1 + %t140 = load ptr, ptr %sc_l_p_0 + %t141 = call ptr @sc_rc_retain_dyn(ptr %t140) + %t143 = icmp ne ptr %t141, null + br i1 %t143, label %dc.inspect54, label %dc.checked57 +dc.inspect54: + %t148 = getelementptr inbounds i8, ptr %t141, i64 8 ; ->kind + %t149 = load i32, ptr %t148 + %t144 = icmp eq i32 %t149, 12 + br i1 %t144, label %dc.capsule55, label %dc.checked57 +dc.capsule55: + %t145 = getelementptr inbounds i8, ptr %t141, i64 40 ; ->v.typed_ref.type_key + %t146 = load ptr, ptr %t145 + %t147 = icmp eq ptr %t146, @sc_cs_3870085012327510 + br i1 %t147, label %dc.exact56, label %dc.checked57 +dc.exact56: + %t150 = getelementptr inbounds i8, ptr %t141, i64 16 ; ->v.typed_ref.ptr + %t151 = load ptr, ptr %t150 + %t152 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t151) + store ptr %t152, ptr %s142 + br label %dc.done58 +dc.checked57: + %t153 = call ptr @sc_dc_94(ptr %t141, ptr null) + store ptr %t153, ptr %s142 + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u59, label %exc.k60 +exc.u59: + call void @sc_rc_release_dyn(ptr %t141) + br label %exc.cleanup30 +exc.k60: + br label %dc.done58 +dc.done58: + %t157 = load ptr, ptr %s142 + %t158 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_486(ptr %t137, ptr %t138, ptr %t139, ptr %t157, ptr %t158) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u61, label %exc.k62 +exc.u61: + call void @sc_rc_release_dyn(ptr %t141) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t157) + br label %exc.cleanup30 +exc.k62: + call void @sc_rc_release_dyn(ptr %t141) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t157) + %t162 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t162) + %t163 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t163) + ret void +if.j53: + %t164 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s165 + %t166 = icmp ne ptr %t164, null + br i1 %t166, label %brand.inspect63, label %brand.done65 +brand.inspect63: + %t167 = getelementptr inbounds i8, ptr %t164, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t169 = icmp eq i32 %t168, 12 + br i1 %t169, label %brand.capsule64, label %brand.done65 +brand.capsule64: + %t170 = getelementptr inbounds i8, ptr %t164, i64 40 ; ->v.typed_ref.type_key + %t171 = load ptr, ptr %t170 + %t172 = icmp eq ptr %t171, @sc_cs_2798802470260116 + store i1 true, ptr %s165 + br i1 %t172, label %brand.done65, label %brand.compare66 +brand.compare66: + %t173 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t164, ptr @sc_lit_2798802470260116) + store i1 %t173, ptr %s165 + br label %brand.done65 +brand.done65: + %t174 = load i1, ptr %s165 + br i1 %t174, label %if.t67, label %if.j68 +if.t67: + %t175 = load ptr, ptr %sc_l_p_0 + %t176 = load ptr, ptr %sc_l_p_key + %t177 = load ptr, ptr %sc_l_p_1 + %t178 = load ptr, ptr %sc_l_p_0 + %t179 = call ptr @sc_rc_retain_dyn(ptr %t178) + %t181 = icmp ne ptr %t179, null + br i1 %t181, label %dc.inspect69, label %dc.checked72 +dc.inspect69: + %t186 = getelementptr inbounds i8, ptr %t179, i64 8 ; ->kind + %t187 = load i32, ptr %t186 + %t182 = icmp eq i32 %t187, 12 + br i1 %t182, label %dc.capsule70, label %dc.checked72 +dc.capsule70: + %t183 = getelementptr inbounds i8, ptr %t179, i64 40 ; ->v.typed_ref.type_key + %t184 = load ptr, ptr %t183 + %t185 = icmp eq ptr %t184, @sc_cs_2798802470260116 + br i1 %t185, label %dc.exact71, label %dc.checked72 +dc.exact71: + %t188 = getelementptr inbounds i8, ptr %t179, i64 16 ; ->v.typed_ref.ptr + %t189 = load ptr, ptr %t188 + %t190 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t189) + store ptr %t190, ptr %s180 + br label %dc.done73 +dc.checked72: + %t191 = call ptr @sc_dc_93(ptr %t179, ptr null) + store ptr %t191, ptr %s180 + %t192 = load i32, ptr %exc.cell + %t193 = icmp ne i32 %t192, 0 + %t194 = call i1 @llvm.expect.i1(i1 %t193, i1 false) + br i1 %t194, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t179) + br label %exc.cleanup30 +exc.k75: + br label %dc.done73 +dc.done73: + %t195 = load ptr, ptr %s180 + %t196 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_485(ptr %t175, ptr %t176, ptr %t177, ptr %t195, ptr %t196) + %t197 = load i32, ptr %exc.cell + %t198 = icmp ne i32 %t197, 0 + %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false) + br i1 %t199, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t179) + call void @sc_release__x25_m0_GenFetch(ptr %t195) + br label %exc.cleanup30 +exc.k77: + call void @sc_rc_release_dyn(ptr %t179) + call void @sc_release__x25_m0_GenFetch(ptr %t195) + %t200 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t200) + %t201 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t201) + ret void +if.j68: + %t202 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s203 + %t204 = icmp ne ptr %t202, null + br i1 %t204, label %brand.inspect78, label %brand.done80 +brand.inspect78: + %t205 = getelementptr inbounds i8, ptr %t202, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t207 = icmp eq i32 %t206, 12 + br i1 %t207, label %brand.capsule79, label %brand.done80 +brand.capsule79: + %t208 = getelementptr inbounds i8, ptr %t202, i64 40 ; ->v.typed_ref.type_key + %t209 = load ptr, ptr %t208 + %t210 = icmp eq ptr %t209, @sc_cs_2165660704272757 + store i1 true, ptr %s203 + br i1 %t210, label %brand.done80, label %brand.compare81 +brand.compare81: + %t211 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t202, ptr @sc_lit_2165660704272757) + store i1 %t211, ptr %s203 + br label %brand.done80 +brand.done80: + %t212 = load i1, ptr %s203 + br i1 %t212, label %if.t82, label %if.j83 +if.t82: + %t213 = load ptr, ptr %sc_l_p_0 + %t214 = load ptr, ptr %sc_l_p_key + %t215 = load ptr, ptr %sc_l_p_1 + %t216 = load ptr, ptr %sc_l_p_0 + %t217 = call ptr @sc_rc_retain_dyn(ptr %t216) + %t219 = icmp ne ptr %t217, null + br i1 %t219, label %dc.inspect84, label %dc.checked87 +dc.inspect84: + %t224 = getelementptr inbounds i8, ptr %t217, i64 8 ; ->kind + %t225 = load i32, ptr %t224 + %t220 = icmp eq i32 %t225, 12 + br i1 %t220, label %dc.capsule85, label %dc.checked87 +dc.capsule85: + %t221 = getelementptr inbounds i8, ptr %t217, i64 40 ; ->v.typed_ref.type_key + %t222 = load ptr, ptr %t221 + %t223 = icmp eq ptr %t222, @sc_cs_2165660704272757 + br i1 %t223, label %dc.exact86, label %dc.checked87 +dc.exact86: + %t226 = getelementptr inbounds i8, ptr %t217, i64 16 ; ->v.typed_ref.ptr + %t227 = load ptr, ptr %t226 + %t228 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t227) + store ptr %t228, ptr %s218 + br label %dc.done88 +dc.checked87: + %t229 = call ptr @sc_dc_92(ptr %t217, ptr null) + store ptr %t229, ptr %s218 + %t230 = load i32, ptr %exc.cell + %t231 = icmp ne i32 %t230, 0 + %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false) + br i1 %t232, label %exc.u89, label %exc.k90 +exc.u89: + call void @sc_rc_release_dyn(ptr %t217) + br label %exc.cleanup30 +exc.k90: + br label %dc.done88 +dc.done88: + %t233 = load ptr, ptr %s218 + %t234 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_484(ptr %t213, ptr %t214, ptr %t215, ptr %t233, ptr %t234) + %t235 = load i32, ptr %exc.cell + %t236 = icmp ne i32 %t235, 0 + %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false) + br i1 %t237, label %exc.u91, label %exc.k92 +exc.u91: + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_release__x25_m0_GenDispatch(ptr %t233) + br label %exc.cleanup30 +exc.k92: + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_release__x25_m0_GenDispatch(ptr %t233) + %t238 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t238) + %t239 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t239) + ret void +if.j83: + %t240 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s241 + %t242 = icmp ne ptr %t240, null + br i1 %t242, label %brand.inspect93, label %brand.done95 +brand.inspect93: + %t243 = getelementptr inbounds i8, ptr %t240, i64 8 ; ->kind + %t244 = load i32, ptr %t243 + %t245 = icmp eq i32 %t244, 12 + br i1 %t245, label %brand.capsule94, label %brand.done95 +brand.capsule94: + %t246 = getelementptr inbounds i8, ptr %t240, i64 40 ; ->v.typed_ref.type_key + %t247 = load ptr, ptr %t246 + %t248 = icmp eq ptr %t247, @sc_cs_3728566007289652 + store i1 true, ptr %s241 + br i1 %t248, label %brand.done95, label %brand.compare96 +brand.compare96: + %t249 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t240, ptr @sc_lit_3728566007289652) + store i1 %t249, ptr %s241 + br label %brand.done95 +brand.done95: + %t250 = load i1, ptr %s241 + br i1 %t250, label %if.t97, label %if.j98 +if.t97: + %t251 = load ptr, ptr %sc_l_p_0 + %t252 = load ptr, ptr %sc_l_p_key + %t253 = load ptr, ptr %sc_l_p_1 + %t254 = load ptr, ptr %sc_l_p_0 + %t255 = call ptr @sc_rc_retain_dyn(ptr %t254) + %t257 = icmp ne ptr %t255, null + br i1 %t257, label %dc.inspect99, label %dc.checked102 +dc.inspect99: + %t262 = getelementptr inbounds i8, ptr %t255, i64 8 ; ->kind + %t263 = load i32, ptr %t262 + %t258 = icmp eq i32 %t263, 12 + br i1 %t258, label %dc.capsule100, label %dc.checked102 +dc.capsule100: + %t259 = getelementptr inbounds i8, ptr %t255, i64 40 ; ->v.typed_ref.type_key + %t260 = load ptr, ptr %t259 + %t261 = icmp eq ptr %t260, @sc_cs_3728566007289652 + br i1 %t261, label %dc.exact101, label %dc.checked102 +dc.exact101: + %t264 = getelementptr inbounds i8, ptr %t255, i64 16 ; ->v.typed_ref.ptr + %t265 = load ptr, ptr %t264 + %t266 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t265) + store ptr %t266, ptr %s256 + br label %dc.done103 +dc.checked102: + %t267 = call ptr @sc_dc_100(ptr %t255, ptr null) + store ptr %t267, ptr %s256 + %t268 = load i32, ptr %exc.cell + %t269 = icmp ne i32 %t268, 0 + %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false) + br i1 %t270, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t255) + br label %exc.cleanup30 +exc.k105: + br label %dc.done103 +dc.done103: + %t271 = load ptr, ptr %s256 + %t272 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_483(ptr %t251, ptr %t252, ptr %t253, ptr %t271, ptr %t272) + %t273 = load i32, ptr %exc.cell + %t274 = icmp ne i32 %t273, 0 + %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false) + br i1 %t275, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t255) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t271) + br label %exc.cleanup30 +exc.k107: + call void @sc_rc_release_dyn(ptr %t255) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t271) + %t276 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t276) + %t277 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t277) + ret void +if.j98: + %t278 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s279 + %t280 = icmp ne ptr %t278, null + br i1 %t280, label %brand.inspect108, label %brand.done110 +brand.inspect108: + %t281 = getelementptr inbounds i8, ptr %t278, i64 8 ; ->kind + %t282 = load i32, ptr %t281 + %t283 = icmp eq i32 %t282, 12 + br i1 %t283, label %brand.capsule109, label %brand.done110 +brand.capsule109: + %t284 = getelementptr inbounds i8, ptr %t278, i64 40 ; ->v.typed_ref.type_key + %t285 = load ptr, ptr %t284 + %t286 = icmp eq ptr %t285, @sc_cs_2072202777142634 + store i1 true, ptr %s279 + br i1 %t286, label %brand.done110, label %brand.compare111 +brand.compare111: + %t287 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t278, ptr @sc_lit_2072202777142634) + store i1 %t287, ptr %s279 + br label %brand.done110 +brand.done110: + %t288 = load i1, ptr %s279 + br i1 %t288, label %if.t112, label %if.j113 +if.t112: + %t289 = load ptr, ptr %sc_l_p_0 + %t290 = load ptr, ptr %sc_l_p_key + %t291 = load ptr, ptr %sc_l_p_1 + %t292 = load ptr, ptr %sc_l_p_0 + %t293 = call ptr @sc_rc_retain_dyn(ptr %t292) + %t295 = icmp ne ptr %t293, null + br i1 %t295, label %dc.inspect114, label %dc.checked117 +dc.inspect114: + %t300 = getelementptr inbounds i8, ptr %t293, i64 8 ; ->kind + %t301 = load i32, ptr %t300 + %t296 = icmp eq i32 %t301, 12 + br i1 %t296, label %dc.capsule115, label %dc.checked117 +dc.capsule115: + %t297 = getelementptr inbounds i8, ptr %t293, i64 40 ; ->v.typed_ref.type_key + %t298 = load ptr, ptr %t297 + %t299 = icmp eq ptr %t298, @sc_cs_2072202777142634 + br i1 %t299, label %dc.exact116, label %dc.checked117 +dc.exact116: + %t302 = getelementptr inbounds i8, ptr %t293, i64 16 ; ->v.typed_ref.ptr + %t303 = load ptr, ptr %t302 + %t304 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t303) + store ptr %t304, ptr %s294 + br label %dc.done118 +dc.checked117: + %t305 = call ptr @sc_dc_26(ptr %t293, ptr null) + store ptr %t305, ptr %s294 + %t306 = load i32, ptr %exc.cell + %t307 = icmp ne i32 %t306, 0 + %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false) + br i1 %t308, label %exc.u119, label %exc.k120 +exc.u119: + call void @sc_rc_release_dyn(ptr %t293) + br label %exc.cleanup30 +exc.k120: + br label %dc.done118 +dc.done118: + %t309 = load ptr, ptr %s294 + %t310 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_482(ptr %t289, ptr %t290, ptr %t291, ptr %t309, ptr %t310) + %t311 = load i32, ptr %exc.cell + %t312 = icmp ne i32 %t311, 0 + %t313 = call i1 @llvm.expect.i1(i1 %t312, i1 false) + br i1 %t313, label %exc.u121, label %exc.k122 +exc.u121: + call void @sc_rc_release_dyn(ptr %t293) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t309) + br label %exc.cleanup30 +exc.k122: + call void @sc_rc_release_dyn(ptr %t293) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t309) + %t314 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t314) + %t315 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t315) + ret void +if.j113: + %t316 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s317 + %t318 = icmp ne ptr %t316, null + br i1 %t318, label %brand.inspect123, label %brand.done125 +brand.inspect123: + %t319 = getelementptr inbounds i8, ptr %t316, i64 8 ; ->kind + %t320 = load i32, ptr %t319 + %t321 = icmp eq i32 %t320, 12 + br i1 %t321, label %brand.capsule124, label %brand.done125 +brand.capsule124: + %t322 = getelementptr inbounds i8, ptr %t316, i64 40 ; ->v.typed_ref.type_key + %t323 = load ptr, ptr %t322 + %t324 = icmp eq ptr %t323, @sc_cs_3314970835853795 + store i1 true, ptr %s317 + br i1 %t324, label %brand.done125, label %brand.compare126 +brand.compare126: + %t325 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t316, ptr @sc_lit_3314970835853795) + store i1 %t325, ptr %s317 + br label %brand.done125 +brand.done125: + %t326 = load i1, ptr %s317 + br i1 %t326, label %if.t127, label %if.j128 +if.t127: + %t327 = load ptr, ptr %sc_l_p_0 + %t328 = load ptr, ptr %sc_l_p_key + %t329 = load ptr, ptr %sc_l_p_1 + %t330 = load ptr, ptr %sc_l_p_0 + %t331 = call ptr @sc_rc_retain_dyn(ptr %t330) + %t333 = icmp ne ptr %t331, null + br i1 %t333, label %dc.inspect129, label %dc.checked132 +dc.inspect129: + %t338 = getelementptr inbounds i8, ptr %t331, i64 8 ; ->kind + %t339 = load i32, ptr %t338 + %t334 = icmp eq i32 %t339, 12 + br i1 %t334, label %dc.capsule130, label %dc.checked132 +dc.capsule130: + %t335 = getelementptr inbounds i8, ptr %t331, i64 40 ; ->v.typed_ref.type_key + %t336 = load ptr, ptr %t335 + %t337 = icmp eq ptr %t336, @sc_cs_3314970835853795 + br i1 %t337, label %dc.exact131, label %dc.checked132 +dc.exact131: + %t340 = getelementptr inbounds i8, ptr %t331, i64 16 ; ->v.typed_ref.ptr + %t341 = load ptr, ptr %t340 + %t342 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t341) + store ptr %t342, ptr %s332 + br label %dc.done133 +dc.checked132: + %t343 = call ptr @sc_dc_79(ptr %t331, ptr null) + store ptr %t343, ptr %s332 + %t344 = load i32, ptr %exc.cell + %t345 = icmp ne i32 %t344, 0 + %t346 = call i1 @llvm.expect.i1(i1 %t345, i1 false) + br i1 %t346, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup30 +exc.k135: + br label %dc.done133 +dc.done133: + %t347 = load ptr, ptr %s332 + %t348 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_481(ptr %t327, ptr %t328, ptr %t329, ptr %t347, ptr %t348) + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_release__x25_m6_AssetSource(ptr %t347) + br label %exc.cleanup30 +exc.k137: + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_release__x25_m6_AssetSource(ptr %t347) + %t352 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t352) + %t353 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t353) + ret void +if.j128: + %t354 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s355 + %t356 = icmp ne ptr %t354, null + br i1 %t356, label %brand.inspect138, label %brand.done140 +brand.inspect138: + %t357 = getelementptr inbounds i8, ptr %t354, i64 8 ; ->kind + %t358 = load i32, ptr %t357 + %t359 = icmp eq i32 %t358, 12 + br i1 %t359, label %brand.capsule139, label %brand.done140 +brand.capsule139: + %t360 = getelementptr inbounds i8, ptr %t354, i64 40 ; ->v.typed_ref.type_key + %t361 = load ptr, ptr %t360 + %t362 = icmp eq ptr %t361, @sc_cs_864190948149583 + store i1 true, ptr %s355 + br i1 %t362, label %brand.done140, label %brand.compare141 +brand.compare141: + %t363 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t354, ptr @sc_lit_864190948149583) + store i1 %t363, ptr %s355 + br label %brand.done140 +brand.done140: + %t364 = load i1, ptr %s355 + br i1 %t364, label %if.t142, label %if.j143 +if.t142: + %t365 = load ptr, ptr %sc_l_p_0 + %t366 = load ptr, ptr %sc_l_p_key + %t367 = load ptr, ptr %sc_l_p_1 + %t368 = load ptr, ptr %sc_l_p_0 + %t369 = call ptr @sc_rc_retain_dyn(ptr %t368) + %t371 = icmp ne ptr %t369, null + br i1 %t371, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t376 = getelementptr inbounds i8, ptr %t369, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t372 = icmp eq i32 %t377, 12 + br i1 %t372, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t373 = getelementptr inbounds i8, ptr %t369, i64 40 ; ->v.typed_ref.type_key + %t374 = load ptr, ptr %t373 + %t375 = icmp eq ptr %t374, @sc_cs_864190948149583 + br i1 %t375, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t378 = getelementptr inbounds i8, ptr %t369, i64 16 ; ->v.typed_ref.ptr + %t379 = load ptr, ptr %t378 + %t380 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t379) + store ptr %t380, ptr %s370 + br label %dc.done148 +dc.checked147: + %t381 = call ptr @sc_dc_103(ptr %t369, ptr null) + store ptr %t381, ptr %s370 + %t382 = load i32, ptr %exc.cell + %t383 = icmp ne i32 %t382, 0 + %t384 = call i1 @llvm.expect.i1(i1 %t383, i1 false) + br i1 %t384, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t369) + br label %exc.cleanup30 +exc.k150: + br label %dc.done148 +dc.done148: + %t385 = load ptr, ptr %s370 + %t386 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_480(ptr %t365, ptr %t366, ptr %t367, ptr %t385, ptr %t386) + %t387 = load i32, ptr %exc.cell + %t388 = icmp ne i32 %t387, 0 + %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false) + br i1 %t389, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t369) + call void @sc_release__x25_m11_StaticServer(ptr %t385) + br label %exc.cleanup30 +exc.k152: + call void @sc_rc_release_dyn(ptr %t369) + call void @sc_release__x25_m11_StaticServer(ptr %t385) + %t390 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t390) + %t391 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t391) + ret void +if.j143: + %t392 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s393 + %t394 = icmp ne ptr %t392, null + br i1 %t394, label %brand.inspect153, label %brand.done155 +brand.inspect153: + %t395 = getelementptr inbounds i8, ptr %t392, i64 8 ; ->kind + %t396 = load i32, ptr %t395 + %t397 = icmp eq i32 %t396, 12 + br i1 %t397, label %brand.capsule154, label %brand.done155 +brand.capsule154: + %t398 = getelementptr inbounds i8, ptr %t392, i64 40 ; ->v.typed_ref.type_key + %t399 = load ptr, ptr %t398 + %t400 = icmp eq ptr %t399, @sc_cs_4408523527888294 + store i1 true, ptr %s393 + br i1 %t400, label %brand.done155, label %brand.compare156 +brand.compare156: + %t401 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t392, ptr @sc_lit_4408523527888294) + store i1 %t401, ptr %s393 + br label %brand.done155 +brand.done155: + %t402 = load i1, ptr %s393 + br i1 %t402, label %if.t157, label %if.j158 +if.t157: + %t403 = load ptr, ptr %sc_l_p_0 + %t404 = load ptr, ptr %sc_l_p_key + %t405 = load ptr, ptr %sc_l_p_1 + %t406 = load ptr, ptr %sc_l_p_0 + %t407 = call ptr @sc_rc_retain_dyn(ptr %t406) + %t409 = icmp ne ptr %t407, null + br i1 %t409, label %dc.inspect159, label %dc.checked162 +dc.inspect159: + %t414 = getelementptr inbounds i8, ptr %t407, i64 8 ; ->kind + %t415 = load i32, ptr %t414 + %t410 = icmp eq i32 %t415, 12 + br i1 %t410, label %dc.capsule160, label %dc.checked162 +dc.capsule160: + %t411 = getelementptr inbounds i8, ptr %t407, i64 40 ; ->v.typed_ref.type_key + %t412 = load ptr, ptr %t411 + %t413 = icmp eq ptr %t412, @sc_cs_4408523527888294 + br i1 %t413, label %dc.exact161, label %dc.checked162 +dc.exact161: + %t416 = getelementptr inbounds i8, ptr %t407, i64 16 ; ->v.typed_ref.ptr + %t417 = load ptr, ptr %t416 + %t418 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t417) + store ptr %t418, ptr %s408 + br label %dc.done163 +dc.checked162: + %t419 = call ptr @sc_dc_21(ptr %t407, ptr null) + store ptr %t419, ptr %s408 + %t420 = load i32, ptr %exc.cell + %t421 = icmp ne i32 %t420, 0 + %t422 = call i1 @llvm.expect.i1(i1 %t421, i1 false) + br i1 %t422, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t407) + br label %exc.cleanup30 +exc.k165: + br label %dc.done163 +dc.done163: + %t423 = load ptr, ptr %s408 + %t424 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_479(ptr %t403, ptr %t404, ptr %t405, ptr %t423, ptr %t424) + %t425 = load i32, ptr %exc.cell + %t426 = icmp ne i32 %t425, 0 + %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false) + br i1 %t427, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t407) + call void @sc_release__x25_m4_UploadedFile(ptr %t423) + br label %exc.cleanup30 +exc.k167: + call void @sc_rc_release_dyn(ptr %t407) + call void @sc_release__x25_m4_UploadedFile(ptr %t423) + %t428 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t428) + %t429 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t429) + ret void +if.j158: + %t430 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s431 + %t432 = icmp ne ptr %t430, null + br i1 %t432, label %brand.inspect168, label %brand.done170 +brand.inspect168: + %t433 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind + %t434 = load i32, ptr %t433 + %t435 = icmp eq i32 %t434, 12 + br i1 %t435, label %brand.capsule169, label %brand.done170 +brand.capsule169: + %t436 = getelementptr inbounds i8, ptr %t430, i64 40 ; ->v.typed_ref.type_key + %t437 = load ptr, ptr %t436 + %t438 = icmp eq ptr %t437, @sc_cs_3163508115280491 + store i1 true, ptr %s431 + br i1 %t438, label %brand.done170, label %brand.compare171 +brand.compare171: + %t439 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t430, ptr @sc_lit_3163508115280491) + store i1 %t439, ptr %s431 + br label %brand.done170 +brand.done170: + %t440 = load i1, ptr %s431 + br i1 %t440, label %if.t172, label %if.j173 +if.t172: + %t441 = load ptr, ptr %sc_l_p_0 + %t442 = load ptr, ptr %sc_l_p_key + %t443 = load ptr, ptr %sc_l_p_1 + %t444 = load ptr, ptr %sc_l_p_0 + %t445 = call ptr @sc_rc_retain_dyn(ptr %t444) + %t447 = icmp ne ptr %t445, null + br i1 %t447, label %dc.inspect174, label %dc.checked177 +dc.inspect174: + %t452 = getelementptr inbounds i8, ptr %t445, i64 8 ; ->kind + %t453 = load i32, ptr %t452 + %t448 = icmp eq i32 %t453, 12 + br i1 %t448, label %dc.capsule175, label %dc.checked177 +dc.capsule175: + %t449 = getelementptr inbounds i8, ptr %t445, i64 40 ; ->v.typed_ref.type_key + %t450 = load ptr, ptr %t449 + %t451 = icmp eq ptr %t450, @sc_cs_3163508115280491 + br i1 %t451, label %dc.exact176, label %dc.checked177 +dc.exact176: + %t454 = getelementptr inbounds i8, ptr %t445, i64 16 ; ->v.typed_ref.ptr + %t455 = load ptr, ptr %t454 + %t456 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t455) + store ptr %t456, ptr %s446 + br label %dc.done178 +dc.checked177: + %t457 = call ptr @sc_dc_105(ptr %t445, ptr null) + store ptr %t457, ptr %s446 + %t458 = load i32, ptr %exc.cell + %t459 = icmp ne i32 %t458, 0 + %t460 = call i1 @llvm.expect.i1(i1 %t459, i1 false) + br i1 %t460, label %exc.u179, label %exc.k180 +exc.u179: + call void @sc_rc_release_dyn(ptr %t445) + br label %exc.cleanup30 +exc.k180: + br label %dc.done178 +dc.done178: + %t461 = load ptr, ptr %s446 + %t462 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_478(ptr %t441, ptr %t442, ptr %t443, ptr %t461, ptr %t462) + %t463 = load i32, ptr %exc.cell + %t464 = icmp ne i32 %t463, 0 + %t465 = call i1 @llvm.expect.i1(i1 %t464, i1 false) + br i1 %t465, label %exc.u181, label %exc.k182 +exc.u181: + call void @sc_rc_release_dyn(ptr %t445) + call void @sc_release__x25_m4_MultipartParser(ptr %t461) + br label %exc.cleanup30 +exc.k182: + call void @sc_rc_release_dyn(ptr %t445) + call void @sc_release__x25_m4_MultipartParser(ptr %t461) + %t466 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t466) + %t467 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t467) + ret void +if.j173: + %t468 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s469 + %t470 = icmp ne ptr %t468, null + br i1 %t470, label %brand.inspect183, label %brand.done185 +brand.inspect183: + %t471 = getelementptr inbounds i8, ptr %t468, i64 8 ; ->kind + %t472 = load i32, ptr %t471 + %t473 = icmp eq i32 %t472, 12 + br i1 %t473, label %brand.capsule184, label %brand.done185 +brand.capsule184: + %t474 = getelementptr inbounds i8, ptr %t468, i64 40 ; ->v.typed_ref.type_key + %t475 = load ptr, ptr %t474 + %t476 = icmp eq ptr %t475, @sc_cs_1875086966829314 + store i1 true, ptr %s469 + br i1 %t476, label %brand.done185, label %brand.compare186 +brand.compare186: + %t477 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t468, ptr @sc_lit_1875086966829314) + store i1 %t477, ptr %s469 + br label %brand.done185 +brand.done185: + %t478 = load i1, ptr %s469 + br i1 %t478, label %if.t187, label %if.j188 +if.t187: + %t479 = load ptr, ptr %sc_l_p_0 + %t480 = load ptr, ptr %sc_l_p_key + %t481 = load ptr, ptr %sc_l_p_1 + %t482 = load ptr, ptr %sc_l_p_0 + %t483 = call ptr @sc_rc_retain_dyn(ptr %t482) + %t485 = icmp ne ptr %t483, null + br i1 %t485, label %dc.inspect189, label %dc.checked192 +dc.inspect189: + %t490 = getelementptr inbounds i8, ptr %t483, i64 8 ; ->kind + %t491 = load i32, ptr %t490 + %t486 = icmp eq i32 %t491, 12 + br i1 %t486, label %dc.capsule190, label %dc.checked192 +dc.capsule190: + %t487 = getelementptr inbounds i8, ptr %t483, i64 40 ; ->v.typed_ref.type_key + %t488 = load ptr, ptr %t487 + %t489 = icmp eq ptr %t488, @sc_cs_1875086966829314 + br i1 %t489, label %dc.exact191, label %dc.checked192 +dc.exact191: + %t492 = getelementptr inbounds i8, ptr %t483, i64 16 ; ->v.typed_ref.ptr + %t493 = load ptr, ptr %t492 + %t494 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t493) + store ptr %t494, ptr %s484 + br label %dc.done193 +dc.checked192: + %t495 = call ptr @sc_dc_106(ptr %t483, ptr null) + store ptr %t495, ptr %s484 + %t496 = load i32, ptr %exc.cell + %t497 = icmp ne i32 %t496, 0 + %t498 = call i1 @llvm.expect.i1(i1 %t497, i1 false) + br i1 %t498, label %exc.u194, label %exc.k195 +exc.u194: + call void @sc_rc_release_dyn(ptr %t483) + br label %exc.cleanup30 +exc.k195: + br label %dc.done193 +dc.done193: + %t499 = load ptr, ptr %s484 + %t500 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_477(ptr %t479, ptr %t480, ptr %t481, ptr %t499, ptr %t500) + %t501 = load i32, ptr %exc.cell + %t502 = icmp ne i32 %t501, 0 + %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false) + br i1 %t503, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t483) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t499) + br label %exc.cleanup30 +exc.k197: + call void @sc_rc_release_dyn(ptr %t483) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t499) + %t504 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t504) + %t505 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t505) + ret void +if.j188: + %t506 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s507 + %t508 = icmp ne ptr %t506, null + br i1 %t508, label %brand.inspect198, label %brand.done200 +brand.inspect198: + %t509 = getelementptr inbounds i8, ptr %t506, i64 8 ; ->kind + %t510 = load i32, ptr %t509 + %t511 = icmp eq i32 %t510, 12 + br i1 %t511, label %brand.capsule199, label %brand.done200 +brand.capsule199: + %t512 = getelementptr inbounds i8, ptr %t506, i64 40 ; ->v.typed_ref.type_key + %t513 = load ptr, ptr %t512 + %t514 = icmp eq ptr %t513, @sc_cs_67546268704151 + store i1 true, ptr %s507 + br i1 %t514, label %brand.done200, label %brand.compare201 +brand.compare201: + %t515 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t506, ptr @sc_lit_67546268704151) + store i1 %t515, ptr %s507 + br label %brand.done200 +brand.done200: + %t516 = load i1, ptr %s507 + br i1 %t516, label %if.t202, label %if.j203 +if.t202: + %t517 = load ptr, ptr %sc_l_p_0 + %t518 = load ptr, ptr %sc_l_p_key + %t519 = load ptr, ptr %sc_l_p_1 + %t520 = load ptr, ptr %sc_l_p_0 + %t521 = call ptr @sc_rc_retain_dyn(ptr %t520) + %t523 = icmp ne ptr %t521, null + br i1 %t523, label %dc.inspect204, label %dc.checked207 +dc.inspect204: + %t528 = getelementptr inbounds i8, ptr %t521, i64 8 ; ->kind + %t529 = load i32, ptr %t528 + %t524 = icmp eq i32 %t529, 12 + br i1 %t524, label %dc.capsule205, label %dc.checked207 +dc.capsule205: + %t525 = getelementptr inbounds i8, ptr %t521, i64 40 ; ->v.typed_ref.type_key + %t526 = load ptr, ptr %t525 + %t527 = icmp eq ptr %t526, @sc_cs_67546268704151 + br i1 %t527, label %dc.exact206, label %dc.checked207 +dc.exact206: + %t530 = getelementptr inbounds i8, ptr %t521, i64 16 ; ->v.typed_ref.ptr + %t531 = load ptr, ptr %t530 + %t532 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t531) + store ptr %t532, ptr %s522 + br label %dc.done208 +dc.checked207: + %t533 = call ptr @sc_dc_107(ptr %t521, ptr null) + store ptr %t533, ptr %s522 + %t534 = load i32, ptr %exc.cell + %t535 = icmp ne i32 %t534, 0 + %t536 = call i1 @llvm.expect.i1(i1 %t535, i1 false) + br i1 %t536, label %exc.u209, label %exc.k210 +exc.u209: + call void @sc_rc_release_dyn(ptr %t521) + br label %exc.cleanup30 +exc.k210: + br label %dc.done208 +dc.done208: + %t537 = load ptr, ptr %s522 + %t538 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_475(ptr %t517, ptr %t518, ptr %t519, ptr %t537, ptr %t538) + %t539 = load i32, ptr %exc.cell + %t540 = icmp ne i32 %t539, 0 + %t541 = call i1 @llvm.expect.i1(i1 %t540, i1 false) + br i1 %t541, label %exc.u211, label %exc.k212 +exc.u211: + call void @sc_rc_release_dyn(ptr %t521) + call void @sc_release__x25_m3_LiteHeaders(ptr %t537) + br label %exc.cleanup30 +exc.k212: + call void @sc_rc_release_dyn(ptr %t521) + call void @sc_release__x25_m3_LiteHeaders(ptr %t537) + %t542 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t542) + %t543 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t543) + ret void +if.j203: + %t544 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s545 + %t546 = icmp ne ptr %t544, null + br i1 %t546, label %brand.inspect213, label %brand.done215 +brand.inspect213: + %t547 = getelementptr inbounds i8, ptr %t544, i64 8 ; ->kind + %t548 = load i32, ptr %t547 + %t549 = icmp eq i32 %t548, 12 + br i1 %t549, label %brand.capsule214, label %brand.done215 +brand.capsule214: + %t550 = getelementptr inbounds i8, ptr %t544, i64 40 ; ->v.typed_ref.type_key + %t551 = load ptr, ptr %t550 + %t552 = icmp eq ptr %t551, @sc_cs_2519527309428716 + store i1 true, ptr %s545 + br i1 %t552, label %brand.done215, label %brand.compare216 +brand.compare216: + %t553 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t544, ptr @sc_lit_2519527309428716) + store i1 %t553, ptr %s545 + br label %brand.done215 +brand.done215: + %t554 = load i1, ptr %s545 + br i1 %t554, label %if.t217, label %if.j218 +if.t217: + %t555 = load ptr, ptr %sc_l_p_0 + %t556 = load ptr, ptr %sc_l_p_key + %t557 = load ptr, ptr %sc_l_p_1 + %t558 = load ptr, ptr %sc_l_p_0 + %t559 = call ptr @sc_rc_retain_dyn(ptr %t558) + %t561 = icmp ne ptr %t559, null + br i1 %t561, label %dc.inspect219, label %dc.checked222 +dc.inspect219: + %t566 = getelementptr inbounds i8, ptr %t559, i64 8 ; ->kind + %t567 = load i32, ptr %t566 + %t562 = icmp eq i32 %t567, 12 + br i1 %t562, label %dc.capsule220, label %dc.checked222 +dc.capsule220: + %t563 = getelementptr inbounds i8, ptr %t559, i64 40 ; ->v.typed_ref.type_key + %t564 = load ptr, ptr %t563 + %t565 = icmp eq ptr %t564, @sc_cs_2519527309428716 + br i1 %t565, label %dc.exact221, label %dc.checked222 +dc.exact221: + %t568 = getelementptr inbounds i8, ptr %t559, i64 16 ; ->v.typed_ref.ptr + %t569 = load ptr, ptr %t568 + %t570 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t569) + store ptr %t570, ptr %s560 + br label %dc.done223 +dc.checked222: + %t571 = call ptr @sc_dc_108(ptr %t559, ptr null) + store ptr %t571, ptr %s560 + %t572 = load i32, ptr %exc.cell + %t573 = icmp ne i32 %t572, 0 + %t574 = call i1 @llvm.expect.i1(i1 %t573, i1 false) + br i1 %t574, label %exc.u224, label %exc.k225 +exc.u224: + call void @sc_rc_release_dyn(ptr %t559) + br label %exc.cleanup30 +exc.k225: + br label %dc.done223 +dc.done223: + %t575 = load ptr, ptr %s560 + %t576 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_474(ptr %t555, ptr %t556, ptr %t557, ptr %t575, ptr %t576) + %t577 = load i32, ptr %exc.cell + %t578 = icmp ne i32 %t577, 0 + %t579 = call i1 @llvm.expect.i1(i1 %t578, i1 false) + br i1 %t579, label %exc.u226, label %exc.k227 +exc.u226: + call void @sc_rc_release_dyn(ptr %t559) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t575) + br label %exc.cleanup30 +exc.k227: + call void @sc_rc_release_dyn(ptr %t559) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t575) + %t580 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t580) + %t581 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t581) + ret void +if.j218: + %t582 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s583 + %t584 = icmp ne ptr %t582, null + br i1 %t584, label %brand.inspect228, label %brand.done230 +brand.inspect228: + %t585 = getelementptr inbounds i8, ptr %t582, i64 8 ; ->kind + %t586 = load i32, ptr %t585 + %t587 = icmp eq i32 %t586, 12 + br i1 %t587, label %brand.capsule229, label %brand.done230 +brand.capsule229: + %t588 = getelementptr inbounds i8, ptr %t582, i64 40 ; ->v.typed_ref.type_key + %t589 = load ptr, ptr %t588 + %t590 = icmp eq ptr %t589, @sc_cs_4074974279575818 + store i1 true, ptr %s583 + br i1 %t590, label %brand.done230, label %brand.compare231 +brand.compare231: + %t591 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t582, ptr @sc_lit_4074974279575818) + store i1 %t591, ptr %s583 + br label %brand.done230 +brand.done230: + %t592 = load i1, ptr %s583 + br i1 %t592, label %if.t232, label %if.j233 +if.t232: + %t593 = load ptr, ptr %sc_l_p_0 + %t594 = load ptr, ptr %sc_l_p_key + %t595 = load ptr, ptr %sc_l_p_1 + %t596 = load ptr, ptr %sc_l_p_0 + %t597 = call ptr @sc_rc_retain_dyn(ptr %t596) + %t599 = icmp ne ptr %t597, null + br i1 %t599, label %dc.inspect234, label %dc.checked237 +dc.inspect234: + %t604 = getelementptr inbounds i8, ptr %t597, i64 8 ; ->kind + %t605 = load i32, ptr %t604 + %t600 = icmp eq i32 %t605, 12 + br i1 %t600, label %dc.capsule235, label %dc.checked237 +dc.capsule235: + %t601 = getelementptr inbounds i8, ptr %t597, i64 40 ; ->v.typed_ref.type_key + %t602 = load ptr, ptr %t601 + %t603 = icmp eq ptr %t602, @sc_cs_4074974279575818 + br i1 %t603, label %dc.exact236, label %dc.checked237 +dc.exact236: + %t606 = getelementptr inbounds i8, ptr %t597, i64 16 ; ->v.typed_ref.ptr + %t607 = load ptr, ptr %t606 + %t608 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t607) + store ptr %t608, ptr %s598 + br label %dc.done238 +dc.checked237: + %t609 = call ptr @sc_dc_104(ptr %t597, ptr null) + store ptr %t609, ptr %s598 + %t610 = load i32, ptr %exc.cell + %t611 = icmp ne i32 %t610, 0 + %t612 = call i1 @llvm.expect.i1(i1 %t611, i1 false) + br i1 %t612, label %exc.u239, label %exc.k240 +exc.u239: + call void @sc_rc_release_dyn(ptr %t597) + br label %exc.cleanup30 +exc.k240: + br label %dc.done238 +dc.done238: + %t613 = load ptr, ptr %s598 + %t614 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_473(ptr %t593, ptr %t594, ptr %t595, ptr %t613, ptr %t614) + %t615 = load i32, ptr %exc.cell + %t616 = icmp ne i32 %t615, 0 + %t617 = call i1 @llvm.expect.i1(i1 %t616, i1 false) + br i1 %t617, label %exc.u241, label %exc.k242 +exc.u241: + call void @sc_rc_release_dyn(ptr %t597) + call void @sc_release__x25_m3_LiteResponse(ptr %t613) + br label %exc.cleanup30 +exc.k242: + call void @sc_rc_release_dyn(ptr %t597) + call void @sc_release__x25_m3_LiteResponse(ptr %t613) + %t618 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t618) + %t619 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t619) + ret void +if.j233: + %t620 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s621 + %t622 = icmp ne ptr %t620, null + br i1 %t622, label %brand.inspect243, label %brand.done245 +brand.inspect243: + %t623 = getelementptr inbounds i8, ptr %t620, i64 8 ; ->kind + %t624 = load i32, ptr %t623 + %t625 = icmp eq i32 %t624, 12 + br i1 %t625, label %brand.capsule244, label %brand.done245 +brand.capsule244: + %t626 = getelementptr inbounds i8, ptr %t620, i64 40 ; ->v.typed_ref.type_key + %t627 = load ptr, ptr %t626 + %t628 = icmp eq ptr %t627, @sc_cs_2434838942941195 + store i1 true, ptr %s621 + br i1 %t628, label %brand.done245, label %brand.compare246 +brand.compare246: + %t629 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t620, ptr @sc_lit_2434838942941195) + store i1 %t629, ptr %s621 + br label %brand.done245 +brand.done245: + %t630 = load i1, ptr %s621 + br i1 %t630, label %if.t247, label %if.j248 +if.t247: + %t631 = load ptr, ptr %sc_l_p_0 + %t632 = load ptr, ptr %sc_l_p_key + %t633 = load ptr, ptr %sc_l_p_1 + %t634 = load ptr, ptr %sc_l_p_0 + %t635 = call ptr @sc_rc_retain_dyn(ptr %t634) + %t637 = icmp ne ptr %t635, null + br i1 %t637, label %dc.inspect249, label %dc.checked252 +dc.inspect249: + %t642 = getelementptr inbounds i8, ptr %t635, i64 8 ; ->kind + %t643 = load i32, ptr %t642 + %t638 = icmp eq i32 %t643, 12 + br i1 %t638, label %dc.capsule250, label %dc.checked252 +dc.capsule250: + %t639 = getelementptr inbounds i8, ptr %t635, i64 40 ; ->v.typed_ref.type_key + %t640 = load ptr, ptr %t639 + %t641 = icmp eq ptr %t640, @sc_cs_2434838942941195 + br i1 %t641, label %dc.exact251, label %dc.checked252 +dc.exact251: + %t644 = getelementptr inbounds i8, ptr %t635, i64 16 ; ->v.typed_ref.ptr + %t645 = load ptr, ptr %t644 + %t646 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t645) + store ptr %t646, ptr %s636 + br label %dc.done253 +dc.checked252: + %t647 = call ptr @sc_dc_52(ptr %t635, ptr null) + store ptr %t647, ptr %s636 + %t648 = load i32, ptr %exc.cell + %t649 = icmp ne i32 %t648, 0 + %t650 = call i1 @llvm.expect.i1(i1 %t649, i1 false) + br i1 %t650, label %exc.u254, label %exc.k255 +exc.u254: + call void @sc_rc_release_dyn(ptr %t635) + br label %exc.cleanup30 +exc.k255: + br label %dc.done253 +dc.done253: + %t651 = load ptr, ptr %s636 + %t652 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_472(ptr %t631, ptr %t632, ptr %t633, ptr %t651, ptr %t652) + %t653 = load i32, ptr %exc.cell + %t654 = icmp ne i32 %t653, 0 + %t655 = call i1 @llvm.expect.i1(i1 %t654, i1 false) + br i1 %t655, label %exc.u256, label %exc.k257 +exc.u256: + call void @sc_rc_release_dyn(ptr %t635) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t651) + br label %exc.cleanup30 +exc.k257: + call void @sc_rc_release_dyn(ptr %t635) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t651) + %t656 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t656) + %t657 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t657) + ret void +if.j248: + %t658 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s659 + %t660 = icmp ne ptr %t658, null + br i1 %t660, label %brand.inspect258, label %brand.done260 +brand.inspect258: + %t661 = getelementptr inbounds i8, ptr %t658, i64 8 ; ->kind + %t662 = load i32, ptr %t661 + %t663 = icmp eq i32 %t662, 12 + br i1 %t663, label %brand.capsule259, label %brand.done260 +brand.capsule259: + %t664 = getelementptr inbounds i8, ptr %t658, i64 40 ; ->v.typed_ref.type_key + %t665 = load ptr, ptr %t664 + %t666 = icmp eq ptr %t665, @sc_cs_3326437563644705 + store i1 true, ptr %s659 + br i1 %t666, label %brand.done260, label %brand.compare261 +brand.compare261: + %t667 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t658, ptr @sc_lit_3326437563644705) + store i1 %t667, ptr %s659 + br label %brand.done260 +brand.done260: + %t668 = load i1, ptr %s659 + br i1 %t668, label %if.t262, label %if.j263 +if.t262: + %t669 = load ptr, ptr %sc_l_p_0 + %t670 = load ptr, ptr %sc_l_p_key + %t671 = load ptr, ptr %sc_l_p_1 + %t672 = load ptr, ptr %sc_l_p_0 + %t673 = call ptr @sc_rc_retain_dyn(ptr %t672) + %t675 = icmp ne ptr %t673, null + br i1 %t675, label %dc.inspect264, label %dc.checked267 +dc.inspect264: + %t680 = getelementptr inbounds i8, ptr %t673, i64 8 ; ->kind + %t681 = load i32, ptr %t680 + %t676 = icmp eq i32 %t681, 12 + br i1 %t676, label %dc.capsule265, label %dc.checked267 +dc.capsule265: + %t677 = getelementptr inbounds i8, ptr %t673, i64 40 ; ->v.typed_ref.type_key + %t678 = load ptr, ptr %t677 + %t679 = icmp eq ptr %t678, @sc_cs_3326437563644705 + br i1 %t679, label %dc.exact266, label %dc.checked267 +dc.exact266: + %t682 = getelementptr inbounds i8, ptr %t673, i64 16 ; ->v.typed_ref.ptr + %t683 = load ptr, ptr %t682 + %t684 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t683) + store ptr %t684, ptr %s674 + br label %dc.done268 +dc.checked267: + %t685 = call ptr @sc_dc_102(ptr %t673, ptr null) + store ptr %t685, ptr %s674 + %t686 = load i32, ptr %exc.cell + %t687 = icmp ne i32 %t686, 0 + %t688 = call i1 @llvm.expect.i1(i1 %t687, i1 false) + br i1 %t688, label %exc.u269, label %exc.k270 +exc.u269: + call void @sc_rc_release_dyn(ptr %t673) + br label %exc.cleanup30 +exc.k270: + br label %dc.done268 +dc.done268: + %t689 = load ptr, ptr %s674 + %t690 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_471(ptr %t669, ptr %t670, ptr %t671, ptr %t689, ptr %t690) + %t691 = load i32, ptr %exc.cell + %t692 = icmp ne i32 %t691, 0 + %t693 = call i1 @llvm.expect.i1(i1 %t692, i1 false) + br i1 %t693, label %exc.u271, label %exc.k272 +exc.u271: + call void @sc_rc_release_dyn(ptr %t673) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t689) + br label %exc.cleanup30 +exc.k272: + call void @sc_rc_release_dyn(ptr %t673) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t689) + %t694 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t694) + %t695 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t695) + ret void +if.j263: + %t696 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s697 + %t698 = icmp ne ptr %t696, null + br i1 %t698, label %brand.inspect273, label %brand.done275 +brand.inspect273: + %t699 = getelementptr inbounds i8, ptr %t696, i64 8 ; ->kind + %t700 = load i32, ptr %t699 + %t701 = icmp eq i32 %t700, 12 + br i1 %t701, label %brand.capsule274, label %brand.done275 +brand.capsule274: + %t702 = getelementptr inbounds i8, ptr %t696, i64 40 ; ->v.typed_ref.type_key + %t703 = load ptr, ptr %t702 + %t704 = icmp eq ptr %t703, @sc_cs_629517122853751 + store i1 true, ptr %s697 + br i1 %t704, label %brand.done275, label %brand.compare276 +brand.compare276: + %t705 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t696, ptr @sc_lit_629517122853751) + store i1 %t705, ptr %s697 + br label %brand.done275 +brand.done275: + %t706 = load i1, ptr %s697 + br i1 %t706, label %if.t277, label %if.j278 +if.t277: + %t707 = load ptr, ptr %sc_l_p_0 + %t708 = load ptr, ptr %sc_l_p_key + %t709 = load ptr, ptr %sc_l_p_1 + %t710 = load ptr, ptr %sc_l_p_0 + %t711 = call ptr @sc_rc_retain_dyn(ptr %t710) + %t713 = icmp ne ptr %t711, null + br i1 %t713, label %dc.inspect279, label %dc.checked282 +dc.inspect279: + %t718 = getelementptr inbounds i8, ptr %t711, i64 8 ; ->kind + %t719 = load i32, ptr %t718 + %t714 = icmp eq i32 %t719, 12 + br i1 %t714, label %dc.capsule280, label %dc.checked282 +dc.capsule280: + %t715 = getelementptr inbounds i8, ptr %t711, i64 40 ; ->v.typed_ref.type_key + %t716 = load ptr, ptr %t715 + %t717 = icmp eq ptr %t716, @sc_cs_629517122853751 + br i1 %t717, label %dc.exact281, label %dc.checked282 +dc.exact281: + %t720 = getelementptr inbounds i8, ptr %t711, i64 16 ; ->v.typed_ref.ptr + %t721 = load ptr, ptr %t720 + %t722 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t721) + store ptr %t722, ptr %s712 + br label %dc.done283 +dc.checked282: + %t723 = call ptr @sc_dc_29(ptr %t711, ptr null) + store ptr %t723, ptr %s712 + %t724 = load i32, ptr %exc.cell + %t725 = icmp ne i32 %t724, 0 + %t726 = call i1 @llvm.expect.i1(i1 %t725, i1 false) + br i1 %t726, label %exc.u284, label %exc.k285 +exc.u284: + call void @sc_rc_release_dyn(ptr %t711) + br label %exc.cleanup30 +exc.k285: + br label %dc.done283 +dc.done283: + %t727 = load ptr, ptr %s712 + %t728 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_470(ptr %t707, ptr %t708, ptr %t709, ptr %t727, ptr %t728) + %t729 = load i32, ptr %exc.cell + %t730 = icmp ne i32 %t729, 0 + %t731 = call i1 @llvm.expect.i1(i1 %t730, i1 false) + br i1 %t731, label %exc.u286, label %exc.k287 +exc.u286: + call void @sc_rc_release_dyn(ptr %t711) + call void @sc_release__x25_m2_ResponseSink(ptr %t727) + br label %exc.cleanup30 +exc.k287: + call void @sc_rc_release_dyn(ptr %t711) + call void @sc_release__x25_m2_ResponseSink(ptr %t727) + %t732 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t732) + %t733 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t733) + ret void +if.j278: + %t734 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s735 + %t736 = icmp ne ptr %t734, null + br i1 %t736, label %brand.inspect288, label %brand.done290 +brand.inspect288: + %t737 = getelementptr inbounds i8, ptr %t734, i64 8 ; ->kind + %t738 = load i32, ptr %t737 + %t739 = icmp eq i32 %t738, 12 + br i1 %t739, label %brand.capsule289, label %brand.done290 +brand.capsule289: + %t740 = getelementptr inbounds i8, ptr %t734, i64 40 ; ->v.typed_ref.type_key + %t741 = load ptr, ptr %t740 + %t742 = icmp eq ptr %t741, @sc_cs_660811353369478 + store i1 true, ptr %s735 + br i1 %t742, label %brand.done290, label %brand.compare291 +brand.compare291: + %t743 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t734, ptr @sc_lit_660811353369478) + store i1 %t743, ptr %s735 + br label %brand.done290 +brand.done290: + %t744 = load i1, ptr %s735 + br i1 %t744, label %if.t292, label %if.j293 +if.t292: + %t745 = load ptr, ptr %sc_l_p_0 + %t746 = load ptr, ptr %sc_l_p_key + %t747 = load ptr, ptr %sc_l_p_1 + %t748 = load ptr, ptr %sc_l_p_0 + %t749 = call ptr @sc_rc_retain_dyn(ptr %t748) + %t751 = icmp ne ptr %t749, null + br i1 %t751, label %dc.inspect294, label %dc.checked297 +dc.inspect294: + %t756 = getelementptr inbounds i8, ptr %t749, i64 8 ; ->kind + %t757 = load i32, ptr %t756 + %t752 = icmp eq i32 %t757, 12 + br i1 %t752, label %dc.capsule295, label %dc.checked297 +dc.capsule295: + %t753 = getelementptr inbounds i8, ptr %t749, i64 40 ; ->v.typed_ref.type_key + %t754 = load ptr, ptr %t753 + %t755 = icmp eq ptr %t754, @sc_cs_660811353369478 + br i1 %t755, label %dc.exact296, label %dc.checked297 +dc.exact296: + %t758 = getelementptr inbounds i8, ptr %t749, i64 16 ; ->v.typed_ref.ptr + %t759 = load ptr, ptr %t758 + %t760 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t759) + store ptr %t760, ptr %s750 + br label %dc.done298 +dc.checked297: + %t761 = call ptr @sc_dc_28(ptr %t749, ptr null) + store ptr %t761, ptr %s750 + %t762 = load i32, ptr %exc.cell + %t763 = icmp ne i32 %t762, 0 + %t764 = call i1 @llvm.expect.i1(i1 %t763, i1 false) + br i1 %t764, label %exc.u299, label %exc.k300 +exc.u299: + call void @sc_rc_release_dyn(ptr %t749) + br label %exc.cleanup30 +exc.k300: + br label %dc.done298 +dc.done298: + %t765 = load ptr, ptr %s750 + %t766 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_469(ptr %t745, ptr %t746, ptr %t747, ptr %t765, ptr %t766) + %t767 = load i32, ptr %exc.cell + %t768 = icmp ne i32 %t767, 0 + %t769 = call i1 @llvm.expect.i1(i1 %t768, i1 false) + br i1 %t769, label %exc.u301, label %exc.k302 +exc.u301: + call void @sc_rc_release_dyn(ptr %t749) + call void @sc_release__x25_m5_ReqViewCore(ptr %t765) + br label %exc.cleanup30 +exc.k302: + call void @sc_rc_release_dyn(ptr %t749) + call void @sc_release__x25_m5_ReqViewCore(ptr %t765) + %t770 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t770) + %t771 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t771) + ret void +if.j293: + %t772 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s773 + %t774 = icmp ne ptr %t772, null + br i1 %t774, label %brand.inspect303, label %brand.done305 +brand.inspect303: + %t775 = getelementptr inbounds i8, ptr %t772, i64 8 ; ->kind + %t776 = load i32, ptr %t775 + %t777 = icmp eq i32 %t776, 12 + br i1 %t777, label %brand.capsule304, label %brand.done305 +brand.capsule304: + %t778 = getelementptr inbounds i8, ptr %t772, i64 40 ; ->v.typed_ref.type_key + %t779 = load ptr, ptr %t778 + %t780 = icmp eq ptr %t779, @sc_cs_4336131790391205 + store i1 true, ptr %s773 + br i1 %t780, label %brand.done305, label %brand.compare306 +brand.compare306: + %t781 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t772, ptr @sc_lit_4336131790391205) + store i1 %t781, ptr %s773 + br label %brand.done305 +brand.done305: + %t782 = load i1, ptr %s773 + br i1 %t782, label %if.t307, label %if.j308 +if.t307: + %t783 = load ptr, ptr %sc_l_p_0 + %t784 = load ptr, ptr %sc_l_p_key + %t785 = load ptr, ptr %sc_l_p_1 + %t786 = load ptr, ptr %sc_l_p_0 + %t787 = call ptr @sc_rc_retain_dyn(ptr %t786) + %t789 = icmp ne ptr %t787, null + br i1 %t789, label %dc.inspect309, label %dc.checked312 +dc.inspect309: + %t794 = getelementptr inbounds i8, ptr %t787, i64 8 ; ->kind + %t795 = load i32, ptr %t794 + %t790 = icmp eq i32 %t795, 12 + br i1 %t790, label %dc.capsule310, label %dc.checked312 +dc.capsule310: + %t791 = getelementptr inbounds i8, ptr %t787, i64 40 ; ->v.typed_ref.type_key + %t792 = load ptr, ptr %t791 + %t793 = icmp eq ptr %t792, @sc_cs_4336131790391205 + br i1 %t793, label %dc.exact311, label %dc.checked312 +dc.exact311: + %t796 = getelementptr inbounds i8, ptr %t787, i64 16 ; ->v.typed_ref.ptr + %t797 = load ptr, ptr %t796 + %t798 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t797) + store ptr %t798, ptr %s788 + br label %dc.done313 +dc.checked312: + %t799 = call ptr @sc_dc_43(ptr %t787, ptr null) + store ptr %t799, ptr %s788 + %t800 = load i32, ptr %exc.cell + %t801 = icmp ne i32 %t800, 0 + %t802 = call i1 @llvm.expect.i1(i1 %t801, i1 false) + br i1 %t802, label %exc.u314, label %exc.k315 +exc.u314: + call void @sc_rc_release_dyn(ptr %t787) + br label %exc.cleanup30 +exc.k315: + br label %dc.done313 +dc.done313: + %t803 = load ptr, ptr %s788 + %t804 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_468(ptr %t783, ptr %t784, ptr %t785, ptr %t803, ptr %t804) + %t805 = load i32, ptr %exc.cell + %t806 = icmp ne i32 %t805, 0 + %t807 = call i1 @llvm.expect.i1(i1 %t806, i1 false) + br i1 %t807, label %exc.u316, label %exc.k317 +exc.u316: + call void @sc_rc_release_dyn(ptr %t787) + call void @sc_release__x25_m5_MpCfg(ptr %t803) + br label %exc.cleanup30 +exc.k317: + call void @sc_rc_release_dyn(ptr %t787) + call void @sc_release__x25_m5_MpCfg(ptr %t803) + %t808 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t808) + %t809 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t809) + ret void +if.j308: + %t810 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s811 + %t812 = icmp ne ptr %t810, null + br i1 %t812, label %brand.inspect318, label %brand.done320 +brand.inspect318: + %t813 = getelementptr inbounds i8, ptr %t810, i64 8 ; ->kind + %t814 = load i32, ptr %t813 + %t815 = icmp eq i32 %t814, 12 + br i1 %t815, label %brand.capsule319, label %brand.done320 +brand.capsule319: + %t816 = getelementptr inbounds i8, ptr %t810, i64 40 ; ->v.typed_ref.type_key + %t817 = load ptr, ptr %t816 + %t818 = icmp eq ptr %t817, @sc_cs_3456310594719780 + store i1 true, ptr %s811 + br i1 %t818, label %brand.done320, label %brand.compare321 +brand.compare321: + %t819 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t810, ptr @sc_lit_3456310594719780) + store i1 %t819, ptr %s811 + br label %brand.done320 +brand.done320: + %t820 = load i1, ptr %s811 + br i1 %t820, label %if.t322, label %if.j323 +if.t322: + %t821 = load ptr, ptr %sc_l_p_0 + %t822 = load ptr, ptr %sc_l_p_key + %t823 = load ptr, ptr %sc_l_p_1 + %t824 = load ptr, ptr %sc_l_p_0 + %t825 = call ptr @sc_rc_retain_dyn(ptr %t824) + %t827 = icmp ne ptr %t825, null + br i1 %t827, label %dc.inspect324, label %dc.checked327 +dc.inspect324: + %t832 = getelementptr inbounds i8, ptr %t825, i64 8 ; ->kind + %t833 = load i32, ptr %t832 + %t828 = icmp eq i32 %t833, 12 + br i1 %t828, label %dc.capsule325, label %dc.checked327 +dc.capsule325: + %t829 = getelementptr inbounds i8, ptr %t825, i64 40 ; ->v.typed_ref.type_key + %t830 = load ptr, ptr %t829 + %t831 = icmp eq ptr %t830, @sc_cs_3456310594719780 + br i1 %t831, label %dc.exact326, label %dc.checked327 +dc.exact326: + %t834 = getelementptr inbounds i8, ptr %t825, i64 16 ; ->v.typed_ref.ptr + %t835 = load ptr, ptr %t834 + %t836 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t835) + store ptr %t836, ptr %s826 + br label %dc.done328 +dc.checked327: + %t837 = call ptr @sc_dc_99(ptr %t825, ptr null) + store ptr %t837, ptr %s826 + %t838 = load i32, ptr %exc.cell + %t839 = icmp ne i32 %t838, 0 + %t840 = call i1 @llvm.expect.i1(i1 %t839, i1 false) + br i1 %t840, label %exc.u329, label %exc.k330 +exc.u329: + call void @sc_rc_release_dyn(ptr %t825) + br label %exc.cleanup30 +exc.k330: + br label %dc.done328 +dc.done328: + %t841 = load ptr, ptr %s826 + %t842 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_467(ptr %t821, ptr %t822, ptr %t823, ptr %t841, ptr %t842) + %t843 = load i32, ptr %exc.cell + %t844 = icmp ne i32 %t843, 0 + %t845 = call i1 @llvm.expect.i1(i1 %t844, i1 false) + br i1 %t845, label %exc.u331, label %exc.k332 +exc.u331: + call void @sc_rc_release_dyn(ptr %t825) + call void @sc_release__x25_m4_MemoryStorage(ptr %t841) + br label %exc.cleanup30 +exc.k332: + call void @sc_rc_release_dyn(ptr %t825) + call void @sc_release__x25_m4_MemoryStorage(ptr %t841) + %t846 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t846) + %t847 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t847) + ret void +if.j323: + %t848 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s849 + %t850 = icmp ne ptr %t848, null + br i1 %t850, label %brand.inspect333, label %brand.done335 +brand.inspect333: + %t851 = getelementptr inbounds i8, ptr %t848, i64 8 ; ->kind + %t852 = load i32, ptr %t851 + %t853 = icmp eq i32 %t852, 12 + br i1 %t853, label %brand.capsule334, label %brand.done335 +brand.capsule334: + %t854 = getelementptr inbounds i8, ptr %t848, i64 40 ; ->v.typed_ref.type_key + %t855 = load ptr, ptr %t854 + %t856 = icmp eq ptr %t855, @sc_cs_3635319175845957 + store i1 true, ptr %s849 + br i1 %t856, label %brand.done335, label %brand.compare336 +brand.compare336: + %t857 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t848, ptr @sc_lit_3635319175845957) + store i1 %t857, ptr %s849 + br label %brand.done335 +brand.done335: + %t858 = load i1, ptr %s849 + br i1 %t858, label %if.t337, label %if.j338 +if.t337: + %t859 = load ptr, ptr %sc_l_p_0 + %t860 = load ptr, ptr %sc_l_p_key + %t861 = load ptr, ptr %sc_l_p_1 + %t862 = load ptr, ptr %sc_l_p_0 + %t863 = call ptr @sc_rc_retain_dyn(ptr %t862) + %t865 = icmp ne ptr %t863, null + br i1 %t865, label %dc.inspect339, label %dc.checked342 +dc.inspect339: + %t870 = getelementptr inbounds i8, ptr %t863, i64 8 ; ->kind + %t871 = load i32, ptr %t870 + %t866 = icmp eq i32 %t871, 12 + br i1 %t866, label %dc.capsule340, label %dc.checked342 +dc.capsule340: + %t867 = getelementptr inbounds i8, ptr %t863, i64 40 ; ->v.typed_ref.type_key + %t868 = load ptr, ptr %t867 + %t869 = icmp eq ptr %t868, @sc_cs_3635319175845957 + br i1 %t869, label %dc.exact341, label %dc.checked342 +dc.exact341: + %t872 = getelementptr inbounds i8, ptr %t863, i64 16 ; ->v.typed_ref.ptr + %t873 = load ptr, ptr %t872 + %t874 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t873) + store ptr %t874, ptr %s864 + br label %dc.done343 +dc.checked342: + %t875 = call ptr @sc_dc_24(ptr %t863, ptr null) + store ptr %t875, ptr %s864 + %t876 = load i32, ptr %exc.cell + %t877 = icmp ne i32 %t876, 0 + %t878 = call i1 @llvm.expect.i1(i1 %t877, i1 false) + br i1 %t878, label %exc.u344, label %exc.k345 +exc.u344: + call void @sc_rc_release_dyn(ptr %t863) + br label %exc.cleanup30 +exc.k345: + br label %dc.done343 +dc.done343: + %t879 = load ptr, ptr %s864 + %t880 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_466(ptr %t859, ptr %t860, ptr %t861, ptr %t879, ptr %t880) + %t881 = load i32, ptr %exc.cell + %t882 = icmp ne i32 %t881, 0 + %t883 = call i1 @llvm.expect.i1(i1 %t882, i1 false) + br i1 %t883, label %exc.u346, label %exc.k347 +exc.u346: + call void @sc_rc_release_dyn(ptr %t863) + call void @sc_release__x25_m4_MultipartStorage(ptr %t879) + br label %exc.cleanup30 +exc.k347: + call void @sc_rc_release_dyn(ptr %t863) + call void @sc_release__x25_m4_MultipartStorage(ptr %t879) + %t884 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t884) + %t885 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t885) + ret void +if.j338: + %t886 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s887 + %t888 = icmp ne ptr %t886, null + br i1 %t888, label %brand.inspect348, label %brand.done350 +brand.inspect348: + %t889 = getelementptr inbounds i8, ptr %t886, i64 8 ; ->kind + %t890 = load i32, ptr %t889 + %t891 = icmp eq i32 %t890, 12 + br i1 %t891, label %brand.capsule349, label %brand.done350 +brand.capsule349: + %t892 = getelementptr inbounds i8, ptr %t886, i64 40 ; ->v.typed_ref.type_key + %t893 = load ptr, ptr %t892 + %t894 = icmp eq ptr %t893, @sc_cs_4143564844538255 + store i1 true, ptr %s887 + br i1 %t894, label %brand.done350, label %brand.compare351 +brand.compare351: + %t895 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t886, ptr @sc_lit_4143564844538255) + store i1 %t895, ptr %s887 + br label %brand.done350 +brand.done350: + %t896 = load i1, ptr %s887 + br i1 %t896, label %if.t352, label %if.j353 +if.t352: + %t897 = load ptr, ptr %sc_l_p_0 + %t898 = load ptr, ptr %sc_l_p_key + %t899 = load ptr, ptr %sc_l_p_1 + %t900 = load ptr, ptr %sc_l_p_0 + %t901 = call ptr @sc_rc_retain_dyn(ptr %t900) + %t903 = icmp ne ptr %t901, null + br i1 %t903, label %dc.inspect354, label %dc.checked357 +dc.inspect354: + %t908 = getelementptr inbounds i8, ptr %t901, i64 8 ; ->kind + %t909 = load i32, ptr %t908 + %t904 = icmp eq i32 %t909, 12 + br i1 %t904, label %dc.capsule355, label %dc.checked357 +dc.capsule355: + %t905 = getelementptr inbounds i8, ptr %t901, i64 40 ; ->v.typed_ref.type_key + %t906 = load ptr, ptr %t905 + %t907 = icmp eq ptr %t906, @sc_cs_4143564844538255 + br i1 %t907, label %dc.exact356, label %dc.checked357 +dc.exact356: + %t910 = getelementptr inbounds i8, ptr %t901, i64 16 ; ->v.typed_ref.ptr + %t911 = load ptr, ptr %t910 + %t912 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t911) + store ptr %t912, ptr %s902 + br label %dc.done358 +dc.checked357: + %t913 = call ptr @sc_dc_109(ptr %t901, ptr null) + store ptr %t913, ptr %s902 + %t914 = load i32, ptr %exc.cell + %t915 = icmp ne i32 %t914, 0 + %t916 = call i1 @llvm.expect.i1(i1 %t915, i1 false) + br i1 %t916, label %exc.u359, label %exc.k360 +exc.u359: + call void @sc_rc_release_dyn(ptr %t901) + br label %exc.cleanup30 +exc.k360: + br label %dc.done358 +dc.done358: + %t917 = load ptr, ptr %s902 + %t918 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_465(ptr %t897, ptr %t898, ptr %t899, ptr %t917, ptr %t918) + %t919 = load i32, ptr %exc.cell + %t920 = icmp ne i32 %t919, 0 + %t921 = call i1 @llvm.expect.i1(i1 %t920, i1 false) + br i1 %t921, label %exc.u361, label %exc.k362 +exc.u361: + call void @sc_rc_release_dyn(ptr %t901) + call void @sc_release__x25_m14_BakedAssets(ptr %t917) + br label %exc.cleanup30 +exc.k362: + call void @sc_rc_release_dyn(ptr %t901) + call void @sc_release__x25_m14_BakedAssets(ptr %t917) + %t922 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t922) + %t923 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t923) + ret void +if.j353: + %t924 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s925 + %t926 = icmp ne ptr %t924, null + br i1 %t926, label %brand.inspect363, label %brand.done365 +brand.inspect363: + %t927 = getelementptr inbounds i8, ptr %t924, i64 8 ; ->kind + %t928 = load i32, ptr %t927 + %t929 = icmp eq i32 %t928, 12 + br i1 %t929, label %brand.capsule364, label %brand.done365 +brand.capsule364: + %t930 = getelementptr inbounds i8, ptr %t924, i64 40 ; ->v.typed_ref.type_key + %t931 = load ptr, ptr %t930 + %t932 = icmp eq ptr %t931, @sc_cs_2875643240706496 + store i1 true, ptr %s925 + br i1 %t932, label %brand.done365, label %brand.compare366 +brand.compare366: + %t933 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t924, ptr @sc_lit_2875643240706496) + store i1 %t933, ptr %s925 + br label %brand.done365 +brand.done365: + %t934 = load i1, ptr %s925 + br i1 %t934, label %if.t367, label %if.j368 +if.t367: + %t935 = load ptr, ptr %sc_l_p_0 + %t936 = load ptr, ptr %sc_l_p_key + %t937 = load ptr, ptr %sc_l_p_1 + %t938 = load ptr, ptr %sc_l_p_0 + %t939 = call ptr @sc_rc_retain_dyn(ptr %t938) + %t941 = icmp ne ptr %t939, null + br i1 %t941, label %dc.inspect369, label %dc.checked372 +dc.inspect369: + %t946 = getelementptr inbounds i8, ptr %t939, i64 8 ; ->kind + %t947 = load i32, ptr %t946 + %t942 = icmp eq i32 %t947, 12 + br i1 %t942, label %dc.capsule370, label %dc.checked372 +dc.capsule370: + %t943 = getelementptr inbounds i8, ptr %t939, i64 40 ; ->v.typed_ref.type_key + %t944 = load ptr, ptr %t943 + %t945 = icmp eq ptr %t944, @sc_cs_2875643240706496 + br i1 %t945, label %dc.exact371, label %dc.checked372 +dc.exact371: + %t948 = getelementptr inbounds i8, ptr %t939, i64 16 ; ->v.typed_ref.ptr + %t949 = load ptr, ptr %t948 + %t950 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t949) + store ptr %t950, ptr %s940 + br label %dc.done373 +dc.checked372: + %t951 = call ptr @sc_dc_48(ptr %t939, ptr null) + store ptr %t951, ptr %s940 + %t952 = load i32, ptr %exc.cell + %t953 = icmp ne i32 %t952, 0 + %t954 = call i1 @llvm.expect.i1(i1 %t953, i1 false) + br i1 %t954, label %exc.u374, label %exc.k375 +exc.u374: + call void @sc_rc_release_dyn(ptr %t939) + br label %exc.cleanup30 +exc.k375: + br label %dc.done373 +dc.done373: + %t955 = load ptr, ptr %s940 + %t956 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_464(ptr %t935, ptr %t936, ptr %t937, ptr %t955, ptr %t956) + %t957 = load i32, ptr %exc.cell + %t958 = icmp ne i32 %t957, 0 + %t959 = call i1 @llvm.expect.i1(i1 %t958, i1 false) + br i1 %t959, label %exc.u376, label %exc.k377 +exc.u376: + call void @sc_rc_release_dyn(ptr %t939) + call void @sc_release__x25_m5_CtxCore(ptr %t955) + br label %exc.cleanup30 +exc.k377: + call void @sc_rc_release_dyn(ptr %t939) + call void @sc_release__x25_m5_CtxCore(ptr %t955) + %t960 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t960) + %t961 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t961) + ret void +if.j368: + %t962 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s963 + %t964 = icmp ne ptr %t962, null + br i1 %t964, label %brand.inspect378, label %brand.done380 +brand.inspect378: + %t965 = getelementptr inbounds i8, ptr %t962, i64 8 ; ->kind + %t966 = load i32, ptr %t965 + %t967 = icmp eq i32 %t966, 12 + br i1 %t967, label %brand.capsule379, label %brand.done380 +brand.capsule379: + %t968 = getelementptr inbounds i8, ptr %t962, i64 40 ; ->v.typed_ref.type_key + %t969 = load ptr, ptr %t968 + %t970 = icmp eq ptr %t969, @sc_cs_21424698936986 + store i1 true, ptr %s963 + br i1 %t970, label %brand.done380, label %brand.compare381 +brand.compare381: + %t971 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t962, ptr @sc_lit_21424698936986) + store i1 %t971, ptr %s963 + br label %brand.done380 +brand.done380: + %t972 = load i1, ptr %s963 + br i1 %t972, label %if.t382, label %if.j383 +if.t382: + %t973 = load ptr, ptr %sc_l_p_0 + %t974 = load ptr, ptr %sc_l_p_key + %t975 = load ptr, ptr %sc_l_p_1 + %t976 = load ptr, ptr %sc_l_p_0 + %t977 = call ptr @sc_rc_retain_dyn(ptr %t976) + %t979 = icmp ne ptr %t977, null + br i1 %t979, label %dc.inspect384, label %dc.checked387 +dc.inspect384: + %t984 = getelementptr inbounds i8, ptr %t977, i64 8 ; ->kind + %t985 = load i32, ptr %t984 + %t980 = icmp eq i32 %t985, 12 + br i1 %t980, label %dc.capsule385, label %dc.checked387 +dc.capsule385: + %t981 = getelementptr inbounds i8, ptr %t977, i64 40 ; ->v.typed_ref.type_key + %t982 = load ptr, ptr %t981 + %t983 = icmp eq ptr %t982, @sc_cs_21424698936986 + br i1 %t983, label %dc.exact386, label %dc.checked387 +dc.exact386: + %t986 = getelementptr inbounds i8, ptr %t977, i64 16 ; ->v.typed_ref.ptr + %t987 = load ptr, ptr %t986 + %t988 = call ptr @sc_retain__x25_m5_App(ptr %t987) + store ptr %t988, ptr %s978 + br label %dc.done388 +dc.checked387: + %t989 = call ptr @sc_dc_91(ptr %t977, ptr null) + store ptr %t989, ptr %s978 + %t990 = load i32, ptr %exc.cell + %t991 = icmp ne i32 %t990, 0 + %t992 = call i1 @llvm.expect.i1(i1 %t991, i1 false) + br i1 %t992, label %exc.u389, label %exc.k390 +exc.u389: + call void @sc_rc_release_dyn(ptr %t977) + br label %exc.cleanup30 +exc.k390: + br label %dc.done388 +dc.done388: + %t993 = load ptr, ptr %s978 + %t994 = load ptr, ptr %sc_l_key_string + call void @sc_bf__x25_dyn_class_keys_463(ptr %t973, ptr %t974, ptr %t975, ptr %t993, ptr %t994) + %t995 = load i32, ptr %exc.cell + %t996 = icmp ne i32 %t995, 0 + %t997 = call i1 @llvm.expect.i1(i1 %t996, i1 false) + br i1 %t997, label %exc.u391, label %exc.k392 +exc.u391: + call void @sc_rc_release_dyn(ptr %t977) + call void @sc_release__x25_m5_App(ptr %t993) + br label %exc.cleanup30 +exc.k392: + call void @sc_rc_release_dyn(ptr %t977) + call void @sc_release__x25_m5_App(ptr %t993) + %t998 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t998) + %t999 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t999) + ret void +if.j383: + %t1000 = load ptr, ptr %sc_l_p_0 + %t1001 = call ptr @sc_rc_retain_dyn(ptr %t1000) + %t1002 = call ptr @sc_f__x25_dyn_class_properties(ptr %t1001) + %t1003 = load i32, ptr %exc.cell + %t1004 = icmp ne i32 %t1003, 0 + %t1005 = call i1 @llvm.expect.i1(i1 %t1004, i1 false) + br i1 %t1005, label %exc.u393, label %exc.k394 +exc.u393: + call void @sc_rc_release_dyn(ptr %t1002) + br label %exc.cleanup30 +exc.k394: + %t1006 = load ptr, ptr %sc_l_key_string + %t1007 = call ptr @sc_rc_retain_str(ptr %t1006) + %t1008 = load ptr, ptr %sc_l_p_1 + %t1009 = call ptr @sc_rc_retain_dyn(ptr %t1008) + call void @scr_dyn_key_set(ptr %t1002, ptr %t1007, ptr %t1009) + %t1010 = load i32, ptr %exc.cell + %t1011 = icmp ne i32 %t1010, 0 + %t1012 = call i1 @llvm.expect.i1(i1 %t1011, i1 false) + br i1 %t1012, label %exc.u395, label %exc.k396 +exc.u395: + call void @sc_rc_release_dyn(ptr %t1002) + call void @scr_str_release(ptr %t1007) + call void @sc_rc_release_dyn(ptr %t1009) + br label %exc.cleanup30 +exc.k396: + call void @sc_rc_release_dyn(ptr %t1002) + call void @scr_str_release(ptr %t1007) + call void @sc_rc_release_dyn(ptr %t1009) + %t1013 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t1013) + %t1014 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t1014) + ret void +exc.cleanup2: + %t1015 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t1015) + ret void +exc.cleanup30: + %t1016 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t1016) + %t1017 = load ptr, ptr %sc_l_key_string + call void @scr_str_release(ptr %t1017) + ret void +} +define internal void @sc_f__x25_dyn_class_computed_0(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + call void @sc_bf__x25_dyn_class_computed_0(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + ret void +} + +define internal ptr @sc_f__x25_dyn_class_property_17(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.17 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2253648670486996) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2253648670486996, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_2253648670486996) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_2253648670486996, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_2253648670486996) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_2253648670486996, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_2253648670486996) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_2253648670486996, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_2253648670486996, ptr @sc_dyn_read_ic_17) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_2253648670486996, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_2253648670486996, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_18(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.18 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s196 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_2519527309428716 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2519527309428716) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_2519527309428716 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_108(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2227497482646049) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_2519527309428716 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_108(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_2519527309428716 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_108(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2227497482646049, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_4143564844538255 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_4143564844538255) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_4143564844538255 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_109(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m14_BakedAssets(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_2227497482646049) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m14_BakedAssets(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m14_BakedAssets(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_4143564844538255 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_109(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m14_BakedAssets(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_4143564844538255 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_109(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m14_BakedAssets(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_2227497482646049, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m14_BakedAssets(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m14_BakedAssets(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m14_BakedAssets(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m14_BakedAssets(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + %t187 = call ptr @sc_rc_retain_dyn(ptr %t186) + %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t188) + br label %exc.cleanup2 +exc.k80: + %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188) + call void @sc_rc_release_dyn(ptr %t188) + store ptr %t192, ptr %sc_l_bag_0 + %t193 = load ptr, ptr %sc_l_bag_0 + %t194 = load ptr, ptr %sc_l_p_0 + %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194) + br i1 %t195, label %tern.t81, label %tern.f82 +tern.t81: + %t197 = load ptr, ptr %sc_l_bag_0 + %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind + %t201 = load i32, ptr %t200 + %t199 = icmp eq i32 %t201, 5 + br i1 %t199, label %dkg.ic84, label %dkg.any85 +dkg.ic84: + %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_2227497482646049, ptr @sc_dyn_read_ic_18) + br label %dkg.j86 +dkg.any85: + %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_2227497482646049, i1 false) + br label %dkg.j86 +dkg.j86: + %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ] + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup89 +exc.k88: + store ptr %t198, ptr %s196 + br label %tern.j83 +tern.f82: + %t207 = load ptr, ptr %sc_l_bag_0 + %t208 = call ptr @sc_rc_retain_dyn(ptr %t207) + %t209 = load ptr, ptr %sc_l_p_0 + %t210 = call ptr @sc_rc_retain_dyn(ptr %t209) + %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_2227497482646049, ptr %t210) + %t212 = load i32, ptr %exc.cell + %t213 = icmp ne i32 %t212, 0 + %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false) + br i1 %t214, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + call void @sc_rc_release_dyn(ptr %t211) + br label %exc.cleanup89 +exc.k91: + store ptr %t211, ptr %s196 + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + br label %tern.j83 +tern.j83: + %t215 = load ptr, ptr %s196 + %t216 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t216) + %t217 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t217) + ret ptr %t215 +exc.cleanup2: + %t218 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t218) + ret ptr null +exc.cleanup89: + %t219 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t219) + %t220 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t220) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_19(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.19 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t12) + br label %exc.cleanup2 +exc.k6: + %t16 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t12) + call void @sc_rc_release_dyn(ptr %t12) + store ptr %t16, ptr %sc_l_bag_0 + %t17 = load ptr, ptr %sc_l_bag_0 + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = call zeroext i1 @scr_dyn_strict_eq(ptr %t17, ptr %t18) + br i1 %t19, label %tern.t7, label %tern.f8 +tern.t7: + %t21 = load ptr, ptr %sc_l_bag_0 + %t24 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind + %t25 = load i32, ptr %t24 + %t23 = icmp eq i32 %t25, 5 + br i1 %t23, label %dkg.ic10, label %dkg.any11 +dkg.ic10: + %t26 = call ptr @scr_dyn_obj_read_ic(ptr %t21, ptr @sc_lit_1253490067536641, ptr @sc_dyn_read_ic_19) + br label %dkg.j12 +dkg.any11: + %t27 = call ptr @sc_dyn_key_get(ptr %t21, ptr @sc_lit_1253490067536641, i1 false) + br label %dkg.j12 +dkg.j12: + %t22 = phi ptr [ %t26, %dkg.ic10 ], [ %t27, %dkg.any11 ] + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup15 +exc.k14: + store ptr %t22, ptr %s20 + br label %tern.j9 +tern.f8: + %t31 = load ptr, ptr %sc_l_bag_0 + %t32 = call ptr @sc_rc_retain_dyn(ptr %t31) + %t33 = load ptr, ptr %sc_l_p_0 + %t34 = call ptr @sc_rc_retain_dyn(ptr %t33) + %t35 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_1253490067536641, ptr %t34) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + br label %exc.cleanup15 +exc.k17: + store ptr %t35, ptr %s20 + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + br label %tern.j9 +tern.j9: + %t39 = load ptr, ptr %s20 + %t40 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t41) + ret ptr %t39 +exc.cleanup2: + %t42 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.cleanup15: + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_computed_1(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key) #0 { ; %dyn.class.computed.1 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s25 = alloca ptr + %s47 = alloca i1 + %s61 = alloca ptr + %s83 = alloca i1 + %s97 = alloca ptr + %s119 = alloca i1 + %s133 = alloca ptr + %s155 = alloca i1 + %s169 = alloca ptr + %s191 = alloca i1 + %s205 = alloca ptr + %s227 = alloca i1 + %s241 = alloca ptr + %s263 = alloca i1 + %s277 = alloca ptr + %s299 = alloca i1 + %s313 = alloca ptr + %s335 = alloca i1 + %s349 = alloca ptr + %s371 = alloca i1 + %s385 = alloca ptr + %s407 = alloca i1 + %s421 = alloca ptr + %s443 = alloca i1 + %s457 = alloca ptr + %s479 = alloca i1 + %s493 = alloca ptr + %s515 = alloca i1 + %s529 = alloca ptr + %s551 = alloca i1 + %s565 = alloca ptr + %s587 = alloca i1 + %s601 = alloca ptr + %s623 = alloca i1 + %s637 = alloca ptr + %s659 = alloca i1 + %s673 = alloca ptr + %s695 = alloca i1 + %s709 = alloca ptr + %s731 = alloca i1 + %s745 = alloca ptr + %s767 = alloca i1 + %s781 = alloca ptr + %s803 = alloca i1 + %s817 = alloca ptr + %s839 = alloca i1 + %s853 = alloca ptr + %s875 = alloca i1 + %s889 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = load ptr, ptr %sc_l_p_key + %t23 = load ptr, ptr %sc_l_p_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t26 = icmp ne ptr %t24, null + br i1 %t26, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t31 = getelementptr inbounds i8, ptr %t24, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t27 = icmp eq i32 %t32, 12 + br i1 %t27, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t28 = getelementptr inbounds i8, ptr %t24, i64 40 ; ->v.typed_ref.type_key + %t29 = load ptr, ptr %t28 + %t30 = icmp eq ptr %t29, @sc_cs_1746033898805369 + br i1 %t30, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t33 = getelementptr inbounds i8, ptr %t24, i64 16 ; ->v.typed_ref.ptr + %t34 = load ptr, ptr %t33 + %t35 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t34) + store ptr %t35, ptr %s25 + br label %dc.done15 +dc.checked14: + %t36 = call ptr @sc_dc_30(ptr %t24, ptr null) + store ptr %t36, ptr %s25 + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t24) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t40 = load ptr, ptr %s25 + %t41 = call ptr @sc_bf__x25_dyn_class_keys_534(ptr %t21, ptr %t22, ptr %t40) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_release__x25_m5_CtxResCore(ptr %t40) + call void @sc_rc_release_dyn(ptr %t41) + br label %exc.cleanup2 +exc.k19: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_release__x25_m5_CtxResCore(ptr %t40) + %t45 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t45) + ret ptr %t41 +if.j10: + %t46 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s47 + %t48 = icmp ne ptr %t46, null + br i1 %t48, label %brand.inspect20, label %brand.done22 +brand.inspect20: + %t49 = getelementptr inbounds i8, ptr %t46, i64 8 ; ->kind + %t50 = load i32, ptr %t49 + %t51 = icmp eq i32 %t50, 12 + br i1 %t51, label %brand.capsule21, label %brand.done22 +brand.capsule21: + %t52 = getelementptr inbounds i8, ptr %t46, i64 40 ; ->v.typed_ref.type_key + %t53 = load ptr, ptr %t52 + %t54 = icmp eq ptr %t53, @sc_cs_4041255434968695 + store i1 true, ptr %s47 + br i1 %t54, label %brand.done22, label %brand.compare23 +brand.compare23: + %t55 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t46, ptr @sc_lit_4041255434968695) + store i1 %t55, ptr %s47 + br label %brand.done22 +brand.done22: + %t56 = load i1, ptr %s47 + br i1 %t56, label %if.t24, label %if.j25 +if.t24: + %t57 = load ptr, ptr %sc_l_p_0 + %t58 = load ptr, ptr %sc_l_p_key + %t59 = load ptr, ptr %sc_l_p_0 + %t60 = call ptr @sc_rc_retain_dyn(ptr %t59) + %t62 = icmp ne ptr %t60, null + br i1 %t62, label %dc.inspect26, label %dc.checked29 +dc.inspect26: + %t67 = getelementptr inbounds i8, ptr %t60, i64 8 ; ->kind + %t68 = load i32, ptr %t67 + %t63 = icmp eq i32 %t68, 12 + br i1 %t63, label %dc.capsule27, label %dc.checked29 +dc.capsule27: + %t64 = getelementptr inbounds i8, ptr %t60, i64 40 ; ->v.typed_ref.type_key + %t65 = load ptr, ptr %t64 + %t66 = icmp eq ptr %t65, @sc_cs_4041255434968695 + br i1 %t66, label %dc.exact28, label %dc.checked29 +dc.exact28: + %t69 = getelementptr inbounds i8, ptr %t60, i64 16 ; ->v.typed_ref.ptr + %t70 = load ptr, ptr %t69 + %t71 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t70) + store ptr %t71, ptr %s61 + br label %dc.done30 +dc.checked29: + %t72 = call ptr @sc_dc_101(ptr %t60, ptr null) + store ptr %t72, ptr %s61 + %t73 = load i32, ptr %exc.cell + %t74 = icmp ne i32 %t73, 0 + %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false) + br i1 %t75, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t60) + br label %exc.cleanup2 +exc.k32: + br label %dc.done30 +dc.done30: + %t76 = load ptr, ptr %s61 + %t77 = call ptr @sc_bf__x25_dyn_class_keys_514(ptr %t57, ptr %t58, ptr %t76) + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t60) + call void @sc_release__x25_m3_LiteRequest(ptr %t76) + call void @sc_rc_release_dyn(ptr %t77) + br label %exc.cleanup2 +exc.k34: + call void @sc_rc_release_dyn(ptr %t60) + call void @sc_release__x25_m3_LiteRequest(ptr %t76) + %t81 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t81) + ret ptr %t77 +if.j25: + %t82 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s83 + %t84 = icmp ne ptr %t82, null + br i1 %t84, label %brand.inspect35, label %brand.done37 +brand.inspect35: + %t85 = getelementptr inbounds i8, ptr %t82, i64 8 ; ->kind + %t86 = load i32, ptr %t85 + %t87 = icmp eq i32 %t86, 12 + br i1 %t87, label %brand.capsule36, label %brand.done37 +brand.capsule36: + %t88 = getelementptr inbounds i8, ptr %t82, i64 40 ; ->v.typed_ref.type_key + %t89 = load ptr, ptr %t88 + %t90 = icmp eq ptr %t89, @sc_cs_3870085012327510 + store i1 true, ptr %s83 + br i1 %t90, label %brand.done37, label %brand.compare38 +brand.compare38: + %t91 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t82, ptr @sc_lit_3870085012327510) + store i1 %t91, ptr %s83 + br label %brand.done37 +brand.done37: + %t92 = load i1, ptr %s83 + br i1 %t92, label %if.t39, label %if.j40 +if.t39: + %t93 = load ptr, ptr %sc_l_p_0 + %t94 = load ptr, ptr %sc_l_p_key + %t95 = load ptr, ptr %sc_l_p_0 + %t96 = call ptr @sc_rc_retain_dyn(ptr %t95) + %t98 = icmp ne ptr %t96, null + br i1 %t98, label %dc.inspect41, label %dc.checked44 +dc.inspect41: + %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind + %t104 = load i32, ptr %t103 + %t99 = icmp eq i32 %t104, 12 + br i1 %t99, label %dc.capsule42, label %dc.checked44 +dc.capsule42: + %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key + %t101 = load ptr, ptr %t100 + %t102 = icmp eq ptr %t101, @sc_cs_3870085012327510 + br i1 %t102, label %dc.exact43, label %dc.checked44 +dc.exact43: + %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr + %t106 = load ptr, ptr %t105 + %t107 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t106) + store ptr %t107, ptr %s97 + br label %dc.done45 +dc.checked44: + %t108 = call ptr @sc_dc_94(ptr %t96, ptr null) + store ptr %t108, ptr %s97 + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t96) + br label %exc.cleanup2 +exc.k47: + br label %dc.done45 +dc.done45: + %t112 = load ptr, ptr %s97 + %t113 = call ptr @sc_bf__x25_dyn_class_keys_513(ptr %t93, ptr %t94, ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t112) + call void @sc_rc_release_dyn(ptr %t113) + br label %exc.cleanup2 +exc.k49: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t112) + %t117 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t117) + ret ptr %t113 +if.j40: + %t118 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s119 + %t120 = icmp ne ptr %t118, null + br i1 %t120, label %brand.inspect50, label %brand.done52 +brand.inspect50: + %t121 = getelementptr inbounds i8, ptr %t118, i64 8 ; ->kind + %t122 = load i32, ptr %t121 + %t123 = icmp eq i32 %t122, 12 + br i1 %t123, label %brand.capsule51, label %brand.done52 +brand.capsule51: + %t124 = getelementptr inbounds i8, ptr %t118, i64 40 ; ->v.typed_ref.type_key + %t125 = load ptr, ptr %t124 + %t126 = icmp eq ptr %t125, @sc_cs_2798802470260116 + store i1 true, ptr %s119 + br i1 %t126, label %brand.done52, label %brand.compare53 +brand.compare53: + %t127 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t118, ptr @sc_lit_2798802470260116) + store i1 %t127, ptr %s119 + br label %brand.done52 +brand.done52: + %t128 = load i1, ptr %s119 + br i1 %t128, label %if.t54, label %if.j55 +if.t54: + %t129 = load ptr, ptr %sc_l_p_0 + %t130 = load ptr, ptr %sc_l_p_key + %t131 = load ptr, ptr %sc_l_p_0 + %t132 = call ptr @sc_rc_retain_dyn(ptr %t131) + %t134 = icmp ne ptr %t132, null + br i1 %t134, label %dc.inspect56, label %dc.checked59 +dc.inspect56: + %t139 = getelementptr inbounds i8, ptr %t132, i64 8 ; ->kind + %t140 = load i32, ptr %t139 + %t135 = icmp eq i32 %t140, 12 + br i1 %t135, label %dc.capsule57, label %dc.checked59 +dc.capsule57: + %t136 = getelementptr inbounds i8, ptr %t132, i64 40 ; ->v.typed_ref.type_key + %t137 = load ptr, ptr %t136 + %t138 = icmp eq ptr %t137, @sc_cs_2798802470260116 + br i1 %t138, label %dc.exact58, label %dc.checked59 +dc.exact58: + %t141 = getelementptr inbounds i8, ptr %t132, i64 16 ; ->v.typed_ref.ptr + %t142 = load ptr, ptr %t141 + %t143 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t142) + store ptr %t143, ptr %s133 + br label %dc.done60 +dc.checked59: + %t144 = call ptr @sc_dc_93(ptr %t132, ptr null) + store ptr %t144, ptr %s133 + %t145 = load i32, ptr %exc.cell + %t146 = icmp ne i32 %t145, 0 + %t147 = call i1 @llvm.expect.i1(i1 %t146, i1 false) + br i1 %t147, label %exc.u61, label %exc.k62 +exc.u61: + call void @sc_rc_release_dyn(ptr %t132) + br label %exc.cleanup2 +exc.k62: + br label %dc.done60 +dc.done60: + %t148 = load ptr, ptr %s133 + %t149 = call ptr @sc_bf__x25_dyn_class_keys_512(ptr %t129, ptr %t130, ptr %t148) + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u63, label %exc.k64 +exc.u63: + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_release__x25_m0_GenFetch(ptr %t148) + call void @sc_rc_release_dyn(ptr %t149) + br label %exc.cleanup2 +exc.k64: + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_release__x25_m0_GenFetch(ptr %t148) + %t153 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t153) + ret ptr %t149 +if.j55: + %t154 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s155 + %t156 = icmp ne ptr %t154, null + br i1 %t156, label %brand.inspect65, label %brand.done67 +brand.inspect65: + %t157 = getelementptr inbounds i8, ptr %t154, i64 8 ; ->kind + %t158 = load i32, ptr %t157 + %t159 = icmp eq i32 %t158, 12 + br i1 %t159, label %brand.capsule66, label %brand.done67 +brand.capsule66: + %t160 = getelementptr inbounds i8, ptr %t154, i64 40 ; ->v.typed_ref.type_key + %t161 = load ptr, ptr %t160 + %t162 = icmp eq ptr %t161, @sc_cs_2165660704272757 + store i1 true, ptr %s155 + br i1 %t162, label %brand.done67, label %brand.compare68 +brand.compare68: + %t163 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t154, ptr @sc_lit_2165660704272757) + store i1 %t163, ptr %s155 + br label %brand.done67 +brand.done67: + %t164 = load i1, ptr %s155 + br i1 %t164, label %if.t69, label %if.j70 +if.t69: + %t165 = load ptr, ptr %sc_l_p_0 + %t166 = load ptr, ptr %sc_l_p_key + %t167 = load ptr, ptr %sc_l_p_0 + %t168 = call ptr @sc_rc_retain_dyn(ptr %t167) + %t170 = icmp ne ptr %t168, null + br i1 %t170, label %dc.inspect71, label %dc.checked74 +dc.inspect71: + %t175 = getelementptr inbounds i8, ptr %t168, i64 8 ; ->kind + %t176 = load i32, ptr %t175 + %t171 = icmp eq i32 %t176, 12 + br i1 %t171, label %dc.capsule72, label %dc.checked74 +dc.capsule72: + %t172 = getelementptr inbounds i8, ptr %t168, i64 40 ; ->v.typed_ref.type_key + %t173 = load ptr, ptr %t172 + %t174 = icmp eq ptr %t173, @sc_cs_2165660704272757 + br i1 %t174, label %dc.exact73, label %dc.checked74 +dc.exact73: + %t177 = getelementptr inbounds i8, ptr %t168, i64 16 ; ->v.typed_ref.ptr + %t178 = load ptr, ptr %t177 + %t179 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t178) + store ptr %t179, ptr %s169 + br label %dc.done75 +dc.checked74: + %t180 = call ptr @sc_dc_92(ptr %t168, ptr null) + store ptr %t180, ptr %s169 + %t181 = load i32, ptr %exc.cell + %t182 = icmp ne i32 %t181, 0 + %t183 = call i1 @llvm.expect.i1(i1 %t182, i1 false) + br i1 %t183, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t168) + br label %exc.cleanup2 +exc.k77: + br label %dc.done75 +dc.done75: + %t184 = load ptr, ptr %s169 + %t185 = call ptr @sc_bf__x25_dyn_class_keys_511(ptr %t165, ptr %t166, ptr %t184) + %t186 = load i32, ptr %exc.cell + %t187 = icmp ne i32 %t186, 0 + %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false) + br i1 %t188, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t168) + call void @sc_release__x25_m0_GenDispatch(ptr %t184) + call void @sc_rc_release_dyn(ptr %t185) + br label %exc.cleanup2 +exc.k79: + call void @sc_rc_release_dyn(ptr %t168) + call void @sc_release__x25_m0_GenDispatch(ptr %t184) + %t189 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t189) + ret ptr %t185 +if.j70: + %t190 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s191 + %t192 = icmp ne ptr %t190, null + br i1 %t192, label %brand.inspect80, label %brand.done82 +brand.inspect80: + %t193 = getelementptr inbounds i8, ptr %t190, i64 8 ; ->kind + %t194 = load i32, ptr %t193 + %t195 = icmp eq i32 %t194, 12 + br i1 %t195, label %brand.capsule81, label %brand.done82 +brand.capsule81: + %t196 = getelementptr inbounds i8, ptr %t190, i64 40 ; ->v.typed_ref.type_key + %t197 = load ptr, ptr %t196 + %t198 = icmp eq ptr %t197, @sc_cs_3728566007289652 + store i1 true, ptr %s191 + br i1 %t198, label %brand.done82, label %brand.compare83 +brand.compare83: + %t199 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t190, ptr @sc_lit_3728566007289652) + store i1 %t199, ptr %s191 + br label %brand.done82 +brand.done82: + %t200 = load i1, ptr %s191 + br i1 %t200, label %if.t84, label %if.j85 +if.t84: + %t201 = load ptr, ptr %sc_l_p_0 + %t202 = load ptr, ptr %sc_l_p_key + %t203 = load ptr, ptr %sc_l_p_0 + %t204 = call ptr @sc_rc_retain_dyn(ptr %t203) + %t206 = icmp ne ptr %t204, null + br i1 %t206, label %dc.inspect86, label %dc.checked89 +dc.inspect86: + %t211 = getelementptr inbounds i8, ptr %t204, i64 8 ; ->kind + %t212 = load i32, ptr %t211 + %t207 = icmp eq i32 %t212, 12 + br i1 %t207, label %dc.capsule87, label %dc.checked89 +dc.capsule87: + %t208 = getelementptr inbounds i8, ptr %t204, i64 40 ; ->v.typed_ref.type_key + %t209 = load ptr, ptr %t208 + %t210 = icmp eq ptr %t209, @sc_cs_3728566007289652 + br i1 %t210, label %dc.exact88, label %dc.checked89 +dc.exact88: + %t213 = getelementptr inbounds i8, ptr %t204, i64 16 ; ->v.typed_ref.ptr + %t214 = load ptr, ptr %t213 + %t215 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t214) + store ptr %t215, ptr %s205 + br label %dc.done90 +dc.checked89: + %t216 = call ptr @sc_dc_100(ptr %t204, ptr null) + store ptr %t216, ptr %s205 + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u91, label %exc.k92 +exc.u91: + call void @sc_rc_release_dyn(ptr %t204) + br label %exc.cleanup2 +exc.k92: + br label %dc.done90 +dc.done90: + %t220 = load ptr, ptr %s205 + %t221 = call ptr @sc_bf__x25_dyn_class_keys_510(ptr %t201, ptr %t202, ptr %t220) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u93, label %exc.k94 +exc.u93: + call void @sc_rc_release_dyn(ptr %t204) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t220) + call void @sc_rc_release_dyn(ptr %t221) + br label %exc.cleanup2 +exc.k94: + call void @sc_rc_release_dyn(ptr %t204) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t220) + %t225 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t225) + ret ptr %t221 +if.j85: + %t226 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s227 + %t228 = icmp ne ptr %t226, null + br i1 %t228, label %brand.inspect95, label %brand.done97 +brand.inspect95: + %t229 = getelementptr inbounds i8, ptr %t226, i64 8 ; ->kind + %t230 = load i32, ptr %t229 + %t231 = icmp eq i32 %t230, 12 + br i1 %t231, label %brand.capsule96, label %brand.done97 +brand.capsule96: + %t232 = getelementptr inbounds i8, ptr %t226, i64 40 ; ->v.typed_ref.type_key + %t233 = load ptr, ptr %t232 + %t234 = icmp eq ptr %t233, @sc_cs_2072202777142634 + store i1 true, ptr %s227 + br i1 %t234, label %brand.done97, label %brand.compare98 +brand.compare98: + %t235 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t226, ptr @sc_lit_2072202777142634) + store i1 %t235, ptr %s227 + br label %brand.done97 +brand.done97: + %t236 = load i1, ptr %s227 + br i1 %t236, label %if.t99, label %if.j100 +if.t99: + %t237 = load ptr, ptr %sc_l_p_0 + %t238 = load ptr, ptr %sc_l_p_key + %t239 = load ptr, ptr %sc_l_p_0 + %t240 = call ptr @sc_rc_retain_dyn(ptr %t239) + %t242 = icmp ne ptr %t240, null + br i1 %t242, label %dc.inspect101, label %dc.checked104 +dc.inspect101: + %t247 = getelementptr inbounds i8, ptr %t240, i64 8 ; ->kind + %t248 = load i32, ptr %t247 + %t243 = icmp eq i32 %t248, 12 + br i1 %t243, label %dc.capsule102, label %dc.checked104 +dc.capsule102: + %t244 = getelementptr inbounds i8, ptr %t240, i64 40 ; ->v.typed_ref.type_key + %t245 = load ptr, ptr %t244 + %t246 = icmp eq ptr %t245, @sc_cs_2072202777142634 + br i1 %t246, label %dc.exact103, label %dc.checked104 +dc.exact103: + %t249 = getelementptr inbounds i8, ptr %t240, i64 16 ; ->v.typed_ref.ptr + %t250 = load ptr, ptr %t249 + %t251 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t250) + store ptr %t251, ptr %s241 + br label %dc.done105 +dc.checked104: + %t252 = call ptr @sc_dc_26(ptr %t240, ptr null) + store ptr %t252, ptr %s241 + %t253 = load i32, ptr %exc.cell + %t254 = icmp ne i32 %t253, 0 + %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false) + br i1 %t255, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t240) + br label %exc.cleanup2 +exc.k107: + br label %dc.done105 +dc.done105: + %t256 = load ptr, ptr %s241 + %t257 = call ptr @sc_bf__x25_dyn_class_keys_509(ptr %t237, ptr %t238, ptr %t256) + %t258 = load i32, ptr %exc.cell + %t259 = icmp ne i32 %t258, 0 + %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false) + br i1 %t260, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t240) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t256) + call void @sc_rc_release_dyn(ptr %t257) + br label %exc.cleanup2 +exc.k109: + call void @sc_rc_release_dyn(ptr %t240) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t256) + %t261 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t261) + ret ptr %t257 +if.j100: + %t262 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s263 + %t264 = icmp ne ptr %t262, null + br i1 %t264, label %brand.inspect110, label %brand.done112 +brand.inspect110: + %t265 = getelementptr inbounds i8, ptr %t262, i64 8 ; ->kind + %t266 = load i32, ptr %t265 + %t267 = icmp eq i32 %t266, 12 + br i1 %t267, label %brand.capsule111, label %brand.done112 +brand.capsule111: + %t268 = getelementptr inbounds i8, ptr %t262, i64 40 ; ->v.typed_ref.type_key + %t269 = load ptr, ptr %t268 + %t270 = icmp eq ptr %t269, @sc_cs_3314970835853795 + store i1 true, ptr %s263 + br i1 %t270, label %brand.done112, label %brand.compare113 +brand.compare113: + %t271 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t262, ptr @sc_lit_3314970835853795) + store i1 %t271, ptr %s263 + br label %brand.done112 +brand.done112: + %t272 = load i1, ptr %s263 + br i1 %t272, label %if.t114, label %if.j115 +if.t114: + %t273 = load ptr, ptr %sc_l_p_0 + %t274 = load ptr, ptr %sc_l_p_key + %t275 = load ptr, ptr %sc_l_p_0 + %t276 = call ptr @sc_rc_retain_dyn(ptr %t275) + %t278 = icmp ne ptr %t276, null + br i1 %t278, label %dc.inspect116, label %dc.checked119 +dc.inspect116: + %t283 = getelementptr inbounds i8, ptr %t276, i64 8 ; ->kind + %t284 = load i32, ptr %t283 + %t279 = icmp eq i32 %t284, 12 + br i1 %t279, label %dc.capsule117, label %dc.checked119 +dc.capsule117: + %t280 = getelementptr inbounds i8, ptr %t276, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_3314970835853795 + br i1 %t282, label %dc.exact118, label %dc.checked119 +dc.exact118: + %t285 = getelementptr inbounds i8, ptr %t276, i64 16 ; ->v.typed_ref.ptr + %t286 = load ptr, ptr %t285 + %t287 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t286) + store ptr %t287, ptr %s277 + br label %dc.done120 +dc.checked119: + %t288 = call ptr @sc_dc_79(ptr %t276, ptr null) + store ptr %t288, ptr %s277 + %t289 = load i32, ptr %exc.cell + %t290 = icmp ne i32 %t289, 0 + %t291 = call i1 @llvm.expect.i1(i1 %t290, i1 false) + br i1 %t291, label %exc.u121, label %exc.k122 +exc.u121: + call void @sc_rc_release_dyn(ptr %t276) + br label %exc.cleanup2 +exc.k122: + br label %dc.done120 +dc.done120: + %t292 = load ptr, ptr %s277 + %t293 = call ptr @sc_bf__x25_dyn_class_keys_508(ptr %t273, ptr %t274, ptr %t292) + %t294 = load i32, ptr %exc.cell + %t295 = icmp ne i32 %t294, 0 + %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false) + br i1 %t296, label %exc.u123, label %exc.k124 +exc.u123: + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_release__x25_m6_AssetSource(ptr %t292) + call void @sc_rc_release_dyn(ptr %t293) + br label %exc.cleanup2 +exc.k124: + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_release__x25_m6_AssetSource(ptr %t292) + %t297 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t297) + ret ptr %t293 +if.j115: + %t298 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s299 + %t300 = icmp ne ptr %t298, null + br i1 %t300, label %brand.inspect125, label %brand.done127 +brand.inspect125: + %t301 = getelementptr inbounds i8, ptr %t298, i64 8 ; ->kind + %t302 = load i32, ptr %t301 + %t303 = icmp eq i32 %t302, 12 + br i1 %t303, label %brand.capsule126, label %brand.done127 +brand.capsule126: + %t304 = getelementptr inbounds i8, ptr %t298, i64 40 ; ->v.typed_ref.type_key + %t305 = load ptr, ptr %t304 + %t306 = icmp eq ptr %t305, @sc_cs_864190948149583 + store i1 true, ptr %s299 + br i1 %t306, label %brand.done127, label %brand.compare128 +brand.compare128: + %t307 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t298, ptr @sc_lit_864190948149583) + store i1 %t307, ptr %s299 + br label %brand.done127 +brand.done127: + %t308 = load i1, ptr %s299 + br i1 %t308, label %if.t129, label %if.j130 +if.t129: + %t309 = load ptr, ptr %sc_l_p_0 + %t310 = load ptr, ptr %sc_l_p_key + %t311 = load ptr, ptr %sc_l_p_0 + %t312 = call ptr @sc_rc_retain_dyn(ptr %t311) + %t314 = icmp ne ptr %t312, null + br i1 %t314, label %dc.inspect131, label %dc.checked134 +dc.inspect131: + %t319 = getelementptr inbounds i8, ptr %t312, i64 8 ; ->kind + %t320 = load i32, ptr %t319 + %t315 = icmp eq i32 %t320, 12 + br i1 %t315, label %dc.capsule132, label %dc.checked134 +dc.capsule132: + %t316 = getelementptr inbounds i8, ptr %t312, i64 40 ; ->v.typed_ref.type_key + %t317 = load ptr, ptr %t316 + %t318 = icmp eq ptr %t317, @sc_cs_864190948149583 + br i1 %t318, label %dc.exact133, label %dc.checked134 +dc.exact133: + %t321 = getelementptr inbounds i8, ptr %t312, i64 16 ; ->v.typed_ref.ptr + %t322 = load ptr, ptr %t321 + %t323 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t322) + store ptr %t323, ptr %s313 + br label %dc.done135 +dc.checked134: + %t324 = call ptr @sc_dc_103(ptr %t312, ptr null) + store ptr %t324, ptr %s313 + %t325 = load i32, ptr %exc.cell + %t326 = icmp ne i32 %t325, 0 + %t327 = call i1 @llvm.expect.i1(i1 %t326, i1 false) + br i1 %t327, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t312) + br label %exc.cleanup2 +exc.k137: + br label %dc.done135 +dc.done135: + %t328 = load ptr, ptr %s313 + %t329 = call ptr @sc_bf__x25_dyn_class_keys_507(ptr %t309, ptr %t310, ptr %t328) + %t330 = load i32, ptr %exc.cell + %t331 = icmp ne i32 %t330, 0 + %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false) + br i1 %t332, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t312) + call void @sc_release__x25_m11_StaticServer(ptr %t328) + call void @sc_rc_release_dyn(ptr %t329) + br label %exc.cleanup2 +exc.k139: + call void @sc_rc_release_dyn(ptr %t312) + call void @sc_release__x25_m11_StaticServer(ptr %t328) + %t333 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t333) + ret ptr %t329 +if.j130: + %t334 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s335 + %t336 = icmp ne ptr %t334, null + br i1 %t336, label %brand.inspect140, label %brand.done142 +brand.inspect140: + %t337 = getelementptr inbounds i8, ptr %t334, i64 8 ; ->kind + %t338 = load i32, ptr %t337 + %t339 = icmp eq i32 %t338, 12 + br i1 %t339, label %brand.capsule141, label %brand.done142 +brand.capsule141: + %t340 = getelementptr inbounds i8, ptr %t334, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_4408523527888294 + store i1 true, ptr %s335 + br i1 %t342, label %brand.done142, label %brand.compare143 +brand.compare143: + %t343 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t334, ptr @sc_lit_4408523527888294) + store i1 %t343, ptr %s335 + br label %brand.done142 +brand.done142: + %t344 = load i1, ptr %s335 + br i1 %t344, label %if.t144, label %if.j145 +if.t144: + %t345 = load ptr, ptr %sc_l_p_0 + %t346 = load ptr, ptr %sc_l_p_key + %t347 = load ptr, ptr %sc_l_p_0 + %t348 = call ptr @sc_rc_retain_dyn(ptr %t347) + %t350 = icmp ne ptr %t348, null + br i1 %t350, label %dc.inspect146, label %dc.checked149 +dc.inspect146: + %t355 = getelementptr inbounds i8, ptr %t348, i64 8 ; ->kind + %t356 = load i32, ptr %t355 + %t351 = icmp eq i32 %t356, 12 + br i1 %t351, label %dc.capsule147, label %dc.checked149 +dc.capsule147: + %t352 = getelementptr inbounds i8, ptr %t348, i64 40 ; ->v.typed_ref.type_key + %t353 = load ptr, ptr %t352 + %t354 = icmp eq ptr %t353, @sc_cs_4408523527888294 + br i1 %t354, label %dc.exact148, label %dc.checked149 +dc.exact148: + %t357 = getelementptr inbounds i8, ptr %t348, i64 16 ; ->v.typed_ref.ptr + %t358 = load ptr, ptr %t357 + %t359 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t358) + store ptr %t359, ptr %s349 + br label %dc.done150 +dc.checked149: + %t360 = call ptr @sc_dc_21(ptr %t348, ptr null) + store ptr %t360, ptr %s349 + %t361 = load i32, ptr %exc.cell + %t362 = icmp ne i32 %t361, 0 + %t363 = call i1 @llvm.expect.i1(i1 %t362, i1 false) + br i1 %t363, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t348) + br label %exc.cleanup2 +exc.k152: + br label %dc.done150 +dc.done150: + %t364 = load ptr, ptr %s349 + %t365 = call ptr @sc_bf__x25_dyn_class_keys_506(ptr %t345, ptr %t346, ptr %t364) + %t366 = load i32, ptr %exc.cell + %t367 = icmp ne i32 %t366, 0 + %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false) + br i1 %t368, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t348) + call void @sc_release__x25_m4_UploadedFile(ptr %t364) + call void @sc_rc_release_dyn(ptr %t365) + br label %exc.cleanup2 +exc.k154: + call void @sc_rc_release_dyn(ptr %t348) + call void @sc_release__x25_m4_UploadedFile(ptr %t364) + %t369 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t369) + ret ptr %t365 +if.j145: + %t370 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s371 + %t372 = icmp ne ptr %t370, null + br i1 %t372, label %brand.inspect155, label %brand.done157 +brand.inspect155: + %t373 = getelementptr inbounds i8, ptr %t370, i64 8 ; ->kind + %t374 = load i32, ptr %t373 + %t375 = icmp eq i32 %t374, 12 + br i1 %t375, label %brand.capsule156, label %brand.done157 +brand.capsule156: + %t376 = getelementptr inbounds i8, ptr %t370, i64 40 ; ->v.typed_ref.type_key + %t377 = load ptr, ptr %t376 + %t378 = icmp eq ptr %t377, @sc_cs_3163508115280491 + store i1 true, ptr %s371 + br i1 %t378, label %brand.done157, label %brand.compare158 +brand.compare158: + %t379 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t370, ptr @sc_lit_3163508115280491) + store i1 %t379, ptr %s371 + br label %brand.done157 +brand.done157: + %t380 = load i1, ptr %s371 + br i1 %t380, label %if.t159, label %if.j160 +if.t159: + %t381 = load ptr, ptr %sc_l_p_0 + %t382 = load ptr, ptr %sc_l_p_key + %t383 = load ptr, ptr %sc_l_p_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t386 = icmp ne ptr %t384, null + br i1 %t386, label %dc.inspect161, label %dc.checked164 +dc.inspect161: + %t391 = getelementptr inbounds i8, ptr %t384, i64 8 ; ->kind + %t392 = load i32, ptr %t391 + %t387 = icmp eq i32 %t392, 12 + br i1 %t387, label %dc.capsule162, label %dc.checked164 +dc.capsule162: + %t388 = getelementptr inbounds i8, ptr %t384, i64 40 ; ->v.typed_ref.type_key + %t389 = load ptr, ptr %t388 + %t390 = icmp eq ptr %t389, @sc_cs_3163508115280491 + br i1 %t390, label %dc.exact163, label %dc.checked164 +dc.exact163: + %t393 = getelementptr inbounds i8, ptr %t384, i64 16 ; ->v.typed_ref.ptr + %t394 = load ptr, ptr %t393 + %t395 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t394) + store ptr %t395, ptr %s385 + br label %dc.done165 +dc.checked164: + %t396 = call ptr @sc_dc_105(ptr %t384, ptr null) + store ptr %t396, ptr %s385 + %t397 = load i32, ptr %exc.cell + %t398 = icmp ne i32 %t397, 0 + %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false) + br i1 %t399, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t384) + br label %exc.cleanup2 +exc.k167: + br label %dc.done165 +dc.done165: + %t400 = load ptr, ptr %s385 + %t401 = call ptr @sc_bf__x25_dyn_class_keys_505(ptr %t381, ptr %t382, ptr %t400) + %t402 = load i32, ptr %exc.cell + %t403 = icmp ne i32 %t402, 0 + %t404 = call i1 @llvm.expect.i1(i1 %t403, i1 false) + br i1 %t404, label %exc.u168, label %exc.k169 +exc.u168: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_release__x25_m4_MultipartParser(ptr %t400) + call void @sc_rc_release_dyn(ptr %t401) + br label %exc.cleanup2 +exc.k169: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_release__x25_m4_MultipartParser(ptr %t400) + %t405 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t405) + ret ptr %t401 +if.j160: + %t406 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s407 + %t408 = icmp ne ptr %t406, null + br i1 %t408, label %brand.inspect170, label %brand.done172 +brand.inspect170: + %t409 = getelementptr inbounds i8, ptr %t406, i64 8 ; ->kind + %t410 = load i32, ptr %t409 + %t411 = icmp eq i32 %t410, 12 + br i1 %t411, label %brand.capsule171, label %brand.done172 +brand.capsule171: + %t412 = getelementptr inbounds i8, ptr %t406, i64 40 ; ->v.typed_ref.type_key + %t413 = load ptr, ptr %t412 + %t414 = icmp eq ptr %t413, @sc_cs_1875086966829314 + store i1 true, ptr %s407 + br i1 %t414, label %brand.done172, label %brand.compare173 +brand.compare173: + %t415 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t406, ptr @sc_lit_1875086966829314) + store i1 %t415, ptr %s407 + br label %brand.done172 +brand.done172: + %t416 = load i1, ptr %s407 + br i1 %t416, label %if.t174, label %if.j175 +if.t174: + %t417 = load ptr, ptr %sc_l_p_0 + %t418 = load ptr, ptr %sc_l_p_key + %t419 = load ptr, ptr %sc_l_p_0 + %t420 = call ptr @sc_rc_retain_dyn(ptr %t419) + %t422 = icmp ne ptr %t420, null + br i1 %t422, label %dc.inspect176, label %dc.checked179 +dc.inspect176: + %t427 = getelementptr inbounds i8, ptr %t420, i64 8 ; ->kind + %t428 = load i32, ptr %t427 + %t423 = icmp eq i32 %t428, 12 + br i1 %t423, label %dc.capsule177, label %dc.checked179 +dc.capsule177: + %t424 = getelementptr inbounds i8, ptr %t420, i64 40 ; ->v.typed_ref.type_key + %t425 = load ptr, ptr %t424 + %t426 = icmp eq ptr %t425, @sc_cs_1875086966829314 + br i1 %t426, label %dc.exact178, label %dc.checked179 +dc.exact178: + %t429 = getelementptr inbounds i8, ptr %t420, i64 16 ; ->v.typed_ref.ptr + %t430 = load ptr, ptr %t429 + %t431 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t430) + store ptr %t431, ptr %s421 + br label %dc.done180 +dc.checked179: + %t432 = call ptr @sc_dc_106(ptr %t420, ptr null) + store ptr %t432, ptr %s421 + %t433 = load i32, ptr %exc.cell + %t434 = icmp ne i32 %t433, 0 + %t435 = call i1 @llvm.expect.i1(i1 %t434, i1 false) + br i1 %t435, label %exc.u181, label %exc.k182 +exc.u181: + call void @sc_rc_release_dyn(ptr %t420) + br label %exc.cleanup2 +exc.k182: + br label %dc.done180 +dc.done180: + %t436 = load ptr, ptr %s421 + %t437 = call ptr @sc_bf__x25_dyn_class_keys_504(ptr %t417, ptr %t418, ptr %t436) + %t438 = load i32, ptr %exc.cell + %t439 = icmp ne i32 %t438, 0 + %t440 = call i1 @llvm.expect.i1(i1 %t439, i1 false) + br i1 %t440, label %exc.u183, label %exc.k184 +exc.u183: + call void @sc_rc_release_dyn(ptr %t420) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t436) + call void @sc_rc_release_dyn(ptr %t437) + br label %exc.cleanup2 +exc.k184: + call void @sc_rc_release_dyn(ptr %t420) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t436) + %t441 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t441) + ret ptr %t437 +if.j175: + %t442 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s443 + %t444 = icmp ne ptr %t442, null + br i1 %t444, label %brand.inspect185, label %brand.done187 +brand.inspect185: + %t445 = getelementptr inbounds i8, ptr %t442, i64 8 ; ->kind + %t446 = load i32, ptr %t445 + %t447 = icmp eq i32 %t446, 12 + br i1 %t447, label %brand.capsule186, label %brand.done187 +brand.capsule186: + %t448 = getelementptr inbounds i8, ptr %t442, i64 40 ; ->v.typed_ref.type_key + %t449 = load ptr, ptr %t448 + %t450 = icmp eq ptr %t449, @sc_cs_67546268704151 + store i1 true, ptr %s443 + br i1 %t450, label %brand.done187, label %brand.compare188 +brand.compare188: + %t451 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t442, ptr @sc_lit_67546268704151) + store i1 %t451, ptr %s443 + br label %brand.done187 +brand.done187: + %t452 = load i1, ptr %s443 + br i1 %t452, label %if.t189, label %if.j190 +if.t189: + %t453 = load ptr, ptr %sc_l_p_0 + %t454 = load ptr, ptr %sc_l_p_key + %t455 = load ptr, ptr %sc_l_p_0 + %t456 = call ptr @sc_rc_retain_dyn(ptr %t455) + %t458 = icmp ne ptr %t456, null + br i1 %t458, label %dc.inspect191, label %dc.checked194 +dc.inspect191: + %t463 = getelementptr inbounds i8, ptr %t456, i64 8 ; ->kind + %t464 = load i32, ptr %t463 + %t459 = icmp eq i32 %t464, 12 + br i1 %t459, label %dc.capsule192, label %dc.checked194 +dc.capsule192: + %t460 = getelementptr inbounds i8, ptr %t456, i64 40 ; ->v.typed_ref.type_key + %t461 = load ptr, ptr %t460 + %t462 = icmp eq ptr %t461, @sc_cs_67546268704151 + br i1 %t462, label %dc.exact193, label %dc.checked194 +dc.exact193: + %t465 = getelementptr inbounds i8, ptr %t456, i64 16 ; ->v.typed_ref.ptr + %t466 = load ptr, ptr %t465 + %t467 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t466) + store ptr %t467, ptr %s457 + br label %dc.done195 +dc.checked194: + %t468 = call ptr @sc_dc_107(ptr %t456, ptr null) + store ptr %t468, ptr %s457 + %t469 = load i32, ptr %exc.cell + %t470 = icmp ne i32 %t469, 0 + %t471 = call i1 @llvm.expect.i1(i1 %t470, i1 false) + br i1 %t471, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t456) + br label %exc.cleanup2 +exc.k197: + br label %dc.done195 +dc.done195: + %t472 = load ptr, ptr %s457 + %t473 = call ptr @sc_bf__x25_dyn_class_keys_500(ptr %t453, ptr %t454, ptr %t472) + %t474 = load i32, ptr %exc.cell + %t475 = icmp ne i32 %t474, 0 + %t476 = call i1 @llvm.expect.i1(i1 %t475, i1 false) + br i1 %t476, label %exc.u198, label %exc.k199 +exc.u198: + call void @sc_rc_release_dyn(ptr %t456) + call void @sc_release__x25_m3_LiteHeaders(ptr %t472) + call void @sc_rc_release_dyn(ptr %t473) + br label %exc.cleanup2 +exc.k199: + call void @sc_rc_release_dyn(ptr %t456) + call void @sc_release__x25_m3_LiteHeaders(ptr %t472) + %t477 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t477) + ret ptr %t473 +if.j190: + %t478 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s479 + %t480 = icmp ne ptr %t478, null + br i1 %t480, label %brand.inspect200, label %brand.done202 +brand.inspect200: + %t481 = getelementptr inbounds i8, ptr %t478, i64 8 ; ->kind + %t482 = load i32, ptr %t481 + %t483 = icmp eq i32 %t482, 12 + br i1 %t483, label %brand.capsule201, label %brand.done202 +brand.capsule201: + %t484 = getelementptr inbounds i8, ptr %t478, i64 40 ; ->v.typed_ref.type_key + %t485 = load ptr, ptr %t484 + %t486 = icmp eq ptr %t485, @sc_cs_2519527309428716 + store i1 true, ptr %s479 + br i1 %t486, label %brand.done202, label %brand.compare203 +brand.compare203: + %t487 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t478, ptr @sc_lit_2519527309428716) + store i1 %t487, ptr %s479 + br label %brand.done202 +brand.done202: + %t488 = load i1, ptr %s479 + br i1 %t488, label %if.t204, label %if.j205 +if.t204: + %t489 = load ptr, ptr %sc_l_p_0 + %t490 = load ptr, ptr %sc_l_p_key + %t491 = load ptr, ptr %sc_l_p_0 + %t492 = call ptr @sc_rc_retain_dyn(ptr %t491) + %t494 = icmp ne ptr %t492, null + br i1 %t494, label %dc.inspect206, label %dc.checked209 +dc.inspect206: + %t499 = getelementptr inbounds i8, ptr %t492, i64 8 ; ->kind + %t500 = load i32, ptr %t499 + %t495 = icmp eq i32 %t500, 12 + br i1 %t495, label %dc.capsule207, label %dc.checked209 +dc.capsule207: + %t496 = getelementptr inbounds i8, ptr %t492, i64 40 ; ->v.typed_ref.type_key + %t497 = load ptr, ptr %t496 + %t498 = icmp eq ptr %t497, @sc_cs_2519527309428716 + br i1 %t498, label %dc.exact208, label %dc.checked209 +dc.exact208: + %t501 = getelementptr inbounds i8, ptr %t492, i64 16 ; ->v.typed_ref.ptr + %t502 = load ptr, ptr %t501 + %t503 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t502) + store ptr %t503, ptr %s493 + br label %dc.done210 +dc.checked209: + %t504 = call ptr @sc_dc_108(ptr %t492, ptr null) + store ptr %t504, ptr %s493 + %t505 = load i32, ptr %exc.cell + %t506 = icmp ne i32 %t505, 0 + %t507 = call i1 @llvm.expect.i1(i1 %t506, i1 false) + br i1 %t507, label %exc.u211, label %exc.k212 +exc.u211: + call void @sc_rc_release_dyn(ptr %t492) + br label %exc.cleanup2 +exc.k212: + br label %dc.done210 +dc.done210: + %t508 = load ptr, ptr %s493 + %t509 = call ptr @sc_bf__x25_dyn_class_keys_499(ptr %t489, ptr %t490, ptr %t508) + %t510 = load i32, ptr %exc.cell + %t511 = icmp ne i32 %t510, 0 + %t512 = call i1 @llvm.expect.i1(i1 %t511, i1 false) + br i1 %t512, label %exc.u213, label %exc.k214 +exc.u213: + call void @sc_rc_release_dyn(ptr %t492) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t508) + call void @sc_rc_release_dyn(ptr %t509) + br label %exc.cleanup2 +exc.k214: + call void @sc_rc_release_dyn(ptr %t492) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t508) + %t513 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t513) + ret ptr %t509 +if.j205: + %t514 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s515 + %t516 = icmp ne ptr %t514, null + br i1 %t516, label %brand.inspect215, label %brand.done217 +brand.inspect215: + %t517 = getelementptr inbounds i8, ptr %t514, i64 8 ; ->kind + %t518 = load i32, ptr %t517 + %t519 = icmp eq i32 %t518, 12 + br i1 %t519, label %brand.capsule216, label %brand.done217 +brand.capsule216: + %t520 = getelementptr inbounds i8, ptr %t514, i64 40 ; ->v.typed_ref.type_key + %t521 = load ptr, ptr %t520 + %t522 = icmp eq ptr %t521, @sc_cs_4074974279575818 + store i1 true, ptr %s515 + br i1 %t522, label %brand.done217, label %brand.compare218 +brand.compare218: + %t523 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t514, ptr @sc_lit_4074974279575818) + store i1 %t523, ptr %s515 + br label %brand.done217 +brand.done217: + %t524 = load i1, ptr %s515 + br i1 %t524, label %if.t219, label %if.j220 +if.t219: + %t525 = load ptr, ptr %sc_l_p_0 + %t526 = load ptr, ptr %sc_l_p_key + %t527 = load ptr, ptr %sc_l_p_0 + %t528 = call ptr @sc_rc_retain_dyn(ptr %t527) + %t530 = icmp ne ptr %t528, null + br i1 %t530, label %dc.inspect221, label %dc.checked224 +dc.inspect221: + %t535 = getelementptr inbounds i8, ptr %t528, i64 8 ; ->kind + %t536 = load i32, ptr %t535 + %t531 = icmp eq i32 %t536, 12 + br i1 %t531, label %dc.capsule222, label %dc.checked224 +dc.capsule222: + %t532 = getelementptr inbounds i8, ptr %t528, i64 40 ; ->v.typed_ref.type_key + %t533 = load ptr, ptr %t532 + %t534 = icmp eq ptr %t533, @sc_cs_4074974279575818 + br i1 %t534, label %dc.exact223, label %dc.checked224 +dc.exact223: + %t537 = getelementptr inbounds i8, ptr %t528, i64 16 ; ->v.typed_ref.ptr + %t538 = load ptr, ptr %t537 + %t539 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t538) + store ptr %t539, ptr %s529 + br label %dc.done225 +dc.checked224: + %t540 = call ptr @sc_dc_104(ptr %t528, ptr null) + store ptr %t540, ptr %s529 + %t541 = load i32, ptr %exc.cell + %t542 = icmp ne i32 %t541, 0 + %t543 = call i1 @llvm.expect.i1(i1 %t542, i1 false) + br i1 %t543, label %exc.u226, label %exc.k227 +exc.u226: + call void @sc_rc_release_dyn(ptr %t528) + br label %exc.cleanup2 +exc.k227: + br label %dc.done225 +dc.done225: + %t544 = load ptr, ptr %s529 + %t545 = call ptr @sc_bf__x25_dyn_class_keys_498(ptr %t525, ptr %t526, ptr %t544) + %t546 = load i32, ptr %exc.cell + %t547 = icmp ne i32 %t546, 0 + %t548 = call i1 @llvm.expect.i1(i1 %t547, i1 false) + br i1 %t548, label %exc.u228, label %exc.k229 +exc.u228: + call void @sc_rc_release_dyn(ptr %t528) + call void @sc_release__x25_m3_LiteResponse(ptr %t544) + call void @sc_rc_release_dyn(ptr %t545) + br label %exc.cleanup2 +exc.k229: + call void @sc_rc_release_dyn(ptr %t528) + call void @sc_release__x25_m3_LiteResponse(ptr %t544) + %t549 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t549) + ret ptr %t545 +if.j220: + %t550 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s551 + %t552 = icmp ne ptr %t550, null + br i1 %t552, label %brand.inspect230, label %brand.done232 +brand.inspect230: + %t553 = getelementptr inbounds i8, ptr %t550, i64 8 ; ->kind + %t554 = load i32, ptr %t553 + %t555 = icmp eq i32 %t554, 12 + br i1 %t555, label %brand.capsule231, label %brand.done232 +brand.capsule231: + %t556 = getelementptr inbounds i8, ptr %t550, i64 40 ; ->v.typed_ref.type_key + %t557 = load ptr, ptr %t556 + %t558 = icmp eq ptr %t557, @sc_cs_2434838942941195 + store i1 true, ptr %s551 + br i1 %t558, label %brand.done232, label %brand.compare233 +brand.compare233: + %t559 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t550, ptr @sc_lit_2434838942941195) + store i1 %t559, ptr %s551 + br label %brand.done232 +brand.done232: + %t560 = load i1, ptr %s551 + br i1 %t560, label %if.t234, label %if.j235 +if.t234: + %t561 = load ptr, ptr %sc_l_p_0 + %t562 = load ptr, ptr %sc_l_p_key + %t563 = load ptr, ptr %sc_l_p_0 + %t564 = call ptr @sc_rc_retain_dyn(ptr %t563) + %t566 = icmp ne ptr %t564, null + br i1 %t566, label %dc.inspect236, label %dc.checked239 +dc.inspect236: + %t571 = getelementptr inbounds i8, ptr %t564, i64 8 ; ->kind + %t572 = load i32, ptr %t571 + %t567 = icmp eq i32 %t572, 12 + br i1 %t567, label %dc.capsule237, label %dc.checked239 +dc.capsule237: + %t568 = getelementptr inbounds i8, ptr %t564, i64 40 ; ->v.typed_ref.type_key + %t569 = load ptr, ptr %t568 + %t570 = icmp eq ptr %t569, @sc_cs_2434838942941195 + br i1 %t570, label %dc.exact238, label %dc.checked239 +dc.exact238: + %t573 = getelementptr inbounds i8, ptr %t564, i64 16 ; ->v.typed_ref.ptr + %t574 = load ptr, ptr %t573 + %t575 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t574) + store ptr %t575, ptr %s565 + br label %dc.done240 +dc.checked239: + %t576 = call ptr @sc_dc_52(ptr %t564, ptr null) + store ptr %t576, ptr %s565 + %t577 = load i32, ptr %exc.cell + %t578 = icmp ne i32 %t577, 0 + %t579 = call i1 @llvm.expect.i1(i1 %t578, i1 false) + br i1 %t579, label %exc.u241, label %exc.k242 +exc.u241: + call void @sc_rc_release_dyn(ptr %t564) + br label %exc.cleanup2 +exc.k242: + br label %dc.done240 +dc.done240: + %t580 = load ptr, ptr %s565 + %t581 = call ptr @sc_bf__x25_dyn_class_keys_497(ptr %t561, ptr %t562, ptr %t580) + %t582 = load i32, ptr %exc.cell + %t583 = icmp ne i32 %t582, 0 + %t584 = call i1 @llvm.expect.i1(i1 %t583, i1 false) + br i1 %t584, label %exc.u243, label %exc.k244 +exc.u243: + call void @sc_rc_release_dyn(ptr %t564) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t580) + call void @sc_rc_release_dyn(ptr %t581) + br label %exc.cleanup2 +exc.k244: + call void @sc_rc_release_dyn(ptr %t564) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t580) + %t585 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t585) + ret ptr %t581 +if.j235: + %t586 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s587 + %t588 = icmp ne ptr %t586, null + br i1 %t588, label %brand.inspect245, label %brand.done247 +brand.inspect245: + %t589 = getelementptr inbounds i8, ptr %t586, i64 8 ; ->kind + %t590 = load i32, ptr %t589 + %t591 = icmp eq i32 %t590, 12 + br i1 %t591, label %brand.capsule246, label %brand.done247 +brand.capsule246: + %t592 = getelementptr inbounds i8, ptr %t586, i64 40 ; ->v.typed_ref.type_key + %t593 = load ptr, ptr %t592 + %t594 = icmp eq ptr %t593, @sc_cs_3326437563644705 + store i1 true, ptr %s587 + br i1 %t594, label %brand.done247, label %brand.compare248 +brand.compare248: + %t595 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t586, ptr @sc_lit_3326437563644705) + store i1 %t595, ptr %s587 + br label %brand.done247 +brand.done247: + %t596 = load i1, ptr %s587 + br i1 %t596, label %if.t249, label %if.j250 +if.t249: + %t597 = load ptr, ptr %sc_l_p_0 + %t598 = load ptr, ptr %sc_l_p_key + %t599 = load ptr, ptr %sc_l_p_0 + %t600 = call ptr @sc_rc_retain_dyn(ptr %t599) + %t602 = icmp ne ptr %t600, null + br i1 %t602, label %dc.inspect251, label %dc.checked254 +dc.inspect251: + %t607 = getelementptr inbounds i8, ptr %t600, i64 8 ; ->kind + %t608 = load i32, ptr %t607 + %t603 = icmp eq i32 %t608, 12 + br i1 %t603, label %dc.capsule252, label %dc.checked254 +dc.capsule252: + %t604 = getelementptr inbounds i8, ptr %t600, i64 40 ; ->v.typed_ref.type_key + %t605 = load ptr, ptr %t604 + %t606 = icmp eq ptr %t605, @sc_cs_3326437563644705 + br i1 %t606, label %dc.exact253, label %dc.checked254 +dc.exact253: + %t609 = getelementptr inbounds i8, ptr %t600, i64 16 ; ->v.typed_ref.ptr + %t610 = load ptr, ptr %t609 + %t611 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t610) + store ptr %t611, ptr %s601 + br label %dc.done255 +dc.checked254: + %t612 = call ptr @sc_dc_102(ptr %t600, ptr null) + store ptr %t612, ptr %s601 + %t613 = load i32, ptr %exc.cell + %t614 = icmp ne i32 %t613, 0 + %t615 = call i1 @llvm.expect.i1(i1 %t614, i1 false) + br i1 %t615, label %exc.u256, label %exc.k257 +exc.u256: + call void @sc_rc_release_dyn(ptr %t600) + br label %exc.cleanup2 +exc.k257: + br label %dc.done255 +dc.done255: + %t616 = load ptr, ptr %s601 + %t617 = call ptr @sc_bf__x25_dyn_class_keys_496(ptr %t597, ptr %t598, ptr %t616) + %t618 = load i32, ptr %exc.cell + %t619 = icmp ne i32 %t618, 0 + %t620 = call i1 @llvm.expect.i1(i1 %t619, i1 false) + br i1 %t620, label %exc.u258, label %exc.k259 +exc.u258: + call void @sc_rc_release_dyn(ptr %t600) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t616) + call void @sc_rc_release_dyn(ptr %t617) + br label %exc.cleanup2 +exc.k259: + call void @sc_rc_release_dyn(ptr %t600) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t616) + %t621 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t621) + ret ptr %t617 +if.j250: + %t622 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s623 + %t624 = icmp ne ptr %t622, null + br i1 %t624, label %brand.inspect260, label %brand.done262 +brand.inspect260: + %t625 = getelementptr inbounds i8, ptr %t622, i64 8 ; ->kind + %t626 = load i32, ptr %t625 + %t627 = icmp eq i32 %t626, 12 + br i1 %t627, label %brand.capsule261, label %brand.done262 +brand.capsule261: + %t628 = getelementptr inbounds i8, ptr %t622, i64 40 ; ->v.typed_ref.type_key + %t629 = load ptr, ptr %t628 + %t630 = icmp eq ptr %t629, @sc_cs_629517122853751 + store i1 true, ptr %s623 + br i1 %t630, label %brand.done262, label %brand.compare263 +brand.compare263: + %t631 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t622, ptr @sc_lit_629517122853751) + store i1 %t631, ptr %s623 + br label %brand.done262 +brand.done262: + %t632 = load i1, ptr %s623 + br i1 %t632, label %if.t264, label %if.j265 +if.t264: + %t633 = load ptr, ptr %sc_l_p_0 + %t634 = load ptr, ptr %sc_l_p_key + %t635 = load ptr, ptr %sc_l_p_0 + %t636 = call ptr @sc_rc_retain_dyn(ptr %t635) + %t638 = icmp ne ptr %t636, null + br i1 %t638, label %dc.inspect266, label %dc.checked269 +dc.inspect266: + %t643 = getelementptr inbounds i8, ptr %t636, i64 8 ; ->kind + %t644 = load i32, ptr %t643 + %t639 = icmp eq i32 %t644, 12 + br i1 %t639, label %dc.capsule267, label %dc.checked269 +dc.capsule267: + %t640 = getelementptr inbounds i8, ptr %t636, i64 40 ; ->v.typed_ref.type_key + %t641 = load ptr, ptr %t640 + %t642 = icmp eq ptr %t641, @sc_cs_629517122853751 + br i1 %t642, label %dc.exact268, label %dc.checked269 +dc.exact268: + %t645 = getelementptr inbounds i8, ptr %t636, i64 16 ; ->v.typed_ref.ptr + %t646 = load ptr, ptr %t645 + %t647 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t646) + store ptr %t647, ptr %s637 + br label %dc.done270 +dc.checked269: + %t648 = call ptr @sc_dc_29(ptr %t636, ptr null) + store ptr %t648, ptr %s637 + %t649 = load i32, ptr %exc.cell + %t650 = icmp ne i32 %t649, 0 + %t651 = call i1 @llvm.expect.i1(i1 %t650, i1 false) + br i1 %t651, label %exc.u271, label %exc.k272 +exc.u271: + call void @sc_rc_release_dyn(ptr %t636) + br label %exc.cleanup2 +exc.k272: + br label %dc.done270 +dc.done270: + %t652 = load ptr, ptr %s637 + %t653 = call ptr @sc_bf__x25_dyn_class_keys_495(ptr %t633, ptr %t634, ptr %t652) + %t654 = load i32, ptr %exc.cell + %t655 = icmp ne i32 %t654, 0 + %t656 = call i1 @llvm.expect.i1(i1 %t655, i1 false) + br i1 %t656, label %exc.u273, label %exc.k274 +exc.u273: + call void @sc_rc_release_dyn(ptr %t636) + call void @sc_release__x25_m2_ResponseSink(ptr %t652) + call void @sc_rc_release_dyn(ptr %t653) + br label %exc.cleanup2 +exc.k274: + call void @sc_rc_release_dyn(ptr %t636) + call void @sc_release__x25_m2_ResponseSink(ptr %t652) + %t657 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t657) + ret ptr %t653 +if.j265: + %t658 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s659 + %t660 = icmp ne ptr %t658, null + br i1 %t660, label %brand.inspect275, label %brand.done277 +brand.inspect275: + %t661 = getelementptr inbounds i8, ptr %t658, i64 8 ; ->kind + %t662 = load i32, ptr %t661 + %t663 = icmp eq i32 %t662, 12 + br i1 %t663, label %brand.capsule276, label %brand.done277 +brand.capsule276: + %t664 = getelementptr inbounds i8, ptr %t658, i64 40 ; ->v.typed_ref.type_key + %t665 = load ptr, ptr %t664 + %t666 = icmp eq ptr %t665, @sc_cs_660811353369478 + store i1 true, ptr %s659 + br i1 %t666, label %brand.done277, label %brand.compare278 +brand.compare278: + %t667 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t658, ptr @sc_lit_660811353369478) + store i1 %t667, ptr %s659 + br label %brand.done277 +brand.done277: + %t668 = load i1, ptr %s659 + br i1 %t668, label %if.t279, label %if.j280 +if.t279: + %t669 = load ptr, ptr %sc_l_p_0 + %t670 = load ptr, ptr %sc_l_p_key + %t671 = load ptr, ptr %sc_l_p_0 + %t672 = call ptr @sc_rc_retain_dyn(ptr %t671) + %t674 = icmp ne ptr %t672, null + br i1 %t674, label %dc.inspect281, label %dc.checked284 +dc.inspect281: + %t679 = getelementptr inbounds i8, ptr %t672, i64 8 ; ->kind + %t680 = load i32, ptr %t679 + %t675 = icmp eq i32 %t680, 12 + br i1 %t675, label %dc.capsule282, label %dc.checked284 +dc.capsule282: + %t676 = getelementptr inbounds i8, ptr %t672, i64 40 ; ->v.typed_ref.type_key + %t677 = load ptr, ptr %t676 + %t678 = icmp eq ptr %t677, @sc_cs_660811353369478 + br i1 %t678, label %dc.exact283, label %dc.checked284 +dc.exact283: + %t681 = getelementptr inbounds i8, ptr %t672, i64 16 ; ->v.typed_ref.ptr + %t682 = load ptr, ptr %t681 + %t683 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t682) + store ptr %t683, ptr %s673 + br label %dc.done285 +dc.checked284: + %t684 = call ptr @sc_dc_28(ptr %t672, ptr null) + store ptr %t684, ptr %s673 + %t685 = load i32, ptr %exc.cell + %t686 = icmp ne i32 %t685, 0 + %t687 = call i1 @llvm.expect.i1(i1 %t686, i1 false) + br i1 %t687, label %exc.u286, label %exc.k287 +exc.u286: + call void @sc_rc_release_dyn(ptr %t672) + br label %exc.cleanup2 +exc.k287: + br label %dc.done285 +dc.done285: + %t688 = load ptr, ptr %s673 + %t689 = call ptr @sc_bf__x25_dyn_class_keys_494(ptr %t669, ptr %t670, ptr %t688) + %t690 = load i32, ptr %exc.cell + %t691 = icmp ne i32 %t690, 0 + %t692 = call i1 @llvm.expect.i1(i1 %t691, i1 false) + br i1 %t692, label %exc.u288, label %exc.k289 +exc.u288: + call void @sc_rc_release_dyn(ptr %t672) + call void @sc_release__x25_m5_ReqViewCore(ptr %t688) + call void @sc_rc_release_dyn(ptr %t689) + br label %exc.cleanup2 +exc.k289: + call void @sc_rc_release_dyn(ptr %t672) + call void @sc_release__x25_m5_ReqViewCore(ptr %t688) + %t693 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t693) + ret ptr %t689 +if.j280: + %t694 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s695 + %t696 = icmp ne ptr %t694, null + br i1 %t696, label %brand.inspect290, label %brand.done292 +brand.inspect290: + %t697 = getelementptr inbounds i8, ptr %t694, i64 8 ; ->kind + %t698 = load i32, ptr %t697 + %t699 = icmp eq i32 %t698, 12 + br i1 %t699, label %brand.capsule291, label %brand.done292 +brand.capsule291: + %t700 = getelementptr inbounds i8, ptr %t694, i64 40 ; ->v.typed_ref.type_key + %t701 = load ptr, ptr %t700 + %t702 = icmp eq ptr %t701, @sc_cs_4336131790391205 + store i1 true, ptr %s695 + br i1 %t702, label %brand.done292, label %brand.compare293 +brand.compare293: + %t703 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t694, ptr @sc_lit_4336131790391205) + store i1 %t703, ptr %s695 + br label %brand.done292 +brand.done292: + %t704 = load i1, ptr %s695 + br i1 %t704, label %if.t294, label %if.j295 +if.t294: + %t705 = load ptr, ptr %sc_l_p_0 + %t706 = load ptr, ptr %sc_l_p_key + %t707 = load ptr, ptr %sc_l_p_0 + %t708 = call ptr @sc_rc_retain_dyn(ptr %t707) + %t710 = icmp ne ptr %t708, null + br i1 %t710, label %dc.inspect296, label %dc.checked299 +dc.inspect296: + %t715 = getelementptr inbounds i8, ptr %t708, i64 8 ; ->kind + %t716 = load i32, ptr %t715 + %t711 = icmp eq i32 %t716, 12 + br i1 %t711, label %dc.capsule297, label %dc.checked299 +dc.capsule297: + %t712 = getelementptr inbounds i8, ptr %t708, i64 40 ; ->v.typed_ref.type_key + %t713 = load ptr, ptr %t712 + %t714 = icmp eq ptr %t713, @sc_cs_4336131790391205 + br i1 %t714, label %dc.exact298, label %dc.checked299 +dc.exact298: + %t717 = getelementptr inbounds i8, ptr %t708, i64 16 ; ->v.typed_ref.ptr + %t718 = load ptr, ptr %t717 + %t719 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t718) + store ptr %t719, ptr %s709 + br label %dc.done300 +dc.checked299: + %t720 = call ptr @sc_dc_43(ptr %t708, ptr null) + store ptr %t720, ptr %s709 + %t721 = load i32, ptr %exc.cell + %t722 = icmp ne i32 %t721, 0 + %t723 = call i1 @llvm.expect.i1(i1 %t722, i1 false) + br i1 %t723, label %exc.u301, label %exc.k302 +exc.u301: + call void @sc_rc_release_dyn(ptr %t708) + br label %exc.cleanup2 +exc.k302: + br label %dc.done300 +dc.done300: + %t724 = load ptr, ptr %s709 + %t725 = call ptr @sc_bf__x25_dyn_class_keys_493(ptr %t705, ptr %t706, ptr %t724) + %t726 = load i32, ptr %exc.cell + %t727 = icmp ne i32 %t726, 0 + %t728 = call i1 @llvm.expect.i1(i1 %t727, i1 false) + br i1 %t728, label %exc.u303, label %exc.k304 +exc.u303: + call void @sc_rc_release_dyn(ptr %t708) + call void @sc_release__x25_m5_MpCfg(ptr %t724) + call void @sc_rc_release_dyn(ptr %t725) + br label %exc.cleanup2 +exc.k304: + call void @sc_rc_release_dyn(ptr %t708) + call void @sc_release__x25_m5_MpCfg(ptr %t724) + %t729 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t729) + ret ptr %t725 +if.j295: + %t730 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s731 + %t732 = icmp ne ptr %t730, null + br i1 %t732, label %brand.inspect305, label %brand.done307 +brand.inspect305: + %t733 = getelementptr inbounds i8, ptr %t730, i64 8 ; ->kind + %t734 = load i32, ptr %t733 + %t735 = icmp eq i32 %t734, 12 + br i1 %t735, label %brand.capsule306, label %brand.done307 +brand.capsule306: + %t736 = getelementptr inbounds i8, ptr %t730, i64 40 ; ->v.typed_ref.type_key + %t737 = load ptr, ptr %t736 + %t738 = icmp eq ptr %t737, @sc_cs_3456310594719780 + store i1 true, ptr %s731 + br i1 %t738, label %brand.done307, label %brand.compare308 +brand.compare308: + %t739 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t730, ptr @sc_lit_3456310594719780) + store i1 %t739, ptr %s731 + br label %brand.done307 +brand.done307: + %t740 = load i1, ptr %s731 + br i1 %t740, label %if.t309, label %if.j310 +if.t309: + %t741 = load ptr, ptr %sc_l_p_0 + %t742 = load ptr, ptr %sc_l_p_key + %t743 = load ptr, ptr %sc_l_p_0 + %t744 = call ptr @sc_rc_retain_dyn(ptr %t743) + %t746 = icmp ne ptr %t744, null + br i1 %t746, label %dc.inspect311, label %dc.checked314 +dc.inspect311: + %t751 = getelementptr inbounds i8, ptr %t744, i64 8 ; ->kind + %t752 = load i32, ptr %t751 + %t747 = icmp eq i32 %t752, 12 + br i1 %t747, label %dc.capsule312, label %dc.checked314 +dc.capsule312: + %t748 = getelementptr inbounds i8, ptr %t744, i64 40 ; ->v.typed_ref.type_key + %t749 = load ptr, ptr %t748 + %t750 = icmp eq ptr %t749, @sc_cs_3456310594719780 + br i1 %t750, label %dc.exact313, label %dc.checked314 +dc.exact313: + %t753 = getelementptr inbounds i8, ptr %t744, i64 16 ; ->v.typed_ref.ptr + %t754 = load ptr, ptr %t753 + %t755 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t754) + store ptr %t755, ptr %s745 + br label %dc.done315 +dc.checked314: + %t756 = call ptr @sc_dc_99(ptr %t744, ptr null) + store ptr %t756, ptr %s745 + %t757 = load i32, ptr %exc.cell + %t758 = icmp ne i32 %t757, 0 + %t759 = call i1 @llvm.expect.i1(i1 %t758, i1 false) + br i1 %t759, label %exc.u316, label %exc.k317 +exc.u316: + call void @sc_rc_release_dyn(ptr %t744) + br label %exc.cleanup2 +exc.k317: + br label %dc.done315 +dc.done315: + %t760 = load ptr, ptr %s745 + %t761 = call ptr @sc_bf__x25_dyn_class_keys_492(ptr %t741, ptr %t742, ptr %t760) + %t762 = load i32, ptr %exc.cell + %t763 = icmp ne i32 %t762, 0 + %t764 = call i1 @llvm.expect.i1(i1 %t763, i1 false) + br i1 %t764, label %exc.u318, label %exc.k319 +exc.u318: + call void @sc_rc_release_dyn(ptr %t744) + call void @sc_release__x25_m4_MemoryStorage(ptr %t760) + call void @sc_rc_release_dyn(ptr %t761) + br label %exc.cleanup2 +exc.k319: + call void @sc_rc_release_dyn(ptr %t744) + call void @sc_release__x25_m4_MemoryStorage(ptr %t760) + %t765 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t765) + ret ptr %t761 +if.j310: + %t766 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s767 + %t768 = icmp ne ptr %t766, null + br i1 %t768, label %brand.inspect320, label %brand.done322 +brand.inspect320: + %t769 = getelementptr inbounds i8, ptr %t766, i64 8 ; ->kind + %t770 = load i32, ptr %t769 + %t771 = icmp eq i32 %t770, 12 + br i1 %t771, label %brand.capsule321, label %brand.done322 +brand.capsule321: + %t772 = getelementptr inbounds i8, ptr %t766, i64 40 ; ->v.typed_ref.type_key + %t773 = load ptr, ptr %t772 + %t774 = icmp eq ptr %t773, @sc_cs_3635319175845957 + store i1 true, ptr %s767 + br i1 %t774, label %brand.done322, label %brand.compare323 +brand.compare323: + %t775 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t766, ptr @sc_lit_3635319175845957) + store i1 %t775, ptr %s767 + br label %brand.done322 +brand.done322: + %t776 = load i1, ptr %s767 + br i1 %t776, label %if.t324, label %if.j325 +if.t324: + %t777 = load ptr, ptr %sc_l_p_0 + %t778 = load ptr, ptr %sc_l_p_key + %t779 = load ptr, ptr %sc_l_p_0 + %t780 = call ptr @sc_rc_retain_dyn(ptr %t779) + %t782 = icmp ne ptr %t780, null + br i1 %t782, label %dc.inspect326, label %dc.checked329 +dc.inspect326: + %t787 = getelementptr inbounds i8, ptr %t780, i64 8 ; ->kind + %t788 = load i32, ptr %t787 + %t783 = icmp eq i32 %t788, 12 + br i1 %t783, label %dc.capsule327, label %dc.checked329 +dc.capsule327: + %t784 = getelementptr inbounds i8, ptr %t780, i64 40 ; ->v.typed_ref.type_key + %t785 = load ptr, ptr %t784 + %t786 = icmp eq ptr %t785, @sc_cs_3635319175845957 + br i1 %t786, label %dc.exact328, label %dc.checked329 +dc.exact328: + %t789 = getelementptr inbounds i8, ptr %t780, i64 16 ; ->v.typed_ref.ptr + %t790 = load ptr, ptr %t789 + %t791 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t790) + store ptr %t791, ptr %s781 + br label %dc.done330 +dc.checked329: + %t792 = call ptr @sc_dc_24(ptr %t780, ptr null) + store ptr %t792, ptr %s781 + %t793 = load i32, ptr %exc.cell + %t794 = icmp ne i32 %t793, 0 + %t795 = call i1 @llvm.expect.i1(i1 %t794, i1 false) + br i1 %t795, label %exc.u331, label %exc.k332 +exc.u331: + call void @sc_rc_release_dyn(ptr %t780) + br label %exc.cleanup2 +exc.k332: + br label %dc.done330 +dc.done330: + %t796 = load ptr, ptr %s781 + %t797 = call ptr @sc_bf__x25_dyn_class_keys_491(ptr %t777, ptr %t778, ptr %t796) + %t798 = load i32, ptr %exc.cell + %t799 = icmp ne i32 %t798, 0 + %t800 = call i1 @llvm.expect.i1(i1 %t799, i1 false) + br i1 %t800, label %exc.u333, label %exc.k334 +exc.u333: + call void @sc_rc_release_dyn(ptr %t780) + call void @sc_release__x25_m4_MultipartStorage(ptr %t796) + call void @sc_rc_release_dyn(ptr %t797) + br label %exc.cleanup2 +exc.k334: + call void @sc_rc_release_dyn(ptr %t780) + call void @sc_release__x25_m4_MultipartStorage(ptr %t796) + %t801 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t801) + ret ptr %t797 +if.j325: + %t802 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s803 + %t804 = icmp ne ptr %t802, null + br i1 %t804, label %brand.inspect335, label %brand.done337 +brand.inspect335: + %t805 = getelementptr inbounds i8, ptr %t802, i64 8 ; ->kind + %t806 = load i32, ptr %t805 + %t807 = icmp eq i32 %t806, 12 + br i1 %t807, label %brand.capsule336, label %brand.done337 +brand.capsule336: + %t808 = getelementptr inbounds i8, ptr %t802, i64 40 ; ->v.typed_ref.type_key + %t809 = load ptr, ptr %t808 + %t810 = icmp eq ptr %t809, @sc_cs_4143564844538255 + store i1 true, ptr %s803 + br i1 %t810, label %brand.done337, label %brand.compare338 +brand.compare338: + %t811 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t802, ptr @sc_lit_4143564844538255) + store i1 %t811, ptr %s803 + br label %brand.done337 +brand.done337: + %t812 = load i1, ptr %s803 + br i1 %t812, label %if.t339, label %if.j340 +if.t339: + %t813 = load ptr, ptr %sc_l_p_0 + %t814 = load ptr, ptr %sc_l_p_key + %t815 = load ptr, ptr %sc_l_p_0 + %t816 = call ptr @sc_rc_retain_dyn(ptr %t815) + %t818 = icmp ne ptr %t816, null + br i1 %t818, label %dc.inspect341, label %dc.checked344 +dc.inspect341: + %t823 = getelementptr inbounds i8, ptr %t816, i64 8 ; ->kind + %t824 = load i32, ptr %t823 + %t819 = icmp eq i32 %t824, 12 + br i1 %t819, label %dc.capsule342, label %dc.checked344 +dc.capsule342: + %t820 = getelementptr inbounds i8, ptr %t816, i64 40 ; ->v.typed_ref.type_key + %t821 = load ptr, ptr %t820 + %t822 = icmp eq ptr %t821, @sc_cs_4143564844538255 + br i1 %t822, label %dc.exact343, label %dc.checked344 +dc.exact343: + %t825 = getelementptr inbounds i8, ptr %t816, i64 16 ; ->v.typed_ref.ptr + %t826 = load ptr, ptr %t825 + %t827 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t826) + store ptr %t827, ptr %s817 + br label %dc.done345 +dc.checked344: + %t828 = call ptr @sc_dc_109(ptr %t816, ptr null) + store ptr %t828, ptr %s817 + %t829 = load i32, ptr %exc.cell + %t830 = icmp ne i32 %t829, 0 + %t831 = call i1 @llvm.expect.i1(i1 %t830, i1 false) + br i1 %t831, label %exc.u346, label %exc.k347 +exc.u346: + call void @sc_rc_release_dyn(ptr %t816) + br label %exc.cleanup2 +exc.k347: + br label %dc.done345 +dc.done345: + %t832 = load ptr, ptr %s817 + %t833 = call ptr @sc_bf__x25_dyn_class_keys_490(ptr %t813, ptr %t814, ptr %t832) + %t834 = load i32, ptr %exc.cell + %t835 = icmp ne i32 %t834, 0 + %t836 = call i1 @llvm.expect.i1(i1 %t835, i1 false) + br i1 %t836, label %exc.u348, label %exc.k349 +exc.u348: + call void @sc_rc_release_dyn(ptr %t816) + call void @sc_release__x25_m14_BakedAssets(ptr %t832) + call void @sc_rc_release_dyn(ptr %t833) + br label %exc.cleanup2 +exc.k349: + call void @sc_rc_release_dyn(ptr %t816) + call void @sc_release__x25_m14_BakedAssets(ptr %t832) + %t837 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t837) + ret ptr %t833 +if.j340: + %t838 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s839 + %t840 = icmp ne ptr %t838, null + br i1 %t840, label %brand.inspect350, label %brand.done352 +brand.inspect350: + %t841 = getelementptr inbounds i8, ptr %t838, i64 8 ; ->kind + %t842 = load i32, ptr %t841 + %t843 = icmp eq i32 %t842, 12 + br i1 %t843, label %brand.capsule351, label %brand.done352 +brand.capsule351: + %t844 = getelementptr inbounds i8, ptr %t838, i64 40 ; ->v.typed_ref.type_key + %t845 = load ptr, ptr %t844 + %t846 = icmp eq ptr %t845, @sc_cs_2875643240706496 + store i1 true, ptr %s839 + br i1 %t846, label %brand.done352, label %brand.compare353 +brand.compare353: + %t847 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t838, ptr @sc_lit_2875643240706496) + store i1 %t847, ptr %s839 + br label %brand.done352 +brand.done352: + %t848 = load i1, ptr %s839 + br i1 %t848, label %if.t354, label %if.j355 +if.t354: + %t849 = load ptr, ptr %sc_l_p_0 + %t850 = load ptr, ptr %sc_l_p_key + %t851 = load ptr, ptr %sc_l_p_0 + %t852 = call ptr @sc_rc_retain_dyn(ptr %t851) + %t854 = icmp ne ptr %t852, null + br i1 %t854, label %dc.inspect356, label %dc.checked359 +dc.inspect356: + %t859 = getelementptr inbounds i8, ptr %t852, i64 8 ; ->kind + %t860 = load i32, ptr %t859 + %t855 = icmp eq i32 %t860, 12 + br i1 %t855, label %dc.capsule357, label %dc.checked359 +dc.capsule357: + %t856 = getelementptr inbounds i8, ptr %t852, i64 40 ; ->v.typed_ref.type_key + %t857 = load ptr, ptr %t856 + %t858 = icmp eq ptr %t857, @sc_cs_2875643240706496 + br i1 %t858, label %dc.exact358, label %dc.checked359 +dc.exact358: + %t861 = getelementptr inbounds i8, ptr %t852, i64 16 ; ->v.typed_ref.ptr + %t862 = load ptr, ptr %t861 + %t863 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t862) + store ptr %t863, ptr %s853 + br label %dc.done360 +dc.checked359: + %t864 = call ptr @sc_dc_48(ptr %t852, ptr null) + store ptr %t864, ptr %s853 + %t865 = load i32, ptr %exc.cell + %t866 = icmp ne i32 %t865, 0 + %t867 = call i1 @llvm.expect.i1(i1 %t866, i1 false) + br i1 %t867, label %exc.u361, label %exc.k362 +exc.u361: + call void @sc_rc_release_dyn(ptr %t852) + br label %exc.cleanup2 +exc.k362: + br label %dc.done360 +dc.done360: + %t868 = load ptr, ptr %s853 + %t869 = call ptr @sc_bf__x25_dyn_class_keys_489(ptr %t849, ptr %t850, ptr %t868) + %t870 = load i32, ptr %exc.cell + %t871 = icmp ne i32 %t870, 0 + %t872 = call i1 @llvm.expect.i1(i1 %t871, i1 false) + br i1 %t872, label %exc.u363, label %exc.k364 +exc.u363: + call void @sc_rc_release_dyn(ptr %t852) + call void @sc_release__x25_m5_CtxCore(ptr %t868) + call void @sc_rc_release_dyn(ptr %t869) + br label %exc.cleanup2 +exc.k364: + call void @sc_rc_release_dyn(ptr %t852) + call void @sc_release__x25_m5_CtxCore(ptr %t868) + %t873 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t873) + ret ptr %t869 +if.j355: + %t874 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s875 + %t876 = icmp ne ptr %t874, null + br i1 %t876, label %brand.inspect365, label %brand.done367 +brand.inspect365: + %t877 = getelementptr inbounds i8, ptr %t874, i64 8 ; ->kind + %t878 = load i32, ptr %t877 + %t879 = icmp eq i32 %t878, 12 + br i1 %t879, label %brand.capsule366, label %brand.done367 +brand.capsule366: + %t880 = getelementptr inbounds i8, ptr %t874, i64 40 ; ->v.typed_ref.type_key + %t881 = load ptr, ptr %t880 + %t882 = icmp eq ptr %t881, @sc_cs_21424698936986 + store i1 true, ptr %s875 + br i1 %t882, label %brand.done367, label %brand.compare368 +brand.compare368: + %t883 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t874, ptr @sc_lit_21424698936986) + store i1 %t883, ptr %s875 + br label %brand.done367 +brand.done367: + %t884 = load i1, ptr %s875 + br i1 %t884, label %if.t369, label %if.j370 +if.t369: + %t885 = load ptr, ptr %sc_l_p_0 + %t886 = load ptr, ptr %sc_l_p_key + %t887 = load ptr, ptr %sc_l_p_0 + %t888 = call ptr @sc_rc_retain_dyn(ptr %t887) + %t890 = icmp ne ptr %t888, null + br i1 %t890, label %dc.inspect371, label %dc.checked374 +dc.inspect371: + %t895 = getelementptr inbounds i8, ptr %t888, i64 8 ; ->kind + %t896 = load i32, ptr %t895 + %t891 = icmp eq i32 %t896, 12 + br i1 %t891, label %dc.capsule372, label %dc.checked374 +dc.capsule372: + %t892 = getelementptr inbounds i8, ptr %t888, i64 40 ; ->v.typed_ref.type_key + %t893 = load ptr, ptr %t892 + %t894 = icmp eq ptr %t893, @sc_cs_21424698936986 + br i1 %t894, label %dc.exact373, label %dc.checked374 +dc.exact373: + %t897 = getelementptr inbounds i8, ptr %t888, i64 16 ; ->v.typed_ref.ptr + %t898 = load ptr, ptr %t897 + %t899 = call ptr @sc_retain__x25_m5_App(ptr %t898) + store ptr %t899, ptr %s889 + br label %dc.done375 +dc.checked374: + %t900 = call ptr @sc_dc_91(ptr %t888, ptr null) + store ptr %t900, ptr %s889 + %t901 = load i32, ptr %exc.cell + %t902 = icmp ne i32 %t901, 0 + %t903 = call i1 @llvm.expect.i1(i1 %t902, i1 false) + br i1 %t903, label %exc.u376, label %exc.k377 +exc.u376: + call void @sc_rc_release_dyn(ptr %t888) + br label %exc.cleanup2 +exc.k377: + br label %dc.done375 +dc.done375: + %t904 = load ptr, ptr %s889 + %t905 = call ptr @sc_bf__x25_dyn_class_keys_488(ptr %t885, ptr %t886, ptr %t904) + %t906 = load i32, ptr %exc.cell + %t907 = icmp ne i32 %t906, 0 + %t908 = call i1 @llvm.expect.i1(i1 %t907, i1 false) + br i1 %t908, label %exc.u378, label %exc.k379 +exc.u378: + call void @sc_rc_release_dyn(ptr %t888) + call void @sc_release__x25_m5_App(ptr %t904) + call void @sc_rc_release_dyn(ptr %t905) + br label %exc.cleanup2 +exc.k379: + call void @sc_rc_release_dyn(ptr %t888) + call void @sc_release__x25_m5_App(ptr %t904) + %t909 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t909) + ret ptr %t905 +if.j370: + %t910 = load ptr, ptr %sc_l_p_0 + %t911 = call ptr @sc_rc_retain_dyn(ptr %t910) + %t912 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t911) + %t913 = load i32, ptr %exc.cell + %t914 = icmp ne i32 %t913, 0 + %t915 = call i1 @llvm.expect.i1(i1 %t914, i1 false) + br i1 %t915, label %exc.u380, label %exc.k381 +exc.u380: + call void @sc_rc_release_dyn(ptr %t912) + br label %exc.cleanup2 +exc.k381: + %t916 = load ptr, ptr %sc_l_p_key + %t917 = call ptr @sc_dyn_key_get(ptr %t912, ptr %t916, i1 false) + %t918 = load i32, ptr %exc.cell + %t919 = icmp ne i32 %t918, 0 + %t920 = call i1 @llvm.expect.i1(i1 %t919, i1 false) + br i1 %t920, label %exc.u382, label %exc.k383 +exc.u382: + call void @sc_rc_release_dyn(ptr %t912) + call void @sc_rc_release_dyn(ptr %t917) + br label %exc.cleanup2 +exc.k383: + call void @sc_rc_release_dyn(ptr %t912) + %t921 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t921) + ret ptr %t917 +exc.cleanup2: + %t922 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t922) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_computed_1(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_call_0(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callback, ptr %p_sc_l_p_1, ptr %p_sc_l_p_calleeName) #0 { ; %dyn.class.call.0 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_callback = alloca ptr ; callback + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s39 = alloca [1 x ptr] + %s50 = alloca ptr + %s84 = alloca [1 x ptr] + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callback, ptr %sc_l_p_callback + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_67546268704151 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_67546268704151) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_callback + %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 6 + %t25 = xor i1 %t24, true + br i1 %t25, label %if.t11, label %if.j12 +if.t11: + %t26 = load ptr, ptr %sc_l_p_callback + %t29 = getelementptr inbounds i8, ptr %t26, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t28 = icmp eq i32 %t30, 5 + br i1 %t28, label %dkg.ic13, label %dkg.any14 +dkg.ic13: + %t31 = call ptr @scr_dyn_obj_read_ic(ptr %t26, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_20) + br label %dkg.j15 +dkg.any14: + %t32 = call ptr @sc_dyn_key_get(ptr %t26, ptr @sc_lit_3610950885518037, i1 false) + br label %dkg.j15 +dkg.j15: + %t27 = phi ptr [ %t31, %dkg.ic13 ], [ %t32, %dkg.any14 ] + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup2 +exc.k17: + %t36 = load ptr, ptr %sc_l_p_0 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_1 + %t40 = getelementptr inbounds [1 x ptr], ptr %s39, i64 0, i64 0 + store ptr %t38, ptr %t40 + %t42 = load ptr, ptr %sc_l_p_calleeName + %t43 = getelementptr inbounds %ScrStr, ptr %t42, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t37) + %t41 = call ptr @scr_dyn_call(ptr %t27, ptr %s39, i64 1, ptr %t43) + call void @scr_dyn_this_pop() + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t41) + br label %exc.cleanup2 +exc.k19: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t37) + %t47 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t47) + ret ptr %t41 +if.j12: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect20, label %dc.checked23 +dc.inspect20: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule21, label %dc.checked23 +dc.capsule21: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_67546268704151 + br i1 %t55, label %dc.exact22, label %dc.checked23 +dc.exact22: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done24 +dc.checked23: + %t61 = call ptr @sc_dc_107(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u25, label %exc.k26 +exc.u25: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k26: + br label %dc.done24 +dc.done24: + %t65 = load ptr, ptr %s50 + %t66 = load ptr, ptr %sc_l_p_1 + %t67 = call ptr @sc_dc_123(ptr %t66, ptr null) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteHeaders(ptr %t65) + call void @scr_closure_release(ptr %t67) + br label %exc.cleanup2 +exc.k28: + call void @sc_bf__x25__x25_m3_LiteHeaders_forEach(ptr %t65, ptr %t67) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteHeaders(ptr %t65) + call void @scr_closure_release(ptr %t67) + br label %exc.cleanup2 +exc.k30: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteHeaders(ptr %t65) + call void @scr_closure_release(ptr %t67) + %t75 = call ptr @scr_dyn_undefined() + %t74 = call ptr @scr_dyn_retain_v(ptr %t75) + %t76 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t76) + ret ptr %t74 +if.j10: + %t77 = load ptr, ptr %sc_l_p_0 + %t78 = call ptr @sc_rc_retain_dyn(ptr %t77) + %t79 = call ptr @scr_dyn_prepare_method(ptr %t78, ptr @sc_cs_145319249654683) + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t79) + br label %exc.cleanup2 +exc.k32: + %t83 = load ptr, ptr %sc_l_p_1 + %t85 = getelementptr inbounds [1 x ptr], ptr %s84, i64 0, i64 0 + store ptr %t83, ptr %t85 + %t86 = load ptr, ptr %sc_l_p_calleeName + %t87 = getelementptr inbounds %ScrStr, ptr %t86, i32 1 + %t88 = call ptr @scr_dyn_invoke_prepared(ptr %t78, ptr %t79, ptr @sc_cs_145319249654683, ptr %s84, i64 1, ptr %t87) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t79) + call void @sc_rc_release_dyn(ptr %t88) + br label %exc.cleanup2 +exc.k34: + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t79) + %t92 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t92) + ret ptr %t88 +exc.cleanup2: + %t93 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t93) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_call_0(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_call_0(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @scr_str_release(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_callback_0(ptr %p_sc_l_p_0) #0 { ; %dyn.class.callback.0 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s21 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_67546268704151 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_67546268704151) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + br i1 true, label %tern.t11, label %tern.f12 +tern.t11: + %t22 = call ptr @scr_dyn_new_obj() + %t23 = load ptr, ptr %sc_l_p_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup2 +exc.k15: + %t31 = getelementptr inbounds i8, ptr %t25, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t30 = icmp eq i32 %t32, 5 + br i1 %t30, label %dkg.ic16, label %dkg.any17 +dkg.ic16: + %t33 = call ptr @scr_dyn_obj_read_ic(ptr %t25, ptr @sc_lit_145319249654683, ptr @sc_dyn_read_ic_21) + br label %dkg.j18 +dkg.any17: + %t34 = call ptr @sc_dyn_key_get(ptr %t25, ptr @sc_lit_145319249654683, i1 false) + br label %dkg.j18 +dkg.j18: + %t29 = phi ptr [ %t33, %dkg.ic16 ], [ %t34, %dkg.any17 ] + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u19, label %exc.k20 +exc.u19: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup2 +exc.k20: + call void @scr_dyn_key_set(ptr %t22, ptr @sc_lit_3610950885518037, ptr %t29) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u21, label %exc.k22 +exc.u21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup2 +exc.k22: + store ptr %t22, ptr %s21 + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %tern.j13 +tern.f12: + %t42 = call ptr @scr_dyn_undefined() + %t41 = call ptr @scr_dyn_retain_v(ptr %t42) + store ptr %t41, ptr %s21 + br label %tern.j13 +tern.j13: + %t43 = load ptr, ptr %s21 + %t44 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr %t43 +if.j10: + %t46 = call ptr @scr_dyn_undefined() + %t45 = call ptr @scr_dyn_retain_v(ptr %t46) + %t47 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t47) + ret ptr %t45 +exc.cleanup2: + %t48 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_20(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.20 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4297539476301093) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4297539476301093, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4297539476301093) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4297539476301093, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_4297539476301093) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_4297539476301093, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_4297539476301093) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_4297539476301093, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_4297539476301093, ptr @sc_dyn_read_ic_22) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_4297539476301093, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_4297539476301093, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_21(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.21 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1959461887910059) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1959461887910059, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_1959461887910059) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_1959461887910059, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_1959461887910059) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_1959461887910059, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_1959461887910059) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_1959461887910059, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_1959461887910059, ptr @sc_dyn_read_ic_23) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_1959461887910059, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_1959461887910059, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_22(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.22 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_660811353369478 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_660811353369478 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_28(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2827456990858395) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_660811353369478 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_28(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_660811353369478 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_28(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2827456990858395, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2827456990858395, ptr @sc_dyn_read_ic_24) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2827456990858395, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2827456990858395, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_23(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.23 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_660811353369478 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_660811353369478 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_28(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3624217920823549) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_660811353369478 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_28(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_660811353369478 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_28(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3624217920823549, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3624217920823549, ptr @sc_dyn_read_ic_25) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3624217920823549, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3624217920823549, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_24(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.24 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s284 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_30(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_528144782449140) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_1746033898805369 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_30(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_1746033898805369 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_30(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_528144782449140, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxResCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxResCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_660811353369478 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_660811353369478) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_660811353369478 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_28(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m5_ReqViewCore(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_528144782449140) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m5_ReqViewCore(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m5_ReqViewCore(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_660811353369478 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_28(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m5_ReqViewCore(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_660811353369478 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_28(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m5_ReqViewCore(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_528144782449140, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m5_ReqViewCore(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m5_ReqViewCore(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m5_ReqViewCore(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m5_ReqViewCore(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_2875643240706496 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_2875643240706496) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_2875643240706496 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_48(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m5_CtxCore(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_528144782449140) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m5_CtxCore(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m5_CtxCore(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_2875643240706496 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_48(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m5_CtxCore(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_2875643240706496 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_48(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m5_CtxCore(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_528144782449140, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m5_CtxCore(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m5_CtxCore(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m5_CtxCore(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m5_CtxCore(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + %t275 = call ptr @sc_rc_retain_dyn(ptr %t274) + %t276 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t275) + %t277 = load i32, ptr %exc.cell + %t278 = icmp ne i32 %t277, 0 + %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false) + br i1 %t279, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t276) + br label %exc.cleanup2 +exc.k117: + %t280 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t276) + call void @sc_rc_release_dyn(ptr %t276) + store ptr %t280, ptr %sc_l_bag_0 + %t281 = load ptr, ptr %sc_l_bag_0 + %t282 = load ptr, ptr %sc_l_p_0 + %t283 = call zeroext i1 @scr_dyn_strict_eq(ptr %t281, ptr %t282) + br i1 %t283, label %tern.t118, label %tern.f119 +tern.t118: + %t285 = load ptr, ptr %sc_l_bag_0 + %t288 = getelementptr inbounds i8, ptr %t285, i64 8 ; ->kind + %t289 = load i32, ptr %t288 + %t287 = icmp eq i32 %t289, 5 + br i1 %t287, label %dkg.ic121, label %dkg.any122 +dkg.ic121: + %t290 = call ptr @scr_dyn_obj_read_ic(ptr %t285, ptr @sc_lit_528144782449140, ptr @sc_dyn_read_ic_26) + br label %dkg.j123 +dkg.any122: + %t291 = call ptr @sc_dyn_key_get(ptr %t285, ptr @sc_lit_528144782449140, i1 false) + br label %dkg.j123 +dkg.j123: + %t286 = phi ptr [ %t290, %dkg.ic121 ], [ %t291, %dkg.any122 ] + %t292 = load i32, ptr %exc.cell + %t293 = icmp ne i32 %t292, 0 + %t294 = call i1 @llvm.expect.i1(i1 %t293, i1 false) + br i1 %t294, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup126 +exc.k125: + store ptr %t286, ptr %s284 + br label %tern.j120 +tern.f119: + %t295 = load ptr, ptr %sc_l_bag_0 + %t296 = call ptr @sc_rc_retain_dyn(ptr %t295) + %t297 = load ptr, ptr %sc_l_p_0 + %t298 = call ptr @sc_rc_retain_dyn(ptr %t297) + %t299 = call ptr @scr_dyn_bag_get(ptr %t296, ptr @sc_lit_528144782449140, ptr %t298) + %t300 = load i32, ptr %exc.cell + %t301 = icmp ne i32 %t300, 0 + %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false) + br i1 %t302, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t296) + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t299) + br label %exc.cleanup126 +exc.k128: + store ptr %t299, ptr %s284 + call void @sc_rc_release_dyn(ptr %t296) + call void @sc_rc_release_dyn(ptr %t298) + br label %tern.j120 +tern.j120: + %t303 = load ptr, ptr %s284 + %t304 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t304) + %t305 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t305) + ret ptr %t303 +exc.cleanup2: + %t306 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t306) + ret ptr null +exc.cleanup126: + %t307 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t307) + %t308 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t308) + ret ptr null +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m4.MultipartParser +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 21 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t18, i64 0, i32 21 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %p0) + call void @sc_release__x25_m4_MultipartParser(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_25(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.25 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_105(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3531366543973767) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_105(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_105(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3531366543973767, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3531366543973767, ptr @sc_dyn_read_ic_27) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3531366543973767, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3531366543973767, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_26(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.26 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_105(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1173128410961643) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_105(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_105(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1173128410961643, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1173128410961643, ptr @sc_dyn_read_ic_28) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1173128410961643, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1173128410961643, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_27(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.27 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_660811353369478 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_660811353369478 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_28(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3532714511332900) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_660811353369478 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_28(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_660811353369478 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_28(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3532714511332900, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3532714511332900, ptr @sc_dyn_read_ic_29) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3532714511332900, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3532714511332900, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m3.LiteResponse +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 2 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t18, i64 0, i32 2 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %p0) + call void @sc_release__x25_m3_LiteResponse(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_28(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.28 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_992600386266231) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_992600386266231, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_992600386266231) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_992600386266231, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_992600386266231) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_992600386266231, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_992600386266231) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_992600386266231, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_992600386266231, ptr @sc_dyn_read_ic_30) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_992600386266231, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_992600386266231, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m11.StaticServer +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t4, i64 0, i32 6 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t18, i64 0, i32 6 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %p0) + call void @sc_release__x25_m11_StaticServer(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_29(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.29 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_864190948149583 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_864190948149583) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_864190948149583 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_103(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2232031524457002) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_864190948149583 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_103(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_864190948149583 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_103(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2232031524457002, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m11_StaticServer(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m11_StaticServer(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2232031524457002, ptr @sc_dyn_read_ic_31) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2232031524457002, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2232031524457002, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m5.ReqViewCore +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_660811353369478 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_28(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_30(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.30 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s54 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_2875643240706496 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2875643240706496) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_2875643240706496 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_48(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t38, i64 0, i32 1 + %t40 = load ptr, ptr %t39, !tbaa !24 + %t41 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t40) + %t42 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t41, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + call void @sc_release__x25_m5_ReqViewCore(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + ret ptr %t42 +if.j10: + %t44 = load ptr, ptr %sc_l_p_0 + %t45 = call ptr @sc_rc_retain_dyn(ptr %t44) + %t46 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t45) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t46) + br label %exc.cleanup2 +exc.k19: + %t50 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t46) + call void @sc_rc_release_dyn(ptr %t46) + store ptr %t50, ptr %sc_l_bag_0 + %t51 = load ptr, ptr %sc_l_bag_0 + %t52 = load ptr, ptr %sc_l_p_0 + %t53 = call zeroext i1 @scr_dyn_strict_eq(ptr %t51, ptr %t52) + br i1 %t53, label %tern.t20, label %tern.f21 +tern.t20: + %t55 = load ptr, ptr %sc_l_bag_0 + %t58 = getelementptr inbounds i8, ptr %t55, i64 8 ; ->kind + %t59 = load i32, ptr %t58 + %t57 = icmp eq i32 %t59, 5 + br i1 %t57, label %dkg.ic23, label %dkg.any24 +dkg.ic23: + %t60 = call ptr @scr_dyn_obj_read_ic(ptr %t55, ptr @sc_lit_3447500980845638, ptr @sc_dyn_read_ic_32) + br label %dkg.j25 +dkg.any24: + %t61 = call ptr @sc_dyn_key_get(ptr %t55, ptr @sc_lit_3447500980845638, i1 false) + br label %dkg.j25 +dkg.j25: + %t56 = phi ptr [ %t60, %dkg.ic23 ], [ %t61, %dkg.any24 ] + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t56) + br label %exc.cleanup28 +exc.k27: + store ptr %t56, ptr %s54 + br label %tern.j22 +tern.f21: + %t65 = load ptr, ptr %sc_l_bag_0 + %t66 = call ptr @sc_rc_retain_dyn(ptr %t65) + %t67 = load ptr, ptr %sc_l_p_0 + %t68 = call ptr @sc_rc_retain_dyn(ptr %t67) + %t69 = call ptr @scr_dyn_bag_get(ptr %t66, ptr @sc_lit_3447500980845638, ptr %t68) + %t70 = load i32, ptr %exc.cell + %t71 = icmp ne i32 %t70, 0 + %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false) + br i1 %t72, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_rc_release_dyn(ptr %t69) + br label %exc.cleanup28 +exc.k30: + store ptr %t69, ptr %s54 + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t68) + br label %tern.j22 +tern.j22: + %t73 = load ptr, ptr %s54 + %t74 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t74) + %t75 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t75) + ret ptr %t73 +exc.cleanup2: + %t76 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t76) + ret ptr null +exc.cleanup28: + %t77 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t77) + %t78 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t78) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_31(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.31 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_2875643240706496 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2875643240706496) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_2875643240706496 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_48(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_48178627029362) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_2875643240706496 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_48(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_2875643240706496 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_48(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_48178627029362, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_48178627029362, ptr @sc_dyn_read_ic_33) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_48178627029362, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_48178627029362, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_32(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.32 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_660811353369478 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_660811353369478 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_28(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3600534565598564) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_660811353369478 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_28(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_660811353369478 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_28(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3600534565598564, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3600534565598564, ptr @sc_dyn_read_ic_34) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3600534565598564, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3600534565598564, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_33(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.33 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s196 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_101(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2677147133778287) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4041255434968695 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_101(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4041255434968695 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_101(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2677147133778287, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteRequest(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteRequest(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2875643240706496 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2875643240706496) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2875643240706496 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_48(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m5_CtxCore(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_2677147133778287) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m5_CtxCore(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m5_CtxCore(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2875643240706496 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_48(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m5_CtxCore(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2875643240706496 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_48(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m5_CtxCore(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_2677147133778287, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m5_CtxCore(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m5_CtxCore(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m5_CtxCore(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m5_CtxCore(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + %t187 = call ptr @sc_rc_retain_dyn(ptr %t186) + %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t188) + br label %exc.cleanup2 +exc.k80: + %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188) + call void @sc_rc_release_dyn(ptr %t188) + store ptr %t192, ptr %sc_l_bag_0 + %t193 = load ptr, ptr %sc_l_bag_0 + %t194 = load ptr, ptr %sc_l_p_0 + %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194) + br i1 %t195, label %tern.t81, label %tern.f82 +tern.t81: + %t197 = load ptr, ptr %sc_l_bag_0 + %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind + %t201 = load i32, ptr %t200 + %t199 = icmp eq i32 %t201, 5 + br i1 %t199, label %dkg.ic84, label %dkg.any85 +dkg.ic84: + %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_2677147133778287, ptr @sc_dyn_read_ic_35) + br label %dkg.j86 +dkg.any85: + %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_2677147133778287, i1 false) + br label %dkg.j86 +dkg.j86: + %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ] + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup89 +exc.k88: + store ptr %t198, ptr %s196 + br label %tern.j83 +tern.f82: + %t207 = load ptr, ptr %sc_l_bag_0 + %t208 = call ptr @sc_rc_retain_dyn(ptr %t207) + %t209 = load ptr, ptr %sc_l_p_0 + %t210 = call ptr @sc_rc_retain_dyn(ptr %t209) + %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_2677147133778287, ptr %t210) + %t212 = load i32, ptr %exc.cell + %t213 = icmp ne i32 %t212, 0 + %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false) + br i1 %t214, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + call void @sc_rc_release_dyn(ptr %t211) + br label %exc.cleanup89 +exc.k91: + store ptr %t211, ptr %s196 + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + br label %tern.j83 +tern.j83: + %t215 = load ptr, ptr %s196 + %t216 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t216) + %t217 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t217) + ret ptr %t215 +exc.cleanup2: + %t218 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t218) + ret ptr null +exc.cleanup89: + %t219 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t219) + %t220 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t220) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_34(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.34 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_864190948149583 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_864190948149583) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_864190948149583 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_103(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_700259281879664) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_864190948149583 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_103(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_864190948149583 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_103(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_700259281879664, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m11_StaticServer(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m11_StaticServer(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_700259281879664, ptr @sc_dyn_read_ic_36) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_700259281879664, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_700259281879664, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_35(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.35 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_864190948149583 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_864190948149583) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_864190948149583 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_103(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2478521587363481) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_864190948149583 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_103(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_864190948149583 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_103(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2478521587363481, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m11_StaticServer(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m11_StaticServer(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2478521587363481, ptr @sc_dyn_read_ic_37) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2478521587363481, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2478521587363481, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_36(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.36 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s54 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_2875643240706496 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2875643240706496) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_2875643240706496 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_48(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t38, i64 0, i32 7 + %t40 = load ptr, ptr %t39, !tbaa !162 + %t41 = call ptr @scr_union_retain_v(ptr %t40) + %t42 = call ptr @sc_td_14(ptr %t41) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxCore(ptr %t38) + call void @scr_union_release(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + ret ptr %t42 +if.j10: + %t44 = load ptr, ptr %sc_l_p_0 + %t45 = call ptr @sc_rc_retain_dyn(ptr %t44) + %t46 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t45) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t46) + br label %exc.cleanup2 +exc.k19: + %t50 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t46) + call void @sc_rc_release_dyn(ptr %t46) + store ptr %t50, ptr %sc_l_bag_0 + %t51 = load ptr, ptr %sc_l_bag_0 + %t52 = load ptr, ptr %sc_l_p_0 + %t53 = call zeroext i1 @scr_dyn_strict_eq(ptr %t51, ptr %t52) + br i1 %t53, label %tern.t20, label %tern.f21 +tern.t20: + %t55 = load ptr, ptr %sc_l_bag_0 + %t58 = getelementptr inbounds i8, ptr %t55, i64 8 ; ->kind + %t59 = load i32, ptr %t58 + %t57 = icmp eq i32 %t59, 5 + br i1 %t57, label %dkg.ic23, label %dkg.any24 +dkg.ic23: + %t60 = call ptr @scr_dyn_obj_read_ic(ptr %t55, ptr @sc_lit_3084154227263888, ptr @sc_dyn_read_ic_38) + br label %dkg.j25 +dkg.any24: + %t61 = call ptr @sc_dyn_key_get(ptr %t55, ptr @sc_lit_3084154227263888, i1 false) + br label %dkg.j25 +dkg.j25: + %t56 = phi ptr [ %t60, %dkg.ic23 ], [ %t61, %dkg.any24 ] + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t56) + br label %exc.cleanup28 +exc.k27: + store ptr %t56, ptr %s54 + br label %tern.j22 +tern.f21: + %t65 = load ptr, ptr %sc_l_bag_0 + %t66 = call ptr @sc_rc_retain_dyn(ptr %t65) + %t67 = load ptr, ptr %sc_l_p_0 + %t68 = call ptr @sc_rc_retain_dyn(ptr %t67) + %t69 = call ptr @scr_dyn_bag_get(ptr %t66, ptr @sc_lit_3084154227263888, ptr %t68) + %t70 = load i32, ptr %exc.cell + %t71 = icmp ne i32 %t70, 0 + %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false) + br i1 %t72, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_rc_release_dyn(ptr %t69) + br label %exc.cleanup28 +exc.k30: + store ptr %t69, ptr %s54 + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t68) + br label %tern.j22 +tern.j22: + %t73 = load ptr, ptr %s54 + %t74 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t74) + %t75 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t75) + ret ptr %t73 +exc.cleanup2: + %t76 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t76) + ret ptr null +exc.cleanup28: + %t77 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t77) + %t78 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t78) + ret ptr null +} + +define internal void @sc_bf__x25_dyn_class_property_37(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %dyn.class.property.37 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_1 = alloca ptr ; p1 + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s48 = alloca i1 + %s60 = alloca ptr + %s85 = alloca i1 + %s97 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = load ptr, ptr %sc_l_p_1 + %t40 = call zeroext i1 @sc_dc_3(ptr %t39, ptr null) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + br label %exc.cleanup2 +exc.k19: + %t44 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t38, i64 0, i32 8 + %t45 = zext i1 %t40 to i8 + store i8 %t45, ptr %t44, !tbaa !42 + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + %t46 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t46) + ret void +if.j10: + %t47 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s48 + %t49 = icmp ne ptr %t47, null + br i1 %t49, label %brand.inspect20, label %brand.done22 +brand.inspect20: + %t50 = getelementptr inbounds i8, ptr %t47, i64 8 ; ->kind + %t51 = load i32, ptr %t50 + %t52 = icmp eq i32 %t51, 12 + br i1 %t52, label %brand.capsule21, label %brand.done22 +brand.capsule21: + %t53 = getelementptr inbounds i8, ptr %t47, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_2434838942941195 + store i1 true, ptr %s48 + br i1 %t55, label %brand.done22, label %brand.compare23 +brand.compare23: + %t56 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t47, ptr @sc_lit_2434838942941195) + store i1 %t56, ptr %s48 + br label %brand.done22 +brand.done22: + %t57 = load i1, ptr %s48 + br i1 %t57, label %if.t24, label %if.j25 +if.t24: + %t58 = load ptr, ptr %sc_l_p_0 + %t59 = call ptr @sc_rc_retain_dyn(ptr %t58) + %t61 = icmp ne ptr %t59, null + br i1 %t61, label %dc.inspect26, label %dc.checked29 +dc.inspect26: + %t66 = getelementptr inbounds i8, ptr %t59, i64 8 ; ->kind + %t67 = load i32, ptr %t66 + %t62 = icmp eq i32 %t67, 12 + br i1 %t62, label %dc.capsule27, label %dc.checked29 +dc.capsule27: + %t63 = getelementptr inbounds i8, ptr %t59, i64 40 ; ->v.typed_ref.type_key + %t64 = load ptr, ptr %t63 + %t65 = icmp eq ptr %t64, @sc_cs_2434838942941195 + br i1 %t65, label %dc.exact28, label %dc.checked29 +dc.exact28: + %t68 = getelementptr inbounds i8, ptr %t59, i64 16 ; ->v.typed_ref.ptr + %t69 = load ptr, ptr %t68 + %t70 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t69) + store ptr %t70, ptr %s60 + br label %dc.done30 +dc.checked29: + %t71 = call ptr @sc_dc_52(ptr %t59, ptr null) + store ptr %t71, ptr %s60 + %t72 = load i32, ptr %exc.cell + %t73 = icmp ne i32 %t72, 0 + %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false) + br i1 %t74, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t59) + br label %exc.cleanup2 +exc.k32: + br label %dc.done30 +dc.done30: + %t75 = load ptr, ptr %s60 + %t76 = load ptr, ptr %sc_l_p_1 + %t77 = call zeroext i1 @sc_dc_3(ptr %t76, ptr null) + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t75) + br label %exc.cleanup2 +exc.k34: + %t81 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t75, i64 0, i32 8 + %t82 = zext i1 %t77 to i8 + store i8 %t82, ptr %t81, !tbaa !42 + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t75) + %t83 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t83) + ret void +if.j25: + %t84 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s85 + %t86 = icmp ne ptr %t84, null + br i1 %t86, label %brand.inspect35, label %brand.done37 +brand.inspect35: + %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind + %t88 = load i32, ptr %t87 + %t89 = icmp eq i32 %t88, 12 + br i1 %t89, label %brand.capsule36, label %brand.done37 +brand.capsule36: + %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key + %t91 = load ptr, ptr %t90 + %t92 = icmp eq ptr %t91, @sc_cs_2875643240706496 + store i1 true, ptr %s85 + br i1 %t92, label %brand.done37, label %brand.compare38 +brand.compare38: + %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_2875643240706496) + store i1 %t93, ptr %s85 + br label %brand.done37 +brand.done37: + %t94 = load i1, ptr %s85 + br i1 %t94, label %if.t39, label %if.j40 +if.t39: + %t95 = load ptr, ptr %sc_l_p_0 + %t96 = call ptr @sc_rc_retain_dyn(ptr %t95) + %t98 = icmp ne ptr %t96, null + br i1 %t98, label %dc.inspect41, label %dc.checked44 +dc.inspect41: + %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind + %t104 = load i32, ptr %t103 + %t99 = icmp eq i32 %t104, 12 + br i1 %t99, label %dc.capsule42, label %dc.checked44 +dc.capsule42: + %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key + %t101 = load ptr, ptr %t100 + %t102 = icmp eq ptr %t101, @sc_cs_2875643240706496 + br i1 %t102, label %dc.exact43, label %dc.checked44 +dc.exact43: + %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr + %t106 = load ptr, ptr %t105 + %t107 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t106) + store ptr %t107, ptr %s97 + br label %dc.done45 +dc.checked44: + %t108 = call ptr @sc_dc_48(ptr %t96, ptr null) + store ptr %t108, ptr %s97 + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t96) + br label %exc.cleanup2 +exc.k47: + br label %dc.done45 +dc.done45: + %t112 = load ptr, ptr %s97 + %t113 = load ptr, ptr %sc_l_p_1 + %t114 = call zeroext i1 @sc_dc_3(ptr %t113, ptr null) + %t115 = load i32, ptr %exc.cell + %t116 = icmp ne i32 %t115, 0 + %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false) + br i1 %t117, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m5_CtxCore(ptr %t112) + br label %exc.cleanup2 +exc.k49: + %t118 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t112, i64 0, i32 5 + %t119 = zext i1 %t114 to i8 + store i8 %t119, ptr %t118, !tbaa !42 + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m5_CtxCore(ptr %t112) + %t120 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t120) + ret void +if.j40: + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @sc_f__x25_dyn_class_properties(ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup2 +exc.k51: + %t127 = load ptr, ptr %sc_l_p_1 + %t128 = call ptr @sc_rc_retain_dyn(ptr %t127) + call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_2163543391075186, ptr %t128) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t123) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k53: + call void @sc_rc_release_dyn(ptr %t123) + call void @sc_rc_release_dyn(ptr %t128) + %t132 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t132) + ret void +exc.cleanup2: + %t133 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t133) + ret void +} +define internal void @sc_f__x25_dyn_class_property_37(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_dyn_class_property_37(ptr %p0, ptr %p1) + call void @sc_rc_release_dyn(ptr %p1) + ret void +} + +define internal ptr @sc_bf__x25_dyn_class_forInKeyStrings(ptr %p_sc_l_p_0) #0 { ; %dyn.class.forInKeyStrings +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_rc_retain_dyn(ptr %t4) + %t6 = call ptr @scr_dyn_for_in_key_strs(ptr %t5) + %t7 = load i32, ptr %exc.cell + %t8 = icmp ne i32 %t7, 0 + %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false) + br i1 %t9, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t5) + call void @scr_arr_release(ptr %t6) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t5) + ret ptr %t6 +} +define internal ptr @sc_f__x25_dyn_class_forInKeyStrings(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_forInKeyStrings(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_38(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.38 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_105(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1900193337948069) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_105(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_105(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1900193337948069, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1900193337948069, ptr @sc_dyn_read_ic_39) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1900193337948069, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1900193337948069, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_39(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.39 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_105(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_142546227685363) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_105(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_105(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_142546227685363, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_142546227685363, ptr @sc_dyn_read_ic_40) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_142546227685363, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_142546227685363, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_40(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.40 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_105(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2281930073577937) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_105(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_105(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2281930073577937, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2281930073577937, ptr @sc_dyn_read_ic_41) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2281930073577937, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2281930073577937, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_41(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.41 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_105(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1113582459875923) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_105(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_105(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1113582459875923, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1113582459875923, ptr @sc_dyn_read_ic_42) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1113582459875923, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1113582459875923, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_42(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.42 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_105(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1360183775732063) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_105(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_105(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1360183775732063, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1360183775732063, ptr @sc_dyn_read_ic_43) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1360183775732063, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1360183775732063, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_43(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.43 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s196 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3728566007289652 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3728566007289652) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3728566007289652 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_100(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1026109439396001) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3728566007289652 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_100(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3728566007289652 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_100(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1026109439396001, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2072202777142634 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2072202777142634) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2072202777142634 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_26(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_1026109439396001) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2072202777142634 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_26(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2072202777142634 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_26(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_1026109439396001, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + %t187 = call ptr @sc_rc_retain_dyn(ptr %t186) + %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t188) + br label %exc.cleanup2 +exc.k80: + %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188) + call void @sc_rc_release_dyn(ptr %t188) + store ptr %t192, ptr %sc_l_bag_0 + %t193 = load ptr, ptr %sc_l_bag_0 + %t194 = load ptr, ptr %sc_l_p_0 + %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194) + br i1 %t195, label %tern.t81, label %tern.f82 +tern.t81: + %t197 = load ptr, ptr %sc_l_bag_0 + %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind + %t201 = load i32, ptr %t200 + %t199 = icmp eq i32 %t201, 5 + br i1 %t199, label %dkg.ic84, label %dkg.any85 +dkg.ic84: + %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_1026109439396001, ptr @sc_dyn_read_ic_44) + br label %dkg.j86 +dkg.any85: + %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_1026109439396001, i1 false) + br label %dkg.j86 +dkg.j86: + %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ] + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup89 +exc.k88: + store ptr %t198, ptr %s196 + br label %tern.j83 +tern.f82: + %t207 = load ptr, ptr %sc_l_bag_0 + %t208 = call ptr @sc_rc_retain_dyn(ptr %t207) + %t209 = load ptr, ptr %sc_l_p_0 + %t210 = call ptr @sc_rc_retain_dyn(ptr %t209) + %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_1026109439396001, ptr %t210) + %t212 = load i32, ptr %exc.cell + %t213 = icmp ne i32 %t212, 0 + %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false) + br i1 %t214, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + call void @sc_rc_release_dyn(ptr %t211) + br label %exc.cleanup89 +exc.k91: + store ptr %t211, ptr %s196 + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + br label %tern.j83 +tern.j83: + %t215 = load ptr, ptr %s196 + %t216 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t216) + %t217 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t217) + ret ptr %t215 +exc.cleanup2: + %t218 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t218) + ret ptr null +exc.cleanup89: + %t219 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t219) + %t220 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t220) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_44(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.44 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_105(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3922224781708262) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MultipartParser(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_105(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_105(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3922224781708262, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MultipartParser(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MultipartParser(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3922224781708262, ptr @sc_dyn_read_ic_45) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3922224781708262, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3922224781708262, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_45(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.45 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s196 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3456310594719780 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3456310594719780) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3456310594719780 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_99(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryStorage(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4062729090063393) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryStorage(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryStorage(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3456310594719780 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_99(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryStorage(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3456310594719780 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_99(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryStorage(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4062729090063393, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryStorage(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryStorage(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryStorage(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryStorage(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_3635319175845957 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_3635319175845957) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_3635319175845957 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_24(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartStorage(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4062729090063393) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartStorage(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartStorage(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_3635319175845957 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_24(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartStorage(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_3635319175845957 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_24(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartStorage(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4062729090063393, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartStorage(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartStorage(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartStorage(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartStorage(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + %t187 = call ptr @sc_rc_retain_dyn(ptr %t186) + %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t188) + br label %exc.cleanup2 +exc.k80: + %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188) + call void @sc_rc_release_dyn(ptr %t188) + store ptr %t192, ptr %sc_l_bag_0 + %t193 = load ptr, ptr %sc_l_bag_0 + %t194 = load ptr, ptr %sc_l_p_0 + %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194) + br i1 %t195, label %tern.t81, label %tern.f82 +tern.t81: + %t197 = load ptr, ptr %sc_l_bag_0 + %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind + %t201 = load i32, ptr %t200 + %t199 = icmp eq i32 %t201, 5 + br i1 %t199, label %dkg.ic84, label %dkg.any85 +dkg.ic84: + %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_4062729090063393, ptr @sc_dyn_read_ic_46) + br label %dkg.j86 +dkg.any85: + %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_4062729090063393, i1 false) + br label %dkg.j86 +dkg.j86: + %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ] + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup89 +exc.k88: + store ptr %t198, ptr %s196 + br label %tern.j83 +tern.f82: + %t207 = load ptr, ptr %sc_l_bag_0 + %t208 = call ptr @sc_rc_retain_dyn(ptr %t207) + %t209 = load ptr, ptr %sc_l_p_0 + %t210 = call ptr @sc_rc_retain_dyn(ptr %t209) + %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_4062729090063393, ptr %t210) + %t212 = load i32, ptr %exc.cell + %t213 = icmp ne i32 %t212, 0 + %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false) + br i1 %t214, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + call void @sc_rc_release_dyn(ptr %t211) + br label %exc.cleanup89 +exc.k91: + store ptr %t211, ptr %s196 + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + br label %tern.j83 +tern.j83: + %t215 = load ptr, ptr %s196 + %t216 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t216) + %t217 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t217) + ret ptr %t215 +exc.cleanup2: + %t218 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t218) + ret ptr null +exc.cleanup89: + %t219 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t219) + %t220 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t220) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MultipartFileSink +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_2072202777142634 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_26(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_46(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.46 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s363 = alloca i1 + %s375 = alloca ptr + %s402 = alloca ptr + %s425 = alloca ptr + %s451 = alloca i1 + %s463 = alloca ptr + %s490 = alloca ptr + %s513 = alloca ptr + %s548 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3728566007289652 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3728566007289652) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3728566007289652 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_100(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_298897322184109) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3728566007289652 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_100(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3728566007289652 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_100(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_298897322184109, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2072202777142634 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2072202777142634) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2072202777142634 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_26(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_298897322184109) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2072202777142634 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_26(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2072202777142634 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_26(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_298897322184109, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_4074974279575818 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_4074974279575818) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_4074974279575818 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_104(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m3_LiteResponse(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_298897322184109) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m3_LiteResponse(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m3_LiteResponse(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_4074974279575818 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_104(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m3_LiteResponse(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_4074974279575818 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_104(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m3_LiteResponse(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_298897322184109, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m3_LiteResponse(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m3_LiteResponse(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m3_LiteResponse(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m3_LiteResponse(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_2434838942941195 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_2434838942941195) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_2434838942941195 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_52(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_298897322184109) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_2434838942941195 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_52(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_2434838942941195 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_52(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_298897322184109, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s363 + %t364 = icmp ne ptr %t362, null + br i1 %t364, label %brand.inspect153, label %brand.done155 +brand.inspect153: + %t365 = getelementptr inbounds i8, ptr %t362, i64 8 ; ->kind + %t366 = load i32, ptr %t365 + %t367 = icmp eq i32 %t366, 12 + br i1 %t367, label %brand.capsule154, label %brand.done155 +brand.capsule154: + %t368 = getelementptr inbounds i8, ptr %t362, i64 40 ; ->v.typed_ref.type_key + %t369 = load ptr, ptr %t368 + %t370 = icmp eq ptr %t369, @sc_cs_3326437563644705 + store i1 true, ptr %s363 + br i1 %t370, label %brand.done155, label %brand.compare156 +brand.compare156: + %t371 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t362, ptr @sc_lit_3326437563644705) + store i1 %t371, ptr %s363 + br label %brand.done155 +brand.done155: + %t372 = load i1, ptr %s363 + br i1 %t372, label %if.t157, label %if.j158 +if.t157: + %t373 = load ptr, ptr %sc_l_p_0 + %t374 = call ptr @sc_rc_retain_dyn(ptr %t373) + %t376 = icmp ne ptr %t374, null + br i1 %t376, label %dc.inspect159, label %dc.checked162 +dc.inspect159: + %t381 = getelementptr inbounds i8, ptr %t374, i64 8 ; ->kind + %t382 = load i32, ptr %t381 + %t377 = icmp eq i32 %t382, 12 + br i1 %t377, label %dc.capsule160, label %dc.checked162 +dc.capsule160: + %t378 = getelementptr inbounds i8, ptr %t374, i64 40 ; ->v.typed_ref.type_key + %t379 = load ptr, ptr %t378 + %t380 = icmp eq ptr %t379, @sc_cs_3326437563644705 + br i1 %t380, label %dc.exact161, label %dc.checked162 +dc.exact161: + %t383 = getelementptr inbounds i8, ptr %t374, i64 16 ; ->v.typed_ref.ptr + %t384 = load ptr, ptr %t383 + %t385 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t384) + store ptr %t385, ptr %s375 + br label %dc.done163 +dc.checked162: + %t386 = call ptr @sc_dc_102(ptr %t374, ptr null) + store ptr %t386, ptr %s375 + %t387 = load i32, ptr %exc.cell + %t388 = icmp ne i32 %t387, 0 + %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false) + br i1 %t389, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup2 +exc.k165: + br label %dc.done163 +dc.done163: + %t390 = load ptr, ptr %s375 + %t391 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t390, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t392 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t391) + %t393 = load i32, ptr %exc.cell + %t394 = icmp ne i32 %t393, 0 + %t395 = call i1 @llvm.expect.i1(i1 %t394, i1 false) + br i1 %t395, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t374) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t390) + call void @sc_rc_release_dyn(ptr %t392) + br label %exc.cleanup2 +exc.k167: + %t396 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t392, ptr @sc_lit_298897322184109) + %t397 = load i32, ptr %exc.cell + %t398 = icmp ne i32 %t397, 0 + %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false) + br i1 %t399, label %exc.u168, label %exc.k169 +exc.u168: + call void @sc_rc_release_dyn(ptr %t374) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t390) + call void @sc_rc_release_dyn(ptr %t392) + br label %exc.cleanup2 +exc.k169: + call void @sc_rc_release_dyn(ptr %t374) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t390) + call void @sc_rc_release_dyn(ptr %t392) + br i1 %t396, label %if.t170, label %if.j171 +if.t170: + %t400 = load ptr, ptr %sc_l_p_0 + %t401 = call ptr @sc_rc_retain_dyn(ptr %t400) + %t403 = icmp ne ptr %t401, null + br i1 %t403, label %dc.inspect172, label %dc.checked175 +dc.inspect172: + %t408 = getelementptr inbounds i8, ptr %t401, i64 8 ; ->kind + %t409 = load i32, ptr %t408 + %t404 = icmp eq i32 %t409, 12 + br i1 %t404, label %dc.capsule173, label %dc.checked175 +dc.capsule173: + %t405 = getelementptr inbounds i8, ptr %t401, i64 40 ; ->v.typed_ref.type_key + %t406 = load ptr, ptr %t405 + %t407 = icmp eq ptr %t406, @sc_cs_3326437563644705 + br i1 %t407, label %dc.exact174, label %dc.checked175 +dc.exact174: + %t410 = getelementptr inbounds i8, ptr %t401, i64 16 ; ->v.typed_ref.ptr + %t411 = load ptr, ptr %t410 + %t412 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t411) + store ptr %t412, ptr %s402 + br label %dc.done176 +dc.checked175: + %t413 = call ptr @sc_dc_102(ptr %t401, ptr null) + store ptr %t413, ptr %s402 + %t414 = load i32, ptr %exc.cell + %t415 = icmp ne i32 %t414, 0 + %t416 = call i1 @llvm.expect.i1(i1 %t415, i1 false) + br i1 %t416, label %exc.u177, label %exc.k178 +exc.u177: + call void @sc_rc_release_dyn(ptr %t401) + br label %exc.cleanup2 +exc.k178: + br label %dc.done176 +dc.done176: + %t417 = load ptr, ptr %s402 + %t418 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t417, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t419 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t418) + %t420 = load i32, ptr %exc.cell + %t421 = icmp ne i32 %t420, 0 + %t422 = call i1 @llvm.expect.i1(i1 %t421, i1 false) + br i1 %t422, label %exc.u179, label %exc.k180 +exc.u179: + call void @sc_rc_release_dyn(ptr %t401) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t417) + call void @sc_rc_release_dyn(ptr %t419) + br label %exc.cleanup2 +exc.k180: + %t423 = load ptr, ptr %sc_l_p_0 + %t424 = call ptr @sc_rc_retain_dyn(ptr %t423) + %t426 = icmp ne ptr %t424, null + br i1 %t426, label %dc.inspect181, label %dc.checked184 +dc.inspect181: + %t431 = getelementptr inbounds i8, ptr %t424, i64 8 ; ->kind + %t432 = load i32, ptr %t431 + %t427 = icmp eq i32 %t432, 12 + br i1 %t427, label %dc.capsule182, label %dc.checked184 +dc.capsule182: + %t428 = getelementptr inbounds i8, ptr %t424, i64 40 ; ->v.typed_ref.type_key + %t429 = load ptr, ptr %t428 + %t430 = icmp eq ptr %t429, @sc_cs_3326437563644705 + br i1 %t430, label %dc.exact183, label %dc.checked184 +dc.exact183: + %t433 = getelementptr inbounds i8, ptr %t424, i64 16 ; ->v.typed_ref.ptr + %t434 = load ptr, ptr %t433 + %t435 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t434) + store ptr %t435, ptr %s425 + br label %dc.done185 +dc.checked184: + %t436 = call ptr @sc_dc_102(ptr %t424, ptr null) + store ptr %t436, ptr %s425 + %t437 = load i32, ptr %exc.cell + %t438 = icmp ne i32 %t437, 0 + %t439 = call i1 @llvm.expect.i1(i1 %t438, i1 false) + br i1 %t439, label %exc.u186, label %exc.k187 +exc.u186: + call void @sc_rc_release_dyn(ptr %t401) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t417) + call void @sc_rc_release_dyn(ptr %t419) + call void @sc_rc_release_dyn(ptr %t424) + br label %exc.cleanup2 +exc.k187: + br label %dc.done185 +dc.done185: + %t440 = load ptr, ptr %s425 + %t441 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t440, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t442 = call ptr @scr_dyn_bag_get(ptr %t419, ptr @sc_lit_298897322184109, ptr %t441) + %t443 = load i32, ptr %exc.cell + %t444 = icmp ne i32 %t443, 0 + %t445 = call i1 @llvm.expect.i1(i1 %t444, i1 false) + br i1 %t445, label %exc.u188, label %exc.k189 +exc.u188: + call void @sc_rc_release_dyn(ptr %t401) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t417) + call void @sc_rc_release_dyn(ptr %t419) + call void @sc_rc_release_dyn(ptr %t424) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t440) + call void @sc_rc_release_dyn(ptr %t441) + call void @sc_rc_release_dyn(ptr %t442) + br label %exc.cleanup2 +exc.k189: + call void @sc_rc_release_dyn(ptr %t401) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t417) + call void @sc_rc_release_dyn(ptr %t419) + call void @sc_rc_release_dyn(ptr %t424) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t440) + call void @sc_rc_release_dyn(ptr %t441) + %t446 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t446) + ret ptr %t442 +if.j171: + %t448 = call ptr @scr_dyn_undefined() + %t447 = call ptr @scr_dyn_retain_v(ptr %t448) + %t449 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t449) + ret ptr %t447 +if.j158: + %t450 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s451 + %t452 = icmp ne ptr %t450, null + br i1 %t452, label %brand.inspect190, label %brand.done192 +brand.inspect190: + %t453 = getelementptr inbounds i8, ptr %t450, i64 8 ; ->kind + %t454 = load i32, ptr %t453 + %t455 = icmp eq i32 %t454, 12 + br i1 %t455, label %brand.capsule191, label %brand.done192 +brand.capsule191: + %t456 = getelementptr inbounds i8, ptr %t450, i64 40 ; ->v.typed_ref.type_key + %t457 = load ptr, ptr %t456 + %t458 = icmp eq ptr %t457, @sc_cs_629517122853751 + store i1 true, ptr %s451 + br i1 %t458, label %brand.done192, label %brand.compare193 +brand.compare193: + %t459 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t450, ptr @sc_lit_629517122853751) + store i1 %t459, ptr %s451 + br label %brand.done192 +brand.done192: + %t460 = load i1, ptr %s451 + br i1 %t460, label %if.t194, label %if.j195 +if.t194: + %t461 = load ptr, ptr %sc_l_p_0 + %t462 = call ptr @sc_rc_retain_dyn(ptr %t461) + %t464 = icmp ne ptr %t462, null + br i1 %t464, label %dc.inspect196, label %dc.checked199 +dc.inspect196: + %t469 = getelementptr inbounds i8, ptr %t462, i64 8 ; ->kind + %t470 = load i32, ptr %t469 + %t465 = icmp eq i32 %t470, 12 + br i1 %t465, label %dc.capsule197, label %dc.checked199 +dc.capsule197: + %t466 = getelementptr inbounds i8, ptr %t462, i64 40 ; ->v.typed_ref.type_key + %t467 = load ptr, ptr %t466 + %t468 = icmp eq ptr %t467, @sc_cs_629517122853751 + br i1 %t468, label %dc.exact198, label %dc.checked199 +dc.exact198: + %t471 = getelementptr inbounds i8, ptr %t462, i64 16 ; ->v.typed_ref.ptr + %t472 = load ptr, ptr %t471 + %t473 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t472) + store ptr %t473, ptr %s463 + br label %dc.done200 +dc.checked199: + %t474 = call ptr @sc_dc_29(ptr %t462, ptr null) + store ptr %t474, ptr %s463 + %t475 = load i32, ptr %exc.cell + %t476 = icmp ne i32 %t475, 0 + %t477 = call i1 @llvm.expect.i1(i1 %t476, i1 false) + br i1 %t477, label %exc.u201, label %exc.k202 +exc.u201: + call void @sc_rc_release_dyn(ptr %t462) + br label %exc.cleanup2 +exc.k202: + br label %dc.done200 +dc.done200: + %t478 = load ptr, ptr %s463 + %t479 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t478, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t480 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t479) + %t481 = load i32, ptr %exc.cell + %t482 = icmp ne i32 %t481, 0 + %t483 = call i1 @llvm.expect.i1(i1 %t482, i1 false) + br i1 %t483, label %exc.u203, label %exc.k204 +exc.u203: + call void @sc_rc_release_dyn(ptr %t462) + call void @sc_release__x25_m2_ResponseSink(ptr %t478) + call void @sc_rc_release_dyn(ptr %t480) + br label %exc.cleanup2 +exc.k204: + %t484 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t480, ptr @sc_lit_298897322184109) + %t485 = load i32, ptr %exc.cell + %t486 = icmp ne i32 %t485, 0 + %t487 = call i1 @llvm.expect.i1(i1 %t486, i1 false) + br i1 %t487, label %exc.u205, label %exc.k206 +exc.u205: + call void @sc_rc_release_dyn(ptr %t462) + call void @sc_release__x25_m2_ResponseSink(ptr %t478) + call void @sc_rc_release_dyn(ptr %t480) + br label %exc.cleanup2 +exc.k206: + call void @sc_rc_release_dyn(ptr %t462) + call void @sc_release__x25_m2_ResponseSink(ptr %t478) + call void @sc_rc_release_dyn(ptr %t480) + br i1 %t484, label %if.t207, label %if.j208 +if.t207: + %t488 = load ptr, ptr %sc_l_p_0 + %t489 = call ptr @sc_rc_retain_dyn(ptr %t488) + %t491 = icmp ne ptr %t489, null + br i1 %t491, label %dc.inspect209, label %dc.checked212 +dc.inspect209: + %t496 = getelementptr inbounds i8, ptr %t489, i64 8 ; ->kind + %t497 = load i32, ptr %t496 + %t492 = icmp eq i32 %t497, 12 + br i1 %t492, label %dc.capsule210, label %dc.checked212 +dc.capsule210: + %t493 = getelementptr inbounds i8, ptr %t489, i64 40 ; ->v.typed_ref.type_key + %t494 = load ptr, ptr %t493 + %t495 = icmp eq ptr %t494, @sc_cs_629517122853751 + br i1 %t495, label %dc.exact211, label %dc.checked212 +dc.exact211: + %t498 = getelementptr inbounds i8, ptr %t489, i64 16 ; ->v.typed_ref.ptr + %t499 = load ptr, ptr %t498 + %t500 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t499) + store ptr %t500, ptr %s490 + br label %dc.done213 +dc.checked212: + %t501 = call ptr @sc_dc_29(ptr %t489, ptr null) + store ptr %t501, ptr %s490 + %t502 = load i32, ptr %exc.cell + %t503 = icmp ne i32 %t502, 0 + %t504 = call i1 @llvm.expect.i1(i1 %t503, i1 false) + br i1 %t504, label %exc.u214, label %exc.k215 +exc.u214: + call void @sc_rc_release_dyn(ptr %t489) + br label %exc.cleanup2 +exc.k215: + br label %dc.done213 +dc.done213: + %t505 = load ptr, ptr %s490 + %t506 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t505, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t507 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t506) + %t508 = load i32, ptr %exc.cell + %t509 = icmp ne i32 %t508, 0 + %t510 = call i1 @llvm.expect.i1(i1 %t509, i1 false) + br i1 %t510, label %exc.u216, label %exc.k217 +exc.u216: + call void @sc_rc_release_dyn(ptr %t489) + call void @sc_release__x25_m2_ResponseSink(ptr %t505) + call void @sc_rc_release_dyn(ptr %t507) + br label %exc.cleanup2 +exc.k217: + %t511 = load ptr, ptr %sc_l_p_0 + %t512 = call ptr @sc_rc_retain_dyn(ptr %t511) + %t514 = icmp ne ptr %t512, null + br i1 %t514, label %dc.inspect218, label %dc.checked221 +dc.inspect218: + %t519 = getelementptr inbounds i8, ptr %t512, i64 8 ; ->kind + %t520 = load i32, ptr %t519 + %t515 = icmp eq i32 %t520, 12 + br i1 %t515, label %dc.capsule219, label %dc.checked221 +dc.capsule219: + %t516 = getelementptr inbounds i8, ptr %t512, i64 40 ; ->v.typed_ref.type_key + %t517 = load ptr, ptr %t516 + %t518 = icmp eq ptr %t517, @sc_cs_629517122853751 + br i1 %t518, label %dc.exact220, label %dc.checked221 +dc.exact220: + %t521 = getelementptr inbounds i8, ptr %t512, i64 16 ; ->v.typed_ref.ptr + %t522 = load ptr, ptr %t521 + %t523 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t522) + store ptr %t523, ptr %s513 + br label %dc.done222 +dc.checked221: + %t524 = call ptr @sc_dc_29(ptr %t512, ptr null) + store ptr %t524, ptr %s513 + %t525 = load i32, ptr %exc.cell + %t526 = icmp ne i32 %t525, 0 + %t527 = call i1 @llvm.expect.i1(i1 %t526, i1 false) + br i1 %t527, label %exc.u223, label %exc.k224 +exc.u223: + call void @sc_rc_release_dyn(ptr %t489) + call void @sc_release__x25_m2_ResponseSink(ptr %t505) + call void @sc_rc_release_dyn(ptr %t507) + call void @sc_rc_release_dyn(ptr %t512) + br label %exc.cleanup2 +exc.k224: + br label %dc.done222 +dc.done222: + %t528 = load ptr, ptr %s513 + %t529 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t528, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t530 = call ptr @scr_dyn_bag_get(ptr %t507, ptr @sc_lit_298897322184109, ptr %t529) + %t531 = load i32, ptr %exc.cell + %t532 = icmp ne i32 %t531, 0 + %t533 = call i1 @llvm.expect.i1(i1 %t532, i1 false) + br i1 %t533, label %exc.u225, label %exc.k226 +exc.u225: + call void @sc_rc_release_dyn(ptr %t489) + call void @sc_release__x25_m2_ResponseSink(ptr %t505) + call void @sc_rc_release_dyn(ptr %t507) + call void @sc_rc_release_dyn(ptr %t512) + call void @sc_release__x25_m2_ResponseSink(ptr %t528) + call void @sc_rc_release_dyn(ptr %t529) + call void @sc_rc_release_dyn(ptr %t530) + br label %exc.cleanup2 +exc.k226: + call void @sc_rc_release_dyn(ptr %t489) + call void @sc_release__x25_m2_ResponseSink(ptr %t505) + call void @sc_rc_release_dyn(ptr %t507) + call void @sc_rc_release_dyn(ptr %t512) + call void @sc_release__x25_m2_ResponseSink(ptr %t528) + call void @sc_rc_release_dyn(ptr %t529) + %t534 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t534) + ret ptr %t530 +if.j208: + %t536 = call ptr @scr_dyn_undefined() + %t535 = call ptr @scr_dyn_retain_v(ptr %t536) + %t537 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t537) + ret ptr %t535 +if.j195: + %t538 = load ptr, ptr %sc_l_p_0 + %t539 = call ptr @sc_rc_retain_dyn(ptr %t538) + %t540 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t539) + %t541 = load i32, ptr %exc.cell + %t542 = icmp ne i32 %t541, 0 + %t543 = call i1 @llvm.expect.i1(i1 %t542, i1 false) + br i1 %t543, label %exc.u227, label %exc.k228 +exc.u227: + call void @sc_rc_release_dyn(ptr %t540) + br label %exc.cleanup2 +exc.k228: + %t544 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t540) + call void @sc_rc_release_dyn(ptr %t540) + store ptr %t544, ptr %sc_l_bag_0 + %t545 = load ptr, ptr %sc_l_bag_0 + %t546 = load ptr, ptr %sc_l_p_0 + %t547 = call zeroext i1 @scr_dyn_strict_eq(ptr %t545, ptr %t546) + br i1 %t547, label %tern.t229, label %tern.f230 +tern.t229: + %t549 = load ptr, ptr %sc_l_bag_0 + %t552 = getelementptr inbounds i8, ptr %t549, i64 8 ; ->kind + %t553 = load i32, ptr %t552 + %t551 = icmp eq i32 %t553, 5 + br i1 %t551, label %dkg.ic232, label %dkg.any233 +dkg.ic232: + %t554 = call ptr @scr_dyn_obj_read_ic(ptr %t549, ptr @sc_lit_298897322184109, ptr @sc_dyn_read_ic_47) + br label %dkg.j234 +dkg.any233: + %t555 = call ptr @sc_dyn_key_get(ptr %t549, ptr @sc_lit_298897322184109, i1 false) + br label %dkg.j234 +dkg.j234: + %t550 = phi ptr [ %t554, %dkg.ic232 ], [ %t555, %dkg.any233 ] + %t556 = load i32, ptr %exc.cell + %t557 = icmp ne i32 %t556, 0 + %t558 = call i1 @llvm.expect.i1(i1 %t557, i1 false) + br i1 %t558, label %exc.u235, label %exc.k236 +exc.u235: + call void @sc_rc_release_dyn(ptr %t550) + br label %exc.cleanup237 +exc.k236: + store ptr %t550, ptr %s548 + br label %tern.j231 +tern.f230: + %t559 = load ptr, ptr %sc_l_bag_0 + %t560 = call ptr @sc_rc_retain_dyn(ptr %t559) + %t561 = load ptr, ptr %sc_l_p_0 + %t562 = call ptr @sc_rc_retain_dyn(ptr %t561) + %t563 = call ptr @scr_dyn_bag_get(ptr %t560, ptr @sc_lit_298897322184109, ptr %t562) + %t564 = load i32, ptr %exc.cell + %t565 = icmp ne i32 %t564, 0 + %t566 = call i1 @llvm.expect.i1(i1 %t565, i1 false) + br i1 %t566, label %exc.u238, label %exc.k239 +exc.u238: + call void @sc_rc_release_dyn(ptr %t560) + call void @sc_rc_release_dyn(ptr %t562) + call void @sc_rc_release_dyn(ptr %t563) + br label %exc.cleanup237 +exc.k239: + store ptr %t563, ptr %s548 + call void @sc_rc_release_dyn(ptr %t560) + call void @sc_rc_release_dyn(ptr %t562) + br label %tern.j231 +tern.j231: + %t567 = load ptr, ptr %s548 + %t568 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t568) + %t569 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t569) + ret ptr %t567 +exc.cleanup2: + %t570 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t570) + ret ptr null +exc.cleanup237: + %t571 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t571) + %t572 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t572) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_47(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.47 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s196 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3728566007289652 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3728566007289652) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3728566007289652 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_100(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_952059176356082) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3728566007289652 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_100(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3728566007289652 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_100(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_952059176356082, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2072202777142634 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2072202777142634) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2072202777142634 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_26(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_952059176356082) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2072202777142634 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_26(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2072202777142634 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_26(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_952059176356082, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + %t187 = call ptr @sc_rc_retain_dyn(ptr %t186) + %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t188) + br label %exc.cleanup2 +exc.k80: + %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188) + call void @sc_rc_release_dyn(ptr %t188) + store ptr %t192, ptr %sc_l_bag_0 + %t193 = load ptr, ptr %sc_l_bag_0 + %t194 = load ptr, ptr %sc_l_p_0 + %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194) + br i1 %t195, label %tern.t81, label %tern.f82 +tern.t81: + %t197 = load ptr, ptr %sc_l_bag_0 + %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind + %t201 = load i32, ptr %t200 + %t199 = icmp eq i32 %t201, 5 + br i1 %t199, label %dkg.ic84, label %dkg.any85 +dkg.ic84: + %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_952059176356082, ptr @sc_dyn_read_ic_48) + br label %dkg.j86 +dkg.any85: + %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_952059176356082, i1 false) + br label %dkg.j86 +dkg.j86: + %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ] + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup89 +exc.k88: + store ptr %t198, ptr %s196 + br label %tern.j83 +tern.f82: + %t207 = load ptr, ptr %sc_l_bag_0 + %t208 = call ptr @sc_rc_retain_dyn(ptr %t207) + %t209 = load ptr, ptr %sc_l_p_0 + %t210 = call ptr @sc_rc_retain_dyn(ptr %t209) + %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_952059176356082, ptr %t210) + %t212 = load i32, ptr %exc.cell + %t213 = icmp ne i32 %t212, 0 + %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false) + br i1 %t214, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + call void @sc_rc_release_dyn(ptr %t211) + br label %exc.cleanup89 +exc.k91: + store ptr %t211, ptr %s196 + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + br label %tern.j83 +tern.j83: + %t215 = load ptr, ptr %s196 + %t216 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t216) + %t217 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t217) + ret ptr %t215 +exc.cleanup2: + %t218 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t218) + ret ptr null +exc.cleanup89: + %t219 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t219) + %t220 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t220) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_48(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.48 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s284 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3728566007289652 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3728566007289652) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3728566007289652 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_100(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1048673592241930) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3728566007289652 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_100(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3728566007289652 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_100(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1048673592241930, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2072202777142634 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2072202777142634) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2072202777142634 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_26(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_1048673592241930) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2072202777142634 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_26(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2072202777142634 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_26(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_1048673592241930, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_660811353369478 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_660811353369478) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_660811353369478 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_28(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m5_ReqViewCore(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_1048673592241930) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m5_ReqViewCore(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m5_ReqViewCore(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_660811353369478 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_28(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m5_ReqViewCore(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_660811353369478 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_28(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m5_ReqViewCore(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_1048673592241930, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m5_ReqViewCore(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m5_ReqViewCore(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m5_ReqViewCore(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m5_ReqViewCore(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + %t275 = call ptr @sc_rc_retain_dyn(ptr %t274) + %t276 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t275) + %t277 = load i32, ptr %exc.cell + %t278 = icmp ne i32 %t277, 0 + %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false) + br i1 %t279, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t276) + br label %exc.cleanup2 +exc.k117: + %t280 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t276) + call void @sc_rc_release_dyn(ptr %t276) + store ptr %t280, ptr %sc_l_bag_0 + %t281 = load ptr, ptr %sc_l_bag_0 + %t282 = load ptr, ptr %sc_l_p_0 + %t283 = call zeroext i1 @scr_dyn_strict_eq(ptr %t281, ptr %t282) + br i1 %t283, label %tern.t118, label %tern.f119 +tern.t118: + %t285 = load ptr, ptr %sc_l_bag_0 + %t288 = getelementptr inbounds i8, ptr %t285, i64 8 ; ->kind + %t289 = load i32, ptr %t288 + %t287 = icmp eq i32 %t289, 5 + br i1 %t287, label %dkg.ic121, label %dkg.any122 +dkg.ic121: + %t290 = call ptr @scr_dyn_obj_read_ic(ptr %t285, ptr @sc_lit_1048673592241930, ptr @sc_dyn_read_ic_49) + br label %dkg.j123 +dkg.any122: + %t291 = call ptr @sc_dyn_key_get(ptr %t285, ptr @sc_lit_1048673592241930, i1 false) + br label %dkg.j123 +dkg.j123: + %t286 = phi ptr [ %t290, %dkg.ic121 ], [ %t291, %dkg.any122 ] + %t292 = load i32, ptr %exc.cell + %t293 = icmp ne i32 %t292, 0 + %t294 = call i1 @llvm.expect.i1(i1 %t293, i1 false) + br i1 %t294, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup126 +exc.k125: + store ptr %t286, ptr %s284 + br label %tern.j120 +tern.f119: + %t295 = load ptr, ptr %sc_l_bag_0 + %t296 = call ptr @sc_rc_retain_dyn(ptr %t295) + %t297 = load ptr, ptr %sc_l_p_0 + %t298 = call ptr @sc_rc_retain_dyn(ptr %t297) + %t299 = call ptr @scr_dyn_bag_get(ptr %t296, ptr @sc_lit_1048673592241930, ptr %t298) + %t300 = load i32, ptr %exc.cell + %t301 = icmp ne i32 %t300, 0 + %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false) + br i1 %t302, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t296) + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t299) + br label %exc.cleanup126 +exc.k128: + store ptr %t299, ptr %s284 + call void @sc_rc_release_dyn(ptr %t296) + call void @sc_rc_release_dyn(ptr %t298) + br label %tern.j120 +tern.j120: + %t303 = load ptr, ptr %s284 + %t304 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t304) + %t305 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t305) + ret ptr %t303 +exc.cleanup2: + %t306 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t306) + ret ptr null +exc.cleanup126: + %t307 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t307) + %t308 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t308) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_49(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.49 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4085448292571548) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4085448292571548, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4085448292571548) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4085448292571548, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_4085448292571548) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_4085448292571548, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_4085448292571548) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_4085448292571548, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_4085448292571548, ptr @sc_dyn_read_ic_50) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_4085448292571548, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_4085448292571548, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_50(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.50 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s97 = alloca ptr + %s120 = alloca i1 + %s132 = alloca ptr + %s162 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_30(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call zeroext i1 @scr_dyn_has_own(ptr %t40, ptr @sc_lit_977412068193087) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_CtxResCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_1746033898805369 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_30(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_1746033898805369 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_30(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_977412068193087, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxResCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_CtxResCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_CtxResCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t95 = load ptr, ptr %sc_l_p_0 + %t96 = call ptr @sc_rc_retain_dyn(ptr %t95) + %t98 = icmp ne ptr %t96, null + br i1 %t98, label %dc.inspect42, label %dc.checked45 +dc.inspect42: + %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind + %t104 = load i32, ptr %t103 + %t99 = icmp eq i32 %t104, 12 + br i1 %t99, label %dc.capsule43, label %dc.checked45 +dc.capsule43: + %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key + %t101 = load ptr, ptr %t100 + %t102 = icmp eq ptr %t101, @sc_cs_1746033898805369 + br i1 %t102, label %dc.exact44, label %dc.checked45 +dc.exact44: + %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr + %t106 = load ptr, ptr %t105 + %t107 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t106) + store ptr %t107, ptr %s97 + br label %dc.done46 +dc.checked45: + %t108 = call ptr @sc_dc_30(ptr %t96, ptr null) + store ptr %t108, ptr %s97 + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u47, label %exc.k48 +exc.u47: + call void @sc_rc_release_dyn(ptr %t96) + br label %exc.cleanup2 +exc.k48: + br label %dc.done46 +dc.done46: + %t112 = load ptr, ptr %s97 + %t113 = call ptr @sc_bf__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u49, label %exc.k50 +exc.u49: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m5_CtxResCore(ptr %t112) + call void @sc_rrelease_r0(ptr %t113) + br label %exc.cleanup2 +exc.k50: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m5_CtxResCore(ptr %t112) + %t117 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t113, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + call void @sc_rrelease_r0(ptr %t113) + %t118 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t118) + ret ptr %t117 +if.j10: + %t119 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s120 + %t121 = icmp ne ptr %t119, null + br i1 %t121, label %brand.inspect51, label %brand.done53 +brand.inspect51: + %t122 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind + %t123 = load i32, ptr %t122 + %t124 = icmp eq i32 %t123, 12 + br i1 %t124, label %brand.capsule52, label %brand.done53 +brand.capsule52: + %t125 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key + %t126 = load ptr, ptr %t125 + %t127 = icmp eq ptr %t126, @sc_cs_4041255434968695 + store i1 true, ptr %s120 + br i1 %t127, label %brand.done53, label %brand.compare54 +brand.compare54: + %t128 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t119, ptr @sc_lit_4041255434968695) + store i1 %t128, ptr %s120 + br label %brand.done53 +brand.done53: + %t129 = load i1, ptr %s120 + br i1 %t129, label %if.t55, label %if.j56 +if.t55: + %t130 = load ptr, ptr %sc_l_p_0 + %t131 = call ptr @sc_rc_retain_dyn(ptr %t130) + %t133 = icmp ne ptr %t131, null + br i1 %t133, label %dc.inspect57, label %dc.checked60 +dc.inspect57: + %t138 = getelementptr inbounds i8, ptr %t131, i64 8 ; ->kind + %t139 = load i32, ptr %t138 + %t134 = icmp eq i32 %t139, 12 + br i1 %t134, label %dc.capsule58, label %dc.checked60 +dc.capsule58: + %t135 = getelementptr inbounds i8, ptr %t131, i64 40 ; ->v.typed_ref.type_key + %t136 = load ptr, ptr %t135 + %t137 = icmp eq ptr %t136, @sc_cs_4041255434968695 + br i1 %t137, label %dc.exact59, label %dc.checked60 +dc.exact59: + %t140 = getelementptr inbounds i8, ptr %t131, i64 16 ; ->v.typed_ref.ptr + %t141 = load ptr, ptr %t140 + %t142 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t141) + store ptr %t142, ptr %s132 + br label %dc.done61 +dc.checked60: + %t143 = call ptr @sc_dc_101(ptr %t131, ptr null) + store ptr %t143, ptr %s132 + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t131) + br label %exc.cleanup2 +exc.k63: + br label %dc.done61 +dc.done61: + %t147 = load ptr, ptr %s132 + %t148 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t147, i64 0, i32 3 + %t149 = load ptr, ptr %t148, !tbaa !74 + %t150 = call ptr @sc_rc_retain_dyn(ptr %t149) + call void @sc_rc_release_dyn(ptr %t131) + call void @sc_release__x25_m3_LiteRequest(ptr %t147) + %t151 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t151) + ret ptr %t150 +if.j56: + %t152 = load ptr, ptr %sc_l_p_0 + %t153 = call ptr @sc_rc_retain_dyn(ptr %t152) + %t154 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t153) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t154) + br label %exc.cleanup2 +exc.k65: + %t158 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t154) + call void @sc_rc_release_dyn(ptr %t154) + store ptr %t158, ptr %sc_l_bag_0 + %t159 = load ptr, ptr %sc_l_bag_0 + %t160 = load ptr, ptr %sc_l_p_0 + %t161 = call zeroext i1 @scr_dyn_strict_eq(ptr %t159, ptr %t160) + br i1 %t161, label %tern.t66, label %tern.f67 +tern.t66: + %t163 = load ptr, ptr %sc_l_bag_0 + %t166 = getelementptr inbounds i8, ptr %t163, i64 8 ; ->kind + %t167 = load i32, ptr %t166 + %t165 = icmp eq i32 %t167, 5 + br i1 %t165, label %dkg.ic69, label %dkg.any70 +dkg.ic69: + %t168 = call ptr @scr_dyn_obj_read_ic(ptr %t163, ptr @sc_lit_977412068193087, ptr @sc_dyn_read_ic_51) + br label %dkg.j71 +dkg.any70: + %t169 = call ptr @sc_dyn_key_get(ptr %t163, ptr @sc_lit_977412068193087, i1 false) + br label %dkg.j71 +dkg.j71: + %t164 = phi ptr [ %t168, %dkg.ic69 ], [ %t169, %dkg.any70 ] + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t164) + br label %exc.cleanup74 +exc.k73: + store ptr %t164, ptr %s162 + br label %tern.j68 +tern.f67: + %t173 = load ptr, ptr %sc_l_bag_0 + %t174 = call ptr @sc_rc_retain_dyn(ptr %t173) + %t175 = load ptr, ptr %sc_l_p_0 + %t176 = call ptr @sc_rc_retain_dyn(ptr %t175) + %t177 = call ptr @scr_dyn_bag_get(ptr %t174, ptr @sc_lit_977412068193087, ptr %t176) + %t178 = load i32, ptr %exc.cell + %t179 = icmp ne i32 %t178, 0 + %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false) + br i1 %t180, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t174) + call void @sc_rc_release_dyn(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + br label %exc.cleanup74 +exc.k76: + store ptr %t177, ptr %s162 + call void @sc_rc_release_dyn(ptr %t174) + call void @sc_rc_release_dyn(ptr %t176) + br label %tern.j68 +tern.j68: + %t181 = load ptr, ptr %s162 + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + %t183 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t183) + ret ptr %t181 +exc.cleanup2: + %t184 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t184) + ret ptr null +exc.cleanup74: + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + %t186 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t186) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_51(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.51 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s97 = alloca ptr + %s119 = alloca i1 + %s131 = alloca ptr + %s158 = alloca ptr + %s181 = alloca ptr + %s216 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_101(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call zeroext i1 @scr_dyn_has_own(ptr %t40, ptr @sc_lit_616655122974952) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4041255434968695 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_101(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4041255434968695 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_101(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_616655122974952, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteRequest(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteRequest(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t95 = load ptr, ptr %sc_l_p_0 + %t96 = call ptr @sc_rc_retain_dyn(ptr %t95) + %t98 = icmp ne ptr %t96, null + br i1 %t98, label %dc.inspect42, label %dc.checked45 +dc.inspect42: + %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind + %t104 = load i32, ptr %t103 + %t99 = icmp eq i32 %t104, 12 + br i1 %t99, label %dc.capsule43, label %dc.checked45 +dc.capsule43: + %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key + %t101 = load ptr, ptr %t100 + %t102 = icmp eq ptr %t101, @sc_cs_4041255434968695 + br i1 %t102, label %dc.exact44, label %dc.checked45 +dc.exact44: + %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr + %t106 = load ptr, ptr %t105 + %t107 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t106) + store ptr %t107, ptr %s97 + br label %dc.done46 +dc.checked45: + %t108 = call ptr @sc_dc_101(ptr %t96, ptr null) + store ptr %t108, ptr %s97 + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u47, label %exc.k48 +exc.u47: + call void @sc_rc_release_dyn(ptr %t96) + br label %exc.cleanup2 +exc.k48: + br label %dc.done46 +dc.done46: + %t112 = load ptr, ptr %s97 + %t113 = call ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u49, label %exc.k50 +exc.u49: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m3_LiteRequest(ptr %t112) + call void @sc_rc_release_dyn(ptr %t113) + br label %exc.cleanup2 +exc.k50: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_release__x25_m3_LiteRequest(ptr %t112) + %t117 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t117) + ret ptr %t113 +if.j10: + %t118 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s119 + %t120 = icmp ne ptr %t118, null + br i1 %t120, label %brand.inspect51, label %brand.done53 +brand.inspect51: + %t121 = getelementptr inbounds i8, ptr %t118, i64 8 ; ->kind + %t122 = load i32, ptr %t121 + %t123 = icmp eq i32 %t122, 12 + br i1 %t123, label %brand.capsule52, label %brand.done53 +brand.capsule52: + %t124 = getelementptr inbounds i8, ptr %t118, i64 40 ; ->v.typed_ref.type_key + %t125 = load ptr, ptr %t124 + %t126 = icmp eq ptr %t125, @sc_cs_660811353369478 + store i1 true, ptr %s119 + br i1 %t126, label %brand.done53, label %brand.compare54 +brand.compare54: + %t127 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t118, ptr @sc_lit_660811353369478) + store i1 %t127, ptr %s119 + br label %brand.done53 +brand.done53: + %t128 = load i1, ptr %s119 + br i1 %t128, label %if.t55, label %if.j56 +if.t55: + %t129 = load ptr, ptr %sc_l_p_0 + %t130 = call ptr @sc_rc_retain_dyn(ptr %t129) + %t132 = icmp ne ptr %t130, null + br i1 %t132, label %dc.inspect57, label %dc.checked60 +dc.inspect57: + %t137 = getelementptr inbounds i8, ptr %t130, i64 8 ; ->kind + %t138 = load i32, ptr %t137 + %t133 = icmp eq i32 %t138, 12 + br i1 %t133, label %dc.capsule58, label %dc.checked60 +dc.capsule58: + %t134 = getelementptr inbounds i8, ptr %t130, i64 40 ; ->v.typed_ref.type_key + %t135 = load ptr, ptr %t134 + %t136 = icmp eq ptr %t135, @sc_cs_660811353369478 + br i1 %t136, label %dc.exact59, label %dc.checked60 +dc.exact59: + %t139 = getelementptr inbounds i8, ptr %t130, i64 16 ; ->v.typed_ref.ptr + %t140 = load ptr, ptr %t139 + %t141 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t140) + store ptr %t141, ptr %s131 + br label %dc.done61 +dc.checked60: + %t142 = call ptr @sc_dc_28(ptr %t130, ptr null) + store ptr %t142, ptr %s131 + %t143 = load i32, ptr %exc.cell + %t144 = icmp ne i32 %t143, 0 + %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false) + br i1 %t145, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t130) + br label %exc.cleanup2 +exc.k63: + br label %dc.done61 +dc.done61: + %t146 = load ptr, ptr %s131 + %t147 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t146, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t148 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t147) + %t149 = load i32, ptr %exc.cell + %t150 = icmp ne i32 %t149, 0 + %t151 = call i1 @llvm.expect.i1(i1 %t150, i1 false) + br i1 %t151, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t130) + call void @sc_release__x25_m5_ReqViewCore(ptr %t146) + call void @sc_rc_release_dyn(ptr %t148) + br label %exc.cleanup2 +exc.k65: + %t152 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t148, ptr @sc_lit_616655122974952) + %t153 = load i32, ptr %exc.cell + %t154 = icmp ne i32 %t153, 0 + %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false) + br i1 %t155, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t130) + call void @sc_release__x25_m5_ReqViewCore(ptr %t146) + call void @sc_rc_release_dyn(ptr %t148) + br label %exc.cleanup2 +exc.k67: + call void @sc_rc_release_dyn(ptr %t130) + call void @sc_release__x25_m5_ReqViewCore(ptr %t146) + call void @sc_rc_release_dyn(ptr %t148) + br i1 %t152, label %if.t68, label %if.j69 +if.t68: + %t156 = load ptr, ptr %sc_l_p_0 + %t157 = call ptr @sc_rc_retain_dyn(ptr %t156) + %t159 = icmp ne ptr %t157, null + br i1 %t159, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t164 = getelementptr inbounds i8, ptr %t157, i64 8 ; ->kind + %t165 = load i32, ptr %t164 + %t160 = icmp eq i32 %t165, 12 + br i1 %t160, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t161 = getelementptr inbounds i8, ptr %t157, i64 40 ; ->v.typed_ref.type_key + %t162 = load ptr, ptr %t161 + %t163 = icmp eq ptr %t162, @sc_cs_660811353369478 + br i1 %t163, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t166 = getelementptr inbounds i8, ptr %t157, i64 16 ; ->v.typed_ref.ptr + %t167 = load ptr, ptr %t166 + %t168 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t167) + store ptr %t168, ptr %s158 + br label %dc.done74 +dc.checked73: + %t169 = call ptr @sc_dc_28(ptr %t157, ptr null) + store ptr %t169, ptr %s158 + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t157) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t173 = load ptr, ptr %s158 + %t174 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t173, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t175 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t174) + %t176 = load i32, ptr %exc.cell + %t177 = icmp ne i32 %t176, 0 + %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false) + br i1 %t178, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_release__x25_m5_ReqViewCore(ptr %t173) + call void @sc_rc_release_dyn(ptr %t175) + br label %exc.cleanup2 +exc.k78: + %t179 = load ptr, ptr %sc_l_p_0 + %t180 = call ptr @sc_rc_retain_dyn(ptr %t179) + %t182 = icmp ne ptr %t180, null + br i1 %t182, label %dc.inspect79, label %dc.checked82 +dc.inspect79: + %t187 = getelementptr inbounds i8, ptr %t180, i64 8 ; ->kind + %t188 = load i32, ptr %t187 + %t183 = icmp eq i32 %t188, 12 + br i1 %t183, label %dc.capsule80, label %dc.checked82 +dc.capsule80: + %t184 = getelementptr inbounds i8, ptr %t180, i64 40 ; ->v.typed_ref.type_key + %t185 = load ptr, ptr %t184 + %t186 = icmp eq ptr %t185, @sc_cs_660811353369478 + br i1 %t186, label %dc.exact81, label %dc.checked82 +dc.exact81: + %t189 = getelementptr inbounds i8, ptr %t180, i64 16 ; ->v.typed_ref.ptr + %t190 = load ptr, ptr %t189 + %t191 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t190) + store ptr %t191, ptr %s181 + br label %dc.done83 +dc.checked82: + %t192 = call ptr @sc_dc_28(ptr %t180, ptr null) + store ptr %t192, ptr %s181 + %t193 = load i32, ptr %exc.cell + %t194 = icmp ne i32 %t193, 0 + %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false) + br i1 %t195, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_release__x25_m5_ReqViewCore(ptr %t173) + call void @sc_rc_release_dyn(ptr %t175) + call void @sc_rc_release_dyn(ptr %t180) + br label %exc.cleanup2 +exc.k85: + br label %dc.done83 +dc.done83: + %t196 = load ptr, ptr %s181 + %t197 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t196, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t198 = call ptr @scr_dyn_bag_get(ptr %t175, ptr @sc_lit_616655122974952, ptr %t197) + %t199 = load i32, ptr %exc.cell + %t200 = icmp ne i32 %t199, 0 + %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false) + br i1 %t201, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_release__x25_m5_ReqViewCore(ptr %t173) + call void @sc_rc_release_dyn(ptr %t175) + call void @sc_rc_release_dyn(ptr %t180) + call void @sc_release__x25_m5_ReqViewCore(ptr %t196) + call void @sc_rc_release_dyn(ptr %t197) + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k87: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_release__x25_m5_ReqViewCore(ptr %t173) + call void @sc_rc_release_dyn(ptr %t175) + call void @sc_rc_release_dyn(ptr %t180) + call void @sc_release__x25_m5_ReqViewCore(ptr %t196) + call void @sc_rc_release_dyn(ptr %t197) + %t202 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t202) + ret ptr %t198 +if.j69: + %t204 = call ptr @scr_dyn_undefined() + %t203 = call ptr @scr_dyn_retain_v(ptr %t204) + %t205 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t205) + ret ptr %t203 +if.j56: + %t206 = load ptr, ptr %sc_l_p_0 + %t207 = call ptr @sc_rc_retain_dyn(ptr %t206) + %t208 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t207) + %t209 = load i32, ptr %exc.cell + %t210 = icmp ne i32 %t209, 0 + %t211 = call i1 @llvm.expect.i1(i1 %t210, i1 false) + br i1 %t211, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t208) + br label %exc.cleanup2 +exc.k89: + %t212 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t208) + call void @sc_rc_release_dyn(ptr %t208) + store ptr %t212, ptr %sc_l_bag_0 + %t213 = load ptr, ptr %sc_l_bag_0 + %t214 = load ptr, ptr %sc_l_p_0 + %t215 = call zeroext i1 @scr_dyn_strict_eq(ptr %t213, ptr %t214) + br i1 %t215, label %tern.t90, label %tern.f91 +tern.t90: + %t217 = load ptr, ptr %sc_l_bag_0 + %t220 = getelementptr inbounds i8, ptr %t217, i64 8 ; ->kind + %t221 = load i32, ptr %t220 + %t219 = icmp eq i32 %t221, 5 + br i1 %t219, label %dkg.ic93, label %dkg.any94 +dkg.ic93: + %t222 = call ptr @scr_dyn_obj_read_ic(ptr %t217, ptr @sc_lit_616655122974952, ptr @sc_dyn_read_ic_52) + br label %dkg.j95 +dkg.any94: + %t223 = call ptr @sc_dyn_key_get(ptr %t217, ptr @sc_lit_616655122974952, i1 false) + br label %dkg.j95 +dkg.j95: + %t218 = phi ptr [ %t222, %dkg.ic93 ], [ %t223, %dkg.any94 ] + %t224 = load i32, ptr %exc.cell + %t225 = icmp ne i32 %t224, 0 + %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false) + br i1 %t226, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t218) + br label %exc.cleanup98 +exc.k97: + store ptr %t218, ptr %s216 + br label %tern.j92 +tern.f91: + %t227 = load ptr, ptr %sc_l_bag_0 + %t228 = call ptr @sc_rc_retain_dyn(ptr %t227) + %t229 = load ptr, ptr %sc_l_p_0 + %t230 = call ptr @sc_rc_retain_dyn(ptr %t229) + %t231 = call ptr @scr_dyn_bag_get(ptr %t228, ptr @sc_lit_616655122974952, ptr %t230) + %t232 = load i32, ptr %exc.cell + %t233 = icmp ne i32 %t232, 0 + %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false) + br i1 %t234, label %exc.u99, label %exc.k100 +exc.u99: + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t230) + call void @sc_rc_release_dyn(ptr %t231) + br label %exc.cleanup98 +exc.k100: + store ptr %t231, ptr %s216 + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t230) + br label %tern.j92 +tern.j92: + %t235 = load ptr, ptr %s216 + %t236 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t236) + %t237 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t237) + ret ptr %t235 +exc.cleanup2: + %t238 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t238) + ret ptr null +exc.cleanup98: + %t239 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t239) + %t240 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t240) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_52(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.52 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3108123016971750) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3108123016971750, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_3108123016971750) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_3108123016971750, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_3108123016971750) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_3108123016971750, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_3108123016971750) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_3108123016971750, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_3108123016971750, ptr @sc_dyn_read_ic_53) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_3108123016971750, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_3108123016971750, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_53(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.53 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s7 = alloca i1 + %s19 = alloca ptr + %s46 = alloca ptr + %s69 = alloca ptr + %s104 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = load ptr, ptr %sc_l_p_0 + %t1 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t0) + %t2 = load i32, ptr %exc.cell + %t3 = icmp ne i32 %t2, 0 + %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false) + br i1 %t4, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t1) + br label %exc.cleanup2 +exc.k1: + %t5 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t5) + store ptr %t1, ptr %sc_l_p_0 + %t6 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s7 + %t8 = icmp ne ptr %t6, null + br i1 %t8, label %brand.inspect3, label %brand.done5 +brand.inspect3: + %t9 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t10 = load i32, ptr %t9 + %t11 = icmp eq i32 %t10, 12 + br i1 %t11, label %brand.capsule4, label %brand.done5 +brand.capsule4: + %t12 = getelementptr inbounds i8, ptr %t6, i64 40 ; ->v.typed_ref.type_key + %t13 = load ptr, ptr %t12 + %t14 = icmp eq ptr %t13, @sc_cs_21424698936986 + store i1 true, ptr %s7 + br i1 %t14, label %brand.done5, label %brand.compare6 +brand.compare6: + %t15 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t6, ptr @sc_lit_21424698936986) + store i1 %t15, ptr %s7 + br label %brand.done5 +brand.done5: + %t16 = load i1, ptr %s7 + br i1 %t16, label %if.t7, label %if.j8 +if.t7: + %t17 = load ptr, ptr %sc_l_p_0 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t20 = icmp ne ptr %t18, null + br i1 %t20, label %dc.inspect9, label %dc.checked12 +dc.inspect9: + %t25 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind + %t26 = load i32, ptr %t25 + %t21 = icmp eq i32 %t26, 12 + br i1 %t21, label %dc.capsule10, label %dc.checked12 +dc.capsule10: + %t22 = getelementptr inbounds i8, ptr %t18, i64 40 ; ->v.typed_ref.type_key + %t23 = load ptr, ptr %t22 + %t24 = icmp eq ptr %t23, @sc_cs_21424698936986 + br i1 %t24, label %dc.exact11, label %dc.checked12 +dc.exact11: + %t27 = getelementptr inbounds i8, ptr %t18, i64 16 ; ->v.typed_ref.ptr + %t28 = load ptr, ptr %t27 + %t29 = call ptr @sc_retain__x25_m5_App(ptr %t28) + store ptr %t29, ptr %s19 + br label %dc.done13 +dc.checked12: + %t30 = call ptr @sc_dc_91(ptr %t18, ptr null) + store ptr %t30, ptr %s19 + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t18) + br label %exc.cleanup2 +exc.k15: + br label %dc.done13 +dc.done13: + %t34 = load ptr, ptr %s19 + %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t36 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t35) + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_release__x25_m5_App(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + br label %exc.cleanup2 +exc.k17: + %t40 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t36, ptr @sc_lit_646811555153625) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_release__x25_m5_App(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + br label %exc.cleanup2 +exc.k19: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_release__x25_m5_App(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + br i1 %t40, label %if.t20, label %if.j21 +if.t20: + %t44 = load ptr, ptr %sc_l_p_0 + %t45 = call ptr @sc_rc_retain_dyn(ptr %t44) + %t47 = icmp ne ptr %t45, null + br i1 %t47, label %dc.inspect22, label %dc.checked25 +dc.inspect22: + %t52 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind + %t53 = load i32, ptr %t52 + %t48 = icmp eq i32 %t53, 12 + br i1 %t48, label %dc.capsule23, label %dc.checked25 +dc.capsule23: + %t49 = getelementptr inbounds i8, ptr %t45, i64 40 ; ->v.typed_ref.type_key + %t50 = load ptr, ptr %t49 + %t51 = icmp eq ptr %t50, @sc_cs_21424698936986 + br i1 %t51, label %dc.exact24, label %dc.checked25 +dc.exact24: + %t54 = getelementptr inbounds i8, ptr %t45, i64 16 ; ->v.typed_ref.ptr + %t55 = load ptr, ptr %t54 + %t56 = call ptr @sc_retain__x25_m5_App(ptr %t55) + store ptr %t56, ptr %s46 + br label %dc.done26 +dc.checked25: + %t57 = call ptr @sc_dc_91(ptr %t45, ptr null) + store ptr %t57, ptr %s46 + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t45) + br label %exc.cleanup2 +exc.k28: + br label %dc.done26 +dc.done26: + %t61 = load ptr, ptr %s46 + %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t63 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t62) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_release__x25_m5_App(ptr %t61) + call void @sc_rc_release_dyn(ptr %t63) + br label %exc.cleanup2 +exc.k30: + %t67 = load ptr, ptr %sc_l_p_0 + %t68 = call ptr @sc_rc_retain_dyn(ptr %t67) + %t70 = icmp ne ptr %t68, null + br i1 %t70, label %dc.inspect31, label %dc.checked34 +dc.inspect31: + %t75 = getelementptr inbounds i8, ptr %t68, i64 8 ; ->kind + %t76 = load i32, ptr %t75 + %t71 = icmp eq i32 %t76, 12 + br i1 %t71, label %dc.capsule32, label %dc.checked34 +dc.capsule32: + %t72 = getelementptr inbounds i8, ptr %t68, i64 40 ; ->v.typed_ref.type_key + %t73 = load ptr, ptr %t72 + %t74 = icmp eq ptr %t73, @sc_cs_21424698936986 + br i1 %t74, label %dc.exact33, label %dc.checked34 +dc.exact33: + %t77 = getelementptr inbounds i8, ptr %t68, i64 16 ; ->v.typed_ref.ptr + %t78 = load ptr, ptr %t77 + %t79 = call ptr @sc_retain__x25_m5_App(ptr %t78) + store ptr %t79, ptr %s69 + br label %dc.done35 +dc.checked34: + %t80 = call ptr @sc_dc_91(ptr %t68, ptr null) + store ptr %t80, ptr %s69 + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_release__x25_m5_App(ptr %t61) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t68) + br label %exc.cleanup2 +exc.k37: + br label %dc.done35 +dc.done35: + %t84 = load ptr, ptr %s69 + %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t86 = call ptr @scr_dyn_bag_get(ptr %t63, ptr @sc_lit_646811555153625, ptr %t85) + %t87 = load i32, ptr %exc.cell + %t88 = icmp ne i32 %t87, 0 + %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false) + br i1 %t89, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_release__x25_m5_App(ptr %t61) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_release__x25_m5_App(ptr %t84) + call void @sc_rc_release_dyn(ptr %t85) + call void @sc_rc_release_dyn(ptr %t86) + br label %exc.cleanup2 +exc.k39: + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_release__x25_m5_App(ptr %t61) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_release__x25_m5_App(ptr %t84) + call void @sc_rc_release_dyn(ptr %t85) + %t90 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t90) + ret ptr %t86 +if.j21: + %t92 = call ptr @scr_dyn_undefined() + %t91 = call ptr @scr_dyn_retain_v(ptr %t92) + %t93 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t93) + ret ptr %t91 +if.j8: + %t94 = load ptr, ptr %sc_l_p_0 + %t95 = call ptr @sc_rc_retain_dyn(ptr %t94) + %t96 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t95) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t96) + br label %exc.cleanup2 +exc.k41: + %t100 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t96) + call void @sc_rc_release_dyn(ptr %t96) + store ptr %t100, ptr %sc_l_bag_0 + %t101 = load ptr, ptr %sc_l_bag_0 + %t102 = load ptr, ptr %sc_l_p_0 + %t103 = call zeroext i1 @scr_dyn_strict_eq(ptr %t101, ptr %t102) + br i1 %t103, label %tern.t42, label %tern.f43 +tern.t42: + %t105 = load ptr, ptr %sc_l_bag_0 + %t108 = getelementptr inbounds i8, ptr %t105, i64 8 ; ->kind + %t109 = load i32, ptr %t108 + %t107 = icmp eq i32 %t109, 5 + br i1 %t107, label %dkg.ic45, label %dkg.any46 +dkg.ic45: + %t110 = call ptr @scr_dyn_obj_read_ic(ptr %t105, ptr @sc_lit_646811555153625, ptr @sc_dyn_read_ic_54) + br label %dkg.j47 +dkg.any46: + %t111 = call ptr @sc_dyn_key_get(ptr %t105, ptr @sc_lit_646811555153625, i1 false) + br label %dkg.j47 +dkg.j47: + %t106 = phi ptr [ %t110, %dkg.ic45 ], [ %t111, %dkg.any46 ] + %t112 = load i32, ptr %exc.cell + %t113 = icmp ne i32 %t112, 0 + %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false) + br i1 %t114, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t106) + br label %exc.cleanup50 +exc.k49: + store ptr %t106, ptr %s104 + br label %tern.j44 +tern.f43: + %t115 = load ptr, ptr %sc_l_bag_0 + %t116 = call ptr @sc_rc_retain_dyn(ptr %t115) + %t117 = load ptr, ptr %sc_l_p_0 + %t118 = call ptr @sc_rc_retain_dyn(ptr %t117) + %t119 = call ptr @scr_dyn_bag_get(ptr %t116, ptr @sc_lit_646811555153625, ptr %t118) + %t120 = load i32, ptr %exc.cell + %t121 = icmp ne i32 %t120, 0 + %t122 = call i1 @llvm.expect.i1(i1 %t121, i1 false) + br i1 %t122, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t119) + br label %exc.cleanup50 +exc.k52: + store ptr %t119, ptr %s104 + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t118) + br label %tern.j44 +tern.j44: + %t123 = load ptr, ptr %s104 + %t124 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t124) + %t125 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t125) + ret ptr %t123 +exc.cleanup2: + %t126 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t126) + ret ptr null +exc.cleanup50: + %t127 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t127) + %t128 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t128) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_defineProperty(ptr %p_sc_l_target, ptr %p_sc_l_key, ptr %p_sc_l_descriptor) #0 { ; %dyn.class.defineProperty +entry: + %sc_l_target = alloca ptr ; target + %sc_l_key = alloca ptr ; key + %sc_l_descriptor = alloca ptr ; descriptor + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_target, ptr %sc_l_target + store ptr %p_sc_l_key, ptr %sc_l_key + store ptr %p_sc_l_descriptor, ptr %sc_l_descriptor + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_key + %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 15 + br i1 %t7, label %if.t2, label %if.j3 +if.t2: + %t8 = load ptr, ptr %sc_l_target + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_f__x25_dyn_class_properties(ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = load ptr, ptr %sc_l_key + %t15 = call ptr @sc_rc_retain_dyn(ptr %t14) + %t16 = load ptr, ptr %sc_l_descriptor + %t17 = call ptr @sc_rc_retain_dyn(ptr %t16) + %t18 = call ptr @scr_dyn_define_property(ptr %t10, ptr %t15, ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t15) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t18) + %t22 = load ptr, ptr %sc_l_target + %t23 = call ptr @sc_rc_retain_dyn(ptr %t22) + ret ptr %t23 +if.j3: + %t24 = load ptr, ptr %sc_l_target + %t25 = call ptr @sc_rc_retain_dyn(ptr %t24) + %t26 = load ptr, ptr %sc_l_key + %t27 = call ptr @sc_rc_retain_dyn(ptr %t26) + %t28 = load ptr, ptr %sc_l_descriptor + %t29 = call ptr @sc_rc_retain_dyn(ptr %t28) + %t30 = call ptr @scr_dyn_define_property(ptr %t25, ptr %t27, ptr %t29) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t30) + ret ptr null +exc.k9: + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t29) + ret ptr %t30 +} +define internal ptr @sc_f__x25_dyn_class_defineProperty(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m6_AssetSource(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m6.AssetSource +entry: + %sc_l_value = alloca ptr ; value + %s1 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_value + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %dc.inspect0, label %dc.checked3 +dc.inspect0: + %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t3 = icmp eq i32 %t8, 12 + br i1 %t3, label %dc.capsule1, label %dc.checked3 +dc.capsule1: + %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3314970835853795 + br i1 %t6, label %dc.exact2, label %dc.checked3 +dc.exact2: + %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr + %t10 = load ptr, ptr %t9 + %t11 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t10) + store ptr %t11, ptr %s1 + br label %dc.done4 +dc.checked3: + %t12 = call ptr @sc_dc_79(ptr %t0, ptr null) + store ptr %t12, ptr %s1 + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + ret ptr null +exc.k6: + br label %dc.done4 +dc.done4: + %t16 = load ptr, ptr %s1 + ret ptr %t16 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m6_AssetSource(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m6_AssetSource(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m9_EmbeddedAssets(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m9.EmbeddedAssets +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca ptr + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_3314970835853795 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_3314970835853795) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_value + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_3314970835853795 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_79(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 37 + %t37 = icmp ule i64 %t35, 38 + %t38 = and i1 %t36, %t37 ; instanceof %m9.EmbeddedAssets + call void @sc_release__x25_m6_AssetSource(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_value + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_3314970835853795 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_79(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_value + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t64 = load i32, ptr %t63 + %t59 = icmp eq i32 %t64, 12 + br i1 %t59, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t61 = load ptr, ptr %t60 + %t62 = icmp eq ptr %t61, @sc_cs_2519527309428716 + br i1 %t62, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr + %t66 = load ptr, ptr %t65 + %t67 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t66) + store ptr %t67, ptr %s57 + br label %dc.done28 +dc.checked27: + %t68 = call ptr @sc_dc_108(ptr %t56, ptr null) + store ptr %t68, ptr %s57 + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u29, label %exc.k30 +exc.u29: + ret ptr null +exc.k30: + br label %dc.done28 +dc.done28: + %t72 = load ptr, ptr %s57 + ret ptr %t72 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m9_EmbeddedAssets(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m9_EmbeddedAssets(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenDispatch(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m0.GenDispatch +entry: + %sc_l_value = alloca ptr ; value + %s1 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_value + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %dc.inspect0, label %dc.checked3 +dc.inspect0: + %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t3 = icmp eq i32 %t8, 12 + br i1 %t3, label %dc.capsule1, label %dc.checked3 +dc.capsule1: + %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2165660704272757 + br i1 %t6, label %dc.exact2, label %dc.checked3 +dc.exact2: + %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr + %t10 = load ptr, ptr %t9 + %t11 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t10) + store ptr %t11, ptr %s1 + br label %dc.done4 +dc.checked3: + %t12 = call ptr @sc_dc_92(ptr %t0, ptr null) + store ptr %t12, ptr %s1 + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + ret ptr null +exc.k6: + br label %dc.done4 +dc.done4: + %t16 = load ptr, ptr %s1 + ret ptr %t16 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m0_GenDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenDispatch(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenDispatch(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m0.GenDispatch +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t4, i64 0, i32 2 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t18, i64 0, i32 2 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m0_GenDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenDispatch(ptr %p0) + call void @sc_release__x25_m0_GenDispatch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_54(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.54 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_2165660704272757 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2165660704272757) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_2165660704272757 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_92(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m0_GenDispatch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3862385552412238) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m0_GenDispatch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m0_GenDispatch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_2165660704272757 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_92(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m0_GenDispatch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_2165660704272757 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_92(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m0_GenDispatch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3862385552412238, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m0_GenDispatch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m0_GenDispatch(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m0_GenDispatch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m0_GenDispatch(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3862385552412238, ptr @sc_dyn_read_ic_55) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3862385552412238, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3862385552412238, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenFetch(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m0.GenFetch +entry: + %sc_l_value = alloca ptr ; value + %s1 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_value + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %dc.inspect0, label %dc.checked3 +dc.inspect0: + %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t3 = icmp eq i32 %t8, 12 + br i1 %t3, label %dc.capsule1, label %dc.checked3 +dc.capsule1: + %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_2798802470260116 + br i1 %t6, label %dc.exact2, label %dc.checked3 +dc.exact2: + %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr + %t10 = load ptr, ptr %t9 + %t11 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t10) + store ptr %t11, ptr %s1 + br label %dc.done4 +dc.checked3: + %t12 = call ptr @sc_dc_93(ptr %t0, ptr null) + store ptr %t12, ptr %s1 + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + ret ptr null +exc.k6: + br label %dc.done4 +dc.done4: + %t16 = load ptr, ptr %s1 + ret ptr %t16 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m0_GenFetch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenFetch(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenFetch(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m0.GenFetch +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t4, i64 0, i32 2 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t18, i64 0, i32 2 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m0_GenFetch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenFetch(ptr %p0) + call void @sc_release__x25_m0_GenFetch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_55(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.55 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_2798802470260116 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2798802470260116) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_2798802470260116 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_93(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m0_GenFetch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_437194258546139) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m0_GenFetch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m0_GenFetch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_2798802470260116 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_93(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m0_GenFetch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_2798802470260116 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_93(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m0_GenFetch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_437194258546139, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m0_GenFetch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m0_GenFetch(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m0_GenFetch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m0_GenFetch(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_437194258546139, ptr @sc_dyn_read_ic_56) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_437194258546139, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_437194258546139, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m1_UpgradeDispatch(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m1.UpgradeDispatch +entry: + %sc_l_value = alloca ptr ; value + %s1 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_value + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %dc.inspect0, label %dc.checked3 +dc.inspect0: + %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t3 = icmp eq i32 %t8, 12 + br i1 %t3, label %dc.capsule1, label %dc.checked3 +dc.capsule1: + %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3870085012327510 + br i1 %t6, label %dc.exact2, label %dc.checked3 +dc.exact2: + %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr + %t10 = load ptr, ptr %t9 + %t11 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t10) + store ptr %t11, ptr %s1 + br label %dc.done4 +dc.checked3: + %t12 = call ptr @sc_dc_94(ptr %t0, ptr null) + store ptr %t12, ptr %s1 + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + ret ptr null +exc.k6: + br label %dc.done4 +dc.done4: + %t16 = load ptr, ptr %s1 + ret ptr %t16 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m1_UpgradeDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m1_UpgradeDispatch(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m1_UpgradeDispatch(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m1.UpgradeDispatch +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t4, i64 0, i32 1 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t18, i64 0, i32 1 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m1_UpgradeDispatch(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m1_UpgradeDispatch(ptr %p0) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_56(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.56 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3870085012327510 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3870085012327510) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_3870085012327510 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_94(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2250671438728133) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3870085012327510 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_94(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_3870085012327510 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_94(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2250671438728133, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2250671438728133, ptr @sc_dyn_read_ic_57) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2250671438728133, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2250671438728133, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_57(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.57 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_21424698936986 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_21424698936986 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_91(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3899522094323235) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_21424698936986 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_91(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_21424698936986 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_91(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3899522094323235, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3899522094323235, ptr @sc_dyn_read_ic_58) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3899522094323235, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3899522094323235, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteRequest(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m3.LiteRequest +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_4041255434968695 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_101(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m3_LiteRequest(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteRequest(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteRequest(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m3.LiteRequest +entry: + %sc_l_p_0 = alloca ptr ; value + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t4, i64 0, i32 9 + %t6 = load ptr, ptr %t5, !tbaa !204 + %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 6 + br i1 %t9, label %if.t2, label %if.j3 +if.t2: + %t10 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest() + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr null +exc.k5: + %t14 = call ptr @scr_dyn_obj_create(ptr %t10) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t10) + ret ptr %t14 +if.j3: + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t18, i64 0, i32 9 + %t20 = load ptr, ptr %t19, !tbaa !204 + %t21 = call ptr @sc_rc_retain_dyn(ptr %t20) + ret ptr %t21 +} +define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m3_LiteRequest(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteRequest(ptr %p0) + call void @sc_release__x25_m3_LiteRequest(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_58(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.58 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_101(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1207708014012541) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteRequest(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4041255434968695 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_101(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4041255434968695 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_101(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1207708014012541, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteRequest(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteRequest(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteRequest(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1207708014012541, ptr @sc_dyn_read_ic_59) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1207708014012541, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1207708014012541, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_59(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.59 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_21424698936986 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_21424698936986 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_91(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1093190805819680) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_App(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_21424698936986 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_91(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_21424698936986 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_91(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1093190805819680, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_App(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_App(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1093190805819680, ptr @sc_dyn_read_ic_60) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1093190805819680, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1093190805819680, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_ResponseSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m2.ResponseSink +entry: + %sc_l_value = alloca ptr ; value + %s1 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_value + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %dc.inspect0, label %dc.checked3 +dc.inspect0: + %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t3 = icmp eq i32 %t8, 12 + br i1 %t3, label %dc.capsule1, label %dc.checked3 +dc.capsule1: + %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_629517122853751 + br i1 %t6, label %dc.exact2, label %dc.checked3 +dc.exact2: + %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr + %t10 = load ptr, ptr %t9 + %t11 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t10) + store ptr %t11, ptr %s1 + br label %dc.done4 +dc.checked3: + %t12 = call ptr @sc_dc_29(ptr %t0, ptr null) + store ptr %t12, ptr %s1 + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + ret ptr null +exc.k6: + br label %dc.done4 +dc.done4: + %t16 = load ptr, ptr %s1 + ret ptr %t16 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m2_ResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_ResponseSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_FetchResponseSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m2.FetchResponseSink +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca ptr + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_629517122853751 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_value + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_629517122853751 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_29(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 17 + %t37 = icmp ule i64 %t35, 18 + %t38 = and i1 %t36, %t37 ; instanceof %m2.FetchResponseSink + call void @sc_release__x25_m2_ResponseSink(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_value + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_629517122853751 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_29(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_value + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t64 = load i32, ptr %t63 + %t59 = icmp eq i32 %t64, 12 + br i1 %t59, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t61 = load ptr, ptr %t60 + %t62 = icmp eq ptr %t61, @sc_cs_2434838942941195 + br i1 %t62, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr + %t66 = load ptr, ptr %t65 + %t67 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t66) + store ptr %t67, ptr %s57 + br label %dc.done28 +dc.checked27: + %t68 = call ptr @sc_dc_52(ptr %t56, ptr null) + store ptr %t68, ptr %s57 + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u29, label %exc.k30 +exc.u29: + ret ptr null +exc.k30: + br label %dc.done28 +dc.done28: + %t72 = load ptr, ptr %s57 + ret ptr %t72 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m2_FetchResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_FetchResponseSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_call_1(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callback, ptr %p_sc_l_p_1, ptr %p_sc_l_p_calleeName) #0 { ; %dyn.class.call.1 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_callback = alloca ptr ; callback + %sc_l_p_1 = alloca ptr ; p1 + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s39 = alloca [1 x ptr] + %s50 = alloca ptr + %s78 = alloca i1 + %s106 = alloca [1 x ptr] + %s117 = alloca ptr + %s145 = alloca i1 + %s173 = alloca [1 x ptr] + %s184 = alloca ptr + %s212 = alloca i1 + %s240 = alloca [1 x ptr] + %s251 = alloca ptr + %s279 = alloca i1 + %s290 = alloca i1 + %s318 = alloca [1 x ptr] + %s329 = alloca ptr + %s375 = alloca [1 x ptr] + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callback, ptr %sc_l_p_callback + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3314970835853795 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3314970835853795) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_callback + %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 6 + %t25 = xor i1 %t24, true + br i1 %t25, label %if.t11, label %if.j12 +if.t11: + %t26 = load ptr, ptr %sc_l_p_callback + %t29 = getelementptr inbounds i8, ptr %t26, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t28 = icmp eq i32 %t30, 5 + br i1 %t28, label %dkg.ic13, label %dkg.any14 +dkg.ic13: + %t31 = call ptr @scr_dyn_obj_read_ic(ptr %t26, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_61) + br label %dkg.j15 +dkg.any14: + %t32 = call ptr @sc_dyn_key_get(ptr %t26, ptr @sc_lit_3610950885518037, i1 false) + br label %dkg.j15 +dkg.j15: + %t27 = phi ptr [ %t31, %dkg.ic13 ], [ %t32, %dkg.any14 ] + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup2 +exc.k17: + %t36 = load ptr, ptr %sc_l_p_0 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_1 + %t40 = getelementptr inbounds [1 x ptr], ptr %s39, i64 0, i64 0 + store ptr %t38, ptr %t40 + %t42 = load ptr, ptr %sc_l_p_calleeName + %t43 = getelementptr inbounds %ScrStr, ptr %t42, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t37) + %t41 = call ptr @scr_dyn_call(ptr %t27, ptr %s39, i64 1, ptr %t43) + call void @scr_dyn_this_pop() + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t41) + br label %exc.cleanup2 +exc.k19: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t37) + %t47 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t47) + ret ptr %t41 +if.j12: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect20, label %dc.checked23 +dc.inspect20: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule21, label %dc.checked23 +dc.capsule21: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_3314970835853795 + br i1 %t55, label %dc.exact22, label %dc.checked23 +dc.exact22: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done24 +dc.checked23: + %t61 = call ptr @sc_dc_79(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u25, label %exc.k26 +exc.u25: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k26: + br label %dc.done24 +dc.done24: + %t65 = load ptr, ptr %s50 + %t66 = load ptr, ptr %sc_l_p_1 + %t67 = call ptr @sc_dc_0(ptr %t66, ptr null) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65) + call void @scr_str_release(ptr %t67) + br label %exc.cleanup2 +exc.k28: + %t71 = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %t65, ptr %t67) + %t72 = load i32, ptr %exc.cell + %t73 = icmp ne i32 %t72, 0 + %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false) + br i1 %t74, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65) + call void @scr_str_release(ptr %t67) + call void @sc_rrelease_r11(ptr %t71) + br label %exc.cleanup2 +exc.k30: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65) + call void @scr_str_release(ptr %t67) + %t75 = call ptr @sc_ldu_12(ptr %t71) + call void @sc_rrelease_r11(ptr %t71) + %t76 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t76) + ret ptr %t75 +if.j10: + %t77 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s78 + %t79 = icmp ne ptr %t77, null + br i1 %t79, label %brand.inspect31, label %brand.done33 +brand.inspect31: + %t80 = getelementptr inbounds i8, ptr %t77, i64 8 ; ->kind + %t81 = load i32, ptr %t80 + %t82 = icmp eq i32 %t81, 12 + br i1 %t82, label %brand.capsule32, label %brand.done33 +brand.capsule32: + %t83 = getelementptr inbounds i8, ptr %t77, i64 40 ; ->v.typed_ref.type_key + %t84 = load ptr, ptr %t83 + %t85 = icmp eq ptr %t84, @sc_cs_67546268704151 + store i1 true, ptr %s78 + br i1 %t85, label %brand.done33, label %brand.compare34 +brand.compare34: + %t86 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t77, ptr @sc_lit_67546268704151) + store i1 %t86, ptr %s78 + br label %brand.done33 +brand.done33: + %t87 = load i1, ptr %s78 + br i1 %t87, label %if.t35, label %if.j36 +if.t35: + %t88 = load ptr, ptr %sc_l_p_callback + %t89 = getelementptr inbounds i8, ptr %t88, i64 8 ; ->kind + %t90 = load i32, ptr %t89 + %t91 = icmp eq i32 %t90, 6 + %t92 = xor i1 %t91, true + br i1 %t92, label %if.t37, label %if.j38 +if.t37: + %t93 = load ptr, ptr %sc_l_p_callback + %t96 = getelementptr inbounds i8, ptr %t93, i64 8 ; ->kind + %t97 = load i32, ptr %t96 + %t95 = icmp eq i32 %t97, 5 + br i1 %t95, label %dkg.ic39, label %dkg.any40 +dkg.ic39: + %t98 = call ptr @scr_dyn_obj_read_ic(ptr %t93, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_62) + br label %dkg.j41 +dkg.any40: + %t99 = call ptr @sc_dyn_key_get(ptr %t93, ptr @sc_lit_3610950885518037, i1 false) + br label %dkg.j41 +dkg.j41: + %t94 = phi ptr [ %t98, %dkg.ic39 ], [ %t99, %dkg.any40 ] + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t94) + br label %exc.cleanup2 +exc.k43: + %t103 = load ptr, ptr %sc_l_p_0 + %t104 = call ptr @sc_rc_retain_dyn(ptr %t103) + %t105 = load ptr, ptr %sc_l_p_1 + %t107 = getelementptr inbounds [1 x ptr], ptr %s106, i64 0, i64 0 + store ptr %t105, ptr %t107 + %t109 = load ptr, ptr %sc_l_p_calleeName + %t110 = getelementptr inbounds %ScrStr, ptr %t109, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t104) + %t108 = call ptr @scr_dyn_call(ptr %t94, ptr %s106, i64 1, ptr %t110) + call void @scr_dyn_this_pop() + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t104) + call void @sc_rc_release_dyn(ptr %t108) + br label %exc.cleanup2 +exc.k45: + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t104) + %t114 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t114) + ret ptr %t108 +if.j38: + %t115 = load ptr, ptr %sc_l_p_0 + %t116 = call ptr @sc_rc_retain_dyn(ptr %t115) + %t118 = icmp ne ptr %t116, null + br i1 %t118, label %dc.inspect46, label %dc.checked49 +dc.inspect46: + %t123 = getelementptr inbounds i8, ptr %t116, i64 8 ; ->kind + %t124 = load i32, ptr %t123 + %t119 = icmp eq i32 %t124, 12 + br i1 %t119, label %dc.capsule47, label %dc.checked49 +dc.capsule47: + %t120 = getelementptr inbounds i8, ptr %t116, i64 40 ; ->v.typed_ref.type_key + %t121 = load ptr, ptr %t120 + %t122 = icmp eq ptr %t121, @sc_cs_67546268704151 + br i1 %t122, label %dc.exact48, label %dc.checked49 +dc.exact48: + %t125 = getelementptr inbounds i8, ptr %t116, i64 16 ; ->v.typed_ref.ptr + %t126 = load ptr, ptr %t125 + %t127 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t126) + store ptr %t127, ptr %s117 + br label %dc.done50 +dc.checked49: + %t128 = call ptr @sc_dc_107(ptr %t116, ptr null) + store ptr %t128, ptr %s117 + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t116) + br label %exc.cleanup2 +exc.k52: + br label %dc.done50 +dc.done50: + %t132 = load ptr, ptr %s117 + %t133 = load ptr, ptr %sc_l_p_1 + %t134 = call ptr @sc_dc_0(ptr %t133, ptr null) + %t135 = load i32, ptr %exc.cell + %t136 = icmp ne i32 %t135, 0 + %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false) + br i1 %t137, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_release__x25_m3_LiteHeaders(ptr %t132) + call void @scr_str_release(ptr %t134) + br label %exc.cleanup2 +exc.k54: + %t138 = call ptr @sc_bf__x25__x25_m3_LiteHeaders_get(ptr %t132, ptr %t134) + %t139 = load i32, ptr %exc.cell + %t140 = icmp ne i32 %t139, 0 + %t141 = call i1 @llvm.expect.i1(i1 %t140, i1 false) + br i1 %t141, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_release__x25_m3_LiteHeaders(ptr %t132) + call void @scr_str_release(ptr %t134) + call void @scr_str_release(ptr %t138) + br label %exc.cleanup2 +exc.k56: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_release__x25_m3_LiteHeaders(ptr %t132) + call void @scr_str_release(ptr %t134) + %t142 = call ptr @sc_td_13(ptr %t138) + call void @scr_str_release(ptr %t138) + %t143 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t143) + ret ptr %t142 +if.j36: + %t144 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s145 + %t146 = icmp ne ptr %t144, null + br i1 %t146, label %brand.inspect57, label %brand.done59 +brand.inspect57: + %t147 = getelementptr inbounds i8, ptr %t144, i64 8 ; ->kind + %t148 = load i32, ptr %t147 + %t149 = icmp eq i32 %t148, 12 + br i1 %t149, label %brand.capsule58, label %brand.done59 +brand.capsule58: + %t150 = getelementptr inbounds i8, ptr %t144, i64 40 ; ->v.typed_ref.type_key + %t151 = load ptr, ptr %t150 + %t152 = icmp eq ptr %t151, @sc_cs_2519527309428716 + store i1 true, ptr %s145 + br i1 %t152, label %brand.done59, label %brand.compare60 +brand.compare60: + %t153 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t144, ptr @sc_lit_2519527309428716) + store i1 %t153, ptr %s145 + br label %brand.done59 +brand.done59: + %t154 = load i1, ptr %s145 + br i1 %t154, label %if.t61, label %if.j62 +if.t61: + %t155 = load ptr, ptr %sc_l_p_callback + %t156 = getelementptr inbounds i8, ptr %t155, i64 8 ; ->kind + %t157 = load i32, ptr %t156 + %t158 = icmp eq i32 %t157, 6 + %t159 = xor i1 %t158, true + br i1 %t159, label %if.t63, label %if.j64 +if.t63: + %t160 = load ptr, ptr %sc_l_p_callback + %t163 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t164 = load i32, ptr %t163 + %t162 = icmp eq i32 %t164, 5 + br i1 %t162, label %dkg.ic65, label %dkg.any66 +dkg.ic65: + %t165 = call ptr @scr_dyn_obj_read_ic(ptr %t160, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_63) + br label %dkg.j67 +dkg.any66: + %t166 = call ptr @sc_dyn_key_get(ptr %t160, ptr @sc_lit_3610950885518037, i1 false) + br label %dkg.j67 +dkg.j67: + %t161 = phi ptr [ %t165, %dkg.ic65 ], [ %t166, %dkg.any66 ] + %t167 = load i32, ptr %exc.cell + %t168 = icmp ne i32 %t167, 0 + %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false) + br i1 %t169, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t161) + br label %exc.cleanup2 +exc.k69: + %t170 = load ptr, ptr %sc_l_p_0 + %t171 = call ptr @sc_rc_retain_dyn(ptr %t170) + %t172 = load ptr, ptr %sc_l_p_1 + %t174 = getelementptr inbounds [1 x ptr], ptr %s173, i64 0, i64 0 + store ptr %t172, ptr %t174 + %t176 = load ptr, ptr %sc_l_p_calleeName + %t177 = getelementptr inbounds %ScrStr, ptr %t176, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t171) + %t175 = call ptr @scr_dyn_call(ptr %t161, ptr %s173, i64 1, ptr %t177) + call void @scr_dyn_this_pop() + %t178 = load i32, ptr %exc.cell + %t179 = icmp ne i32 %t178, 0 + %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false) + br i1 %t180, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t161) + call void @sc_rc_release_dyn(ptr %t171) + call void @sc_rc_release_dyn(ptr %t175) + br label %exc.cleanup2 +exc.k71: + call void @sc_rc_release_dyn(ptr %t161) + call void @sc_rc_release_dyn(ptr %t171) + %t181 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t181) + ret ptr %t175 +if.j64: + %t182 = load ptr, ptr %sc_l_p_0 + %t183 = call ptr @sc_rc_retain_dyn(ptr %t182) + %t185 = icmp ne ptr %t183, null + br i1 %t185, label %dc.inspect72, label %dc.checked75 +dc.inspect72: + %t190 = getelementptr inbounds i8, ptr %t183, i64 8 ; ->kind + %t191 = load i32, ptr %t190 + %t186 = icmp eq i32 %t191, 12 + br i1 %t186, label %dc.capsule73, label %dc.checked75 +dc.capsule73: + %t187 = getelementptr inbounds i8, ptr %t183, i64 40 ; ->v.typed_ref.type_key + %t188 = load ptr, ptr %t187 + %t189 = icmp eq ptr %t188, @sc_cs_2519527309428716 + br i1 %t189, label %dc.exact74, label %dc.checked75 +dc.exact74: + %t192 = getelementptr inbounds i8, ptr %t183, i64 16 ; ->v.typed_ref.ptr + %t193 = load ptr, ptr %t192 + %t194 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t193) + store ptr %t194, ptr %s184 + br label %dc.done76 +dc.checked75: + %t195 = call ptr @sc_dc_108(ptr %t183, ptr null) + store ptr %t195, ptr %s184 + %t196 = load i32, ptr %exc.cell + %t197 = icmp ne i32 %t196, 0 + %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false) + br i1 %t198, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t183) + br label %exc.cleanup2 +exc.k78: + br label %dc.done76 +dc.done76: + %t199 = load ptr, ptr %s184 + %t200 = load ptr, ptr %sc_l_p_1 + %t201 = call ptr @sc_dc_0(ptr %t200, ptr null) + %t202 = load i32, ptr %exc.cell + %t203 = icmp ne i32 %t202, 0 + %t204 = call i1 @llvm.expect.i1(i1 %t203, i1 false) + br i1 %t204, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t183) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t199) + call void @scr_str_release(ptr %t201) + br label %exc.cleanup2 +exc.k80: + %t205 = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %t199, ptr %t201) + %t206 = load i32, ptr %exc.cell + %t207 = icmp ne i32 %t206, 0 + %t208 = call i1 @llvm.expect.i1(i1 %t207, i1 false) + br i1 %t208, label %exc.u81, label %exc.k82 +exc.u81: + call void @sc_rc_release_dyn(ptr %t183) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t199) + call void @scr_str_release(ptr %t201) + call void @sc_rrelease_r11(ptr %t205) + br label %exc.cleanup2 +exc.k82: + call void @sc_rc_release_dyn(ptr %t183) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t199) + call void @scr_str_release(ptr %t201) + %t209 = call ptr @sc_ldu_12(ptr %t205) + call void @sc_rrelease_r11(ptr %t205) + %t210 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t210) + ret ptr %t209 +if.j62: + %t211 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s212 + %t213 = icmp ne ptr %t211, null + br i1 %t213, label %brand.inspect83, label %brand.done85 +brand.inspect83: + %t214 = getelementptr inbounds i8, ptr %t211, i64 8 ; ->kind + %t215 = load i32, ptr %t214 + %t216 = icmp eq i32 %t215, 12 + br i1 %t216, label %brand.capsule84, label %brand.done85 +brand.capsule84: + %t217 = getelementptr inbounds i8, ptr %t211, i64 40 ; ->v.typed_ref.type_key + %t218 = load ptr, ptr %t217 + %t219 = icmp eq ptr %t218, @sc_cs_4143564844538255 + store i1 true, ptr %s212 + br i1 %t219, label %brand.done85, label %brand.compare86 +brand.compare86: + %t220 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t211, ptr @sc_lit_4143564844538255) + store i1 %t220, ptr %s212 + br label %brand.done85 +brand.done85: + %t221 = load i1, ptr %s212 + br i1 %t221, label %if.t87, label %if.j88 +if.t87: + %t222 = load ptr, ptr %sc_l_p_callback + %t223 = getelementptr inbounds i8, ptr %t222, i64 8 ; ->kind + %t224 = load i32, ptr %t223 + %t225 = icmp eq i32 %t224, 6 + %t226 = xor i1 %t225, true + br i1 %t226, label %if.t89, label %if.j90 +if.t89: + %t227 = load ptr, ptr %sc_l_p_callback + %t230 = getelementptr inbounds i8, ptr %t227, i64 8 ; ->kind + %t231 = load i32, ptr %t230 + %t229 = icmp eq i32 %t231, 5 + br i1 %t229, label %dkg.ic91, label %dkg.any92 +dkg.ic91: + %t232 = call ptr @scr_dyn_obj_read_ic(ptr %t227, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_64) + br label %dkg.j93 +dkg.any92: + %t233 = call ptr @sc_dyn_key_get(ptr %t227, ptr @sc_lit_3610950885518037, i1 false) + br label %dkg.j93 +dkg.j93: + %t228 = phi ptr [ %t232, %dkg.ic91 ], [ %t233, %dkg.any92 ] + %t234 = load i32, ptr %exc.cell + %t235 = icmp ne i32 %t234, 0 + %t236 = call i1 @llvm.expect.i1(i1 %t235, i1 false) + br i1 %t236, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t228) + br label %exc.cleanup2 +exc.k95: + %t237 = load ptr, ptr %sc_l_p_0 + %t238 = call ptr @sc_rc_retain_dyn(ptr %t237) + %t239 = load ptr, ptr %sc_l_p_1 + %t241 = getelementptr inbounds [1 x ptr], ptr %s240, i64 0, i64 0 + store ptr %t239, ptr %t241 + %t243 = load ptr, ptr %sc_l_p_calleeName + %t244 = getelementptr inbounds %ScrStr, ptr %t243, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t238) + %t242 = call ptr @scr_dyn_call(ptr %t228, ptr %s240, i64 1, ptr %t244) + call void @scr_dyn_this_pop() + %t245 = load i32, ptr %exc.cell + %t246 = icmp ne i32 %t245, 0 + %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false) + br i1 %t247, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t238) + call void @sc_rc_release_dyn(ptr %t242) + br label %exc.cleanup2 +exc.k97: + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t238) + %t248 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t248) + ret ptr %t242 +if.j90: + %t249 = load ptr, ptr %sc_l_p_0 + %t250 = call ptr @sc_rc_retain_dyn(ptr %t249) + %t252 = icmp ne ptr %t250, null + br i1 %t252, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t257 = getelementptr inbounds i8, ptr %t250, i64 8 ; ->kind + %t258 = load i32, ptr %t257 + %t253 = icmp eq i32 %t258, 12 + br i1 %t253, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t254 = getelementptr inbounds i8, ptr %t250, i64 40 ; ->v.typed_ref.type_key + %t255 = load ptr, ptr %t254 + %t256 = icmp eq ptr %t255, @sc_cs_4143564844538255 + br i1 %t256, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t259 = getelementptr inbounds i8, ptr %t250, i64 16 ; ->v.typed_ref.ptr + %t260 = load ptr, ptr %t259 + %t261 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t260) + store ptr %t261, ptr %s251 + br label %dc.done102 +dc.checked101: + %t262 = call ptr @sc_dc_109(ptr %t250, ptr null) + store ptr %t262, ptr %s251 + %t263 = load i32, ptr %exc.cell + %t264 = icmp ne i32 %t263, 0 + %t265 = call i1 @llvm.expect.i1(i1 %t264, i1 false) + br i1 %t265, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t250) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t266 = load ptr, ptr %s251 + %t267 = load ptr, ptr %sc_l_p_1 + %t268 = call ptr @sc_dc_0(ptr %t267, ptr null) + %t269 = load i32, ptr %exc.cell + %t270 = icmp ne i32 %t269, 0 + %t271 = call i1 @llvm.expect.i1(i1 %t270, i1 false) + br i1 %t271, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t250) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t266) + call void @scr_str_release(ptr %t268) + br label %exc.cleanup2 +exc.k106: + %t272 = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %t266, ptr %t268) + %t273 = load i32, ptr %exc.cell + %t274 = icmp ne i32 %t273, 0 + %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false) + br i1 %t275, label %exc.u107, label %exc.k108 +exc.u107: + call void @sc_rc_release_dyn(ptr %t250) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t266) + call void @scr_str_release(ptr %t268) + call void @sc_rrelease_r11(ptr %t272) + br label %exc.cleanup2 +exc.k108: + call void @sc_rc_release_dyn(ptr %t250) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t266) + call void @scr_str_release(ptr %t268) + %t276 = call ptr @sc_ldu_12(ptr %t272) + call void @sc_rrelease_r11(ptr %t272) + %t277 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t277) + ret ptr %t276 +if.j88: + %t278 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s279 + %t280 = icmp ne ptr %t278, null + br i1 %t280, label %brand.inspect109, label %brand.done111 +brand.inspect109: + %t281 = getelementptr inbounds i8, ptr %t278, i64 8 ; ->kind + %t282 = load i32, ptr %t281 + %t283 = icmp eq i32 %t282, 12 + br i1 %t283, label %brand.capsule110, label %brand.done111 +brand.capsule110: + %t284 = getelementptr inbounds i8, ptr %t278, i64 40 ; ->v.typed_ref.type_key + %t285 = load ptr, ptr %t284 + %t286 = icmp eq ptr %t285, @sc_cs_2875643240706496 + store i1 true, ptr %s279 + br i1 %t286, label %brand.done111, label %brand.compare112 +brand.compare112: + %t287 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t278, ptr @sc_lit_2875643240706496) + store i1 %t287, ptr %s279 + br label %brand.done111 +brand.done111: + %t288 = load i1, ptr %s279 + br i1 %t288, label %if.t113, label %if.j114 +if.t113: + call void @scr_throw_error_msg_code(i32 0, ptr @sc_cs_368290044818719, i64 80, ptr @sc_cs_2988681134725684) + br label %exc.cleanup2 +if.j114: + %t289 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s290 + %t291 = icmp ne ptr %t289, null + br i1 %t291, label %brand.inspect115, label %brand.done117 +brand.inspect115: + %t292 = getelementptr inbounds i8, ptr %t289, i64 8 ; ->kind + %t293 = load i32, ptr %t292 + %t294 = icmp eq i32 %t293, 12 + br i1 %t294, label %brand.capsule116, label %brand.done117 +brand.capsule116: + %t295 = getelementptr inbounds i8, ptr %t289, i64 40 ; ->v.typed_ref.type_key + %t296 = load ptr, ptr %t295 + %t297 = icmp eq ptr %t296, @sc_cs_21424698936986 + store i1 true, ptr %s290 + br i1 %t297, label %brand.done117, label %brand.compare118 +brand.compare118: + %t298 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t289, ptr @sc_lit_21424698936986) + store i1 %t298, ptr %s290 + br label %brand.done117 +brand.done117: + %t299 = load i1, ptr %s290 + br i1 %t299, label %if.t119, label %if.j120 +if.t119: + %t300 = load ptr, ptr %sc_l_p_callback + %t301 = getelementptr inbounds i8, ptr %t300, i64 8 ; ->kind + %t302 = load i32, ptr %t301 + %t303 = icmp eq i32 %t302, 6 + %t304 = xor i1 %t303, true + br i1 %t304, label %if.t121, label %if.j122 +if.t121: + %t305 = load ptr, ptr %sc_l_p_callback + %t308 = getelementptr inbounds i8, ptr %t305, i64 8 ; ->kind + %t309 = load i32, ptr %t308 + %t307 = icmp eq i32 %t309, 5 + br i1 %t307, label %dkg.ic123, label %dkg.any124 +dkg.ic123: + %t310 = call ptr @scr_dyn_obj_read_ic(ptr %t305, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_65) + br label %dkg.j125 +dkg.any124: + %t311 = call ptr @sc_dyn_key_get(ptr %t305, ptr @sc_lit_3610950885518037, i1 false) + br label %dkg.j125 +dkg.j125: + %t306 = phi ptr [ %t310, %dkg.ic123 ], [ %t311, %dkg.any124 ] + %t312 = load i32, ptr %exc.cell + %t313 = icmp ne i32 %t312, 0 + %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false) + br i1 %t314, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t306) + br label %exc.cleanup2 +exc.k127: + %t315 = load ptr, ptr %sc_l_p_0 + %t316 = call ptr @sc_rc_retain_dyn(ptr %t315) + %t317 = load ptr, ptr %sc_l_p_1 + %t319 = getelementptr inbounds [1 x ptr], ptr %s318, i64 0, i64 0 + store ptr %t317, ptr %t319 + %t321 = load ptr, ptr %sc_l_p_calleeName + %t322 = getelementptr inbounds %ScrStr, ptr %t321, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t316) + %t320 = call ptr @scr_dyn_call(ptr %t306, ptr %s318, i64 1, ptr %t322) + call void @scr_dyn_this_pop() + %t323 = load i32, ptr %exc.cell + %t324 = icmp ne i32 %t323, 0 + %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false) + br i1 %t325, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t306) + call void @sc_rc_release_dyn(ptr %t316) + call void @sc_rc_release_dyn(ptr %t320) + br label %exc.cleanup2 +exc.k129: + call void @sc_rc_release_dyn(ptr %t306) + call void @sc_rc_release_dyn(ptr %t316) + %t326 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t326) + ret ptr %t320 +if.j122: + %t327 = load ptr, ptr %sc_l_p_0 + %t328 = call ptr @sc_rc_retain_dyn(ptr %t327) + %t330 = icmp ne ptr %t328, null + br i1 %t330, label %dc.inspect130, label %dc.checked133 +dc.inspect130: + %t335 = getelementptr inbounds i8, ptr %t328, i64 8 ; ->kind + %t336 = load i32, ptr %t335 + %t331 = icmp eq i32 %t336, 12 + br i1 %t331, label %dc.capsule131, label %dc.checked133 +dc.capsule131: + %t332 = getelementptr inbounds i8, ptr %t328, i64 40 ; ->v.typed_ref.type_key + %t333 = load ptr, ptr %t332 + %t334 = icmp eq ptr %t333, @sc_cs_21424698936986 + br i1 %t334, label %dc.exact132, label %dc.checked133 +dc.exact132: + %t337 = getelementptr inbounds i8, ptr %t328, i64 16 ; ->v.typed_ref.ptr + %t338 = load ptr, ptr %t337 + %t339 = call ptr @sc_retain__x25_m5_App(ptr %t338) + store ptr %t339, ptr %s329 + br label %dc.done134 +dc.checked133: + %t340 = call ptr @sc_dc_91(ptr %t328, ptr null) + store ptr %t340, ptr %s329 + %t341 = load i32, ptr %exc.cell + %t342 = icmp ne i32 %t341, 0 + %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false) + br i1 %t343, label %exc.u135, label %exc.k136 +exc.u135: + call void @sc_rc_release_dyn(ptr %t328) + br label %exc.cleanup2 +exc.k136: + br label %dc.done134 +dc.done134: + %t344 = load ptr, ptr %s329 + %t345 = load ptr, ptr %sc_l_p_1 + %t346 = call ptr @sc_dc_0(ptr %t345, ptr null) + %t347 = load i32, ptr %exc.cell + %t348 = icmp ne i32 %t347, 0 + %t349 = call i1 @llvm.expect.i1(i1 %t348, i1 false) + br i1 %t349, label %exc.u137, label %exc.k138 +exc.u137: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_release__x25_m5_App(ptr %t344) + call void @scr_str_release(ptr %t346) + br label %exc.cleanup2 +exc.k138: + %t351 = call ptr @scr_dyn_undefined() + %t350 = call ptr @scr_dyn_retain_v(ptr %t351) + %t352 = call ptr @sc_dc_36(ptr %t350, ptr null) + %t353 = load i32, ptr %exc.cell + %t354 = icmp ne i32 %t353, 0 + %t355 = call i1 @llvm.expect.i1(i1 %t354, i1 false) + br i1 %t355, label %exc.u139, label %exc.k140 +exc.u139: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_release__x25_m5_App(ptr %t344) + call void @scr_str_release(ptr %t346) + call void @sc_rc_release_dyn(ptr %t350) + call void @scr_closure_release(ptr %t352) + br label %exc.cleanup2 +exc.k140: + %t357 = call ptr @scr_dyn_undefined() + %t356 = call ptr @scr_dyn_retain_v(ptr %t357) + %t358 = call ptr @sc_dc_89(ptr %t356, ptr null) + %t359 = load i32, ptr %exc.cell + %t360 = icmp ne i32 %t359, 0 + %t361 = call i1 @llvm.expect.i1(i1 %t360, i1 false) + br i1 %t361, label %exc.u141, label %exc.k142 +exc.u141: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_release__x25_m5_App(ptr %t344) + call void @scr_str_release(ptr %t346) + call void @sc_rc_release_dyn(ptr %t350) + call void @scr_closure_release(ptr %t352) + call void @sc_rc_release_dyn(ptr %t356) + call void @sc_rrelease_r7(ptr %t358) + br label %exc.cleanup2 +exc.k142: + %t362 = call ptr @sc_bf__x25__x25_m5_App_get(ptr %t344, ptr %t346, ptr %t352, ptr %t358) + %t363 = load i32, ptr %exc.cell + %t364 = icmp ne i32 %t363, 0 + %t365 = call i1 @llvm.expect.i1(i1 %t364, i1 false) + br i1 %t365, label %exc.u143, label %exc.k144 +exc.u143: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_release__x25_m5_App(ptr %t344) + call void @scr_str_release(ptr %t346) + call void @sc_rc_release_dyn(ptr %t350) + call void @scr_closure_release(ptr %t352) + call void @sc_rc_release_dyn(ptr %t356) + call void @sc_rrelease_r7(ptr %t358) + call void @sc_release__x25_m5_App(ptr %t362) + br label %exc.cleanup2 +exc.k144: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_release__x25_m5_App(ptr %t344) + call void @scr_str_release(ptr %t346) + call void @sc_rc_release_dyn(ptr %t350) + call void @scr_closure_release(ptr %t352) + call void @sc_rc_release_dyn(ptr %t356) + call void @sc_rrelease_r7(ptr %t358) + %t366 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t362, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @sc_release__x25_m5_App(ptr %t362) + %t367 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t367) + ret ptr %t366 +if.j120: + %t368 = load ptr, ptr %sc_l_p_0 + %t369 = call ptr @sc_rc_retain_dyn(ptr %t368) + %t370 = call ptr @scr_dyn_prepare_method(ptr %t369, ptr @sc_cs_731773075116702) + %t371 = load i32, ptr %exc.cell + %t372 = icmp ne i32 %t371, 0 + %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false) + br i1 %t373, label %exc.u145, label %exc.k146 +exc.u145: + call void @sc_rc_release_dyn(ptr %t369) + call void @sc_rc_release_dyn(ptr %t370) + br label %exc.cleanup2 +exc.k146: + %t374 = load ptr, ptr %sc_l_p_1 + %t376 = getelementptr inbounds [1 x ptr], ptr %s375, i64 0, i64 0 + store ptr %t374, ptr %t376 + %t377 = load ptr, ptr %sc_l_p_calleeName + %t378 = getelementptr inbounds %ScrStr, ptr %t377, i32 1 + %t379 = call ptr @scr_dyn_invoke_prepared(ptr %t369, ptr %t370, ptr @sc_cs_731773075116702, ptr %s375, i64 1, ptr %t378) + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u147, label %exc.k148 +exc.u147: + call void @sc_rc_release_dyn(ptr %t369) + call void @sc_rc_release_dyn(ptr %t370) + call void @sc_rc_release_dyn(ptr %t379) + br label %exc.cleanup2 +exc.k148: + call void @sc_rc_release_dyn(ptr %t369) + call void @sc_rc_release_dyn(ptr %t370) + %t383 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t383) + ret ptr %t379 +exc.cleanup2: + %t384 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t384) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_call_1(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_call_1(ptr %p0, ptr %p1, ptr %p2, ptr %p3) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @scr_str_release(ptr %p3) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_callback_1(ptr %p_sc_l_p_0) #0 { ; %dyn.class.callback.1 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s21 = alloca ptr + %s46 = alloca i1 + %s56 = alloca ptr + %s81 = alloca i1 + %s91 = alloca ptr + %s116 = alloca i1 + %s126 = alloca ptr + %s151 = alloca i1 + %s161 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_3314970835853795 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3314970835853795) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + br i1 true, label %tern.t11, label %tern.f12 +tern.t11: + %t22 = call ptr @scr_dyn_new_obj() + %t23 = load ptr, ptr %sc_l_p_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup2 +exc.k15: + %t31 = getelementptr inbounds i8, ptr %t25, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t30 = icmp eq i32 %t32, 5 + br i1 %t30, label %dkg.ic16, label %dkg.any17 +dkg.ic16: + %t33 = call ptr @scr_dyn_obj_read_ic(ptr %t25, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_66) + br label %dkg.j18 +dkg.any17: + %t34 = call ptr @sc_dyn_key_get(ptr %t25, ptr @sc_lit_731773075116702, i1 false) + br label %dkg.j18 +dkg.j18: + %t29 = phi ptr [ %t33, %dkg.ic16 ], [ %t34, %dkg.any17 ] + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u19, label %exc.k20 +exc.u19: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup2 +exc.k20: + call void @scr_dyn_key_set(ptr %t22, ptr @sc_lit_3610950885518037, ptr %t29) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u21, label %exc.k22 +exc.u21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup2 +exc.k22: + store ptr %t22, ptr %s21 + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %tern.j13 +tern.f12: + %t42 = call ptr @scr_dyn_undefined() + %t41 = call ptr @scr_dyn_retain_v(ptr %t42) + store ptr %t41, ptr %s21 + br label %tern.j13 +tern.j13: + %t43 = load ptr, ptr %s21 + %t44 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr %t43 +if.j10: + %t45 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s46 + %t47 = icmp ne ptr %t45, null + br i1 %t47, label %brand.inspect23, label %brand.done25 +brand.inspect23: + %t48 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind + %t49 = load i32, ptr %t48 + %t50 = icmp eq i32 %t49, 12 + br i1 %t50, label %brand.capsule24, label %brand.done25 +brand.capsule24: + %t51 = getelementptr inbounds i8, ptr %t45, i64 40 ; ->v.typed_ref.type_key + %t52 = load ptr, ptr %t51 + %t53 = icmp eq ptr %t52, @sc_cs_67546268704151 + store i1 true, ptr %s46 + br i1 %t53, label %brand.done25, label %brand.compare26 +brand.compare26: + %t54 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t45, ptr @sc_lit_67546268704151) + store i1 %t54, ptr %s46 + br label %brand.done25 +brand.done25: + %t55 = load i1, ptr %s46 + br i1 %t55, label %if.t27, label %if.j28 +if.t27: + br i1 true, label %tern.t29, label %tern.f30 +tern.t29: + %t57 = call ptr @scr_dyn_new_obj() + %t58 = load ptr, ptr %sc_l_p_0 + %t59 = call ptr @sc_rc_retain_dyn(ptr %t58) + %t60 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t59) + %t61 = load i32, ptr %exc.cell + %t62 = icmp ne i32 %t61, 0 + %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false) + br i1 %t63, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t60) + br label %exc.cleanup2 +exc.k33: + %t66 = getelementptr inbounds i8, ptr %t60, i64 8 ; ->kind + %t67 = load i32, ptr %t66 + %t65 = icmp eq i32 %t67, 5 + br i1 %t65, label %dkg.ic34, label %dkg.any35 +dkg.ic34: + %t68 = call ptr @scr_dyn_obj_read_ic(ptr %t60, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_67) + br label %dkg.j36 +dkg.any35: + %t69 = call ptr @sc_dyn_key_get(ptr %t60, ptr @sc_lit_731773075116702, i1 false) + br label %dkg.j36 +dkg.j36: + %t64 = phi ptr [ %t68, %dkg.ic34 ], [ %t69, %dkg.any35 ] + %t70 = load i32, ptr %exc.cell + %t71 = icmp ne i32 %t70, 0 + %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false) + br i1 %t72, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t60) + call void @sc_rc_release_dyn(ptr %t64) + br label %exc.cleanup2 +exc.k38: + call void @scr_dyn_key_set(ptr %t57, ptr @sc_lit_3610950885518037, ptr %t64) + %t73 = load i32, ptr %exc.cell + %t74 = icmp ne i32 %t73, 0 + %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false) + br i1 %t75, label %exc.u39, label %exc.k40 +exc.u39: + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t60) + call void @sc_rc_release_dyn(ptr %t64) + br label %exc.cleanup2 +exc.k40: + store ptr %t57, ptr %s56 + call void @sc_rc_release_dyn(ptr %t60) + call void @sc_rc_release_dyn(ptr %t64) + br label %tern.j31 +tern.f30: + %t77 = call ptr @scr_dyn_undefined() + %t76 = call ptr @scr_dyn_retain_v(ptr %t77) + store ptr %t76, ptr %s56 + br label %tern.j31 +tern.j31: + %t78 = load ptr, ptr %s56 + %t79 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t79) + ret ptr %t78 +if.j28: + %t80 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s81 + %t82 = icmp ne ptr %t80, null + br i1 %t82, label %brand.inspect41, label %brand.done43 +brand.inspect41: + %t83 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind + %t84 = load i32, ptr %t83 + %t85 = icmp eq i32 %t84, 12 + br i1 %t85, label %brand.capsule42, label %brand.done43 +brand.capsule42: + %t86 = getelementptr inbounds i8, ptr %t80, i64 40 ; ->v.typed_ref.type_key + %t87 = load ptr, ptr %t86 + %t88 = icmp eq ptr %t87, @sc_cs_2519527309428716 + store i1 true, ptr %s81 + br i1 %t88, label %brand.done43, label %brand.compare44 +brand.compare44: + %t89 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t80, ptr @sc_lit_2519527309428716) + store i1 %t89, ptr %s81 + br label %brand.done43 +brand.done43: + %t90 = load i1, ptr %s81 + br i1 %t90, label %if.t45, label %if.j46 +if.t45: + br i1 true, label %tern.t47, label %tern.f48 +tern.t47: + %t92 = call ptr @scr_dyn_new_obj() + %t93 = load ptr, ptr %sc_l_p_0 + %t94 = call ptr @sc_rc_retain_dyn(ptr %t93) + %t95 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t94) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t95) + br label %exc.cleanup2 +exc.k51: + %t101 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t100 = icmp eq i32 %t102, 5 + br i1 %t100, label %dkg.ic52, label %dkg.any53 +dkg.ic52: + %t103 = call ptr @scr_dyn_obj_read_ic(ptr %t95, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_68) + br label %dkg.j54 +dkg.any53: + %t104 = call ptr @sc_dyn_key_get(ptr %t95, ptr @sc_lit_731773075116702, i1 false) + br label %dkg.j54 +dkg.j54: + %t99 = phi ptr [ %t103, %dkg.ic52 ], [ %t104, %dkg.any53 ] + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t95) + call void @sc_rc_release_dyn(ptr %t99) + br label %exc.cleanup2 +exc.k56: + call void @scr_dyn_key_set(ptr %t92, ptr @sc_lit_3610950885518037, ptr %t99) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t95) + call void @sc_rc_release_dyn(ptr %t99) + br label %exc.cleanup2 +exc.k58: + store ptr %t92, ptr %s91 + call void @sc_rc_release_dyn(ptr %t95) + call void @sc_rc_release_dyn(ptr %t99) + br label %tern.j49 +tern.f48: + %t112 = call ptr @scr_dyn_undefined() + %t111 = call ptr @scr_dyn_retain_v(ptr %t112) + store ptr %t111, ptr %s91 + br label %tern.j49 +tern.j49: + %t113 = load ptr, ptr %s91 + %t114 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t114) + ret ptr %t113 +if.j46: + %t115 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s116 + %t117 = icmp ne ptr %t115, null + br i1 %t117, label %brand.inspect59, label %brand.done61 +brand.inspect59: + %t118 = getelementptr inbounds i8, ptr %t115, i64 8 ; ->kind + %t119 = load i32, ptr %t118 + %t120 = icmp eq i32 %t119, 12 + br i1 %t120, label %brand.capsule60, label %brand.done61 +brand.capsule60: + %t121 = getelementptr inbounds i8, ptr %t115, i64 40 ; ->v.typed_ref.type_key + %t122 = load ptr, ptr %t121 + %t123 = icmp eq ptr %t122, @sc_cs_4143564844538255 + store i1 true, ptr %s116 + br i1 %t123, label %brand.done61, label %brand.compare62 +brand.compare62: + %t124 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t115, ptr @sc_lit_4143564844538255) + store i1 %t124, ptr %s116 + br label %brand.done61 +brand.done61: + %t125 = load i1, ptr %s116 + br i1 %t125, label %if.t63, label %if.j64 +if.t63: + br i1 true, label %tern.t65, label %tern.f66 +tern.t65: + %t127 = call ptr @scr_dyn_new_obj() + %t128 = load ptr, ptr %sc_l_p_0 + %t129 = call ptr @sc_rc_retain_dyn(ptr %t128) + %t130 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t129) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t130) + br label %exc.cleanup2 +exc.k69: + %t136 = getelementptr inbounds i8, ptr %t130, i64 8 ; ->kind + %t137 = load i32, ptr %t136 + %t135 = icmp eq i32 %t137, 5 + br i1 %t135, label %dkg.ic70, label %dkg.any71 +dkg.ic70: + %t138 = call ptr @scr_dyn_obj_read_ic(ptr %t130, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_69) + br label %dkg.j72 +dkg.any71: + %t139 = call ptr @sc_dyn_key_get(ptr %t130, ptr @sc_lit_731773075116702, i1 false) + br label %dkg.j72 +dkg.j72: + %t134 = phi ptr [ %t138, %dkg.ic70 ], [ %t139, %dkg.any71 ] + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u73, label %exc.k74 +exc.u73: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t130) + call void @sc_rc_release_dyn(ptr %t134) + br label %exc.cleanup2 +exc.k74: + call void @scr_dyn_key_set(ptr %t127, ptr @sc_lit_3610950885518037, ptr %t134) + %t143 = load i32, ptr %exc.cell + %t144 = icmp ne i32 %t143, 0 + %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false) + br i1 %t145, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t130) + call void @sc_rc_release_dyn(ptr %t134) + br label %exc.cleanup2 +exc.k76: + store ptr %t127, ptr %s126 + call void @sc_rc_release_dyn(ptr %t130) + call void @sc_rc_release_dyn(ptr %t134) + br label %tern.j67 +tern.f66: + %t147 = call ptr @scr_dyn_undefined() + %t146 = call ptr @scr_dyn_retain_v(ptr %t147) + store ptr %t146, ptr %s126 + br label %tern.j67 +tern.j67: + %t148 = load ptr, ptr %s126 + %t149 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t149) + ret ptr %t148 +if.j64: + %t150 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s151 + %t152 = icmp ne ptr %t150, null + br i1 %t152, label %brand.inspect77, label %brand.done79 +brand.inspect77: + %t153 = getelementptr inbounds i8, ptr %t150, i64 8 ; ->kind + %t154 = load i32, ptr %t153 + %t155 = icmp eq i32 %t154, 12 + br i1 %t155, label %brand.capsule78, label %brand.done79 +brand.capsule78: + %t156 = getelementptr inbounds i8, ptr %t150, i64 40 ; ->v.typed_ref.type_key + %t157 = load ptr, ptr %t156 + %t158 = icmp eq ptr %t157, @sc_cs_21424698936986 + store i1 true, ptr %s151 + br i1 %t158, label %brand.done79, label %brand.compare80 +brand.compare80: + %t159 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t150, ptr @sc_lit_21424698936986) + store i1 %t159, ptr %s151 + br label %brand.done79 +brand.done79: + %t160 = load i1, ptr %s151 + br i1 %t160, label %if.t81, label %if.j82 +if.t81: + br i1 true, label %tern.t83, label %tern.f84 +tern.t83: + %t162 = call ptr @scr_dyn_new_obj() + %t163 = load ptr, ptr %sc_l_p_0 + %t164 = call ptr @sc_rc_retain_dyn(ptr %t163) + %t165 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t164) + %t166 = load i32, ptr %exc.cell + %t167 = icmp ne i32 %t166, 0 + %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false) + br i1 %t168, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t165) + br label %exc.cleanup2 +exc.k87: + %t171 = getelementptr inbounds i8, ptr %t165, i64 8 ; ->kind + %t172 = load i32, ptr %t171 + %t170 = icmp eq i32 %t172, 5 + br i1 %t170, label %dkg.ic88, label %dkg.any89 +dkg.ic88: + %t173 = call ptr @scr_dyn_obj_read_ic(ptr %t165, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_70) + br label %dkg.j90 +dkg.any89: + %t174 = call ptr @sc_dyn_key_get(ptr %t165, ptr @sc_lit_731773075116702, i1 false) + br label %dkg.j90 +dkg.j90: + %t169 = phi ptr [ %t173, %dkg.ic88 ], [ %t174, %dkg.any89 ] + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u91, label %exc.k92 +exc.u91: + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t165) + call void @sc_rc_release_dyn(ptr %t169) + br label %exc.cleanup2 +exc.k92: + call void @scr_dyn_key_set(ptr %t162, ptr @sc_lit_3610950885518037, ptr %t169) + %t178 = load i32, ptr %exc.cell + %t179 = icmp ne i32 %t178, 0 + %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false) + br i1 %t180, label %exc.u93, label %exc.k94 +exc.u93: + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t165) + call void @sc_rc_release_dyn(ptr %t169) + br label %exc.cleanup2 +exc.k94: + store ptr %t162, ptr %s161 + call void @sc_rc_release_dyn(ptr %t165) + call void @sc_rc_release_dyn(ptr %t169) + br label %tern.j85 +tern.f84: + %t182 = call ptr @scr_dyn_undefined() + %t181 = call ptr @scr_dyn_retain_v(ptr %t182) + store ptr %t181, ptr %s161 + br label %tern.j85 +tern.j85: + %t183 = load ptr, ptr %s161 + %t184 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t184) + ret ptr %t183 +if.j82: + %t186 = call ptr @scr_dyn_undefined() + %t185 = call ptr @scr_dyn_retain_v(ptr %t186) + %t187 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t187) + ret ptr %t185 +exc.cleanup2: + %t188 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t188) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_call_2(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callback, ptr %p_sc_l_p_calleeName) #0 { ; %dyn.class.call.2 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_p_callback = alloca ptr ; callback + %sc_l_p_calleeName = alloca ptr ; calleeName + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s47 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_callback, ptr %sc_l_p_callback + store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_callback + %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t24 = icmp eq i32 %t23, 6 + %t25 = xor i1 %t24, true + br i1 %t25, label %if.t11, label %if.j12 +if.t11: + %t26 = load ptr, ptr %sc_l_p_callback + %t29 = getelementptr inbounds i8, ptr %t26, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t28 = icmp eq i32 %t30, 5 + br i1 %t28, label %dkg.ic13, label %dkg.any14 +dkg.ic13: + %t31 = call ptr @scr_dyn_obj_read_ic(ptr %t26, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_71) + br label %dkg.j15 +dkg.any14: + %t32 = call ptr @sc_dyn_key_get(ptr %t26, ptr @sc_lit_3610950885518037, i1 false) + br label %dkg.j15 +dkg.j15: + %t27 = phi ptr [ %t31, %dkg.ic13 ], [ %t32, %dkg.any14 ] + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t27) + br label %exc.cleanup2 +exc.k17: + %t36 = load ptr, ptr %sc_l_p_0 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t39 = load ptr, ptr %sc_l_p_calleeName + %t40 = getelementptr inbounds %ScrStr, ptr %t39, i32 1 + call void @scr_dyn_this_push_dyn(ptr %t37) + %t38 = call ptr @scr_dyn_call(ptr %t27, ptr null, i64 0, ptr %t40) + call void @scr_dyn_this_pop() + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + br label %exc.cleanup2 +exc.k19: + call void @sc_rc_release_dyn(ptr %t27) + call void @sc_rc_release_dyn(ptr %t37) + %t44 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr %t38 +if.j12: + %t45 = load ptr, ptr %sc_l_p_0 + %t46 = call ptr @sc_rc_retain_dyn(ptr %t45) + %t48 = icmp ne ptr %t46, null + br i1 %t48, label %dc.inspect20, label %dc.checked23 +dc.inspect20: + %t53 = getelementptr inbounds i8, ptr %t46, i64 8 ; ->kind + %t54 = load i32, ptr %t53 + %t49 = icmp eq i32 %t54, 12 + br i1 %t49, label %dc.capsule21, label %dc.checked23 +dc.capsule21: + %t50 = getelementptr inbounds i8, ptr %t46, i64 40 ; ->v.typed_ref.type_key + %t51 = load ptr, ptr %t50 + %t52 = icmp eq ptr %t51, @sc_cs_4041255434968695 + br i1 %t52, label %dc.exact22, label %dc.checked23 +dc.exact22: + %t55 = getelementptr inbounds i8, ptr %t46, i64 16 ; ->v.typed_ref.ptr + %t56 = load ptr, ptr %t55 + %t57 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t56) + store ptr %t57, ptr %s47 + br label %dc.done24 +dc.checked23: + %t58 = call ptr @sc_dc_101(ptr %t46, ptr null) + store ptr %t58, ptr %s47 + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u25, label %exc.k26 +exc.u25: + call void @sc_rc_release_dyn(ptr %t46) + br label %exc.cleanup2 +exc.k26: + br label %dc.done24 +dc.done24: + %t62 = load ptr, ptr %s47 + %t63 = call ptr @sc_bf__x25__x25_m3_LiteRequest_arrayBuffer(ptr %t62) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t46) + call void @sc_release__x25_m3_LiteRequest(ptr %t62) + call void @scr_promise_release(ptr %t63) + br label %exc.cleanup2 +exc.k28: + call void @sc_rc_release_dyn(ptr %t46) + call void @sc_release__x25_m3_LiteRequest(ptr %t62) + %t67 = call ptr @sc_td_38(ptr %t63) + call void @scr_promise_release(ptr %t63) + %t68 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t68) + ret ptr %t67 +if.j10: + %t69 = load ptr, ptr %sc_l_p_0 + %t70 = call ptr @sc_rc_retain_dyn(ptr %t69) + %t71 = call ptr @scr_dyn_prepare_method(ptr %t70, ptr @sc_cs_1207708014012541) + %t72 = load i32, ptr %exc.cell + %t73 = icmp ne i32 %t72, 0 + %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false) + br i1 %t74, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t71) + br label %exc.cleanup2 +exc.k30: + %t75 = load ptr, ptr %sc_l_p_calleeName + %t76 = getelementptr inbounds %ScrStr, ptr %t75, i32 1 + %t77 = call ptr @scr_dyn_invoke_prepared(ptr %t70, ptr %t71, ptr @sc_cs_1207708014012541, ptr null, i64 0, ptr %t76) + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t71) + call void @sc_rc_release_dyn(ptr %t77) + br label %exc.cleanup2 +exc.k32: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t71) + %t81 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t81) + ret ptr %t77 +exc.cleanup2: + %t82 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t82) + ret ptr null +} +define internal ptr @sc_f__x25_dyn_class_call_2(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_call_2(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p1) + call void @scr_str_release(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_callback_2(ptr %p_sc_l_p_0) #0 { ; %dyn.class.callback.2 +entry: + %sc_l_p_0 = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s21 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + br i1 true, label %tern.t11, label %tern.f12 +tern.t11: + %t22 = call ptr @scr_dyn_new_obj() + %t23 = load ptr, ptr %sc_l_p_0 + %t24 = call ptr @sc_rc_retain_dyn(ptr %t23) + %t25 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + br label %exc.cleanup2 +exc.k15: + %t31 = getelementptr inbounds i8, ptr %t25, i64 8 ; ->kind + %t32 = load i32, ptr %t31 + %t30 = icmp eq i32 %t32, 5 + br i1 %t30, label %dkg.ic16, label %dkg.any17 +dkg.ic16: + %t33 = call ptr @scr_dyn_obj_read_ic(ptr %t25, ptr @sc_lit_1207708014012541, ptr @sc_dyn_read_ic_72) + br label %dkg.j18 +dkg.any17: + %t34 = call ptr @sc_dyn_key_get(ptr %t25, ptr @sc_lit_1207708014012541, i1 false) + br label %dkg.j18 +dkg.j18: + %t29 = phi ptr [ %t33, %dkg.ic16 ], [ %t34, %dkg.any17 ] + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u19, label %exc.k20 +exc.u19: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup2 +exc.k20: + call void @scr_dyn_key_set(ptr %t22, ptr @sc_lit_3610950885518037, ptr %t29) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u21, label %exc.k22 +exc.u21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %exc.cleanup2 +exc.k22: + store ptr %t22, ptr %s21 + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t29) + br label %tern.j13 +tern.f12: + %t42 = call ptr @scr_dyn_undefined() + %t41 = call ptr @scr_dyn_retain_v(ptr %t42) + store ptr %t41, ptr %s21 + br label %tern.j13 +tern.j13: + %t43 = load ptr, ptr %s21 + %t44 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr %t43 +if.j10: + %t46 = call ptr @scr_dyn_undefined() + %t45 = call ptr @scr_dyn_retain_v(ptr %t46) + %t47 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t47) + ret ptr %t45 +exc.cleanup2: + %t48 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t48) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_60(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.60 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s196 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4028208071947570) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4028208071947570, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4028208071947570) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4028208071947570, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + %t187 = call ptr @sc_rc_retain_dyn(ptr %t186) + %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t188) + br label %exc.cleanup2 +exc.k80: + %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188) + call void @sc_rc_release_dyn(ptr %t188) + store ptr %t192, ptr %sc_l_bag_0 + %t193 = load ptr, ptr %sc_l_bag_0 + %t194 = load ptr, ptr %sc_l_p_0 + %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194) + br i1 %t195, label %tern.t81, label %tern.f82 +tern.t81: + %t197 = load ptr, ptr %sc_l_bag_0 + %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind + %t201 = load i32, ptr %t200 + %t199 = icmp eq i32 %t201, 5 + br i1 %t199, label %dkg.ic84, label %dkg.any85 +dkg.ic84: + %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_4028208071947570, ptr @sc_dyn_read_ic_73) + br label %dkg.j86 +dkg.any85: + %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_4028208071947570, i1 false) + br label %dkg.j86 +dkg.j86: + %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ] + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup89 +exc.k88: + store ptr %t198, ptr %s196 + br label %tern.j83 +tern.f82: + %t207 = load ptr, ptr %sc_l_bag_0 + %t208 = call ptr @sc_rc_retain_dyn(ptr %t207) + %t209 = load ptr, ptr %sc_l_p_0 + %t210 = call ptr @sc_rc_retain_dyn(ptr %t209) + %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_4028208071947570, ptr %t210) + %t212 = load i32, ptr %exc.cell + %t213 = icmp ne i32 %t212, 0 + %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false) + br i1 %t214, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + call void @sc_rc_release_dyn(ptr %t211) + br label %exc.cleanup89 +exc.k91: + store ptr %t211, ptr %s196 + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + br label %tern.j83 +tern.j83: + %t215 = load ptr, ptr %s196 + %t216 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t216) + %t217 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t217) + ret ptr %t215 +exc.cleanup2: + %t218 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t218) + ret ptr null +exc.cleanup89: + %t219 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t219) + %t220 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t220) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m11_StaticServer(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m11.StaticServer +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_864190948149583 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_103(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m11_StaticServer(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m11_StaticServer(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_61(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.61 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_864190948149583 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_864190948149583) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_864190948149583 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_103(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3423954012803281) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m11_StaticServer(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_864190948149583 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_103(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_864190948149583 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_103(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3423954012803281, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m11_StaticServer(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m11_StaticServer(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m11_StaticServer(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3423954012803281, ptr @sc_dyn_read_ic_74) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3423954012803281, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3423954012803281, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_62(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.62 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_67546268704151 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_67546268704151) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_67546268704151 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_107(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteHeaders(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_145319249654683) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteHeaders(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteHeaders(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_67546268704151 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_107(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteHeaders(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_67546268704151 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_107(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteHeaders(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_145319249654683, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteHeaders(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteHeaders(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteHeaders(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteHeaders(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_145319249654683, ptr @sc_dyn_read_ic_75) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_145319249654683, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_145319249654683, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartParser(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MultipartParser +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_3163508115280491 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_105(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MultipartParser(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartParser(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteResponse(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m3.LiteResponse +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca i1 + %s68 = alloca ptr + %s92 = alloca ptr + %s109 = alloca ptr + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_2434838942941195 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_2434838942941195) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_value + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_2434838942941195 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_52(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 18 + %t37 = icmp ule i64 %t35, 18 + %t38 = and i1 %t36, %t37 ; instanceof %m3.LiteResponse + call void @sc_release__x25_m2_FetchResponseSink(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_value + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_2434838942941195 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_52(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_value + store i1 false, ptr %s57 + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %brand.inspect24, label %brand.done26 +brand.inspect24: + %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t61 = icmp eq i32 %t60, 12 + br i1 %t61, label %brand.capsule25, label %brand.done26 +brand.capsule25: + %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t63 = load ptr, ptr %t62 + %t64 = icmp eq ptr %t63, @sc_cs_629517122853751 + store i1 true, ptr %s57 + br i1 %t64, label %brand.done26, label %brand.compare27 +brand.compare27: + %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_629517122853751) + store i1 %t65, ptr %s57 + br label %brand.done26 +brand.done26: + %t66 = load i1, ptr %s57 + br i1 %t66, label %if.t28, label %if.j29 +if.t28: + %t67 = load ptr, ptr %sc_l_value + %t69 = icmp ne ptr %t67, null + br i1 %t69, label %dc.inspect30, label %dc.checked33 +dc.inspect30: + %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind + %t75 = load i32, ptr %t74 + %t70 = icmp eq i32 %t75, 12 + br i1 %t70, label %dc.capsule31, label %dc.checked33 +dc.capsule31: + %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key + %t72 = load ptr, ptr %t71 + %t73 = icmp eq ptr %t72, @sc_cs_629517122853751 + br i1 %t73, label %dc.exact32, label %dc.checked33 +dc.exact32: + %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr + %t77 = load ptr, ptr %t76 + %t78 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t77) + store ptr %t78, ptr %s68 + br label %dc.done34 +dc.checked33: + %t79 = call ptr @sc_dc_29(ptr %t67, ptr null) + store ptr %t79, ptr %s68 + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u35, label %exc.k36 +exc.u35: + ret ptr null +exc.k36: + br label %dc.done34 +dc.done34: + %t83 = load ptr, ptr %s68 + %t84 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t83, i64 0, i32 1 + %t85 = load ptr, ptr %t84 + %t86 = getelementptr inbounds %ScrVt, ptr %t85, i64 0, i32 0 + %t87 = load i64, ptr %t86 + %t88 = icmp uge i64 %t87, 18 + %t89 = icmp ule i64 %t87, 18 + %t90 = and i1 %t88, %t89 ; instanceof %m3.LiteResponse + call void @sc_release__x25_m2_ResponseSink(ptr %t83) + br i1 %t90, label %if.t37, label %if.j38 +if.t37: + %t91 = load ptr, ptr %sc_l_value + %t93 = icmp ne ptr %t91, null + br i1 %t93, label %dc.inspect39, label %dc.checked42 +dc.inspect39: + %t98 = getelementptr inbounds i8, ptr %t91, i64 8 ; ->kind + %t99 = load i32, ptr %t98 + %t94 = icmp eq i32 %t99, 12 + br i1 %t94, label %dc.capsule40, label %dc.checked42 +dc.capsule40: + %t95 = getelementptr inbounds i8, ptr %t91, i64 40 ; ->v.typed_ref.type_key + %t96 = load ptr, ptr %t95 + %t97 = icmp eq ptr %t96, @sc_cs_629517122853751 + br i1 %t97, label %dc.exact41, label %dc.checked42 +dc.exact41: + %t100 = getelementptr inbounds i8, ptr %t91, i64 16 ; ->v.typed_ref.ptr + %t101 = load ptr, ptr %t100 + %t102 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t101) + store ptr %t102, ptr %s92 + br label %dc.done43 +dc.checked42: + %t103 = call ptr @sc_dc_29(ptr %t91, ptr null) + store ptr %t103, ptr %s92 + %t104 = load i32, ptr %exc.cell + %t105 = icmp ne i32 %t104, 0 + %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false) + br i1 %t106, label %exc.u44, label %exc.k45 +exc.u44: + ret ptr null +exc.k45: + br label %dc.done43 +dc.done43: + %t107 = load ptr, ptr %s92 + ret ptr %t107 +if.j38: + br label %if.j29 +if.j29: + %t108 = load ptr, ptr %sc_l_value + %t110 = icmp ne ptr %t108, null + br i1 %t110, label %dc.inspect46, label %dc.checked49 +dc.inspect46: + %t115 = getelementptr inbounds i8, ptr %t108, i64 8 ; ->kind + %t116 = load i32, ptr %t115 + %t111 = icmp eq i32 %t116, 12 + br i1 %t111, label %dc.capsule47, label %dc.checked49 +dc.capsule47: + %t112 = getelementptr inbounds i8, ptr %t108, i64 40 ; ->v.typed_ref.type_key + %t113 = load ptr, ptr %t112 + %t114 = icmp eq ptr %t113, @sc_cs_4074974279575818 + br i1 %t114, label %dc.exact48, label %dc.checked49 +dc.exact48: + %t117 = getelementptr inbounds i8, ptr %t108, i64 16 ; ->v.typed_ref.ptr + %t118 = load ptr, ptr %t117 + %t119 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t118) + store ptr %t119, ptr %s109 + br label %dc.done50 +dc.checked49: + %t120 = call ptr @sc_dc_104(ptr %t108, ptr null) + store ptr %t120, ptr %s109 + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u51, label %exc.k52 +exc.u51: + ret ptr null +exc.k52: + br label %dc.done50 +dc.done50: + %t124 = load ptr, ptr %s109 + ret ptr %t124 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m3_LiteResponse(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteResponse(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_63(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.63 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s45 = alloca i1 + %s57 = alloca ptr + %s84 = alloca ptr + %s107 = alloca ptr + %s142 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4408523527888294 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4408523527888294) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4408523527888294 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_21(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t38, i64 0, i32 6 + %t40 = load ptr, ptr %t39, !tbaa !98 + %t41 = call ptr @scr_union_retain_v(ptr %t40) + %t42 = call ptr @sc_ldu_3(ptr %t41) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m4_UploadedFile(ptr %t38) + call void @scr_union_release(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + ret ptr %t42 +if.j10: + %t44 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s45 + %t46 = icmp ne ptr %t44, null + br i1 %t46, label %brand.inspect18, label %brand.done20 +brand.inspect18: + %t47 = getelementptr inbounds i8, ptr %t44, i64 8 ; ->kind + %t48 = load i32, ptr %t47 + %t49 = icmp eq i32 %t48, 12 + br i1 %t49, label %brand.capsule19, label %brand.done20 +brand.capsule19: + %t50 = getelementptr inbounds i8, ptr %t44, i64 40 ; ->v.typed_ref.type_key + %t51 = load ptr, ptr %t50 + %t52 = icmp eq ptr %t51, @sc_cs_2875643240706496 + store i1 true, ptr %s45 + br i1 %t52, label %brand.done20, label %brand.compare21 +brand.compare21: + %t53 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t44, ptr @sc_lit_2875643240706496) + store i1 %t53, ptr %s45 + br label %brand.done20 +brand.done20: + %t54 = load i1, ptr %s45 + br i1 %t54, label %if.t22, label %if.j23 +if.t22: + %t55 = load ptr, ptr %sc_l_p_0 + %t56 = call ptr @sc_rc_retain_dyn(ptr %t55) + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t64 = load i32, ptr %t63 + %t59 = icmp eq i32 %t64, 12 + br i1 %t59, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t61 = load ptr, ptr %t60 + %t62 = icmp eq ptr %t61, @sc_cs_2875643240706496 + br i1 %t62, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr + %t66 = load ptr, ptr %t65 + %t67 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t66) + store ptr %t67, ptr %s57 + br label %dc.done28 +dc.checked27: + %t68 = call ptr @sc_dc_48(ptr %t56, ptr null) + store ptr %t68, ptr %s57 + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t56) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t72 = load ptr, ptr %s57 + %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t74 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t73) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_release__x25_m5_CtxCore(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + br label %exc.cleanup2 +exc.k32: + %t78 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t74, ptr @sc_lit_693828840439997) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u33, label %exc.k34 +exc.u33: + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_release__x25_m5_CtxCore(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + br label %exc.cleanup2 +exc.k34: + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_release__x25_m5_CtxCore(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + br i1 %t78, label %if.t35, label %if.j36 +if.t35: + %t82 = load ptr, ptr %sc_l_p_0 + %t83 = call ptr @sc_rc_retain_dyn(ptr %t82) + %t85 = icmp ne ptr %t83, null + br i1 %t85, label %dc.inspect37, label %dc.checked40 +dc.inspect37: + %t90 = getelementptr inbounds i8, ptr %t83, i64 8 ; ->kind + %t91 = load i32, ptr %t90 + %t86 = icmp eq i32 %t91, 12 + br i1 %t86, label %dc.capsule38, label %dc.checked40 +dc.capsule38: + %t87 = getelementptr inbounds i8, ptr %t83, i64 40 ; ->v.typed_ref.type_key + %t88 = load ptr, ptr %t87 + %t89 = icmp eq ptr %t88, @sc_cs_2875643240706496 + br i1 %t89, label %dc.exact39, label %dc.checked40 +dc.exact39: + %t92 = getelementptr inbounds i8, ptr %t83, i64 16 ; ->v.typed_ref.ptr + %t93 = load ptr, ptr %t92 + %t94 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t93) + store ptr %t94, ptr %s84 + br label %dc.done41 +dc.checked40: + %t95 = call ptr @sc_dc_48(ptr %t83, ptr null) + store ptr %t95, ptr %s84 + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t83) + br label %exc.cleanup2 +exc.k43: + br label %dc.done41 +dc.done41: + %t99 = load ptr, ptr %s84 + %t100 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t99, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t101 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t100) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_release__x25_m5_CtxCore(ptr %t99) + call void @sc_rc_release_dyn(ptr %t101) + br label %exc.cleanup2 +exc.k45: + %t105 = load ptr, ptr %sc_l_p_0 + %t106 = call ptr @sc_rc_retain_dyn(ptr %t105) + %t108 = icmp ne ptr %t106, null + br i1 %t108, label %dc.inspect46, label %dc.checked49 +dc.inspect46: + %t113 = getelementptr inbounds i8, ptr %t106, i64 8 ; ->kind + %t114 = load i32, ptr %t113 + %t109 = icmp eq i32 %t114, 12 + br i1 %t109, label %dc.capsule47, label %dc.checked49 +dc.capsule47: + %t110 = getelementptr inbounds i8, ptr %t106, i64 40 ; ->v.typed_ref.type_key + %t111 = load ptr, ptr %t110 + %t112 = icmp eq ptr %t111, @sc_cs_2875643240706496 + br i1 %t112, label %dc.exact48, label %dc.checked49 +dc.exact48: + %t115 = getelementptr inbounds i8, ptr %t106, i64 16 ; ->v.typed_ref.ptr + %t116 = load ptr, ptr %t115 + %t117 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t116) + store ptr %t117, ptr %s107 + br label %dc.done50 +dc.checked49: + %t118 = call ptr @sc_dc_48(ptr %t106, ptr null) + store ptr %t118, ptr %s107 + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_release__x25_m5_CtxCore(ptr %t99) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t106) + br label %exc.cleanup2 +exc.k52: + br label %dc.done50 +dc.done50: + %t122 = load ptr, ptr %s107 + %t123 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t122, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t124 = call ptr @scr_dyn_bag_get(ptr %t101, ptr @sc_lit_693828840439997, ptr %t123) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_release__x25_m5_CtxCore(ptr %t99) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_release__x25_m5_CtxCore(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + call void @sc_rc_release_dyn(ptr %t124) + br label %exc.cleanup2 +exc.k54: + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_release__x25_m5_CtxCore(ptr %t99) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_release__x25_m5_CtxCore(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + ret ptr %t124 +if.j36: + %t130 = call ptr @scr_dyn_undefined() + %t129 = call ptr @scr_dyn_retain_v(ptr %t130) + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + ret ptr %t129 +if.j23: + %t132 = load ptr, ptr %sc_l_p_0 + %t133 = call ptr @sc_rc_retain_dyn(ptr %t132) + %t134 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t133) + %t135 = load i32, ptr %exc.cell + %t136 = icmp ne i32 %t135, 0 + %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false) + br i1 %t137, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t134) + br label %exc.cleanup2 +exc.k56: + %t138 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t134) + call void @sc_rc_release_dyn(ptr %t134) + store ptr %t138, ptr %sc_l_bag_0 + %t139 = load ptr, ptr %sc_l_bag_0 + %t140 = load ptr, ptr %sc_l_p_0 + %t141 = call zeroext i1 @scr_dyn_strict_eq(ptr %t139, ptr %t140) + br i1 %t141, label %tern.t57, label %tern.f58 +tern.t57: + %t143 = load ptr, ptr %sc_l_bag_0 + %t146 = getelementptr inbounds i8, ptr %t143, i64 8 ; ->kind + %t147 = load i32, ptr %t146 + %t145 = icmp eq i32 %t147, 5 + br i1 %t145, label %dkg.ic60, label %dkg.any61 +dkg.ic60: + %t148 = call ptr @scr_dyn_obj_read_ic(ptr %t143, ptr @sc_lit_693828840439997, ptr @sc_dyn_read_ic_76) + br label %dkg.j62 +dkg.any61: + %t149 = call ptr @sc_dyn_key_get(ptr %t143, ptr @sc_lit_693828840439997, i1 false) + br label %dkg.j62 +dkg.j62: + %t144 = phi ptr [ %t148, %dkg.ic60 ], [ %t149, %dkg.any61 ] + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u63, label %exc.k64 +exc.u63: + call void @sc_rc_release_dyn(ptr %t144) + br label %exc.cleanup65 +exc.k64: + store ptr %t144, ptr %s142 + br label %tern.j59 +tern.f58: + %t153 = load ptr, ptr %sc_l_bag_0 + %t154 = call ptr @sc_rc_retain_dyn(ptr %t153) + %t155 = load ptr, ptr %sc_l_p_0 + %t156 = call ptr @sc_rc_retain_dyn(ptr %t155) + %t157 = call ptr @scr_dyn_bag_get(ptr %t154, ptr @sc_lit_693828840439997, ptr %t156) + %t158 = load i32, ptr %exc.cell + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t154) + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + br label %exc.cleanup65 +exc.k67: + store ptr %t157, ptr %s142 + call void @sc_rc_release_dyn(ptr %t154) + call void @sc_rc_release_dyn(ptr %t156) + br label %tern.j59 +tern.j59: + %t161 = load ptr, ptr %s142 + %t162 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t162) + %t163 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t163) + ret ptr %t161 +exc.cleanup2: + %t164 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t164) + ret ptr null +exc.cleanup65: + %t165 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t165) + %t166 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t166) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartStorage(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MultipartStorage +entry: + %sc_l_value = alloca ptr ; value + %s1 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_value + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %dc.inspect0, label %dc.checked3 +dc.inspect0: + %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t3 = icmp eq i32 %t8, 12 + br i1 %t3, label %dc.capsule1, label %dc.checked3 +dc.capsule1: + %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t5 = load ptr, ptr %t4 + %t6 = icmp eq ptr %t5, @sc_cs_3635319175845957 + br i1 %t6, label %dc.exact2, label %dc.checked3 +dc.exact2: + %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr + %t10 = load ptr, ptr %t9 + %t11 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t10) + store ptr %t11, ptr %s1 + br label %dc.done4 +dc.checked3: + %t12 = call ptr @sc_dc_24(ptr %t0, ptr null) + store ptr %t12, ptr %s1 + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + ret ptr null +exc.k6: + br label %dc.done4 +dc.done4: + %t16 = load ptr, ptr %s1 + ret ptr %t16 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MultipartStorage(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartStorage(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_64(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.64 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t12) + br label %exc.cleanup2 +exc.k6: + %t16 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t12) + call void @sc_rc_release_dyn(ptr %t12) + store ptr %t16, ptr %sc_l_bag_0 + %t17 = load ptr, ptr %sc_l_bag_0 + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = call zeroext i1 @scr_dyn_strict_eq(ptr %t17, ptr %t18) + br i1 %t19, label %tern.t7, label %tern.f8 +tern.t7: + %t21 = load ptr, ptr %sc_l_bag_0 + %t24 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind + %t25 = load i32, ptr %t24 + %t23 = icmp eq i32 %t25, 5 + br i1 %t23, label %dkg.ic10, label %dkg.any11 +dkg.ic10: + %t26 = call ptr @scr_dyn_obj_read_ic(ptr %t21, ptr @sc_lit_592597863501714, ptr @sc_dyn_read_ic_77) + br label %dkg.j12 +dkg.any11: + %t27 = call ptr @sc_dyn_key_get(ptr %t21, ptr @sc_lit_592597863501714, i1 false) + br label %dkg.j12 +dkg.j12: + %t22 = phi ptr [ %t26, %dkg.ic10 ], [ %t27, %dkg.any11 ] + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup15 +exc.k14: + store ptr %t22, ptr %s20 + br label %tern.j9 +tern.f8: + %t31 = load ptr, ptr %sc_l_bag_0 + %t32 = call ptr @sc_rc_retain_dyn(ptr %t31) + %t33 = load ptr, ptr %sc_l_p_0 + %t34 = call ptr @sc_rc_retain_dyn(ptr %t33) + %t35 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_592597863501714, ptr %t34) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + br label %exc.cleanup15 +exc.k17: + store ptr %t35, ptr %s20 + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + br label %tern.j9 +tern.j9: + %t39 = load ptr, ptr %s20 + %t40 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t41) + ret ptr %t39 +exc.cleanup2: + %t42 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.cleanup15: + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +} + +define internal ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders() #0 { ; %prototype.data.%m3.LiteHeaders +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + store i1 true, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_731773075116702) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get) + %t13 = call ptr @sc_dfb_58(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_2556418033318189) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has) + %t34 = call ptr @sc_dfb_64(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_td_0(ptr @sc_lit_2782259059515958) + %t53 = call ptr @scr_dyn_new_obj() + %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie) + %t55 = call ptr @sc_dfb_60(ptr %t54, ptr null) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + ret ptr null +exc.k21: + %t59 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + ret ptr null +exc.k23: + %t63 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + ret ptr null +exc.k25: + %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + ret ptr null +exc.k27: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t53) + call void @scr_closure_release(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t67) + %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = call ptr @sc_td_0(ptr @sc_lit_145319249654683) + %t74 = call ptr @scr_dyn_new_obj() + %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach) + %t76 = call ptr @sc_dfb_69(ptr %t75, ptr null) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + ret ptr null +exc.k29: + %t80 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + ret ptr null +exc.k31: + %t84 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k33: + %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t88) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t74) + call void @scr_closure_release(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + call void @sc_rc_release_dyn(ptr %t80) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t88) + br label %if.j3 +if.j3: + %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + %t93 = call ptr @sc_rc_retain_dyn(ptr %t92) + ret ptr %t93 +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m3.LiteHeaders +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_67546268704151 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_67546268704151) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_67546268704151 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_107(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteHeaders(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m3_LiteHeaders(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteHeaders.get +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m3_LiteHeaders_get(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + call void @scr_str_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal i1 @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteHeaders.has +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret i1 false +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call i1 @sc_bf__x25__x25_m3_LiteHeaders_has(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret i1 %t10 +exc.k5: + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret i1 %t10 +} +define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %p0) #0 { +entry: + %result = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %p0) + call void @scr_str_release(ptr %p0) + ret i1 %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie() #0 { ; %method.value:%%m3.LiteHeaders.getSetCookie +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m3_LiteHeaders_getSetCookie(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + call void @scr_arr_release(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret ptr %t9 +} + +define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteHeaders.forEach +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret void +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_bf__x25__x25_m3_LiteHeaders_forEach(ptr %t5, ptr %t9) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret void +exc.k5: + call void @sc_release__x25_m3_LiteHeaders(ptr %t5) + ret void +} +define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %p0) + call void @scr_closure_release(ptr %p0) + ret void +} + +define internal i1 @sc_bf__x25_dyn_class_bagHas(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %dyn.class.bagHas +entry: + %sc_l_p_0 = alloca ptr ; bag + %sc_l_p_1 = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret i1 false +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t6 = load i32, ptr %t5 + %t7 = icmp eq i32 %t6, 6 + br i1 %t7, label %if.t2, label %if.j3 +if.t2: + ret i1 false +if.j3: + %t8 = load ptr, ptr %sc_l_p_0 + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = load ptr, ptr %sc_l_p_1 + %t11 = call ptr @sc_rc_retain_str(ptr %t10) + %t12 = call zeroext i1 @scr_dyn_has_key(ptr %t9, ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @scr_str_release(ptr %t11) + ret i1 false +exc.k5: + call void @sc_rc_release_dyn(ptr %t9) + call void @scr_str_release(ptr %t11) + ret i1 %t12 +} +define internal i1 @sc_f__x25_dyn_class_bagHas(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %p0, ptr %p1) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + ret i1 %result +} + +define internal void @sc_bf__x25_dyn_class_keys_463(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.463 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_3038119887745057(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_31(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_arr_release(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t6, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !32 + call void @scr_arr_release(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_2387748979716321(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call ptr @sc_dc_33(ptr %t17, ptr null) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_arr_release(ptr %t18) + ret void +exc.k9: + %t22 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t16, i64 0, i32 2 + %t23 = load ptr, ptr %t22 + store ptr %t18, ptr %t22, !tbaa !170 + call void @scr_arr_release(ptr %t23) + ret void +if.j7: + %t24 = load ptr, ptr %sc_l_key_string + %t25 = call zeroext i1 @sc_streq_4074236996717255(ptr %t24) + br i1 %t25, label %if.t10, label %if.j11 +if.t10: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_dc_35(ptr %t27, ptr null) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_arr_release(ptr %t28) + ret void +exc.k13: + %t32 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t26, i64 0, i32 3 + %t33 = load ptr, ptr %t32 + store ptr %t28, ptr %t32, !tbaa !36 + call void @scr_arr_release(ptr %t33) + ret void +if.j11: + %t34 = load ptr, ptr %sc_l_key_string + %t35 = call zeroext i1 @sc_streq_3834689050502795(ptr %t34) + br i1 %t35, label %if.t14, label %if.j15 +if.t14: + %t36 = load ptr, ptr %sc_l_p_receiver + %t37 = load ptr, ptr %sc_l_p_1 + %t38 = call ptr @sc_dc_37(ptr %t37, ptr null) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_arr_release(ptr %t38) + ret void +exc.k17: + %t42 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t36, i64 0, i32 4 + %t43 = load ptr, ptr %t42 + store ptr %t38, ptr %t42, !tbaa !34 + call void @scr_arr_release(ptr %t43) + ret void +if.j15: + %t44 = load ptr, ptr %sc_l_key_string + %t45 = call zeroext i1 @sc_streq_772714621079184(ptr %t44) + br i1 %t45, label %if.t18, label %if.j19 +if.t18: + %t46 = load ptr, ptr %sc_l_p_receiver + %t47 = load ptr, ptr %sc_l_p_1 + %t48 = call ptr @sc_dc_36(ptr %t47, ptr null) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_closure_release(ptr %t48) + ret void +exc.k21: + %t52 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t46, i64 0, i32 5 + %t53 = load ptr, ptr %t52 + store ptr %t48, ptr %t52, !tbaa !172 + call void @scr_closure_release(ptr %t53) + ret void +if.j19: + %t54 = load ptr, ptr %sc_l_key_string + %t55 = call zeroext i1 @sc_streq_1253948269358290(ptr %t54) + br i1 %t55, label %if.t22, label %if.j23 +if.t22: + %t56 = load ptr, ptr %sc_l_p_receiver + %t57 = load ptr, ptr %sc_l_p_1 + %t58 = call ptr @sc_dc_33(ptr %t57, ptr null) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_arr_release(ptr %t58) + ret void +exc.k25: + %t62 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t56, i64 0, i32 6 + %t63 = load ptr, ptr %t62 + store ptr %t58, ptr %t62, !tbaa !174 + call void @scr_arr_release(ptr %t63) + ret void +if.j23: + %t64 = load ptr, ptr %sc_l_key_string + %t65 = call zeroext i1 @sc_streq_872249802202544(ptr %t64) + br i1 %t65, label %if.t26, label %if.j27 +if.t26: + %t66 = load ptr, ptr %sc_l_p_receiver + %t67 = load ptr, ptr %sc_l_p_1 + %t68 = call ptr @sc_dc_38(ptr %t67, ptr null) + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u28, label %exc.k29 +exc.u28: + call void @scr_union_release(ptr %t68) + ret void +exc.k29: + %t72 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t66, i64 0, i32 7 + %t73 = load ptr, ptr %t72 + store ptr %t68, ptr %t72, !tbaa !176 + call void @scr_union_release(ptr %t73) + ret void +if.j27: + %t74 = load ptr, ptr %sc_l_key_string + %t75 = call zeroext i1 @sc_streq_3257120253469437(ptr %t74) + br i1 %t75, label %if.t30, label %if.j31 +if.t30: + %t76 = load ptr, ptr %sc_l_p_receiver + %t77 = load ptr, ptr %sc_l_p_1 + %t78 = call ptr @sc_dc_35(ptr %t77, ptr null) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u32, label %exc.k33 +exc.u32: + call void @scr_arr_release(ptr %t78) + ret void +exc.k33: + %t82 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t76, i64 0, i32 8 + %t83 = load ptr, ptr %t82 + store ptr %t78, ptr %t82, !tbaa !178 + call void @scr_arr_release(ptr %t83) + ret void +if.j31: + %t84 = load ptr, ptr %sc_l_key_string + %t85 = call zeroext i1 @sc_streq_3782354537448346(ptr %t84) + br i1 %t85, label %if.t34, label %if.j35 +if.t34: + %t86 = load ptr, ptr %sc_l_p_receiver + %t87 = load ptr, ptr %sc_l_p_1 + %t88 = call ptr @sc_dc_36(ptr %t87, ptr null) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u36, label %exc.k37 +exc.u36: + call void @scr_closure_release(ptr %t88) + ret void +exc.k37: + %t92 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t86, i64 0, i32 9 + %t93 = load ptr, ptr %t92 + store ptr %t88, ptr %t92, !tbaa !180 + call void @scr_closure_release(ptr %t93) + ret void +if.j35: + %t94 = load ptr, ptr %sc_l_key_string + %t95 = call zeroext i1 @sc_streq_886324725696546(ptr %t94) + br i1 %t95, label %if.t38, label %if.j39 +if.t38: + %t96 = load ptr, ptr %sc_l_p_receiver + %t97 = load ptr, ptr %sc_l_p_1 + %t98 = call ptr @sc_dc_40(ptr %t97, ptr null) + %t99 = load i32, ptr %exc.cell + %t100 = icmp ne i32 %t99, 0 + %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false) + br i1 %t101, label %exc.u40, label %exc.k41 +exc.u40: + call void @scr_arr_release(ptr %t98) + ret void +exc.k41: + %t102 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t96, i64 0, i32 10 + %t103 = load ptr, ptr %t102 + store ptr %t98, ptr %t102, !tbaa !150 + call void @scr_arr_release(ptr %t103) + ret void +if.j39: + %t104 = load ptr, ptr %sc_l_key_string + %t105 = call zeroext i1 @sc_streq_535630044833136(ptr %t104) + br i1 %t105, label %if.t42, label %if.j43 +if.t42: + %t106 = load ptr, ptr %sc_l_p_receiver + %t107 = load ptr, ptr %sc_l_p_1 + %t108 = call ptr @sc_dc_41(ptr %t107, ptr null) + %t109 = load i32, ptr %exc.cell + %t110 = icmp ne i32 %t109, 0 + %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false) + br i1 %t111, label %exc.u44, label %exc.k45 +exc.u44: + call void @scr_arr_release(ptr %t108) + ret void +exc.k45: + %t112 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t106, i64 0, i32 11 + %t113 = load ptr, ptr %t112 + store ptr %t108, ptr %t112, !tbaa !152 + call void @scr_arr_release(ptr %t113) + ret void +if.j43: + %t114 = load ptr, ptr %sc_l_key_string + %t115 = call zeroext i1 @sc_streq_4400741686745380(ptr %t114) + br i1 %t115, label %if.t46, label %if.j47 +if.t46: + %t116 = load ptr, ptr %sc_l_p_receiver + %t117 = load ptr, ptr %sc_l_p_1 + %t118 = call ptr @sc_dc_19(ptr %t117, ptr null) + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_arr_release(ptr %t118) + ret void +exc.k49: + %t122 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t116, i64 0, i32 12 + %t123 = load ptr, ptr %t122 + store ptr %t118, ptr %t122, !tbaa !154 + call void @scr_arr_release(ptr %t123) + ret void +if.j47: + %t124 = load ptr, ptr %sc_l_key_string + %t125 = call zeroext i1 @sc_streq_1668606746601237(ptr %t124) + br i1 %t125, label %if.t50, label %if.j51 +if.t50: + %t126 = load ptr, ptr %sc_l_p_receiver + %t127 = load ptr, ptr %sc_l_p_1 + %t128 = call ptr @sc_dc_19(ptr %t127, ptr null) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u52, label %exc.k53 +exc.u52: + call void @scr_arr_release(ptr %t128) + ret void +exc.k53: + %t132 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t126, i64 0, i32 13 + %t133 = load ptr, ptr %t132 + store ptr %t128, ptr %t132, !tbaa !38 + call void @scr_arr_release(ptr %t133) + ret void +if.j51: + %t134 = load ptr, ptr %sc_l_key_string + %t135 = call zeroext i1 @sc_streq_1388999587933298(ptr %t134) + br i1 %t135, label %if.t54, label %if.j55 +if.t54: + %t136 = load ptr, ptr %sc_l_p_receiver + %t137 = load ptr, ptr %sc_l_p_1 + %t138 = call ptr @sc_dc_42(ptr %t137, ptr null) + %t139 = load i32, ptr %exc.cell + %t140 = icmp ne i32 %t139, 0 + %t141 = call i1 @llvm.expect.i1(i1 %t140, i1 false) + br i1 %t141, label %exc.u56, label %exc.k57 +exc.u56: + call void @scr_arr_release(ptr %t138) + ret void +exc.k57: + %t142 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t136, i64 0, i32 14 + %t143 = load ptr, ptr %t142 + store ptr %t138, ptr %t142, !tbaa !40 + call void @scr_arr_release(ptr %t143) + ret void +if.j55: + %t144 = load ptr, ptr %sc_l_key_string + %t145 = call zeroext i1 @sc_streq_1094398669481625(ptr %t144) + br i1 %t145, label %if.t58, label %if.j59 +if.t58: + %t146 = load ptr, ptr %sc_l_p_receiver + %t147 = load ptr, ptr %sc_l_p_1 + %t148 = call ptr @sc_dc_44(ptr %t147, ptr null) + %t149 = load i32, ptr %exc.cell + %t150 = icmp ne i32 %t149, 0 + %t151 = call i1 @llvm.expect.i1(i1 %t150, i1 false) + br i1 %t151, label %exc.u60, label %exc.k61 +exc.u60: + call void @scr_closure_release(ptr %t148) + ret void +exc.k61: + %t152 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t146, i64 0, i32 15 + %t153 = load ptr, ptr %t152 + store ptr %t148, ptr %t152, !tbaa !182 + call void @scr_closure_release(ptr %t153) + ret void +if.j59: + %t154 = load ptr, ptr %sc_l_key_string + %t155 = call zeroext i1 @sc_streq_1345623861448315(ptr %t154) + br i1 %t155, label %if.t62, label %if.j63 +if.t62: + %t156 = load ptr, ptr %sc_l_p_receiver + %t157 = load ptr, ptr %sc_l_p_1 + %t158 = call ptr @sc_dc_45(ptr %t157, ptr null) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u64, label %exc.k65 +exc.u64: + call void @scr_closure_release(ptr %t158) + ret void +exc.k65: + %t162 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t156, i64 0, i32 16 + %t163 = load ptr, ptr %t162 + store ptr %t158, ptr %t162, !tbaa !184 + call void @scr_closure_release(ptr %t163) + ret void +if.j63: + %t164 = load ptr, ptr %sc_l_key_string + %t165 = call zeroext i1 @sc_streq_3774229428846185(ptr %t164) + br i1 %t165, label %if.t66, label %if.j67 +if.t66: + %t166 = load ptr, ptr %sc_l_p_receiver + %t167 = load ptr, ptr %sc_l_p_1 + %t168 = call ptr @sc_dc_47(ptr %t167, ptr null) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u68, label %exc.k69 +exc.u68: + call void @scr_closure_release(ptr %t168) + ret void +exc.k69: + %t172 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t166, i64 0, i32 17 + %t173 = load ptr, ptr %t172 + store ptr %t168, ptr %t172, !tbaa !186 + call void @scr_closure_release(ptr %t173) + ret void +if.j67: + %t174 = load ptr, ptr %sc_l_key_string + %t175 = call zeroext i1 @sc_streq_731773075116702(ptr %t174) + br i1 %t175, label %if.t70, label %if.j71 +if.t70: + %t176 = load ptr, ptr %sc_l_p_receiver + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t178 = call ptr @sc_f__x25_dyn_class_properties(ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t178) + ret void +exc.k73: + %t182 = load ptr, ptr %sc_l_p_1 + %t183 = call ptr @sc_rc_retain_dyn(ptr %t182) + %t184 = load ptr, ptr %sc_l_p_receiver + %t185 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t184, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t178, ptr @sc_lit_731773075116702, ptr %t183, ptr %t185) + %t186 = load i32, ptr %exc.cell + %t187 = icmp ne i32 %t186, 0 + %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false) + br i1 %t188, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t183) + call void @sc_rc_release_dyn(ptr %t185) + ret void +exc.k75: + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t183) + call void @sc_rc_release_dyn(ptr %t185) + ret void +if.j71: + %t189 = load ptr, ptr %sc_l_key_string + %t190 = call zeroext i1 @sc_streq_2007918756741504(ptr %t189) + br i1 %t190, label %if.t76, label %if.j77 +if.t76: + %t191 = load ptr, ptr %sc_l_p_receiver + %t192 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t191, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t193 = call ptr @sc_f__x25_dyn_class_properties(ptr %t192) + %t194 = load i32, ptr %exc.cell + %t195 = icmp ne i32 %t194, 0 + %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false) + br i1 %t196, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t193) + ret void +exc.k79: + %t197 = load ptr, ptr %sc_l_p_1 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t199 = load ptr, ptr %sc_l_p_receiver + %t200 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t199, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t193, ptr @sc_lit_2007918756741504, ptr %t198, ptr %t200) + %t201 = load i32, ptr %exc.cell + %t202 = icmp ne i32 %t201, 0 + %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false) + br i1 %t203, label %exc.u80, label %exc.k81 +exc.u80: + call void @sc_rc_release_dyn(ptr %t193) + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t200) + ret void +exc.k81: + call void @sc_rc_release_dyn(ptr %t193) + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t200) + ret void +if.j77: + %t204 = load ptr, ptr %sc_l_key_string + %t205 = call zeroext i1 @sc_streq_971741391048674(ptr %t204) + br i1 %t205, label %if.t82, label %if.j83 +if.t82: + %t206 = load ptr, ptr %sc_l_p_receiver + %t207 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t206, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t208 = call ptr @sc_f__x25_dyn_class_properties(ptr %t207) + %t209 = load i32, ptr %exc.cell + %t210 = icmp ne i32 %t209, 0 + %t211 = call i1 @llvm.expect.i1(i1 %t210, i1 false) + br i1 %t211, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t208) + ret void +exc.k85: + %t212 = load ptr, ptr %sc_l_p_1 + %t213 = call ptr @sc_rc_retain_dyn(ptr %t212) + %t214 = load ptr, ptr %sc_l_p_receiver + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t208, ptr @sc_lit_971741391048674, ptr %t213, ptr %t215) + %t216 = load i32, ptr %exc.cell + %t217 = icmp ne i32 %t216, 0 + %t218 = call i1 @llvm.expect.i1(i1 %t217, i1 false) + br i1 %t218, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t213) + call void @sc_rc_release_dyn(ptr %t215) + ret void +exc.k87: + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t213) + call void @sc_rc_release_dyn(ptr %t215) + ret void +if.j83: + %t219 = load ptr, ptr %sc_l_key_string + %t220 = call zeroext i1 @sc_streq_1716842667196161(ptr %t219) + br i1 %t220, label %if.t88, label %if.j89 +if.t88: + %t221 = load ptr, ptr %sc_l_p_receiver + %t222 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t221, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t223 = call ptr @sc_f__x25_dyn_class_properties(ptr %t222) + %t224 = load i32, ptr %exc.cell + %t225 = icmp ne i32 %t224, 0 + %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false) + br i1 %t226, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t223) + ret void +exc.k91: + %t227 = load ptr, ptr %sc_l_p_1 + %t228 = call ptr @sc_rc_retain_dyn(ptr %t227) + %t229 = load ptr, ptr %sc_l_p_receiver + %t230 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t229, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t223, ptr @sc_lit_1716842667196161, ptr %t228, ptr %t230) + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t230) + ret void +exc.k93: + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t230) + ret void +if.j89: + %t234 = load ptr, ptr %sc_l_key_string + %t235 = call zeroext i1 @sc_streq_2894558501580739(ptr %t234) + br i1 %t235, label %if.t94, label %if.j95 +if.t94: + %t236 = load ptr, ptr %sc_l_p_receiver + %t237 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t236, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t238 = call ptr @sc_f__x25_dyn_class_properties(ptr %t237) + %t239 = load i32, ptr %exc.cell + %t240 = icmp ne i32 %t239, 0 + %t241 = call i1 @llvm.expect.i1(i1 %t240, i1 false) + br i1 %t241, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t238) + ret void +exc.k97: + %t242 = load ptr, ptr %sc_l_p_1 + %t243 = call ptr @sc_rc_retain_dyn(ptr %t242) + %t244 = load ptr, ptr %sc_l_p_receiver + %t245 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t244, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t238, ptr @sc_lit_2894558501580739, ptr %t243, ptr %t245) + %t246 = load i32, ptr %exc.cell + %t247 = icmp ne i32 %t246, 0 + %t248 = call i1 @llvm.expect.i1(i1 %t247, i1 false) + br i1 %t248, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t238) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t245) + ret void +exc.k99: + call void @sc_rc_release_dyn(ptr %t238) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t245) + ret void +if.j95: + %t249 = load ptr, ptr %sc_l_key_string + %t250 = call zeroext i1 @sc_streq_2800347990603543(ptr %t249) + br i1 %t250, label %if.t100, label %if.j101 +if.t100: + %t251 = load ptr, ptr %sc_l_p_receiver + %t252 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t251, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t253 = call ptr @sc_f__x25_dyn_class_properties(ptr %t252) + %t254 = load i32, ptr %exc.cell + %t255 = icmp ne i32 %t254, 0 + %t256 = call i1 @llvm.expect.i1(i1 %t255, i1 false) + br i1 %t256, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t253) + ret void +exc.k103: + %t257 = load ptr, ptr %sc_l_p_1 + %t258 = call ptr @sc_rc_retain_dyn(ptr %t257) + %t259 = load ptr, ptr %sc_l_p_receiver + %t260 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t259, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t253, ptr @sc_lit_2800347990603543, ptr %t258, ptr %t260) + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t253) + call void @sc_rc_release_dyn(ptr %t258) + call void @sc_rc_release_dyn(ptr %t260) + ret void +exc.k105: + call void @sc_rc_release_dyn(ptr %t253) + call void @sc_rc_release_dyn(ptr %t258) + call void @sc_rc_release_dyn(ptr %t260) + ret void +if.j101: + %t264 = load ptr, ptr %sc_l_key_string + %t265 = call zeroext i1 @sc_streq_2948042885743279(ptr %t264) + br i1 %t265, label %if.t106, label %if.j107 +if.t106: + %t266 = load ptr, ptr %sc_l_p_receiver + %t267 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t266, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t268 = call ptr @sc_f__x25_dyn_class_properties(ptr %t267) + %t269 = load i32, ptr %exc.cell + %t270 = icmp ne i32 %t269, 0 + %t271 = call i1 @llvm.expect.i1(i1 %t270, i1 false) + br i1 %t271, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t268) + ret void +exc.k109: + %t272 = load ptr, ptr %sc_l_p_1 + %t273 = call ptr @sc_rc_retain_dyn(ptr %t272) + %t274 = load ptr, ptr %sc_l_p_receiver + %t275 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t274, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t268, ptr @sc_lit_2948042885743279, ptr %t273, ptr %t275) + %t276 = load i32, ptr %exc.cell + %t277 = icmp ne i32 %t276, 0 + %t278 = call i1 @llvm.expect.i1(i1 %t277, i1 false) + br i1 %t278, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t268) + call void @sc_rc_release_dyn(ptr %t273) + call void @sc_rc_release_dyn(ptr %t275) + ret void +exc.k111: + call void @sc_rc_release_dyn(ptr %t268) + call void @sc_rc_release_dyn(ptr %t273) + call void @sc_rc_release_dyn(ptr %t275) + ret void +if.j107: + %t279 = load ptr, ptr %sc_l_key_string + %t280 = call zeroext i1 @sc_streq_1670565919607657(ptr %t279) + br i1 %t280, label %if.t112, label %if.j113 +if.t112: + %t281 = load ptr, ptr %sc_l_p_receiver + %t282 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t281, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t283 = call ptr @sc_f__x25_dyn_class_properties(ptr %t282) + %t284 = load i32, ptr %exc.cell + %t285 = icmp ne i32 %t284, 0 + %t286 = call i1 @llvm.expect.i1(i1 %t285, i1 false) + br i1 %t286, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t283) + ret void +exc.k115: + %t287 = load ptr, ptr %sc_l_p_1 + %t288 = call ptr @sc_rc_retain_dyn(ptr %t287) + %t289 = load ptr, ptr %sc_l_p_receiver + %t290 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t289, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t283, ptr @sc_lit_1670565919607657, ptr %t288, ptr %t290) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t283) + call void @sc_rc_release_dyn(ptr %t288) + call void @sc_rc_release_dyn(ptr %t290) + ret void +exc.k117: + call void @sc_rc_release_dyn(ptr %t283) + call void @sc_rc_release_dyn(ptr %t288) + call void @sc_rc_release_dyn(ptr %t290) + ret void +if.j113: + %t294 = load ptr, ptr %sc_l_key_string + %t295 = call zeroext i1 @sc_streq_3251470234448474(ptr %t294) + br i1 %t295, label %if.t118, label %if.j119 +if.t118: + %t296 = load ptr, ptr %sc_l_p_receiver + %t297 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t296, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t298 = call ptr @sc_f__x25_dyn_class_properties(ptr %t297) + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t298) + ret void +exc.k121: + %t302 = load ptr, ptr %sc_l_p_1 + %t303 = call ptr @sc_rc_retain_dyn(ptr %t302) + %t304 = load ptr, ptr %sc_l_p_receiver + %t305 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t304, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t298, ptr @sc_lit_3251470234448474, ptr %t303, ptr %t305) + %t306 = load i32, ptr %exc.cell + %t307 = icmp ne i32 %t306, 0 + %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false) + br i1 %t308, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t303) + call void @sc_rc_release_dyn(ptr %t305) + ret void +exc.k123: + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t303) + call void @sc_rc_release_dyn(ptr %t305) + ret void +if.j119: + %t309 = load ptr, ptr %sc_l_key_string + %t310 = call zeroext i1 @sc_streq_2879707573315964(ptr %t309) + br i1 %t310, label %if.t124, label %if.j125 +if.t124: + %t311 = load ptr, ptr %sc_l_p_receiver + %t312 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t311, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t313 = call ptr @sc_f__x25_dyn_class_properties(ptr %t312) + %t314 = load i32, ptr %exc.cell + %t315 = icmp ne i32 %t314, 0 + %t316 = call i1 @llvm.expect.i1(i1 %t315, i1 false) + br i1 %t316, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t313) + ret void +exc.k127: + %t317 = load ptr, ptr %sc_l_p_1 + %t318 = call ptr @sc_rc_retain_dyn(ptr %t317) + %t319 = load ptr, ptr %sc_l_p_receiver + %t320 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t319, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t313, ptr @sc_lit_2879707573315964, ptr %t318, ptr %t320) + %t321 = load i32, ptr %exc.cell + %t322 = icmp ne i32 %t321, 0 + %t323 = call i1 @llvm.expect.i1(i1 %t322, i1 false) + br i1 %t323, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_rc_release_dyn(ptr %t318) + call void @sc_rc_release_dyn(ptr %t320) + ret void +exc.k129: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_rc_release_dyn(ptr %t318) + call void @sc_rc_release_dyn(ptr %t320) + ret void +if.j125: + %t324 = load ptr, ptr %sc_l_key_string + %t325 = call zeroext i1 @sc_streq_3111096729023658(ptr %t324) + br i1 %t325, label %if.t130, label %if.j131 +if.t130: + %t326 = load ptr, ptr %sc_l_p_receiver + %t327 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t326, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t328 = call ptr @sc_f__x25_dyn_class_properties(ptr %t327) + %t329 = load i32, ptr %exc.cell + %t330 = icmp ne i32 %t329, 0 + %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false) + br i1 %t331, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t328) + ret void +exc.k133: + %t332 = load ptr, ptr %sc_l_p_1 + %t333 = call ptr @sc_rc_retain_dyn(ptr %t332) + %t334 = load ptr, ptr %sc_l_p_receiver + %t335 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t334, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t328, ptr @sc_lit_3111096729023658, ptr %t333, ptr %t335) + %t336 = load i32, ptr %exc.cell + %t337 = icmp ne i32 %t336, 0 + %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false) + br i1 %t338, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_rc_release_dyn(ptr %t333) + call void @sc_rc_release_dyn(ptr %t335) + ret void +exc.k135: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_rc_release_dyn(ptr %t333) + call void @sc_rc_release_dyn(ptr %t335) + ret void +if.j131: + %t339 = load ptr, ptr %sc_l_key_string + %t340 = call zeroext i1 @sc_streq_668712189700762(ptr %t339) + br i1 %t340, label %if.t136, label %if.j137 +if.t136: + %t341 = load ptr, ptr %sc_l_p_receiver + %t342 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t341, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t343 = call ptr @sc_f__x25_dyn_class_properties(ptr %t342) + %t344 = load i32, ptr %exc.cell + %t345 = icmp ne i32 %t344, 0 + %t346 = call i1 @llvm.expect.i1(i1 %t345, i1 false) + br i1 %t346, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t343) + ret void +exc.k139: + %t347 = load ptr, ptr %sc_l_p_1 + %t348 = call ptr @sc_rc_retain_dyn(ptr %t347) + %t349 = load ptr, ptr %sc_l_p_receiver + %t350 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t349, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t343, ptr @sc_lit_668712189700762, ptr %t348, ptr %t350) + %t351 = load i32, ptr %exc.cell + %t352 = icmp ne i32 %t351, 0 + %t353 = call i1 @llvm.expect.i1(i1 %t352, i1 false) + br i1 %t353, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t343) + call void @sc_rc_release_dyn(ptr %t348) + call void @sc_rc_release_dyn(ptr %t350) + ret void +exc.k141: + call void @sc_rc_release_dyn(ptr %t343) + call void @sc_rc_release_dyn(ptr %t348) + call void @sc_rc_release_dyn(ptr %t350) + ret void +if.j137: + %t354 = load ptr, ptr %sc_l_key_string + %t355 = call zeroext i1 @sc_streq_2436853855422636(ptr %t354) + br i1 %t355, label %if.t142, label %if.j143 +if.t142: + %t356 = load ptr, ptr %sc_l_p_receiver + %t357 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t356, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t358 = call ptr @sc_f__x25_dyn_class_properties(ptr %t357) + %t359 = load i32, ptr %exc.cell + %t360 = icmp ne i32 %t359, 0 + %t361 = call i1 @llvm.expect.i1(i1 %t360, i1 false) + br i1 %t361, label %exc.u144, label %exc.k145 +exc.u144: + call void @sc_rc_release_dyn(ptr %t358) + ret void +exc.k145: + %t362 = load ptr, ptr %sc_l_p_1 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = load ptr, ptr %sc_l_p_receiver + %t365 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t364, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t358, ptr @sc_lit_2436853855422636, ptr %t363, ptr %t365) + %t366 = load i32, ptr %exc.cell + %t367 = icmp ne i32 %t366, 0 + %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false) + br i1 %t368, label %exc.u146, label %exc.k147 +exc.u146: + call void @sc_rc_release_dyn(ptr %t358) + call void @sc_rc_release_dyn(ptr %t363) + call void @sc_rc_release_dyn(ptr %t365) + ret void +exc.k147: + call void @sc_rc_release_dyn(ptr %t358) + call void @sc_rc_release_dyn(ptr %t363) + call void @sc_rc_release_dyn(ptr %t365) + ret void +if.j143: + %t369 = load ptr, ptr %sc_l_key_string + %t370 = call zeroext i1 @sc_streq_2466306126986778(ptr %t369) + br i1 %t370, label %if.t148, label %if.j149 +if.t148: + %t371 = load ptr, ptr %sc_l_p_receiver + %t372 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t371, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t373 = call ptr @sc_f__x25_dyn_class_properties(ptr %t372) + %t374 = load i32, ptr %exc.cell + %t375 = icmp ne i32 %t374, 0 + %t376 = call i1 @llvm.expect.i1(i1 %t375, i1 false) + br i1 %t376, label %exc.u150, label %exc.k151 +exc.u150: + call void @sc_rc_release_dyn(ptr %t373) + ret void +exc.k151: + %t377 = load ptr, ptr %sc_l_p_1 + %t378 = call ptr @sc_rc_retain_dyn(ptr %t377) + %t379 = load ptr, ptr %sc_l_p_receiver + %t380 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t379, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t373, ptr @sc_lit_2466306126986778, ptr %t378, ptr %t380) + %t381 = load i32, ptr %exc.cell + %t382 = icmp ne i32 %t381, 0 + %t383 = call i1 @llvm.expect.i1(i1 %t382, i1 false) + br i1 %t383, label %exc.u152, label %exc.k153 +exc.u152: + call void @sc_rc_release_dyn(ptr %t373) + call void @sc_rc_release_dyn(ptr %t378) + call void @sc_rc_release_dyn(ptr %t380) + ret void +exc.k153: + call void @sc_rc_release_dyn(ptr %t373) + call void @sc_rc_release_dyn(ptr %t378) + call void @sc_rc_release_dyn(ptr %t380) + ret void +if.j149: + %t384 = load ptr, ptr %sc_l_key_string + %t385 = call zeroext i1 @sc_streq_1389753027152399(ptr %t384) + br i1 %t385, label %if.t154, label %if.j155 +if.t154: + %t386 = load ptr, ptr %sc_l_p_receiver + %t387 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t386, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t388 = call ptr @sc_f__x25_dyn_class_properties(ptr %t387) + %t389 = load i32, ptr %exc.cell + %t390 = icmp ne i32 %t389, 0 + %t391 = call i1 @llvm.expect.i1(i1 %t390, i1 false) + br i1 %t391, label %exc.u156, label %exc.k157 +exc.u156: + call void @sc_rc_release_dyn(ptr %t388) + ret void +exc.k157: + %t392 = load ptr, ptr %sc_l_p_1 + %t393 = call ptr @sc_rc_retain_dyn(ptr %t392) + %t394 = load ptr, ptr %sc_l_p_receiver + %t395 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t394, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t388, ptr @sc_lit_1389753027152399, ptr %t393, ptr %t395) + %t396 = load i32, ptr %exc.cell + %t397 = icmp ne i32 %t396, 0 + %t398 = call i1 @llvm.expect.i1(i1 %t397, i1 false) + br i1 %t398, label %exc.u158, label %exc.k159 +exc.u158: + call void @sc_rc_release_dyn(ptr %t388) + call void @sc_rc_release_dyn(ptr %t393) + call void @sc_rc_release_dyn(ptr %t395) + ret void +exc.k159: + call void @sc_rc_release_dyn(ptr %t388) + call void @sc_rc_release_dyn(ptr %t393) + call void @sc_rc_release_dyn(ptr %t395) + ret void +if.j155: + %t399 = load ptr, ptr %sc_l_key_string + %t400 = call zeroext i1 @sc_streq_1148437194389594(ptr %t399) + br i1 %t400, label %if.t160, label %if.j161 +if.t160: + %t401 = load ptr, ptr %sc_l_p_receiver + %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t403 = call ptr @sc_f__x25_dyn_class_properties(ptr %t402) + %t404 = load i32, ptr %exc.cell + %t405 = icmp ne i32 %t404, 0 + %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false) + br i1 %t406, label %exc.u162, label %exc.k163 +exc.u162: + call void @sc_rc_release_dyn(ptr %t403) + ret void +exc.k163: + %t407 = load ptr, ptr %sc_l_p_1 + %t408 = call ptr @sc_rc_retain_dyn(ptr %t407) + %t409 = load ptr, ptr %sc_l_p_receiver + %t410 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t409, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t403, ptr @sc_lit_1148437194389594, ptr %t408, ptr %t410) + %t411 = load i32, ptr %exc.cell + %t412 = icmp ne i32 %t411, 0 + %t413 = call i1 @llvm.expect.i1(i1 %t412, i1 false) + br i1 %t413, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t403) + call void @sc_rc_release_dyn(ptr %t408) + call void @sc_rc_release_dyn(ptr %t410) + ret void +exc.k165: + call void @sc_rc_release_dyn(ptr %t403) + call void @sc_rc_release_dyn(ptr %t408) + call void @sc_rc_release_dyn(ptr %t410) + ret void +if.j161: + %t414 = load ptr, ptr %sc_l_key_string + %t415 = call zeroext i1 @sc_streq_4192469624085056(ptr %t414) + br i1 %t415, label %if.t166, label %if.j167 +if.t166: + %t416 = load ptr, ptr %sc_l_p_receiver + %t417 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t416, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t418 = call ptr @sc_f__x25_dyn_class_properties(ptr %t417) + %t419 = load i32, ptr %exc.cell + %t420 = icmp ne i32 %t419, 0 + %t421 = call i1 @llvm.expect.i1(i1 %t420, i1 false) + br i1 %t421, label %exc.u168, label %exc.k169 +exc.u168: + call void @sc_rc_release_dyn(ptr %t418) + ret void +exc.k169: + %t422 = load ptr, ptr %sc_l_p_1 + %t423 = call ptr @sc_rc_retain_dyn(ptr %t422) + %t424 = load ptr, ptr %sc_l_p_receiver + %t425 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t424, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t418, ptr @sc_lit_4192469624085056, ptr %t423, ptr %t425) + %t426 = load i32, ptr %exc.cell + %t427 = icmp ne i32 %t426, 0 + %t428 = call i1 @llvm.expect.i1(i1 %t427, i1 false) + br i1 %t428, label %exc.u170, label %exc.k171 +exc.u170: + call void @sc_rc_release_dyn(ptr %t418) + call void @sc_rc_release_dyn(ptr %t423) + call void @sc_rc_release_dyn(ptr %t425) + ret void +exc.k171: + call void @sc_rc_release_dyn(ptr %t418) + call void @sc_rc_release_dyn(ptr %t423) + call void @sc_rc_release_dyn(ptr %t425) + ret void +if.j167: + %t429 = load ptr, ptr %sc_l_key_string + %t430 = call zeroext i1 @sc_streq_864781090888737(ptr %t429) + br i1 %t430, label %if.t172, label %if.j173 +if.t172: + %t431 = load ptr, ptr %sc_l_p_receiver + %t432 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t431, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t433 = call ptr @sc_f__x25_dyn_class_properties(ptr %t432) + %t434 = load i32, ptr %exc.cell + %t435 = icmp ne i32 %t434, 0 + %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false) + br i1 %t436, label %exc.u174, label %exc.k175 +exc.u174: + call void @sc_rc_release_dyn(ptr %t433) + ret void +exc.k175: + %t437 = load ptr, ptr %sc_l_p_1 + %t438 = call ptr @sc_rc_retain_dyn(ptr %t437) + %t439 = load ptr, ptr %sc_l_p_receiver + %t440 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t439, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t433, ptr @sc_lit_864781090888737, ptr %t438, ptr %t440) + %t441 = load i32, ptr %exc.cell + %t442 = icmp ne i32 %t441, 0 + %t443 = call i1 @llvm.expect.i1(i1 %t442, i1 false) + br i1 %t443, label %exc.u176, label %exc.k177 +exc.u176: + call void @sc_rc_release_dyn(ptr %t433) + call void @sc_rc_release_dyn(ptr %t438) + call void @sc_rc_release_dyn(ptr %t440) + ret void +exc.k177: + call void @sc_rc_release_dyn(ptr %t433) + call void @sc_rc_release_dyn(ptr %t438) + call void @sc_rc_release_dyn(ptr %t440) + ret void +if.j173: + %t444 = load ptr, ptr %sc_l_key_string + %t445 = call zeroext i1 @sc_streq_603267670272610(ptr %t444) + br i1 %t445, label %if.t178, label %if.j179 +if.t178: + %t446 = load ptr, ptr %sc_l_p_receiver + %t447 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t446, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t448 = call ptr @sc_f__x25_dyn_class_properties(ptr %t447) + %t449 = load i32, ptr %exc.cell + %t450 = icmp ne i32 %t449, 0 + %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false) + br i1 %t451, label %exc.u180, label %exc.k181 +exc.u180: + call void @sc_rc_release_dyn(ptr %t448) + ret void +exc.k181: + %t452 = load ptr, ptr %sc_l_p_1 + %t453 = call ptr @sc_rc_retain_dyn(ptr %t452) + %t454 = load ptr, ptr %sc_l_p_receiver + %t455 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t454, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t448, ptr @sc_lit_603267670272610, ptr %t453, ptr %t455) + %t456 = load i32, ptr %exc.cell + %t457 = icmp ne i32 %t456, 0 + %t458 = call i1 @llvm.expect.i1(i1 %t457, i1 false) + br i1 %t458, label %exc.u182, label %exc.k183 +exc.u182: + call void @sc_rc_release_dyn(ptr %t448) + call void @sc_rc_release_dyn(ptr %t453) + call void @sc_rc_release_dyn(ptr %t455) + ret void +exc.k183: + call void @sc_rc_release_dyn(ptr %t448) + call void @sc_rc_release_dyn(ptr %t453) + call void @sc_rc_release_dyn(ptr %t455) + ret void +if.j179: + %t459 = load ptr, ptr %sc_l_key_string + %t460 = call zeroext i1 @sc_streq_646811555153625(ptr %t459) + br i1 %t460, label %if.t184, label %if.j185 +if.t184: + %t461 = load ptr, ptr %sc_l_p_receiver + %t462 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t461, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t463 = call ptr @sc_f__x25_dyn_class_properties(ptr %t462) + %t464 = load i32, ptr %exc.cell + %t465 = icmp ne i32 %t464, 0 + %t466 = call i1 @llvm.expect.i1(i1 %t465, i1 false) + br i1 %t466, label %exc.u186, label %exc.k187 +exc.u186: + call void @sc_rc_release_dyn(ptr %t463) + ret void +exc.k187: + %t467 = load ptr, ptr %sc_l_p_1 + %t468 = call ptr @sc_rc_retain_dyn(ptr %t467) + %t469 = load ptr, ptr %sc_l_p_receiver + %t470 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t469, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t463, ptr @sc_lit_646811555153625, ptr %t468, ptr %t470) + %t471 = load i32, ptr %exc.cell + %t472 = icmp ne i32 %t471, 0 + %t473 = call i1 @llvm.expect.i1(i1 %t472, i1 false) + br i1 %t473, label %exc.u188, label %exc.k189 +exc.u188: + call void @sc_rc_release_dyn(ptr %t463) + call void @sc_rc_release_dyn(ptr %t468) + call void @sc_rc_release_dyn(ptr %t470) + ret void +exc.k189: + call void @sc_rc_release_dyn(ptr %t463) + call void @sc_rc_release_dyn(ptr %t468) + call void @sc_rc_release_dyn(ptr %t470) + ret void +if.j185: + %t474 = load ptr, ptr %sc_l_key_string + %t475 = call zeroext i1 @sc_streq_4391217941138845(ptr %t474) + br i1 %t475, label %if.t190, label %if.j191 +if.t190: + %t476 = load ptr, ptr %sc_l_p_receiver + %t477 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t476, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t478 = call ptr @sc_f__x25_dyn_class_properties(ptr %t477) + %t479 = load i32, ptr %exc.cell + %t480 = icmp ne i32 %t479, 0 + %t481 = call i1 @llvm.expect.i1(i1 %t480, i1 false) + br i1 %t481, label %exc.u192, label %exc.k193 +exc.u192: + call void @sc_rc_release_dyn(ptr %t478) + ret void +exc.k193: + %t482 = load ptr, ptr %sc_l_p_1 + %t483 = call ptr @sc_rc_retain_dyn(ptr %t482) + %t484 = load ptr, ptr %sc_l_p_receiver + %t485 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t484, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t478, ptr @sc_lit_4391217941138845, ptr %t483, ptr %t485) + %t486 = load i32, ptr %exc.cell + %t487 = icmp ne i32 %t486, 0 + %t488 = call i1 @llvm.expect.i1(i1 %t487, i1 false) + br i1 %t488, label %exc.u194, label %exc.k195 +exc.u194: + call void @sc_rc_release_dyn(ptr %t478) + call void @sc_rc_release_dyn(ptr %t483) + call void @sc_rc_release_dyn(ptr %t485) + ret void +exc.k195: + call void @sc_rc_release_dyn(ptr %t478) + call void @sc_rc_release_dyn(ptr %t483) + call void @sc_rc_release_dyn(ptr %t485) + ret void +if.j191: + %t489 = load ptr, ptr %sc_l_key_string + %t490 = call zeroext i1 @sc_streq_2014847608589337(ptr %t489) + br i1 %t490, label %if.t196, label %if.j197 +if.t196: + %t491 = load ptr, ptr %sc_l_p_receiver + %t492 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t491, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t493 = call ptr @sc_f__x25_dyn_class_properties(ptr %t492) + %t494 = load i32, ptr %exc.cell + %t495 = icmp ne i32 %t494, 0 + %t496 = call i1 @llvm.expect.i1(i1 %t495, i1 false) + br i1 %t496, label %exc.u198, label %exc.k199 +exc.u198: + call void @sc_rc_release_dyn(ptr %t493) + ret void +exc.k199: + %t497 = load ptr, ptr %sc_l_p_1 + %t498 = call ptr @sc_rc_retain_dyn(ptr %t497) + %t499 = load ptr, ptr %sc_l_p_receiver + %t500 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t499, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t493, ptr @sc_lit_2014847608589337, ptr %t498, ptr %t500) + %t501 = load i32, ptr %exc.cell + %t502 = icmp ne i32 %t501, 0 + %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false) + br i1 %t503, label %exc.u200, label %exc.k201 +exc.u200: + call void @sc_rc_release_dyn(ptr %t493) + call void @sc_rc_release_dyn(ptr %t498) + call void @sc_rc_release_dyn(ptr %t500) + ret void +exc.k201: + call void @sc_rc_release_dyn(ptr %t493) + call void @sc_rc_release_dyn(ptr %t498) + call void @sc_rc_release_dyn(ptr %t500) + ret void +if.j197: + %t504 = load ptr, ptr %sc_l_key_string + %t505 = call zeroext i1 @sc_streq_405767859507088(ptr %t504) + br i1 %t505, label %if.t202, label %if.j203 +if.t202: + %t506 = load ptr, ptr %sc_l_p_receiver + %t507 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t506, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t508 = call ptr @sc_f__x25_dyn_class_properties(ptr %t507) + %t509 = load i32, ptr %exc.cell + %t510 = icmp ne i32 %t509, 0 + %t511 = call i1 @llvm.expect.i1(i1 %t510, i1 false) + br i1 %t511, label %exc.u204, label %exc.k205 +exc.u204: + call void @sc_rc_release_dyn(ptr %t508) + ret void +exc.k205: + %t512 = load ptr, ptr %sc_l_p_1 + %t513 = call ptr @sc_rc_retain_dyn(ptr %t512) + %t514 = load ptr, ptr %sc_l_p_receiver + %t515 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t514, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t508, ptr @sc_lit_405767859507088, ptr %t513, ptr %t515) + %t516 = load i32, ptr %exc.cell + %t517 = icmp ne i32 %t516, 0 + %t518 = call i1 @llvm.expect.i1(i1 %t517, i1 false) + br i1 %t518, label %exc.u206, label %exc.k207 +exc.u206: + call void @sc_rc_release_dyn(ptr %t508) + call void @sc_rc_release_dyn(ptr %t513) + call void @sc_rc_release_dyn(ptr %t515) + ret void +exc.k207: + call void @sc_rc_release_dyn(ptr %t508) + call void @sc_rc_release_dyn(ptr %t513) + call void @sc_rc_release_dyn(ptr %t515) + ret void +if.j203: + %t519 = load ptr, ptr %sc_l_key_string + %t520 = call zeroext i1 @sc_streq_4078327433052319(ptr %t519) + br i1 %t520, label %if.t208, label %if.j209 +if.t208: + %t521 = load ptr, ptr %sc_l_p_receiver + %t522 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t521, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t523 = call ptr @sc_f__x25_dyn_class_properties(ptr %t522) + %t524 = load i32, ptr %exc.cell + %t525 = icmp ne i32 %t524, 0 + %t526 = call i1 @llvm.expect.i1(i1 %t525, i1 false) + br i1 %t526, label %exc.u210, label %exc.k211 +exc.u210: + call void @sc_rc_release_dyn(ptr %t523) + ret void +exc.k211: + %t527 = load ptr, ptr %sc_l_p_1 + %t528 = call ptr @sc_rc_retain_dyn(ptr %t527) + %t529 = load ptr, ptr %sc_l_p_receiver + %t530 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t529, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t523, ptr @sc_lit_4078327433052319, ptr %t528, ptr %t530) + %t531 = load i32, ptr %exc.cell + %t532 = icmp ne i32 %t531, 0 + %t533 = call i1 @llvm.expect.i1(i1 %t532, i1 false) + br i1 %t533, label %exc.u212, label %exc.k213 +exc.u212: + call void @sc_rc_release_dyn(ptr %t523) + call void @sc_rc_release_dyn(ptr %t528) + call void @sc_rc_release_dyn(ptr %t530) + ret void +exc.k213: + call void @sc_rc_release_dyn(ptr %t523) + call void @sc_rc_release_dyn(ptr %t528) + call void @sc_rc_release_dyn(ptr %t530) + ret void +if.j209: + %t534 = load ptr, ptr %sc_l_key_string + %t535 = call zeroext i1 @sc_streq_156708963710691(ptr %t534) + br i1 %t535, label %if.t214, label %if.j215 +if.t214: + %t536 = load ptr, ptr %sc_l_p_receiver + %t537 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t536, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t538 = call ptr @sc_f__x25_dyn_class_properties(ptr %t537) + %t539 = load i32, ptr %exc.cell + %t540 = icmp ne i32 %t539, 0 + %t541 = call i1 @llvm.expect.i1(i1 %t540, i1 false) + br i1 %t541, label %exc.u216, label %exc.k217 +exc.u216: + call void @sc_rc_release_dyn(ptr %t538) + ret void +exc.k217: + %t542 = load ptr, ptr %sc_l_p_1 + %t543 = call ptr @sc_rc_retain_dyn(ptr %t542) + %t544 = load ptr, ptr %sc_l_p_receiver + %t545 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t544, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t538, ptr @sc_lit_156708963710691, ptr %t543, ptr %t545) + %t546 = load i32, ptr %exc.cell + %t547 = icmp ne i32 %t546, 0 + %t548 = call i1 @llvm.expect.i1(i1 %t547, i1 false) + br i1 %t548, label %exc.u218, label %exc.k219 +exc.u218: + call void @sc_rc_release_dyn(ptr %t538) + call void @sc_rc_release_dyn(ptr %t543) + call void @sc_rc_release_dyn(ptr %t545) + ret void +exc.k219: + call void @sc_rc_release_dyn(ptr %t538) + call void @sc_rc_release_dyn(ptr %t543) + call void @sc_rc_release_dyn(ptr %t545) + ret void +if.j215: + %t549 = load ptr, ptr %sc_l_key_string + %t550 = call zeroext i1 @sc_streq_1093190805819680(ptr %t549) + br i1 %t550, label %if.t220, label %if.j221 +if.t220: + %t551 = load ptr, ptr %sc_l_p_receiver + %t552 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t551, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t553 = call ptr @sc_f__x25_dyn_class_properties(ptr %t552) + %t554 = load i32, ptr %exc.cell + %t555 = icmp ne i32 %t554, 0 + %t556 = call i1 @llvm.expect.i1(i1 %t555, i1 false) + br i1 %t556, label %exc.u222, label %exc.k223 +exc.u222: + call void @sc_rc_release_dyn(ptr %t553) + ret void +exc.k223: + %t557 = load ptr, ptr %sc_l_p_1 + %t558 = call ptr @sc_rc_retain_dyn(ptr %t557) + %t559 = load ptr, ptr %sc_l_p_receiver + %t560 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t559, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t553, ptr @sc_lit_1093190805819680, ptr %t558, ptr %t560) + %t561 = load i32, ptr %exc.cell + %t562 = icmp ne i32 %t561, 0 + %t563 = call i1 @llvm.expect.i1(i1 %t562, i1 false) + br i1 %t563, label %exc.u224, label %exc.k225 +exc.u224: + call void @sc_rc_release_dyn(ptr %t553) + call void @sc_rc_release_dyn(ptr %t558) + call void @sc_rc_release_dyn(ptr %t560) + ret void +exc.k225: + call void @sc_rc_release_dyn(ptr %t553) + call void @sc_rc_release_dyn(ptr %t558) + call void @sc_rc_release_dyn(ptr %t560) + ret void +if.j221: + %t564 = load ptr, ptr %sc_l_key_string + %t565 = call zeroext i1 @sc_streq_3899522094323235(ptr %t564) + br i1 %t565, label %if.t226, label %if.j227 +if.t226: + %t566 = load ptr, ptr %sc_l_p_receiver + %t567 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t566, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t568 = call ptr @sc_f__x25_dyn_class_properties(ptr %t567) + %t569 = load i32, ptr %exc.cell + %t570 = icmp ne i32 %t569, 0 + %t571 = call i1 @llvm.expect.i1(i1 %t570, i1 false) + br i1 %t571, label %exc.u228, label %exc.k229 +exc.u228: + call void @sc_rc_release_dyn(ptr %t568) + ret void +exc.k229: + %t572 = load ptr, ptr %sc_l_p_1 + %t573 = call ptr @sc_rc_retain_dyn(ptr %t572) + %t574 = load ptr, ptr %sc_l_p_receiver + %t575 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t574, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t568, ptr @sc_lit_3899522094323235, ptr %t573, ptr %t575) + %t576 = load i32, ptr %exc.cell + %t577 = icmp ne i32 %t576, 0 + %t578 = call i1 @llvm.expect.i1(i1 %t577, i1 false) + br i1 %t578, label %exc.u230, label %exc.k231 +exc.u230: + call void @sc_rc_release_dyn(ptr %t568) + call void @sc_rc_release_dyn(ptr %t573) + call void @sc_rc_release_dyn(ptr %t575) + ret void +exc.k231: + call void @sc_rc_release_dyn(ptr %t568) + call void @sc_rc_release_dyn(ptr %t573) + call void @sc_rc_release_dyn(ptr %t575) + ret void +if.j227: + %t579 = load ptr, ptr %sc_l_p_0 + %t580 = call ptr @sc_rc_retain_dyn(ptr %t579) + %t581 = call ptr @sc_f__x25_dyn_class_properties(ptr %t580) + %t582 = load i32, ptr %exc.cell + %t583 = icmp ne i32 %t582, 0 + %t584 = call i1 @llvm.expect.i1(i1 %t583, i1 false) + br i1 %t584, label %exc.u232, label %exc.k233 +exc.u232: + call void @sc_rc_release_dyn(ptr %t581) + ret void +exc.k233: + %t585 = load ptr, ptr %sc_l_key_string + %t586 = call ptr @sc_rc_retain_str(ptr %t585) + %t587 = load ptr, ptr %sc_l_p_1 + %t588 = call ptr @sc_rc_retain_dyn(ptr %t587) + %t589 = load ptr, ptr %sc_l_p_receiver + %t590 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t589, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + call void @scr_dyn_bag_set(ptr %t581, ptr %t586, ptr %t588, ptr %t590) + %t591 = load i32, ptr %exc.cell + %t592 = icmp ne i32 %t591, 0 + %t593 = call i1 @llvm.expect.i1(i1 %t592, i1 false) + br i1 %t593, label %exc.u234, label %exc.k235 +exc.u234: + call void @sc_rc_release_dyn(ptr %t581) + call void @scr_str_release(ptr %t586) + call void @sc_rc_release_dyn(ptr %t588) + call void @sc_rc_release_dyn(ptr %t590) + ret void +exc.k235: + call void @sc_rc_release_dyn(ptr %t581) + call void @scr_str_release(ptr %t586) + call void @sc_rc_release_dyn(ptr %t588) + call void @sc_rc_release_dyn(ptr %t590) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_463(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_463(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m5_App(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_464(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.464 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %s8 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s30 = alloca ptr + %s52 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_3447500980845638(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t9 = icmp ne ptr %t7, null + br i1 %t9, label %dc.inspect4, label %dc.checked7 +dc.inspect4: + %t14 = getelementptr inbounds i8, ptr %t7, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t10 = icmp eq i32 %t15, 12 + br i1 %t10, label %dc.capsule5, label %dc.checked7 +dc.capsule5: + %t11 = getelementptr inbounds i8, ptr %t7, i64 40 ; ->v.typed_ref.type_key + %t12 = load ptr, ptr %t11 + %t13 = icmp eq ptr %t12, @sc_cs_660811353369478 + br i1 %t13, label %dc.exact6, label %dc.checked7 +dc.exact6: + %t16 = getelementptr inbounds i8, ptr %t7, i64 16 ; ->v.typed_ref.ptr + %t17 = load ptr, ptr %t16 + %t18 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t17) + store ptr %t18, ptr %s8 + br label %dc.done8 +dc.checked7: + %t19 = call ptr @sc_dc_28(ptr %t7, ptr null) + store ptr %t19, ptr %s8 + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u9, label %exc.k10 +exc.u9: + ret void +exc.k10: + br label %dc.done8 +dc.done8: + %t23 = load ptr, ptr %s8 + %t24 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t6, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + store ptr %t23, ptr %t24, !tbaa !24 + call void @sc_release__x25_m5_ReqViewCore(ptr %t25) + ret void +if.j3: + %t26 = load ptr, ptr %sc_l_key_string + %t27 = call zeroext i1 @sc_streq_448101171860799(ptr %t26) + br i1 %t27, label %if.t11, label %if.j12 +if.t11: + %t28 = load ptr, ptr %sc_l_p_receiver + %t29 = load ptr, ptr %sc_l_p_1 + %t31 = icmp ne ptr %t29, null + br i1 %t31, label %dc.inspect13, label %dc.checked16 +dc.inspect13: + %t36 = getelementptr inbounds i8, ptr %t29, i64 8 ; ->kind + %t37 = load i32, ptr %t36 + %t32 = icmp eq i32 %t37, 12 + br i1 %t32, label %dc.capsule14, label %dc.checked16 +dc.capsule14: + %t33 = getelementptr inbounds i8, ptr %t29, i64 40 ; ->v.typed_ref.type_key + %t34 = load ptr, ptr %t33 + %t35 = icmp eq ptr %t34, @sc_cs_629517122853751 + br i1 %t35, label %dc.exact15, label %dc.checked16 +dc.exact15: + %t38 = getelementptr inbounds i8, ptr %t29, i64 16 ; ->v.typed_ref.ptr + %t39 = load ptr, ptr %t38 + %t40 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t39) + store ptr %t40, ptr %s30 + br label %dc.done17 +dc.checked16: + %t41 = call ptr @sc_dc_29(ptr %t29, ptr null) + store ptr %t41, ptr %s30 + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u18, label %exc.k19 +exc.u18: + ret void +exc.k19: + br label %dc.done17 +dc.done17: + %t45 = load ptr, ptr %s30 + %t46 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t28, i64 0, i32 2 + %t47 = load ptr, ptr %t46 + store ptr %t45, ptr %t46, !tbaa !44 + call void @sc_release__x25_m2_ResponseSink(ptr %t47) + ret void +if.j12: + %t48 = load ptr, ptr %sc_l_key_string + %t49 = call zeroext i1 @sc_streq_4141049404401276(ptr %t48) + br i1 %t49, label %if.t20, label %if.j21 +if.t20: + %t50 = load ptr, ptr %sc_l_p_receiver + %t51 = load ptr, ptr %sc_l_p_1 + %t53 = icmp ne ptr %t51, null + br i1 %t53, label %dc.inspect22, label %dc.checked25 +dc.inspect22: + %t58 = getelementptr inbounds i8, ptr %t51, i64 8 ; ->kind + %t59 = load i32, ptr %t58 + %t54 = icmp eq i32 %t59, 12 + br i1 %t54, label %dc.capsule23, label %dc.checked25 +dc.capsule23: + %t55 = getelementptr inbounds i8, ptr %t51, i64 40 ; ->v.typed_ref.type_key + %t56 = load ptr, ptr %t55 + %t57 = icmp eq ptr %t56, @sc_cs_1746033898805369 + br i1 %t57, label %dc.exact24, label %dc.checked25 +dc.exact24: + %t60 = getelementptr inbounds i8, ptr %t51, i64 16 ; ->v.typed_ref.ptr + %t61 = load ptr, ptr %t60 + %t62 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t61) + store ptr %t62, ptr %s52 + br label %dc.done26 +dc.checked25: + %t63 = call ptr @sc_dc_30(ptr %t51, ptr null) + store ptr %t63, ptr %s52 + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u27, label %exc.k28 +exc.u27: + ret void +exc.k28: + br label %dc.done26 +dc.done26: + %t67 = load ptr, ptr %s52 + %t68 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t50, i64 0, i32 3 + %t69 = load ptr, ptr %t68 + store ptr %t67, ptr %t68, !tbaa !164 + call void @sc_release__x25_m5_CtxResCore(ptr %t69) + ret void +if.j21: + %t70 = load ptr, ptr %sc_l_key_string + %t71 = call zeroext i1 @sc_streq_3621289080171698(ptr %t70) + br i1 %t71, label %if.t29, label %if.j30 +if.t29: + %t72 = load ptr, ptr %sc_l_p_receiver + %t73 = load ptr, ptr %sc_l_p_1 + %t74 = call double @sc_dc_2(ptr %t73, ptr null) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u31, label %exc.k32 +exc.u31: + ret void +exc.k32: + %t78 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t72, i64 0, i32 4 + store double %t74, ptr %t78, !tbaa !48 + ret void +if.j30: + %t79 = load ptr, ptr %sc_l_key_string + %t80 = call zeroext i1 @sc_streq_2163543391075186(ptr %t79) + br i1 %t80, label %if.t33, label %if.j34 +if.t33: + %t81 = load ptr, ptr %sc_l_p_receiver + %t82 = load ptr, ptr %sc_l_p_1 + %t83 = call zeroext i1 @sc_dc_3(ptr %t82, ptr null) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u35, label %exc.k36 +exc.u35: + ret void +exc.k36: + %t87 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t81, i64 0, i32 5 + %t88 = zext i1 %t83 to i8 + store i8 %t88, ptr %t87, !tbaa !42 + ret void +if.j34: + %t89 = load ptr, ptr %sc_l_key_string + %t90 = call zeroext i1 @sc_streq_4022150258959820(ptr %t89) + br i1 %t90, label %if.t37, label %if.j38 +if.t37: + %t91 = load ptr, ptr %sc_l_p_receiver + %t92 = load ptr, ptr %sc_l_p_1 + %t93 = call ptr @sc_dc_0(ptr %t92, ptr null) + %t94 = load i32, ptr %exc.cell + %t95 = icmp ne i32 %t94, 0 + %t96 = call i1 @llvm.expect.i1(i1 %t95, i1 false) + br i1 %t96, label %exc.u39, label %exc.k40 +exc.u39: + call void @scr_str_release(ptr %t93) + ret void +exc.k40: + %t97 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t91, i64 0, i32 6 + %t98 = load ptr, ptr %t97 + store ptr %t93, ptr %t97, !tbaa !166 + call void @scr_str_release(ptr %t98) + ret void +if.j38: + %t99 = load ptr, ptr %sc_l_key_string + %t100 = call zeroext i1 @sc_streq_3084154227263888(ptr %t99) + br i1 %t100, label %if.t41, label %if.j42 +if.t41: + %t101 = load ptr, ptr %sc_l_p_receiver + %t102 = load ptr, ptr %sc_l_p_1 + %t103 = call ptr @sc_dc_14(ptr %t102, ptr null) + %t104 = load i32, ptr %exc.cell + %t105 = icmp ne i32 %t104, 0 + %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false) + br i1 %t106, label %exc.u43, label %exc.k44 +exc.u43: + call void @scr_union_release(ptr %t103) + ret void +exc.k44: + %t107 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t101, i64 0, i32 7 + %t108 = load ptr, ptr %t107 + store ptr %t103, ptr %t107, !tbaa !162 + call void @scr_union_release(ptr %t108) + ret void +if.j42: + %t109 = load ptr, ptr %sc_l_key_string + %t110 = call zeroext i1 @sc_streq_1951312618348557(ptr %t109) + br i1 %t110, label %if.t45, label %if.j46 +if.t45: + %t111 = call ptr @scr_error_new(i32 1, ptr @sc_lit_1334122099411014) + call void @scr_throw_obj(ptr %t111, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret void +if.j46: + %t112 = load ptr, ptr %sc_l_key_string + %t113 = call zeroext i1 @sc_streq_127274431826284(ptr %t112) + br i1 %t113, label %if.t47, label %if.j48 +if.t47: + %t114 = load ptr, ptr %sc_l_p_receiver + %t115 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t114, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t116 = call ptr @sc_f__x25_dyn_class_properties(ptr %t115) + %t117 = load i32, ptr %exc.cell + %t118 = icmp ne i32 %t117, 0 + %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false) + br i1 %t119, label %exc.u49, label %exc.k50 +exc.u49: + call void @sc_rc_release_dyn(ptr %t116) + ret void +exc.k50: + %t120 = load ptr, ptr %sc_l_p_1 + %t121 = call ptr @sc_rc_retain_dyn(ptr %t120) + %t122 = load ptr, ptr %sc_l_p_receiver + %t123 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t122, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t116, ptr @sc_lit_127274431826284, ptr %t121, ptr %t123) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t121) + call void @sc_rc_release_dyn(ptr %t123) + ret void +exc.k52: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t121) + call void @sc_rc_release_dyn(ptr %t123) + ret void +if.j48: + %t127 = load ptr, ptr %sc_l_key_string + %t128 = call zeroext i1 @sc_streq_528144782449140(ptr %t127) + br i1 %t128, label %if.t53, label %if.j54 +if.t53: + %t129 = load ptr, ptr %sc_l_p_receiver + %t130 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t129, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t131 = call ptr @sc_f__x25_dyn_class_properties(ptr %t130) + %t132 = load i32, ptr %exc.cell + %t133 = icmp ne i32 %t132, 0 + %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false) + br i1 %t134, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t131) + ret void +exc.k56: + %t135 = load ptr, ptr %sc_l_p_1 + %t136 = call ptr @sc_rc_retain_dyn(ptr %t135) + %t137 = load ptr, ptr %sc_l_p_receiver + %t138 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t137, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t131, ptr @sc_lit_528144782449140, ptr %t136, ptr %t138) + %t139 = load i32, ptr %exc.cell + %t140 = icmp ne i32 %t139, 0 + %t141 = call i1 @llvm.expect.i1(i1 %t140, i1 false) + br i1 %t141, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t131) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t138) + ret void +exc.k58: + call void @sc_rc_release_dyn(ptr %t131) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t138) + ret void +if.j54: + %t142 = load ptr, ptr %sc_l_key_string + %t143 = call zeroext i1 @sc_streq_1950596786618243(ptr %t142) + br i1 %t143, label %if.t59, label %if.j60 +if.t59: + %t144 = load ptr, ptr %sc_l_p_receiver + %t145 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t144, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t146 = call ptr @sc_f__x25_dyn_class_properties(ptr %t145) + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u61, label %exc.k62 +exc.u61: + call void @sc_rc_release_dyn(ptr %t146) + ret void +exc.k62: + %t150 = load ptr, ptr %sc_l_p_1 + %t151 = call ptr @sc_rc_retain_dyn(ptr %t150) + %t152 = load ptr, ptr %sc_l_p_receiver + %t153 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t152, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t146, ptr @sc_lit_1950596786618243, ptr %t151, ptr %t153) + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u63, label %exc.k64 +exc.u63: + call void @sc_rc_release_dyn(ptr %t146) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t153) + ret void +exc.k64: + call void @sc_rc_release_dyn(ptr %t146) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t153) + ret void +if.j60: + %t157 = load ptr, ptr %sc_l_key_string + %t158 = call zeroext i1 @sc_streq_48178627029362(ptr %t157) + br i1 %t158, label %if.t65, label %if.j66 +if.t65: + %t159 = load ptr, ptr %sc_l_p_receiver + %t160 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t159, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t161 = call ptr @sc_f__x25_dyn_class_properties(ptr %t160) + %t162 = load i32, ptr %exc.cell + %t163 = icmp ne i32 %t162, 0 + %t164 = call i1 @llvm.expect.i1(i1 %t163, i1 false) + br i1 %t164, label %exc.u67, label %exc.k68 +exc.u67: + call void @sc_rc_release_dyn(ptr %t161) + ret void +exc.k68: + %t165 = load ptr, ptr %sc_l_p_1 + %t166 = call ptr @sc_rc_retain_dyn(ptr %t165) + %t167 = load ptr, ptr %sc_l_p_receiver + %t168 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t167, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t161, ptr @sc_lit_48178627029362, ptr %t166, ptr %t168) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u69, label %exc.k70 +exc.u69: + call void @sc_rc_release_dyn(ptr %t161) + call void @sc_rc_release_dyn(ptr %t166) + call void @sc_rc_release_dyn(ptr %t168) + ret void +exc.k70: + call void @sc_rc_release_dyn(ptr %t161) + call void @sc_rc_release_dyn(ptr %t166) + call void @sc_rc_release_dyn(ptr %t168) + ret void +if.j66: + %t172 = load ptr, ptr %sc_l_key_string + %t173 = call zeroext i1 @sc_streq_2677147133778287(ptr %t172) + br i1 %t173, label %if.t71, label %if.j72 +if.t71: + %t174 = load ptr, ptr %sc_l_p_receiver + %t175 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t174, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t176 = call ptr @sc_f__x25_dyn_class_properties(ptr %t175) + %t177 = load i32, ptr %exc.cell + %t178 = icmp ne i32 %t177, 0 + %t179 = call i1 @llvm.expect.i1(i1 %t178, i1 false) + br i1 %t179, label %exc.u73, label %exc.k74 +exc.u73: + call void @sc_rc_release_dyn(ptr %t176) + ret void +exc.k74: + %t180 = load ptr, ptr %sc_l_p_1 + %t181 = call ptr @sc_rc_retain_dyn(ptr %t180) + %t182 = load ptr, ptr %sc_l_p_receiver + %t183 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t182, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t176, ptr @sc_lit_2677147133778287, ptr %t181, ptr %t183) + %t184 = load i32, ptr %exc.cell + %t185 = icmp ne i32 %t184, 0 + %t186 = call i1 @llvm.expect.i1(i1 %t185, i1 false) + br i1 %t186, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t176) + call void @sc_rc_release_dyn(ptr %t181) + call void @sc_rc_release_dyn(ptr %t183) + ret void +exc.k76: + call void @sc_rc_release_dyn(ptr %t176) + call void @sc_rc_release_dyn(ptr %t181) + call void @sc_rc_release_dyn(ptr %t183) + ret void +if.j72: + %t187 = load ptr, ptr %sc_l_key_string + %t188 = call zeroext i1 @sc_streq_4044156596960274(ptr %t187) + br i1 %t188, label %if.t77, label %if.j78 +if.t77: + %t189 = load ptr, ptr %sc_l_p_receiver + %t190 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t189, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t191 = call ptr @sc_f__x25_dyn_class_properties(ptr %t190) + %t192 = load i32, ptr %exc.cell + %t193 = icmp ne i32 %t192, 0 + %t194 = call i1 @llvm.expect.i1(i1 %t193, i1 false) + br i1 %t194, label %exc.u79, label %exc.k80 +exc.u79: + call void @sc_rc_release_dyn(ptr %t191) + ret void +exc.k80: + %t195 = load ptr, ptr %sc_l_p_1 + %t196 = call ptr @sc_rc_retain_dyn(ptr %t195) + %t197 = load ptr, ptr %sc_l_p_receiver + %t198 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t197, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t191, ptr @sc_lit_4044156596960274, ptr %t196, ptr %t198) + %t199 = load i32, ptr %exc.cell + %t200 = icmp ne i32 %t199, 0 + %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false) + br i1 %t201, label %exc.u81, label %exc.k82 +exc.u81: + call void @sc_rc_release_dyn(ptr %t191) + call void @sc_rc_release_dyn(ptr %t196) + call void @sc_rc_release_dyn(ptr %t198) + ret void +exc.k82: + call void @sc_rc_release_dyn(ptr %t191) + call void @sc_rc_release_dyn(ptr %t196) + call void @sc_rc_release_dyn(ptr %t198) + ret void +if.j78: + %t202 = load ptr, ptr %sc_l_key_string + %t203 = call zeroext i1 @sc_streq_161925136240866(ptr %t202) + br i1 %t203, label %if.t83, label %if.j84 +if.t83: + %t204 = load ptr, ptr %sc_l_p_receiver + %t205 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t204, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t206 = call ptr @sc_f__x25_dyn_class_properties(ptr %t205) + %t207 = load i32, ptr %exc.cell + %t208 = icmp ne i32 %t207, 0 + %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false) + br i1 %t209, label %exc.u85, label %exc.k86 +exc.u85: + call void @sc_rc_release_dyn(ptr %t206) + ret void +exc.k86: + %t210 = load ptr, ptr %sc_l_p_1 + %t211 = call ptr @sc_rc_retain_dyn(ptr %t210) + %t212 = load ptr, ptr %sc_l_p_receiver + %t213 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t212, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t206, ptr @sc_lit_161925136240866, ptr %t211, ptr %t213) + %t214 = load i32, ptr %exc.cell + %t215 = icmp ne i32 %t214, 0 + %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false) + br i1 %t216, label %exc.u87, label %exc.k88 +exc.u87: + call void @sc_rc_release_dyn(ptr %t206) + call void @sc_rc_release_dyn(ptr %t211) + call void @sc_rc_release_dyn(ptr %t213) + ret void +exc.k88: + call void @sc_rc_release_dyn(ptr %t206) + call void @sc_rc_release_dyn(ptr %t211) + call void @sc_rc_release_dyn(ptr %t213) + ret void +if.j84: + %t217 = load ptr, ptr %sc_l_key_string + %t218 = call zeroext i1 @sc_streq_693828840439997(ptr %t217) + br i1 %t218, label %if.t89, label %if.j90 +if.t89: + %t219 = load ptr, ptr %sc_l_p_receiver + %t220 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t219, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t221 = call ptr @sc_f__x25_dyn_class_properties(ptr %t220) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u91, label %exc.k92 +exc.u91: + call void @sc_rc_release_dyn(ptr %t221) + ret void +exc.k92: + %t225 = load ptr, ptr %sc_l_p_1 + %t226 = call ptr @sc_rc_retain_dyn(ptr %t225) + %t227 = load ptr, ptr %sc_l_p_receiver + %t228 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t227, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t221, ptr @sc_lit_693828840439997, ptr %t226, ptr %t228) + %t229 = load i32, ptr %exc.cell + %t230 = icmp ne i32 %t229, 0 + %t231 = call i1 @llvm.expect.i1(i1 %t230, i1 false) + br i1 %t231, label %exc.u93, label %exc.k94 +exc.u93: + call void @sc_rc_release_dyn(ptr %t221) + call void @sc_rc_release_dyn(ptr %t226) + call void @sc_rc_release_dyn(ptr %t228) + ret void +exc.k94: + call void @sc_rc_release_dyn(ptr %t221) + call void @sc_rc_release_dyn(ptr %t226) + call void @sc_rc_release_dyn(ptr %t228) + ret void +if.j90: + %t232 = load ptr, ptr %sc_l_key_string + %t233 = call zeroext i1 @sc_streq_587707337530151(ptr %t232) + br i1 %t233, label %if.t95, label %if.j96 +if.t95: + %t234 = load ptr, ptr %sc_l_p_receiver + %t235 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t234, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t236 = call ptr @sc_f__x25_dyn_class_properties(ptr %t235) + %t237 = load i32, ptr %exc.cell + %t238 = icmp ne i32 %t237, 0 + %t239 = call i1 @llvm.expect.i1(i1 %t238, i1 false) + br i1 %t239, label %exc.u97, label %exc.k98 +exc.u97: + call void @sc_rc_release_dyn(ptr %t236) + ret void +exc.k98: + %t240 = load ptr, ptr %sc_l_p_1 + %t241 = call ptr @sc_rc_retain_dyn(ptr %t240) + %t242 = load ptr, ptr %sc_l_p_receiver + %t243 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t242, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t236, ptr @sc_lit_587707337530151, ptr %t241, ptr %t243) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u99, label %exc.k100 +exc.u99: + call void @sc_rc_release_dyn(ptr %t236) + call void @sc_rc_release_dyn(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + ret void +exc.k100: + call void @sc_rc_release_dyn(ptr %t236) + call void @sc_rc_release_dyn(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + ret void +if.j96: + %t247 = load ptr, ptr %sc_l_key_string + %t248 = call zeroext i1 @sc_streq_731773075116702(ptr %t247) + br i1 %t248, label %if.t101, label %if.j102 +if.t101: + %t249 = load ptr, ptr %sc_l_p_receiver + %t250 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t249, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t251 = call ptr @sc_f__x25_dyn_class_properties(ptr %t250) + %t252 = load i32, ptr %exc.cell + %t253 = icmp ne i32 %t252, 0 + %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false) + br i1 %t254, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t251) + ret void +exc.k104: + %t255 = load ptr, ptr %sc_l_p_1 + %t256 = call ptr @sc_rc_retain_dyn(ptr %t255) + %t257 = load ptr, ptr %sc_l_p_receiver + %t258 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t257, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t251, ptr @sc_lit_731773075116702, ptr %t256, ptr %t258) + %t259 = load i32, ptr %exc.cell + %t260 = icmp ne i32 %t259, 0 + %t261 = call i1 @llvm.expect.i1(i1 %t260, i1 false) + br i1 %t261, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t251) + call void @sc_rc_release_dyn(ptr %t256) + call void @sc_rc_release_dyn(ptr %t258) + ret void +exc.k106: + call void @sc_rc_release_dyn(ptr %t251) + call void @sc_rc_release_dyn(ptr %t256) + call void @sc_rc_release_dyn(ptr %t258) + ret void +if.j102: + %t262 = load ptr, ptr %sc_l_p_0 + %t263 = call ptr @sc_rc_retain_dyn(ptr %t262) + %t264 = call ptr @sc_f__x25_dyn_class_properties(ptr %t263) + %t265 = load i32, ptr %exc.cell + %t266 = icmp ne i32 %t265, 0 + %t267 = call i1 @llvm.expect.i1(i1 %t266, i1 false) + br i1 %t267, label %exc.u107, label %exc.k108 +exc.u107: + call void @sc_rc_release_dyn(ptr %t264) + ret void +exc.k108: + %t268 = load ptr, ptr %sc_l_key_string + %t269 = call ptr @sc_rc_retain_str(ptr %t268) + %t270 = load ptr, ptr %sc_l_p_1 + %t271 = call ptr @sc_rc_retain_dyn(ptr %t270) + %t272 = load ptr, ptr %sc_l_p_receiver + %t273 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t272, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + call void @scr_dyn_bag_set(ptr %t264, ptr %t269, ptr %t271, ptr %t273) + %t274 = load i32, ptr %exc.cell + %t275 = icmp ne i32 %t274, 0 + %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false) + br i1 %t276, label %exc.u109, label %exc.k110 +exc.u109: + call void @sc_rc_release_dyn(ptr %t264) + call void @scr_str_release(ptr %t269) + call void @sc_rc_release_dyn(ptr %t271) + call void @sc_rc_release_dyn(ptr %t273) + ret void +exc.k110: + call void @sc_rc_release_dyn(ptr %t264) + call void @scr_str_release(ptr %t269) + call void @sc_rc_release_dyn(ptr %t271) + call void @sc_rc_release_dyn(ptr %t273) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_464(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_464(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m5_CtxCore(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_465(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.465 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_3804612928743770(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_74(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rrelease_r12(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t6, i64 0, i32 3 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !190 + call void @sc_rrelease_r12(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_1810373001322451(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call ptr @sc_dc_75(ptr %t17, ptr null) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_arr_release(ptr %t18) + ret void +exc.k9: + %t22 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t16, i64 0, i32 4 + %t23 = load ptr, ptr %t22 + store ptr %t18, ptr %t22, !tbaa !192 + call void @scr_arr_release(ptr %t23) + ret void +if.j7: + %t24 = load ptr, ptr %sc_l_key_string + %t25 = call zeroext i1 @sc_streq_2227497482646049(ptr %t24) + br i1 %t25, label %if.t10, label %if.j11 +if.t10: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t28 = call ptr @sc_f__x25_dyn_class_properties(ptr %t27) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t28) + ret void +exc.k13: + %t32 = load ptr, ptr %sc_l_p_1 + %t33 = call ptr @sc_rc_retain_dyn(ptr %t32) + %t34 = load ptr, ptr %sc_l_p_receiver + %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + call void @scr_dyn_bag_set(ptr %t28, ptr @sc_lit_2227497482646049, ptr %t33, ptr %t35) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + ret void +exc.k15: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + ret void +if.j11: + %t39 = load ptr, ptr %sc_l_key_string + %t40 = call zeroext i1 @sc_streq_228045523956680(ptr %t39) + br i1 %t40, label %if.t16, label %if.j17 +if.t16: + %t41 = load ptr, ptr %sc_l_p_receiver + %t42 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t41, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t43 = call ptr @sc_f__x25_dyn_class_properties(ptr %t42) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t43) + ret void +exc.k19: + %t47 = load ptr, ptr %sc_l_p_1 + %t48 = call ptr @sc_rc_retain_dyn(ptr %t47) + %t49 = load ptr, ptr %sc_l_p_receiver + %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + call void @scr_dyn_bag_set(ptr %t43, ptr @sc_lit_228045523956680, ptr %t48, ptr %t50) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t48) + call void @sc_rc_release_dyn(ptr %t50) + ret void +exc.k21: + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t48) + call void @sc_rc_release_dyn(ptr %t50) + ret void +if.j17: + %t54 = load ptr, ptr %sc_l_key_string + %t55 = call zeroext i1 @sc_streq_731773075116702(ptr %t54) + br i1 %t55, label %if.t22, label %if.j23 +if.t22: + %t56 = load ptr, ptr %sc_l_p_receiver + %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t58 = call ptr @sc_f__x25_dyn_class_properties(ptr %t57) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t58) + ret void +exc.k25: + %t62 = load ptr, ptr %sc_l_p_1 + %t63 = call ptr @sc_rc_retain_dyn(ptr %t62) + %t64 = load ptr, ptr %sc_l_p_receiver + %t65 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t64, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + call void @scr_dyn_bag_set(ptr %t58, ptr @sc_lit_731773075116702, ptr %t63, ptr %t65) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t65) + ret void +exc.k27: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t65) + ret void +if.j23: + %t69 = load ptr, ptr %sc_l_p_0 + %t70 = call ptr @sc_rc_retain_dyn(ptr %t69) + %t71 = call ptr @sc_f__x25_dyn_class_properties(ptr %t70) + %t72 = load i32, ptr %exc.cell + %t73 = icmp ne i32 %t72, 0 + %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false) + br i1 %t74, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t71) + ret void +exc.k29: + %t75 = load ptr, ptr %sc_l_key_string + %t76 = call ptr @sc_rc_retain_str(ptr %t75) + %t77 = load ptr, ptr %sc_l_p_1 + %t78 = call ptr @sc_rc_retain_dyn(ptr %t77) + %t79 = load ptr, ptr %sc_l_p_receiver + %t80 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t79, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + call void @scr_dyn_bag_set(ptr %t71, ptr %t76, ptr %t78, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t71) + call void @scr_str_release(ptr %t76) + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t80) + ret void +exc.k31: + call void @sc_rc_release_dyn(ptr %t71) + call void @scr_str_release(ptr %t76) + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t80) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_465(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_465(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m14_BakedAssets(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_466(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.466 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_4062729090063393(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k5: + %t12 = load ptr, ptr %sc_l_p_1 + %t13 = call ptr @sc_rc_retain_dyn(ptr %t12) + %t14 = load ptr, ptr %sc_l_p_receiver + %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_4062729090063393, ptr %t13, ptr %t15) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +if.j3: + %t19 = load ptr, ptr %sc_l_p_0 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_properties(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t21) + ret void +exc.k9: + %t25 = load ptr, ptr %sc_l_key_string + %t26 = call ptr @sc_rc_retain_str(ptr %t25) + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = load ptr, ptr %sc_l_p_receiver + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + call void @scr_dyn_bag_set(ptr %t21, ptr %t26, ptr %t28, ptr %t30) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_str_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +exc.k11: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_str_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_466(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_466(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m4_MultipartStorage(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_467(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.467 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_4062729090063393(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k5: + %t12 = load ptr, ptr %sc_l_p_1 + %t13 = call ptr @sc_rc_retain_dyn(ptr %t12) + %t14 = load ptr, ptr %sc_l_p_receiver + %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_4062729090063393, ptr %t13, ptr %t15) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +if.j3: + %t19 = load ptr, ptr %sc_l_p_0 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_properties(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t21) + ret void +exc.k9: + %t25 = load ptr, ptr %sc_l_key_string + %t26 = call ptr @sc_rc_retain_str(ptr %t25) + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = load ptr, ptr %sc_l_p_receiver + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + call void @scr_dyn_bag_set(ptr %t21, ptr %t26, ptr %t28, ptr %t30) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_str_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +exc.k11: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_str_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_467(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_467(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m4_MemoryStorage(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_468(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.468 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_3251470234448474(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call double @sc_dc_2(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t6, i64 0, i32 1 + store double %t8, ptr %t12, !tbaa !14 + ret void +if.j3: + %t13 = load ptr, ptr %sc_l_key_string + %t14 = call zeroext i1 @sc_streq_1295387805544367(ptr %t13) + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_p_receiver + %t16 = load ptr, ptr %sc_l_p_1 + %t17 = call ptr @sc_dc_50(ptr %t16, ptr null) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_release__x25_m4_MultipartStorage(ptr %t17) + ret void +exc.k9: + %t21 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t15, i64 0, i32 2 + %t22 = load ptr, ptr %t21 + store ptr %t17, ptr %t21, !tbaa !16 + call void @sc_release__x25_m4_MultipartStorage(ptr %t22) + ret void +if.j7: + %t23 = load ptr, ptr %sc_l_key_string + %t24 = call zeroext i1 @sc_streq_3528980137111930(ptr %t23) + br i1 %t24, label %if.t10, label %if.j11 +if.t10: + %t25 = load ptr, ptr %sc_l_p_receiver + %t26 = load ptr, ptr %sc_l_p_1 + %t27 = call double @sc_dc_2(ptr %t26, ptr null) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u12, label %exc.k13 +exc.u12: + ret void +exc.k13: + %t31 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t25, i64 0, i32 3 + store double %t27, ptr %t31, !tbaa !18 + ret void +if.j11: + %t32 = load ptr, ptr %sc_l_key_string + %t33 = call zeroext i1 @sc_streq_4476522814667484(ptr %t32) + br i1 %t33, label %if.t14, label %if.j15 +if.t14: + %t34 = load ptr, ptr %sc_l_p_receiver + %t35 = load ptr, ptr %sc_l_p_1 + %t36 = call double @sc_dc_2(ptr %t35, ptr null) + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u16, label %exc.k17 +exc.u16: + ret void +exc.k17: + %t40 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t34, i64 0, i32 4 + store double %t36, ptr %t40, !tbaa !20 + ret void +if.j15: + %t41 = load ptr, ptr %sc_l_key_string + %t42 = call zeroext i1 @sc_streq_3328648022724882(ptr %t41) + br i1 %t42, label %if.t18, label %if.j19 +if.t18: + %t43 = load ptr, ptr %sc_l_p_receiver + %t44 = load ptr, ptr %sc_l_p_1 + %t45 = call double @sc_dc_2(ptr %t44, ptr null) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u20, label %exc.k21 +exc.u20: + ret void +exc.k21: + %t49 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t43, i64 0, i32 5 + store double %t45, ptr %t49, !tbaa !22 + ret void +if.j19: + %t50 = load ptr, ptr %sc_l_p_0 + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + %t52 = call ptr @sc_f__x25_dyn_class_properties(ptr %t51) + %t53 = load i32, ptr %exc.cell + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t52) + ret void +exc.k23: + %t56 = load ptr, ptr %sc_l_key_string + %t57 = call ptr @sc_rc_retain_str(ptr %t56) + %t58 = load ptr, ptr %sc_l_p_1 + %t59 = call ptr @sc_rc_retain_dyn(ptr %t58) + %t60 = load ptr, ptr %sc_l_p_receiver + %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t61, ptr @sc_ldr_32_materialize_cops) + call void @scr_dyn_bag_set(ptr %t52, ptr %t57, ptr %t59, ptr %t61) + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t52) + call void @scr_str_release(ptr %t57) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t61) + ret void +exc.k25: + call void @sc_rc_release_dyn(ptr %t52) + call void @scr_str_release(ptr %t57) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t61) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_468(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_468(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m5_MpCfg(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_469(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.469 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_1287587581000978(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_15(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_union_release(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t6, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !138 + call void @scr_union_release(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_1774444802243527(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call ptr @sc_rc_retain_dyn(ptr %t17) + %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t16, i64 0, i32 2 + %t20 = load ptr, ptr %t19 + store ptr %t18, ptr %t19, !tbaa !136 + call void @sc_rc_release_dyn(ptr %t20) + ret void +if.j7: + %t21 = load ptr, ptr %sc_l_key_string + %t22 = call zeroext i1 @sc_streq_964469684973146(ptr %t21) + br i1 %t22, label %if.t8, label %if.j9 +if.t8: + %t23 = load ptr, ptr %sc_l_p_receiver + %t24 = load ptr, ptr %sc_l_p_1 + %t25 = call ptr @sc_dc_13(ptr %t24, ptr null) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rrelease_r0(ptr %t25) + ret void +exc.k11: + %t29 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t23, i64 0, i32 3 + %t30 = load ptr, ptr %t29 + store ptr %t25, ptr %t29, !tbaa !140 + call void @sc_rrelease_r0(ptr %t30) + ret void +if.j9: + %t31 = load ptr, ptr %sc_l_key_string + %t32 = call zeroext i1 @sc_streq_1867568051177534(ptr %t31) + br i1 %t32, label %if.t12, label %if.j13 +if.t12: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = load ptr, ptr %sc_l_p_1 + %t35 = call ptr @sc_dc_17(ptr %t34, ptr null) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rrelease_r3(ptr %t35) + ret void +exc.k15: + %t39 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t33, i64 0, i32 4 + %t40 = load ptr, ptr %t39 + store ptr %t35, ptr %t39, !tbaa !142 + call void @sc_rrelease_r3(ptr %t40) + ret void +if.j13: + %t41 = load ptr, ptr %sc_l_key_string + %t42 = call zeroext i1 @sc_streq_1609576561362083(ptr %t41) + br i1 %t42, label %if.t16, label %if.j17 +if.t16: + %t43 = load ptr, ptr %sc_l_p_receiver + %t44 = load ptr, ptr %sc_l_p_1 + %t45 = call ptr @sc_dc_0(ptr %t44, ptr null) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @scr_str_release(ptr %t45) + ret void +exc.k19: + %t49 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t43, i64 0, i32 5 + %t50 = load ptr, ptr %t49 + store ptr %t45, ptr %t49, !tbaa !76 + call void @scr_str_release(ptr %t50) + ret void +if.j17: + %t51 = load ptr, ptr %sc_l_key_string + %t52 = call zeroext i1 @sc_streq_719487464480143(ptr %t51) + br i1 %t52, label %if.t20, label %if.j21 +if.t20: + %t53 = load ptr, ptr %sc_l_p_receiver + %t54 = load ptr, ptr %sc_l_p_1 + %t55 = call ptr @sc_dc_0(ptr %t54, ptr null) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_str_release(ptr %t55) + ret void +exc.k23: + %t59 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t53, i64 0, i32 6 + %t60 = load ptr, ptr %t59 + store ptr %t55, ptr %t59, !tbaa !78 + call void @scr_str_release(ptr %t60) + ret void +if.j21: + %t61 = load ptr, ptr %sc_l_key_string + %t62 = call zeroext i1 @sc_streq_2826818497658723(ptr %t61) + br i1 %t62, label %if.t24, label %if.j25 +if.t24: + %t63 = load ptr, ptr %sc_l_p_receiver + %t64 = load ptr, ptr %sc_l_p_1 + %t65 = call ptr @sc_dc_0(ptr %t64, ptr null) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_str_release(ptr %t65) + ret void +exc.k27: + %t69 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t63, i64 0, i32 7 + %t70 = load ptr, ptr %t69 + store ptr %t65, ptr %t69, !tbaa !96 + call void @scr_str_release(ptr %t70) + ret void +if.j25: + %t71 = load ptr, ptr %sc_l_key_string + %t72 = call zeroext i1 @sc_streq_2528619671045714(ptr %t71) + br i1 %t72, label %if.t28, label %if.j29 +if.t28: + %t73 = load ptr, ptr %sc_l_p_receiver + %t74 = load ptr, ptr %sc_l_p_1 + %t75 = call ptr @sc_dc_0(ptr %t74, ptr null) + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u30, label %exc.k31 +exc.u30: + call void @scr_str_release(ptr %t75) + ret void +exc.k31: + %t79 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t73, i64 0, i32 8 + %t80 = load ptr, ptr %t79 + store ptr %t75, ptr %t79, !tbaa !144 + call void @scr_str_release(ptr %t80) + ret void +if.j29: + %t81 = load ptr, ptr %sc_l_key_string + %t82 = call zeroext i1 @sc_streq_4247546884021115(ptr %t81) + br i1 %t82, label %if.t32, label %if.j33 +if.t32: + %t83 = load ptr, ptr %sc_l_p_receiver + %t84 = load ptr, ptr %sc_l_p_1 + %t85 = call ptr @sc_dc_18(ptr %t84, ptr null) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u34, label %exc.k35 +exc.u34: + call void @scr_arr_release(ptr %t85) + ret void +exc.k35: + %t89 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t83, i64 0, i32 9 + %t90 = load ptr, ptr %t89 + store ptr %t85, ptr %t89, !tbaa !146 + call void @scr_arr_release(ptr %t90) + ret void +if.j33: + %t91 = load ptr, ptr %sc_l_key_string + %t92 = call zeroext i1 @sc_streq_3282989543243776(ptr %t91) + br i1 %t92, label %if.t36, label %if.j37 +if.t36: + %t93 = load ptr, ptr %sc_l_p_receiver + %t94 = load ptr, ptr %sc_l_p_1 + %t95 = call ptr @sc_dc_18(ptr %t94, ptr null) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u38, label %exc.k39 +exc.u38: + call void @scr_arr_release(ptr %t95) + ret void +exc.k39: + %t99 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t93, i64 0, i32 10 + %t100 = load ptr, ptr %t99 + store ptr %t95, ptr %t99, !tbaa !148 + call void @scr_arr_release(ptr %t100) + ret void +if.j37: + %t101 = load ptr, ptr %sc_l_key_string + %t102 = call zeroext i1 @sc_streq_886324725696546(ptr %t101) + br i1 %t102, label %if.t40, label %if.j41 +if.t40: + %t103 = load ptr, ptr %sc_l_p_receiver + %t104 = load ptr, ptr %sc_l_p_1 + %t105 = call ptr @sc_dc_1(ptr %t104, ptr null) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u42, label %exc.k43 +exc.u42: + call void @scr_arr_release(ptr %t105) + ret void +exc.k43: + %t109 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t103, i64 0, i32 11 + %t110 = load ptr, ptr %t109 + store ptr %t105, ptr %t109, !tbaa !150 + call void @scr_arr_release(ptr %t110) + ret void +if.j41: + %t111 = load ptr, ptr %sc_l_key_string + %t112 = call zeroext i1 @sc_streq_535630044833136(ptr %t111) + br i1 %t112, label %if.t44, label %if.j45 +if.t44: + %t113 = load ptr, ptr %sc_l_p_receiver + %t114 = load ptr, ptr %sc_l_p_1 + %t115 = call ptr @sc_dc_19(ptr %t114, ptr null) + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u46, label %exc.k47 +exc.u46: + call void @scr_arr_release(ptr %t115) + ret void +exc.k47: + %t119 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t113, i64 0, i32 12 + %t120 = load ptr, ptr %t119 + store ptr %t115, ptr %t119, !tbaa !152 + call void @scr_arr_release(ptr %t120) + ret void +if.j45: + %t121 = load ptr, ptr %sc_l_key_string + %t122 = call zeroext i1 @sc_streq_4400741686745380(ptr %t121) + br i1 %t122, label %if.t48, label %if.j49 +if.t48: + %t123 = load ptr, ptr %sc_l_p_receiver + %t124 = load ptr, ptr %sc_l_p_1 + %t125 = call double @sc_dc_2(ptr %t124, ptr null) + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u50, label %exc.k51 +exc.u50: + ret void +exc.k51: + %t129 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t123, i64 0, i32 13 + store double %t125, ptr %t129, !tbaa !154 + ret void +if.j49: + %t130 = load ptr, ptr %sc_l_key_string + %t131 = call zeroext i1 @sc_streq_4347805238344460(ptr %t130) + br i1 %t131, label %if.t52, label %if.j53 +if.t52: + %t132 = load ptr, ptr %sc_l_p_receiver + %t133 = load ptr, ptr %sc_l_p_1 + %t134 = call ptr @sc_dc_0(ptr %t133, ptr null) + %t135 = load i32, ptr %exc.cell + %t136 = icmp ne i32 %t135, 0 + %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false) + br i1 %t137, label %exc.u54, label %exc.k55 +exc.u54: + call void @scr_str_release(ptr %t134) + ret void +exc.k55: + %t138 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t132, i64 0, i32 14 + %t139 = load ptr, ptr %t138 + store ptr %t134, ptr %t138, !tbaa !156 + call void @scr_str_release(ptr %t139) + ret void +if.j53: + %t140 = load ptr, ptr %sc_l_key_string + %t141 = call zeroext i1 @sc_streq_3191748704064557(ptr %t140) + br i1 %t141, label %if.t56, label %if.j57 +if.t56: + %t142 = load ptr, ptr %sc_l_p_receiver + %t143 = load ptr, ptr %sc_l_p_1 + %t144 = call ptr @sc_dc_20(ptr %t143, ptr null) + %t145 = load i32, ptr %exc.cell + %t146 = icmp ne i32 %t145, 0 + %t147 = call i1 @llvm.expect.i1(i1 %t146, i1 false) + br i1 %t147, label %exc.u58, label %exc.k59 +exc.u58: + call void @scr_arr_release(ptr %t144) + ret void +exc.k59: + %t148 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t142, i64 0, i32 15 + %t149 = load ptr, ptr %t148 + store ptr %t144, ptr %t148, !tbaa !158 + call void @scr_arr_release(ptr %t149) + ret void +if.j57: + %t150 = load ptr, ptr %sc_l_key_string + %t151 = call zeroext i1 @sc_streq_232607068610214(ptr %t150) + br i1 %t151, label %if.t60, label %if.j61 +if.t60: + %t152 = load ptr, ptr %sc_l_p_receiver + %t153 = load ptr, ptr %sc_l_p_1 + %t154 = call ptr @sc_dc_1(ptr %t153, ptr null) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u62, label %exc.k63 +exc.u62: + call void @scr_arr_release(ptr %t154) + ret void +exc.k63: + %t158 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t152, i64 0, i32 16 + %t159 = load ptr, ptr %t158 + store ptr %t154, ptr %t158, !tbaa !160 + call void @scr_arr_release(ptr %t159) + ret void +if.j61: + %t160 = load ptr, ptr %sc_l_key_string + %t161 = call zeroext i1 @sc_streq_3786966061696883(ptr %t160) + br i1 %t161, label %if.t64, label %if.j65 +if.t64: + %t162 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2655222345707125) + call void @scr_throw_obj(ptr %t162, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret void +if.j65: + %t163 = load ptr, ptr %sc_l_key_string + %t164 = call zeroext i1 @sc_streq_308138762104264(ptr %t163) + br i1 %t164, label %if.t66, label %if.j67 +if.t66: + %t165 = load ptr, ptr %sc_l_p_receiver + %t166 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t165, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t167 = call ptr @sc_f__x25_dyn_class_properties(ptr %t166) + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t167) + ret void +exc.k69: + %t171 = load ptr, ptr %sc_l_p_1 + %t172 = call ptr @sc_rc_retain_dyn(ptr %t171) + %t173 = load ptr, ptr %sc_l_p_receiver + %t174 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t173, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t167, ptr @sc_lit_308138762104264, ptr %t172, ptr %t174) + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t167) + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t174) + ret void +exc.k71: + call void @sc_rc_release_dyn(ptr %t167) + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t174) + ret void +if.j67: + %t178 = load ptr, ptr %sc_l_key_string + %t179 = call zeroext i1 @sc_streq_2356143898347316(ptr %t178) + br i1 %t179, label %if.t72, label %if.j73 +if.t72: + %t180 = load ptr, ptr %sc_l_p_receiver + %t181 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t180, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t182 = call ptr @sc_f__x25_dyn_class_properties(ptr %t181) + %t183 = load i32, ptr %exc.cell + %t184 = icmp ne i32 %t183, 0 + %t185 = call i1 @llvm.expect.i1(i1 %t184, i1 false) + br i1 %t185, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t182) + ret void +exc.k75: + %t186 = load ptr, ptr %sc_l_p_1 + %t187 = call ptr @sc_rc_retain_dyn(ptr %t186) + %t188 = load ptr, ptr %sc_l_p_receiver + %t189 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t188, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t182, ptr @sc_lit_2356143898347316, ptr %t187, ptr %t189) + %t190 = load i32, ptr %exc.cell + %t191 = icmp ne i32 %t190, 0 + %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false) + br i1 %t192, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t187) + call void @sc_rc_release_dyn(ptr %t189) + ret void +exc.k77: + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t187) + call void @sc_rc_release_dyn(ptr %t189) + ret void +if.j73: + %t193 = load ptr, ptr %sc_l_key_string + %t194 = call zeroext i1 @sc_streq_3600534565598564(ptr %t193) + br i1 %t194, label %if.t78, label %if.j79 +if.t78: + %t195 = load ptr, ptr %sc_l_p_receiver + %t196 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t195, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t197 = call ptr @sc_f__x25_dyn_class_properties(ptr %t196) + %t198 = load i32, ptr %exc.cell + %t199 = icmp ne i32 %t198, 0 + %t200 = call i1 @llvm.expect.i1(i1 %t199, i1 false) + br i1 %t200, label %exc.u80, label %exc.k81 +exc.u80: + call void @sc_rc_release_dyn(ptr %t197) + ret void +exc.k81: + %t201 = load ptr, ptr %sc_l_p_1 + %t202 = call ptr @sc_rc_retain_dyn(ptr %t201) + %t203 = load ptr, ptr %sc_l_p_receiver + %t204 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t203, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t197, ptr @sc_lit_3600534565598564, ptr %t202, ptr %t204) + %t205 = load i32, ptr %exc.cell + %t206 = icmp ne i32 %t205, 0 + %t207 = call i1 @llvm.expect.i1(i1 %t206, i1 false) + br i1 %t207, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t197) + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t204) + ret void +exc.k83: + call void @sc_rc_release_dyn(ptr %t197) + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t204) + ret void +if.j79: + %t208 = load ptr, ptr %sc_l_key_string + %t209 = call zeroext i1 @sc_streq_1621825757343351(ptr %t208) + br i1 %t209, label %if.t84, label %if.j85 +if.t84: + %t210 = load ptr, ptr %sc_l_p_receiver + %t211 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t210, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t212 = call ptr @sc_f__x25_dyn_class_properties(ptr %t211) + %t213 = load i32, ptr %exc.cell + %t214 = icmp ne i32 %t213, 0 + %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false) + br i1 %t215, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t212) + ret void +exc.k87: + %t216 = load ptr, ptr %sc_l_p_1 + %t217 = call ptr @sc_rc_retain_dyn(ptr %t216) + %t218 = load ptr, ptr %sc_l_p_receiver + %t219 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t218, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t212, ptr @sc_lit_1621825757343351, ptr %t217, ptr %t219) + %t220 = load i32, ptr %exc.cell + %t221 = icmp ne i32 %t220, 0 + %t222 = call i1 @llvm.expect.i1(i1 %t221, i1 false) + br i1 %t222, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t212) + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t219) + ret void +exc.k89: + call void @sc_rc_release_dyn(ptr %t212) + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t219) + ret void +if.j85: + %t223 = load ptr, ptr %sc_l_key_string + %t224 = call zeroext i1 @sc_streq_2827456990858395(ptr %t223) + br i1 %t224, label %if.t90, label %if.j91 +if.t90: + %t225 = load ptr, ptr %sc_l_p_receiver + %t226 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t225, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t227 = call ptr @sc_f__x25_dyn_class_properties(ptr %t226) + %t228 = load i32, ptr %exc.cell + %t229 = icmp ne i32 %t228, 0 + %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false) + br i1 %t230, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t227) + ret void +exc.k93: + %t231 = load ptr, ptr %sc_l_p_1 + %t232 = call ptr @sc_rc_retain_dyn(ptr %t231) + %t233 = load ptr, ptr %sc_l_p_receiver + %t234 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t233, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t227, ptr @sc_lit_2827456990858395, ptr %t232, ptr %t234) + %t235 = load i32, ptr %exc.cell + %t236 = icmp ne i32 %t235, 0 + %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false) + br i1 %t237, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t227) + call void @sc_rc_release_dyn(ptr %t232) + call void @sc_rc_release_dyn(ptr %t234) + ret void +exc.k95: + call void @sc_rc_release_dyn(ptr %t227) + call void @sc_rc_release_dyn(ptr %t232) + call void @sc_rc_release_dyn(ptr %t234) + ret void +if.j91: + %t238 = load ptr, ptr %sc_l_key_string + %t239 = call zeroext i1 @sc_streq_2968093406050353(ptr %t238) + br i1 %t239, label %if.t96, label %if.j97 +if.t96: + %t240 = load ptr, ptr %sc_l_p_receiver + %t241 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t240, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t242 = call ptr @sc_f__x25_dyn_class_properties(ptr %t241) + %t243 = load i32, ptr %exc.cell + %t244 = icmp ne i32 %t243, 0 + %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false) + br i1 %t245, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t242) + ret void +exc.k99: + %t246 = load ptr, ptr %sc_l_p_1 + %t247 = call ptr @sc_rc_retain_dyn(ptr %t246) + %t248 = load ptr, ptr %sc_l_p_receiver + %t249 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t248, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t242, ptr @sc_lit_2968093406050353, ptr %t247, ptr %t249) + %t250 = load i32, ptr %exc.cell + %t251 = icmp ne i32 %t250, 0 + %t252 = call i1 @llvm.expect.i1(i1 %t251, i1 false) + br i1 %t252, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t242) + call void @sc_rc_release_dyn(ptr %t247) + call void @sc_rc_release_dyn(ptr %t249) + ret void +exc.k101: + call void @sc_rc_release_dyn(ptr %t242) + call void @sc_rc_release_dyn(ptr %t247) + call void @sc_rc_release_dyn(ptr %t249) + ret void +if.j97: + %t253 = load ptr, ptr %sc_l_key_string + %t254 = call zeroext i1 @sc_streq_3529749794644284(ptr %t253) + br i1 %t254, label %if.t102, label %if.j103 +if.t102: + %t255 = load ptr, ptr %sc_l_p_receiver + %t256 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t255, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t257 = call ptr @sc_f__x25_dyn_class_properties(ptr %t256) + %t258 = load i32, ptr %exc.cell + %t259 = icmp ne i32 %t258, 0 + %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false) + br i1 %t260, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t257) + ret void +exc.k105: + %t261 = load ptr, ptr %sc_l_p_1 + %t262 = call ptr @sc_rc_retain_dyn(ptr %t261) + %t263 = load ptr, ptr %sc_l_p_receiver + %t264 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t263, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t257, ptr @sc_lit_3529749794644284, ptr %t262, ptr %t264) + %t265 = load i32, ptr %exc.cell + %t266 = icmp ne i32 %t265, 0 + %t267 = call i1 @llvm.expect.i1(i1 %t266, i1 false) + br i1 %t267, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t257) + call void @sc_rc_release_dyn(ptr %t262) + call void @sc_rc_release_dyn(ptr %t264) + ret void +exc.k107: + call void @sc_rc_release_dyn(ptr %t257) + call void @sc_rc_release_dyn(ptr %t262) + call void @sc_rc_release_dyn(ptr %t264) + ret void +if.j103: + %t268 = load ptr, ptr %sc_l_key_string + %t269 = call zeroext i1 @sc_streq_124879919648070(ptr %t268) + br i1 %t269, label %if.t108, label %if.j109 +if.t108: + %t270 = load ptr, ptr %sc_l_p_receiver + %t271 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t270, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t272 = call ptr @sc_f__x25_dyn_class_properties(ptr %t271) + %t273 = load i32, ptr %exc.cell + %t274 = icmp ne i32 %t273, 0 + %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false) + br i1 %t275, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t272) + ret void +exc.k111: + %t276 = load ptr, ptr %sc_l_p_1 + %t277 = call ptr @sc_rc_retain_dyn(ptr %t276) + %t278 = load ptr, ptr %sc_l_p_receiver + %t279 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t278, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t272, ptr @sc_lit_124879919648070, ptr %t277, ptr %t279) + %t280 = load i32, ptr %exc.cell + %t281 = icmp ne i32 %t280, 0 + %t282 = call i1 @llvm.expect.i1(i1 %t281, i1 false) + br i1 %t282, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t272) + call void @sc_rc_release_dyn(ptr %t277) + call void @sc_rc_release_dyn(ptr %t279) + ret void +exc.k113: + call void @sc_rc_release_dyn(ptr %t272) + call void @sc_rc_release_dyn(ptr %t277) + call void @sc_rc_release_dyn(ptr %t279) + ret void +if.j109: + %t283 = load ptr, ptr %sc_l_key_string + %t284 = call zeroext i1 @sc_streq_528144782449140(ptr %t283) + br i1 %t284, label %if.t114, label %if.j115 +if.t114: + %t285 = load ptr, ptr %sc_l_p_receiver + %t286 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t285, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t287 = call ptr @sc_f__x25_dyn_class_properties(ptr %t286) + %t288 = load i32, ptr %exc.cell + %t289 = icmp ne i32 %t288, 0 + %t290 = call i1 @llvm.expect.i1(i1 %t289, i1 false) + br i1 %t290, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t287) + ret void +exc.k117: + %t291 = load ptr, ptr %sc_l_p_1 + %t292 = call ptr @sc_rc_retain_dyn(ptr %t291) + %t293 = load ptr, ptr %sc_l_p_receiver + %t294 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t293, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t287, ptr @sc_lit_528144782449140, ptr %t292, ptr %t294) + %t295 = load i32, ptr %exc.cell + %t296 = icmp ne i32 %t295, 0 + %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false) + br i1 %t297, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t287) + call void @sc_rc_release_dyn(ptr %t292) + call void @sc_rc_release_dyn(ptr %t294) + ret void +exc.k119: + call void @sc_rc_release_dyn(ptr %t287) + call void @sc_rc_release_dyn(ptr %t292) + call void @sc_rc_release_dyn(ptr %t294) + ret void +if.j115: + %t298 = load ptr, ptr %sc_l_key_string + %t299 = call zeroext i1 @sc_streq_616655122974952(ptr %t298) + br i1 %t299, label %if.t120, label %if.j121 +if.t120: + %t300 = load ptr, ptr %sc_l_p_receiver + %t301 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t300, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t302 = call ptr @sc_f__x25_dyn_class_properties(ptr %t301) + %t303 = load i32, ptr %exc.cell + %t304 = icmp ne i32 %t303, 0 + %t305 = call i1 @llvm.expect.i1(i1 %t304, i1 false) + br i1 %t305, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t302) + ret void +exc.k123: + %t306 = load ptr, ptr %sc_l_p_1 + %t307 = call ptr @sc_rc_retain_dyn(ptr %t306) + %t308 = load ptr, ptr %sc_l_p_receiver + %t309 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t308, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t302, ptr @sc_lit_616655122974952, ptr %t307, ptr %t309) + %t310 = load i32, ptr %exc.cell + %t311 = icmp ne i32 %t310, 0 + %t312 = call i1 @llvm.expect.i1(i1 %t311, i1 false) + br i1 %t312, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t302) + call void @sc_rc_release_dyn(ptr %t307) + call void @sc_rc_release_dyn(ptr %t309) + ret void +exc.k125: + call void @sc_rc_release_dyn(ptr %t302) + call void @sc_rc_release_dyn(ptr %t307) + call void @sc_rc_release_dyn(ptr %t309) + ret void +if.j121: + %t313 = load ptr, ptr %sc_l_key_string + %t314 = call zeroext i1 @sc_streq_40786511283622(ptr %t313) + br i1 %t314, label %if.t126, label %if.j127 +if.t126: + %t315 = load ptr, ptr %sc_l_p_receiver + %t316 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t315, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t317 = call ptr @sc_f__x25_dyn_class_properties(ptr %t316) + %t318 = load i32, ptr %exc.cell + %t319 = icmp ne i32 %t318, 0 + %t320 = call i1 @llvm.expect.i1(i1 %t319, i1 false) + br i1 %t320, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t317) + ret void +exc.k129: + %t321 = load ptr, ptr %sc_l_p_1 + %t322 = call ptr @sc_rc_retain_dyn(ptr %t321) + %t323 = load ptr, ptr %sc_l_p_receiver + %t324 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t323, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t317, ptr @sc_lit_40786511283622, ptr %t322, ptr %t324) + %t325 = load i32, ptr %exc.cell + %t326 = icmp ne i32 %t325, 0 + %t327 = call i1 @llvm.expect.i1(i1 %t326, i1 false) + br i1 %t327, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t317) + call void @sc_rc_release_dyn(ptr %t322) + call void @sc_rc_release_dyn(ptr %t324) + ret void +exc.k131: + call void @sc_rc_release_dyn(ptr %t317) + call void @sc_rc_release_dyn(ptr %t322) + call void @sc_rc_release_dyn(ptr %t324) + ret void +if.j127: + %t328 = load ptr, ptr %sc_l_key_string + %t329 = call zeroext i1 @sc_streq_1048673592241930(ptr %t328) + br i1 %t329, label %if.t132, label %if.j133 +if.t132: + %t330 = load ptr, ptr %sc_l_p_receiver + %t331 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t330, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t332 = call ptr @sc_f__x25_dyn_class_properties(ptr %t331) + %t333 = load i32, ptr %exc.cell + %t334 = icmp ne i32 %t333, 0 + %t335 = call i1 @llvm.expect.i1(i1 %t334, i1 false) + br i1 %t335, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t332) + ret void +exc.k135: + %t336 = load ptr, ptr %sc_l_p_1 + %t337 = call ptr @sc_rc_retain_dyn(ptr %t336) + %t338 = load ptr, ptr %sc_l_p_receiver + %t339 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t338, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t332, ptr @sc_lit_1048673592241930, ptr %t337, ptr %t339) + %t340 = load i32, ptr %exc.cell + %t341 = icmp ne i32 %t340, 0 + %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false) + br i1 %t342, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t332) + call void @sc_rc_release_dyn(ptr %t337) + call void @sc_rc_release_dyn(ptr %t339) + ret void +exc.k137: + call void @sc_rc_release_dyn(ptr %t332) + call void @sc_rc_release_dyn(ptr %t337) + call void @sc_rc_release_dyn(ptr %t339) + ret void +if.j133: + %t343 = load ptr, ptr %sc_l_key_string + %t344 = call zeroext i1 @sc_streq_1081761464356753(ptr %t343) + br i1 %t344, label %if.t138, label %if.j139 +if.t138: + %t345 = load ptr, ptr %sc_l_p_receiver + %t346 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t345, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t347 = call ptr @sc_f__x25_dyn_class_properties(ptr %t346) + %t348 = load i32, ptr %exc.cell + %t349 = icmp ne i32 %t348, 0 + %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false) + br i1 %t350, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t347) + ret void +exc.k141: + %t351 = load ptr, ptr %sc_l_p_1 + %t352 = call ptr @sc_rc_retain_dyn(ptr %t351) + %t353 = load ptr, ptr %sc_l_p_receiver + %t354 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t353, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t347, ptr @sc_lit_1081761464356753, ptr %t352, ptr %t354) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t347) + call void @sc_rc_release_dyn(ptr %t352) + call void @sc_rc_release_dyn(ptr %t354) + ret void +exc.k143: + call void @sc_rc_release_dyn(ptr %t347) + call void @sc_rc_release_dyn(ptr %t352) + call void @sc_rc_release_dyn(ptr %t354) + ret void +if.j139: + %t358 = load ptr, ptr %sc_l_key_string + %t359 = call zeroext i1 @sc_streq_3392166625234189(ptr %t358) + br i1 %t359, label %if.t144, label %if.j145 +if.t144: + %t360 = load ptr, ptr %sc_l_p_receiver + %t361 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t360, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t362 = call ptr @sc_f__x25_dyn_class_properties(ptr %t361) + %t363 = load i32, ptr %exc.cell + %t364 = icmp ne i32 %t363, 0 + %t365 = call i1 @llvm.expect.i1(i1 %t364, i1 false) + br i1 %t365, label %exc.u146, label %exc.k147 +exc.u146: + call void @sc_rc_release_dyn(ptr %t362) + ret void +exc.k147: + %t366 = load ptr, ptr %sc_l_p_1 + %t367 = call ptr @sc_rc_retain_dyn(ptr %t366) + %t368 = load ptr, ptr %sc_l_p_receiver + %t369 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t368, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t362, ptr @sc_lit_3392166625234189, ptr %t367, ptr %t369) + %t370 = load i32, ptr %exc.cell + %t371 = icmp ne i32 %t370, 0 + %t372 = call i1 @llvm.expect.i1(i1 %t371, i1 false) + br i1 %t372, label %exc.u148, label %exc.k149 +exc.u148: + call void @sc_rc_release_dyn(ptr %t362) + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t369) + ret void +exc.k149: + call void @sc_rc_release_dyn(ptr %t362) + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t369) + ret void +if.j145: + %t373 = load ptr, ptr %sc_l_key_string + %t374 = call zeroext i1 @sc_streq_3375901898269401(ptr %t373) + br i1 %t374, label %if.t150, label %if.j151 +if.t150: + %t375 = load ptr, ptr %sc_l_p_receiver + %t376 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t375, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t377 = call ptr @sc_f__x25_dyn_class_properties(ptr %t376) + %t378 = load i32, ptr %exc.cell + %t379 = icmp ne i32 %t378, 0 + %t380 = call i1 @llvm.expect.i1(i1 %t379, i1 false) + br i1 %t380, label %exc.u152, label %exc.k153 +exc.u152: + call void @sc_rc_release_dyn(ptr %t377) + ret void +exc.k153: + %t381 = load ptr, ptr %sc_l_p_1 + %t382 = call ptr @sc_rc_retain_dyn(ptr %t381) + %t383 = load ptr, ptr %sc_l_p_receiver + %t384 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t383, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t377, ptr @sc_lit_3375901898269401, ptr %t382, ptr %t384) + %t385 = load i32, ptr %exc.cell + %t386 = icmp ne i32 %t385, 0 + %t387 = call i1 @llvm.expect.i1(i1 %t386, i1 false) + br i1 %t387, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t377) + call void @sc_rc_release_dyn(ptr %t382) + call void @sc_rc_release_dyn(ptr %t384) + ret void +exc.k155: + call void @sc_rc_release_dyn(ptr %t377) + call void @sc_rc_release_dyn(ptr %t382) + call void @sc_rc_release_dyn(ptr %t384) + ret void +if.j151: + %t388 = load ptr, ptr %sc_l_key_string + %t389 = call zeroext i1 @sc_streq_3532714511332900(ptr %t388) + br i1 %t389, label %if.t156, label %if.j157 +if.t156: + %t390 = load ptr, ptr %sc_l_p_receiver + %t391 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t390, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t392 = call ptr @sc_f__x25_dyn_class_properties(ptr %t391) + %t393 = load i32, ptr %exc.cell + %t394 = icmp ne i32 %t393, 0 + %t395 = call i1 @llvm.expect.i1(i1 %t394, i1 false) + br i1 %t395, label %exc.u158, label %exc.k159 +exc.u158: + call void @sc_rc_release_dyn(ptr %t392) + ret void +exc.k159: + %t396 = load ptr, ptr %sc_l_p_1 + %t397 = call ptr @sc_rc_retain_dyn(ptr %t396) + %t398 = load ptr, ptr %sc_l_p_receiver + %t399 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t398, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t392, ptr @sc_lit_3532714511332900, ptr %t397, ptr %t399) + %t400 = load i32, ptr %exc.cell + %t401 = icmp ne i32 %t400, 0 + %t402 = call i1 @llvm.expect.i1(i1 %t401, i1 false) + br i1 %t402, label %exc.u160, label %exc.k161 +exc.u160: + call void @sc_rc_release_dyn(ptr %t392) + call void @sc_rc_release_dyn(ptr %t397) + call void @sc_rc_release_dyn(ptr %t399) + ret void +exc.k161: + call void @sc_rc_release_dyn(ptr %t392) + call void @sc_rc_release_dyn(ptr %t397) + call void @sc_rc_release_dyn(ptr %t399) + ret void +if.j157: + %t403 = load ptr, ptr %sc_l_key_string + %t404 = call zeroext i1 @sc_streq_3624217920823549(ptr %t403) + br i1 %t404, label %if.t162, label %if.j163 +if.t162: + %t405 = load ptr, ptr %sc_l_p_receiver + %t406 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t405, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t407 = call ptr @sc_f__x25_dyn_class_properties(ptr %t406) + %t408 = load i32, ptr %exc.cell + %t409 = icmp ne i32 %t408, 0 + %t410 = call i1 @llvm.expect.i1(i1 %t409, i1 false) + br i1 %t410, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t407) + ret void +exc.k165: + %t411 = load ptr, ptr %sc_l_p_1 + %t412 = call ptr @sc_rc_retain_dyn(ptr %t411) + %t413 = load ptr, ptr %sc_l_p_receiver + %t414 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t413, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t407, ptr @sc_lit_3624217920823549, ptr %t412, ptr %t414) + %t415 = load i32, ptr %exc.cell + %t416 = icmp ne i32 %t415, 0 + %t417 = call i1 @llvm.expect.i1(i1 %t416, i1 false) + br i1 %t417, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t407) + call void @sc_rc_release_dyn(ptr %t412) + call void @sc_rc_release_dyn(ptr %t414) + ret void +exc.k167: + call void @sc_rc_release_dyn(ptr %t407) + call void @sc_rc_release_dyn(ptr %t412) + call void @sc_rc_release_dyn(ptr %t414) + ret void +if.j163: + %t418 = load ptr, ptr %sc_l_p_0 + %t419 = call ptr @sc_rc_retain_dyn(ptr %t418) + %t420 = call ptr @sc_f__x25_dyn_class_properties(ptr %t419) + %t421 = load i32, ptr %exc.cell + %t422 = icmp ne i32 %t421, 0 + %t423 = call i1 @llvm.expect.i1(i1 %t422, i1 false) + br i1 %t423, label %exc.u168, label %exc.k169 +exc.u168: + call void @sc_rc_release_dyn(ptr %t420) + ret void +exc.k169: + %t424 = load ptr, ptr %sc_l_key_string + %t425 = call ptr @sc_rc_retain_str(ptr %t424) + %t426 = load ptr, ptr %sc_l_p_1 + %t427 = call ptr @sc_rc_retain_dyn(ptr %t426) + %t428 = load ptr, ptr %sc_l_p_receiver + %t429 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t428, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @scr_dyn_bag_set(ptr %t420, ptr %t425, ptr %t427, ptr %t429) + %t430 = load i32, ptr %exc.cell + %t431 = icmp ne i32 %t430, 0 + %t432 = call i1 @llvm.expect.i1(i1 %t431, i1 false) + br i1 %t432, label %exc.u170, label %exc.k171 +exc.u170: + call void @sc_rc_release_dyn(ptr %t420) + call void @scr_str_release(ptr %t425) + call void @sc_rc_release_dyn(ptr %t427) + call void @sc_rc_release_dyn(ptr %t429) + ret void +exc.k171: + call void @sc_rc_release_dyn(ptr %t420) + call void @scr_str_release(ptr %t425) + call void @sc_rc_release_dyn(ptr %t427) + call void @sc_rc_release_dyn(ptr %t429) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_469(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_469(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m5_ReqViewCore(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_470(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.470 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_3752021314181142(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k5: + %t12 = load ptr, ptr %sc_l_p_1 + %t13 = call ptr @sc_rc_retain_dyn(ptr %t12) + %t14 = load ptr, ptr %sc_l_p_receiver + %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_3752021314181142, ptr %t13, ptr %t15) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +if.j3: + %t19 = load ptr, ptr %sc_l_key_string + %t20 = call zeroext i1 @sc_streq_2364278031517622(ptr %t19) + br i1 %t20, label %if.t8, label %if.j9 +if.t8: + %t21 = load ptr, ptr %sc_l_p_receiver + %t22 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t21, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t23 = call ptr @sc_f__x25_dyn_class_properties(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t23) + ret void +exc.k11: + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = load ptr, ptr %sc_l_p_receiver + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t23, ptr @sc_lit_2364278031517622, ptr %t28, ptr %t30) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +exc.k13: + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +if.j9: + %t34 = load ptr, ptr %sc_l_key_string + %t35 = call zeroext i1 @sc_streq_470306239805907(ptr %t34) + br i1 %t35, label %if.t14, label %if.j15 +if.t14: + %t36 = load ptr, ptr %sc_l_p_receiver + %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t38 = call ptr @sc_f__x25_dyn_class_properties(ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t38) + ret void +exc.k17: + %t42 = load ptr, ptr %sc_l_p_1 + %t43 = call ptr @sc_rc_retain_dyn(ptr %t42) + %t44 = load ptr, ptr %sc_l_p_receiver + %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t38, ptr @sc_lit_470306239805907, ptr %t43, ptr %t45) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + ret void +exc.k19: + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + ret void +if.j15: + %t49 = load ptr, ptr %sc_l_key_string + %t50 = call zeroext i1 @sc_streq_4133069531575059(ptr %t49) + br i1 %t50, label %if.t20, label %if.j21 +if.t20: + %t51 = load ptr, ptr %sc_l_p_receiver + %t52 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t51, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t53 = call ptr @sc_f__x25_dyn_class_properties(ptr %t52) + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t53) + ret void +exc.k23: + %t57 = load ptr, ptr %sc_l_p_1 + %t58 = call ptr @sc_rc_retain_dyn(ptr %t57) + %t59 = load ptr, ptr %sc_l_p_receiver + %t60 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t59, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t53, ptr @sc_lit_4133069531575059, ptr %t58, ptr %t60) + %t61 = load i32, ptr %exc.cell + %t62 = icmp ne i32 %t61, 0 + %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false) + br i1 %t63, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t60) + ret void +exc.k25: + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t60) + ret void +if.j21: + %t64 = load ptr, ptr %sc_l_key_string + %t65 = call zeroext i1 @sc_streq_2253648670486996(ptr %t64) + br i1 %t65, label %if.t26, label %if.j27 +if.t26: + %t66 = load ptr, ptr %sc_l_p_receiver + %t67 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t66, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t68 = call ptr @sc_f__x25_dyn_class_properties(ptr %t67) + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t68) + ret void +exc.k29: + %t72 = load ptr, ptr %sc_l_p_1 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + %t74 = load ptr, ptr %sc_l_p_receiver + %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t68, ptr @sc_lit_2253648670486996, ptr %t73, ptr %t75) + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t75) + ret void +exc.k31: + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t75) + ret void +if.j27: + %t79 = load ptr, ptr %sc_l_key_string + %t80 = call zeroext i1 @sc_streq_161925136240866(ptr %t79) + br i1 %t80, label %if.t32, label %if.j33 +if.t32: + %t81 = load ptr, ptr %sc_l_p_receiver + %t82 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t81, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t83 = call ptr @sc_f__x25_dyn_class_properties(ptr %t82) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t83) + ret void +exc.k35: + %t87 = load ptr, ptr %sc_l_p_1 + %t88 = call ptr @sc_rc_retain_dyn(ptr %t87) + %t89 = load ptr, ptr %sc_l_p_receiver + %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t83, ptr @sc_lit_161925136240866, ptr %t88, ptr %t90) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_rc_release_dyn(ptr %t88) + call void @sc_rc_release_dyn(ptr %t90) + ret void +exc.k37: + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_rc_release_dyn(ptr %t88) + call void @sc_rc_release_dyn(ptr %t90) + ret void +if.j33: + %t94 = load ptr, ptr %sc_l_key_string + %t95 = call zeroext i1 @sc_streq_298897322184109(ptr %t94) + br i1 %t95, label %if.t38, label %if.j39 +if.t38: + %t96 = load ptr, ptr %sc_l_p_receiver + %t97 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t96, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t98 = call ptr @sc_f__x25_dyn_class_properties(ptr %t97) + %t99 = load i32, ptr %exc.cell + %t100 = icmp ne i32 %t99, 0 + %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false) + br i1 %t101, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t98) + ret void +exc.k41: + %t102 = load ptr, ptr %sc_l_p_1 + %t103 = call ptr @sc_rc_retain_dyn(ptr %t102) + %t104 = load ptr, ptr %sc_l_p_receiver + %t105 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t104, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t98, ptr @sc_lit_298897322184109, ptr %t103, ptr %t105) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t98) + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_rc_release_dyn(ptr %t105) + ret void +exc.k43: + call void @sc_rc_release_dyn(ptr %t98) + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_rc_release_dyn(ptr %t105) + ret void +if.j39: + %t109 = load ptr, ptr %sc_l_key_string + %t110 = call zeroext i1 @sc_streq_4085448292571548(ptr %t109) + br i1 %t110, label %if.t44, label %if.j45 +if.t44: + %t111 = load ptr, ptr %sc_l_p_receiver + %t112 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t111, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t113 = call ptr @sc_f__x25_dyn_class_properties(ptr %t112) + %t114 = load i32, ptr %exc.cell + %t115 = icmp ne i32 %t114, 0 + %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false) + br i1 %t116, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t113) + ret void +exc.k47: + %t117 = load ptr, ptr %sc_l_p_1 + %t118 = call ptr @sc_rc_retain_dyn(ptr %t117) + %t119 = load ptr, ptr %sc_l_p_receiver + %t120 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t119, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t113, ptr @sc_lit_4085448292571548, ptr %t118, ptr %t120) + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t113) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t120) + ret void +exc.k49: + call void @sc_rc_release_dyn(ptr %t113) + call void @sc_rc_release_dyn(ptr %t118) + call void @sc_rc_release_dyn(ptr %t120) + ret void +if.j45: + %t124 = load ptr, ptr %sc_l_key_string + %t125 = call zeroext i1 @sc_streq_3561861343106386(ptr %t124) + br i1 %t125, label %if.t50, label %if.j51 +if.t50: + %t126 = load ptr, ptr %sc_l_p_receiver + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_properties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t128) + ret void +exc.k53: + %t132 = load ptr, ptr %sc_l_p_1 + %t133 = call ptr @sc_rc_retain_dyn(ptr %t132) + %t134 = load ptr, ptr %sc_l_p_receiver + %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t128, ptr @sc_lit_3561861343106386, ptr %t133, ptr %t135) + %t136 = load i32, ptr %exc.cell + %t137 = icmp ne i32 %t136, 0 + %t138 = call i1 @llvm.expect.i1(i1 %t137, i1 false) + br i1 %t138, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t128) + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_rc_release_dyn(ptr %t135) + ret void +exc.k55: + call void @sc_rc_release_dyn(ptr %t128) + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_rc_release_dyn(ptr %t135) + ret void +if.j51: + %t139 = load ptr, ptr %sc_l_key_string + %t140 = call zeroext i1 @sc_streq_3108123016971750(ptr %t139) + br i1 %t140, label %if.t56, label %if.j57 +if.t56: + %t141 = load ptr, ptr %sc_l_p_receiver + %t142 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t141, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t143 = call ptr @sc_f__x25_dyn_class_properties(ptr %t142) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t143) + ret void +exc.k59: + %t147 = load ptr, ptr %sc_l_p_1 + %t148 = call ptr @sc_rc_retain_dyn(ptr %t147) + %t149 = load ptr, ptr %sc_l_p_receiver + %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t143, ptr @sc_lit_3108123016971750, ptr %t148, ptr %t150) + %t151 = load i32, ptr %exc.cell + %t152 = icmp ne i32 %t151, 0 + %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false) + br i1 %t153, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t143) + call void @sc_rc_release_dyn(ptr %t148) + call void @sc_rc_release_dyn(ptr %t150) + ret void +exc.k61: + call void @sc_rc_release_dyn(ptr %t143) + call void @sc_rc_release_dyn(ptr %t148) + call void @sc_rc_release_dyn(ptr %t150) + ret void +if.j57: + %t154 = load ptr, ptr %sc_l_key_string + %t155 = call zeroext i1 @sc_streq_2529432852777196(ptr %t154) + br i1 %t155, label %if.t62, label %if.j63 +if.t62: + %t156 = load ptr, ptr %sc_l_p_receiver + %t157 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t156, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t158 = call ptr @sc_f__x25_dyn_class_properties(ptr %t157) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t158) + ret void +exc.k65: + %t162 = load ptr, ptr %sc_l_p_1 + %t163 = call ptr @sc_rc_retain_dyn(ptr %t162) + %t164 = load ptr, ptr %sc_l_p_receiver + %t165 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t164, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t158, ptr @sc_lit_2529432852777196, ptr %t163, ptr %t165) + %t166 = load i32, ptr %exc.cell + %t167 = icmp ne i32 %t166, 0 + %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false) + br i1 %t168, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t158) + call void @sc_rc_release_dyn(ptr %t163) + call void @sc_rc_release_dyn(ptr %t165) + ret void +exc.k67: + call void @sc_rc_release_dyn(ptr %t158) + call void @sc_rc_release_dyn(ptr %t163) + call void @sc_rc_release_dyn(ptr %t165) + ret void +if.j63: + %t169 = load ptr, ptr %sc_l_key_string + %t170 = call zeroext i1 @sc_streq_4297539476301093(ptr %t169) + br i1 %t170, label %if.t68, label %if.j69 +if.t68: + %t171 = load ptr, ptr %sc_l_p_receiver + %t172 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t171, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t173 = call ptr @sc_f__x25_dyn_class_properties(ptr %t172) + %t174 = load i32, ptr %exc.cell + %t175 = icmp ne i32 %t174, 0 + %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false) + br i1 %t176, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t173) + ret void +exc.k71: + %t177 = load ptr, ptr %sc_l_p_1 + %t178 = call ptr @sc_rc_retain_dyn(ptr %t177) + %t179 = load ptr, ptr %sc_l_p_receiver + %t180 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t179, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t173, ptr @sc_lit_4297539476301093, ptr %t178, ptr %t180) + %t181 = load i32, ptr %exc.cell + %t182 = icmp ne i32 %t181, 0 + %t183 = call i1 @llvm.expect.i1(i1 %t182, i1 false) + br i1 %t183, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t173) + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t180) + ret void +exc.k73: + call void @sc_rc_release_dyn(ptr %t173) + call void @sc_rc_release_dyn(ptr %t178) + call void @sc_rc_release_dyn(ptr %t180) + ret void +if.j69: + %t184 = load ptr, ptr %sc_l_key_string + %t185 = call zeroext i1 @sc_streq_1959461887910059(ptr %t184) + br i1 %t185, label %if.t74, label %if.j75 +if.t74: + %t186 = load ptr, ptr %sc_l_p_receiver + %t187 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t186, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t188 = call ptr @sc_f__x25_dyn_class_properties(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t188) + ret void +exc.k77: + %t192 = load ptr, ptr %sc_l_p_1 + %t193 = call ptr @sc_rc_retain_dyn(ptr %t192) + %t194 = load ptr, ptr %sc_l_p_receiver + %t195 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t194, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t188, ptr @sc_lit_1959461887910059, ptr %t193, ptr %t195) + %t196 = load i32, ptr %exc.cell + %t197 = icmp ne i32 %t196, 0 + %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false) + br i1 %t198, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t188) + call void @sc_rc_release_dyn(ptr %t193) + call void @sc_rc_release_dyn(ptr %t195) + ret void +exc.k79: + call void @sc_rc_release_dyn(ptr %t188) + call void @sc_rc_release_dyn(ptr %t193) + call void @sc_rc_release_dyn(ptr %t195) + ret void +if.j75: + %t199 = load ptr, ptr %sc_l_key_string + %t200 = call zeroext i1 @sc_streq_181663572509014(ptr %t199) + br i1 %t200, label %if.t80, label %if.j81 +if.t80: + %t201 = load ptr, ptr %sc_l_p_receiver + %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t203 = call ptr @sc_f__x25_dyn_class_properties(ptr %t202) + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t203) + ret void +exc.k83: + %t207 = load ptr, ptr %sc_l_p_1 + %t208 = call ptr @sc_rc_retain_dyn(ptr %t207) + %t209 = load ptr, ptr %sc_l_p_receiver + %t210 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t209, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t203, ptr @sc_lit_181663572509014, ptr %t208, ptr %t210) + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t203) + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + ret void +exc.k85: + call void @sc_rc_release_dyn(ptr %t203) + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t210) + ret void +if.j81: + %t214 = load ptr, ptr %sc_l_key_string + %t215 = call zeroext i1 @sc_streq_992600386266231(ptr %t214) + br i1 %t215, label %if.t86, label %if.j87 +if.t86: + %t216 = load ptr, ptr %sc_l_p_receiver + %t217 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t216, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t218 = call ptr @sc_f__x25_dyn_class_properties(ptr %t217) + %t219 = load i32, ptr %exc.cell + %t220 = icmp ne i32 %t219, 0 + %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false) + br i1 %t221, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t218) + ret void +exc.k89: + %t222 = load ptr, ptr %sc_l_p_1 + %t223 = call ptr @sc_rc_retain_dyn(ptr %t222) + %t224 = load ptr, ptr %sc_l_p_receiver + %t225 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t218, ptr @sc_lit_992600386266231, ptr %t223, ptr %t225) + %t226 = load i32, ptr %exc.cell + %t227 = icmp ne i32 %t226, 0 + %t228 = call i1 @llvm.expect.i1(i1 %t227, i1 false) + br i1 %t228, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t218) + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t225) + ret void +exc.k91: + call void @sc_rc_release_dyn(ptr %t218) + call void @sc_rc_release_dyn(ptr %t223) + call void @sc_rc_release_dyn(ptr %t225) + ret void +if.j87: + %t229 = load ptr, ptr %sc_l_key_string + %t230 = call zeroext i1 @sc_streq_4198614539576238(ptr %t229) + br i1 %t230, label %if.t92, label %if.j93 +if.t92: + %t231 = load ptr, ptr %sc_l_p_receiver + %t232 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t231, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t233 = call ptr @sc_f__x25_dyn_class_properties(ptr %t232) + %t234 = load i32, ptr %exc.cell + %t235 = icmp ne i32 %t234, 0 + %t236 = call i1 @llvm.expect.i1(i1 %t235, i1 false) + br i1 %t236, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t233) + ret void +exc.k95: + %t237 = load ptr, ptr %sc_l_p_1 + %t238 = call ptr @sc_rc_retain_dyn(ptr %t237) + %t239 = load ptr, ptr %sc_l_p_receiver + %t240 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t239, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t233, ptr @sc_lit_4198614539576238, ptr %t238, ptr %t240) + %t241 = load i32, ptr %exc.cell + %t242 = icmp ne i32 %t241, 0 + %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false) + br i1 %t243, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t233) + call void @sc_rc_release_dyn(ptr %t238) + call void @sc_rc_release_dyn(ptr %t240) + ret void +exc.k97: + call void @sc_rc_release_dyn(ptr %t233) + call void @sc_rc_release_dyn(ptr %t238) + call void @sc_rc_release_dyn(ptr %t240) + ret void +if.j93: + %t244 = load ptr, ptr %sc_l_key_string + %t245 = call zeroext i1 @sc_streq_3908714124573206(ptr %t244) + br i1 %t245, label %if.t98, label %if.j99 +if.t98: + %t246 = load ptr, ptr %sc_l_p_receiver + %t247 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t246, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t248 = call ptr @sc_f__x25_dyn_class_properties(ptr %t247) + %t249 = load i32, ptr %exc.cell + %t250 = icmp ne i32 %t249, 0 + %t251 = call i1 @llvm.expect.i1(i1 %t250, i1 false) + br i1 %t251, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t248) + ret void +exc.k101: + %t252 = load ptr, ptr %sc_l_p_1 + %t253 = call ptr @sc_rc_retain_dyn(ptr %t252) + %t254 = load ptr, ptr %sc_l_p_receiver + %t255 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t254, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t248, ptr @sc_lit_3908714124573206, ptr %t253, ptr %t255) + %t256 = load i32, ptr %exc.cell + %t257 = icmp ne i32 %t256, 0 + %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false) + br i1 %t258, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_rc_release_dyn(ptr %t253) + call void @sc_rc_release_dyn(ptr %t255) + ret void +exc.k103: + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_rc_release_dyn(ptr %t253) + call void @sc_rc_release_dyn(ptr %t255) + ret void +if.j99: + %t259 = load ptr, ptr %sc_l_p_0 + %t260 = call ptr @sc_rc_retain_dyn(ptr %t259) + %t261 = call ptr @sc_f__x25_dyn_class_properties(ptr %t260) + %t262 = load i32, ptr %exc.cell + %t263 = icmp ne i32 %t262, 0 + %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false) + br i1 %t264, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t261) + ret void +exc.k105: + %t265 = load ptr, ptr %sc_l_key_string + %t266 = call ptr @sc_rc_retain_str(ptr %t265) + %t267 = load ptr, ptr %sc_l_p_1 + %t268 = call ptr @sc_rc_retain_dyn(ptr %t267) + %t269 = load ptr, ptr %sc_l_p_receiver + %t270 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t269, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @scr_dyn_bag_set(ptr %t261, ptr %t266, ptr %t268, ptr %t270) + %t271 = load i32, ptr %exc.cell + %t272 = icmp ne i32 %t271, 0 + %t273 = call i1 @llvm.expect.i1(i1 %t272, i1 false) + br i1 %t273, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t261) + call void @scr_str_release(ptr %t266) + call void @sc_rc_release_dyn(ptr %t268) + call void @sc_rc_release_dyn(ptr %t270) + ret void +exc.k107: + call void @sc_rc_release_dyn(ptr %t261) + call void @scr_str_release(ptr %t266) + call void @sc_rc_release_dyn(ptr %t268) + call void @sc_rc_release_dyn(ptr %t270) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_470(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_470(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m2_ResponseSink(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_471(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.471 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_1951312618348557(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_11(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_http_res_release(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t6, i64 0, i32 3 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !46 + call void @scr_http_res_release(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_3621289080171698(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call double @sc_dc_2(ptr %t17, ptr null) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + ret void +exc.k9: + %t22 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t16, i64 0, i32 4 + store double %t18, ptr %t22, !tbaa !48 + ret void +if.j7: + %t23 = load ptr, ptr %sc_l_key_string + %t24 = call zeroext i1 @sc_streq_3953364176447457(ptr %t23) + br i1 %t24, label %if.t10, label %if.j11 +if.t10: + %t25 = load ptr, ptr %sc_l_p_receiver + %t26 = load ptr, ptr %sc_l_p_1 + %t27 = call ptr @sc_dc_13(ptr %t26, ptr null) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rrelease_r0(ptr %t27) + ret void +exc.k13: + %t31 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t25, i64 0, i32 5 + %t32 = load ptr, ptr %t31 + store ptr %t27, ptr %t31, !tbaa !50 + call void @sc_rrelease_r0(ptr %t32) + ret void +if.j11: + %t33 = load ptr, ptr %sc_l_key_string + %t34 = call zeroext i1 @sc_streq_3752021314181142(ptr %t33) + br i1 %t34, label %if.t14, label %if.j15 +if.t14: + %t35 = load ptr, ptr %sc_l_p_receiver + %t36 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t35, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t37 = call ptr @sc_f__x25_dyn_class_properties(ptr %t36) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t37) + ret void +exc.k17: + %t41 = load ptr, ptr %sc_l_p_1 + %t42 = call ptr @sc_rc_retain_dyn(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_receiver + %t44 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t43, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t37, ptr @sc_lit_3752021314181142, ptr %t42, ptr %t44) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t44) + ret void +exc.k19: + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t44) + ret void +if.j15: + %t48 = load ptr, ptr %sc_l_key_string + %t49 = call zeroext i1 @sc_streq_2364278031517622(ptr %t48) + br i1 %t49, label %if.t20, label %if.j21 +if.t20: + %t50 = load ptr, ptr %sc_l_p_receiver + %t51 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t50, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t52 = call ptr @sc_f__x25_dyn_class_properties(ptr %t51) + %t53 = load i32, ptr %exc.cell + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t52) + ret void +exc.k23: + %t56 = load ptr, ptr %sc_l_p_1 + %t57 = call ptr @sc_rc_retain_dyn(ptr %t56) + %t58 = load ptr, ptr %sc_l_p_receiver + %t59 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t58, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t52, ptr @sc_lit_2364278031517622, ptr %t57, ptr %t59) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t59) + ret void +exc.k25: + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t59) + ret void +if.j21: + %t63 = load ptr, ptr %sc_l_key_string + %t64 = call zeroext i1 @sc_streq_470306239805907(ptr %t63) + br i1 %t64, label %if.t26, label %if.j27 +if.t26: + %t65 = load ptr, ptr %sc_l_p_receiver + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_properties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t67) + ret void +exc.k29: + %t71 = load ptr, ptr %sc_l_p_1 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = load ptr, ptr %sc_l_p_receiver + %t74 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t73, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t67, ptr @sc_lit_470306239805907, ptr %t72, ptr %t74) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + ret void +exc.k31: + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + ret void +if.j27: + %t78 = load ptr, ptr %sc_l_key_string + %t79 = call zeroext i1 @sc_streq_4133069531575059(ptr %t78) + br i1 %t79, label %if.t32, label %if.j33 +if.t32: + %t80 = load ptr, ptr %sc_l_p_receiver + %t81 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t80, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t82 = call ptr @sc_f__x25_dyn_class_properties(ptr %t81) + %t83 = load i32, ptr %exc.cell + %t84 = icmp ne i32 %t83, 0 + %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false) + br i1 %t85, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t82) + ret void +exc.k35: + %t86 = load ptr, ptr %sc_l_p_1 + %t87 = call ptr @sc_rc_retain_dyn(ptr %t86) + %t88 = load ptr, ptr %sc_l_p_receiver + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t82, ptr @sc_lit_4133069531575059, ptr %t87, ptr %t89) + %t90 = load i32, ptr %exc.cell + %t91 = icmp ne i32 %t90, 0 + %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false) + br i1 %t92, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t82) + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_rc_release_dyn(ptr %t89) + ret void +exc.k37: + call void @sc_rc_release_dyn(ptr %t82) + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_rc_release_dyn(ptr %t89) + ret void +if.j33: + %t93 = load ptr, ptr %sc_l_key_string + %t94 = call zeroext i1 @sc_streq_2253648670486996(ptr %t93) + br i1 %t94, label %if.t38, label %if.j39 +if.t38: + %t95 = load ptr, ptr %sc_l_p_receiver + %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t97 = call ptr @sc_f__x25_dyn_class_properties(ptr %t96) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t97) + ret void +exc.k41: + %t101 = load ptr, ptr %sc_l_p_1 + %t102 = call ptr @sc_rc_retain_dyn(ptr %t101) + %t103 = load ptr, ptr %sc_l_p_receiver + %t104 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t103, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t97, ptr @sc_lit_2253648670486996, ptr %t102, ptr %t104) + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t97) + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t104) + ret void +exc.k43: + call void @sc_rc_release_dyn(ptr %t97) + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t104) + ret void +if.j39: + %t108 = load ptr, ptr %sc_l_key_string + %t109 = call zeroext i1 @sc_streq_161925136240866(ptr %t108) + br i1 %t109, label %if.t44, label %if.j45 +if.t44: + %t110 = load ptr, ptr %sc_l_p_receiver + %t111 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t110, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t112 = call ptr @sc_f__x25_dyn_class_properties(ptr %t111) + %t113 = load i32, ptr %exc.cell + %t114 = icmp ne i32 %t113, 0 + %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false) + br i1 %t115, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t112) + ret void +exc.k47: + %t116 = load ptr, ptr %sc_l_p_1 + %t117 = call ptr @sc_rc_retain_dyn(ptr %t116) + %t118 = load ptr, ptr %sc_l_p_receiver + %t119 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t118, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t112, ptr @sc_lit_161925136240866, ptr %t117, ptr %t119) + %t120 = load i32, ptr %exc.cell + %t121 = icmp ne i32 %t120, 0 + %t122 = call i1 @llvm.expect.i1(i1 %t121, i1 false) + br i1 %t122, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t112) + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t119) + ret void +exc.k49: + call void @sc_rc_release_dyn(ptr %t112) + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t119) + ret void +if.j45: + %t123 = load ptr, ptr %sc_l_key_string + %t124 = call zeroext i1 @sc_streq_298897322184109(ptr %t123) + br i1 %t124, label %if.t50, label %if.j51 +if.t50: + %t125 = load ptr, ptr %sc_l_p_receiver + %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t127 = call ptr @sc_f__x25_dyn_class_properties(ptr %t126) + %t128 = load i32, ptr %exc.cell + %t129 = icmp ne i32 %t128, 0 + %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false) + br i1 %t130, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t127) + ret void +exc.k53: + %t131 = load ptr, ptr %sc_l_p_1 + %t132 = call ptr @sc_rc_retain_dyn(ptr %t131) + %t133 = load ptr, ptr %sc_l_p_receiver + %t134 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t133, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t127, ptr @sc_lit_298897322184109, ptr %t132, ptr %t134) + %t135 = load i32, ptr %exc.cell + %t136 = icmp ne i32 %t135, 0 + %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false) + br i1 %t137, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_rc_release_dyn(ptr %t134) + ret void +exc.k55: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_rc_release_dyn(ptr %t134) + ret void +if.j51: + %t138 = load ptr, ptr %sc_l_key_string + %t139 = call zeroext i1 @sc_streq_4085448292571548(ptr %t138) + br i1 %t139, label %if.t56, label %if.j57 +if.t56: + %t140 = load ptr, ptr %sc_l_p_receiver + %t141 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t140, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t142 = call ptr @sc_f__x25_dyn_class_properties(ptr %t141) + %t143 = load i32, ptr %exc.cell + %t144 = icmp ne i32 %t143, 0 + %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false) + br i1 %t145, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t142) + ret void +exc.k59: + %t146 = load ptr, ptr %sc_l_p_1 + %t147 = call ptr @sc_rc_retain_dyn(ptr %t146) + %t148 = load ptr, ptr %sc_l_p_receiver + %t149 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t148, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t142, ptr @sc_lit_4085448292571548, ptr %t147, ptr %t149) + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t142) + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t149) + ret void +exc.k61: + call void @sc_rc_release_dyn(ptr %t142) + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t149) + ret void +if.j57: + %t153 = load ptr, ptr %sc_l_key_string + %t154 = call zeroext i1 @sc_streq_3561861343106386(ptr %t153) + br i1 %t154, label %if.t62, label %if.j63 +if.t62: + %t155 = load ptr, ptr %sc_l_p_receiver + %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t157 = call ptr @sc_f__x25_dyn_class_properties(ptr %t156) + %t158 = load i32, ptr %exc.cell + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t157) + ret void +exc.k65: + %t161 = load ptr, ptr %sc_l_p_1 + %t162 = call ptr @sc_rc_retain_dyn(ptr %t161) + %t163 = load ptr, ptr %sc_l_p_receiver + %t164 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t163, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t157, ptr @sc_lit_3561861343106386, ptr %t162, ptr %t164) + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t164) + ret void +exc.k67: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t164) + ret void +if.j63: + %t168 = load ptr, ptr %sc_l_key_string + %t169 = call zeroext i1 @sc_streq_2529432852777196(ptr %t168) + br i1 %t169, label %if.t68, label %if.j69 +if.t68: + %t170 = load ptr, ptr %sc_l_p_receiver + %t171 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t170, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t172 = call ptr @sc_f__x25_dyn_class_properties(ptr %t171) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t172) + ret void +exc.k71: + %t176 = load ptr, ptr %sc_l_p_1 + %t177 = call ptr @sc_rc_retain_dyn(ptr %t176) + %t178 = load ptr, ptr %sc_l_p_receiver + %t179 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t178, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t172, ptr @sc_lit_2529432852777196, ptr %t177, ptr %t179) + %t180 = load i32, ptr %exc.cell + %t181 = icmp ne i32 %t180, 0 + %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false) + br i1 %t182, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t179) + ret void +exc.k73: + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t179) + ret void +if.j69: + %t183 = load ptr, ptr %sc_l_key_string + %t184 = call zeroext i1 @sc_streq_4297539476301093(ptr %t183) + br i1 %t184, label %if.t74, label %if.j75 +if.t74: + %t185 = load ptr, ptr %sc_l_p_receiver + %t186 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t185, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t187 = call ptr @sc_f__x25_dyn_class_properties(ptr %t186) + %t188 = load i32, ptr %exc.cell + %t189 = icmp ne i32 %t188, 0 + %t190 = call i1 @llvm.expect.i1(i1 %t189, i1 false) + br i1 %t190, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t187) + ret void +exc.k77: + %t191 = load ptr, ptr %sc_l_p_1 + %t192 = call ptr @sc_rc_retain_dyn(ptr %t191) + %t193 = load ptr, ptr %sc_l_p_receiver + %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t187, ptr @sc_lit_4297539476301093, ptr %t192, ptr %t194) + %t195 = load i32, ptr %exc.cell + %t196 = icmp ne i32 %t195, 0 + %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false) + br i1 %t197, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t187) + call void @sc_rc_release_dyn(ptr %t192) + call void @sc_rc_release_dyn(ptr %t194) + ret void +exc.k79: + call void @sc_rc_release_dyn(ptr %t187) + call void @sc_rc_release_dyn(ptr %t192) + call void @sc_rc_release_dyn(ptr %t194) + ret void +if.j75: + %t198 = load ptr, ptr %sc_l_key_string + %t199 = call zeroext i1 @sc_streq_1959461887910059(ptr %t198) + br i1 %t199, label %if.t80, label %if.j81 +if.t80: + %t200 = load ptr, ptr %sc_l_p_receiver + %t201 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t200, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t202 = call ptr @sc_f__x25_dyn_class_properties(ptr %t201) + %t203 = load i32, ptr %exc.cell + %t204 = icmp ne i32 %t203, 0 + %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false) + br i1 %t205, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t202) + ret void +exc.k83: + %t206 = load ptr, ptr %sc_l_p_1 + %t207 = call ptr @sc_rc_retain_dyn(ptr %t206) + %t208 = load ptr, ptr %sc_l_p_receiver + %t209 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t208, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t202, ptr @sc_lit_1959461887910059, ptr %t207, ptr %t209) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t207) + call void @sc_rc_release_dyn(ptr %t209) + ret void +exc.k85: + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t207) + call void @sc_rc_release_dyn(ptr %t209) + ret void +if.j81: + %t213 = load ptr, ptr %sc_l_key_string + %t214 = call zeroext i1 @sc_streq_181663572509014(ptr %t213) + br i1 %t214, label %if.t86, label %if.j87 +if.t86: + %t215 = load ptr, ptr %sc_l_p_receiver + %t216 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t215, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t217 = call ptr @sc_f__x25_dyn_class_properties(ptr %t216) + %t218 = load i32, ptr %exc.cell + %t219 = icmp ne i32 %t218, 0 + %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false) + br i1 %t220, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t217) + ret void +exc.k89: + %t221 = load ptr, ptr %sc_l_p_1 + %t222 = call ptr @sc_rc_retain_dyn(ptr %t221) + %t223 = load ptr, ptr %sc_l_p_receiver + %t224 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t223, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t217, ptr @sc_lit_181663572509014, ptr %t222, ptr %t224) + %t225 = load i32, ptr %exc.cell + %t226 = icmp ne i32 %t225, 0 + %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false) + br i1 %t227, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t222) + call void @sc_rc_release_dyn(ptr %t224) + ret void +exc.k91: + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t222) + call void @sc_rc_release_dyn(ptr %t224) + ret void +if.j87: + %t228 = load ptr, ptr %sc_l_key_string + %t229 = call zeroext i1 @sc_streq_992600386266231(ptr %t228) + br i1 %t229, label %if.t92, label %if.j93 +if.t92: + %t230 = load ptr, ptr %sc_l_p_receiver + %t231 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t230, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t232 = call ptr @sc_f__x25_dyn_class_properties(ptr %t231) + %t233 = load i32, ptr %exc.cell + %t234 = icmp ne i32 %t233, 0 + %t235 = call i1 @llvm.expect.i1(i1 %t234, i1 false) + br i1 %t235, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t232) + ret void +exc.k95: + %t236 = load ptr, ptr %sc_l_p_1 + %t237 = call ptr @sc_rc_retain_dyn(ptr %t236) + %t238 = load ptr, ptr %sc_l_p_receiver + %t239 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t238, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t232, ptr @sc_lit_992600386266231, ptr %t237, ptr %t239) + %t240 = load i32, ptr %exc.cell + %t241 = icmp ne i32 %t240, 0 + %t242 = call i1 @llvm.expect.i1(i1 %t241, i1 false) + br i1 %t242, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t232) + call void @sc_rc_release_dyn(ptr %t237) + call void @sc_rc_release_dyn(ptr %t239) + ret void +exc.k97: + call void @sc_rc_release_dyn(ptr %t232) + call void @sc_rc_release_dyn(ptr %t237) + call void @sc_rc_release_dyn(ptr %t239) + ret void +if.j93: + %t243 = load ptr, ptr %sc_l_key_string + %t244 = call zeroext i1 @sc_streq_4198614539576238(ptr %t243) + br i1 %t244, label %if.t98, label %if.j99 +if.t98: + %t245 = load ptr, ptr %sc_l_p_receiver + %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t247 = call ptr @sc_f__x25_dyn_class_properties(ptr %t246) + %t248 = load i32, ptr %exc.cell + %t249 = icmp ne i32 %t248, 0 + %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false) + br i1 %t250, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t247) + ret void +exc.k101: + %t251 = load ptr, ptr %sc_l_p_1 + %t252 = call ptr @sc_rc_retain_dyn(ptr %t251) + %t253 = load ptr, ptr %sc_l_p_receiver + %t254 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t253, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t247, ptr @sc_lit_4198614539576238, ptr %t252, ptr %t254) + %t255 = load i32, ptr %exc.cell + %t256 = icmp ne i32 %t255, 0 + %t257 = call i1 @llvm.expect.i1(i1 %t256, i1 false) + br i1 %t257, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t247) + call void @sc_rc_release_dyn(ptr %t252) + call void @sc_rc_release_dyn(ptr %t254) + ret void +exc.k103: + call void @sc_rc_release_dyn(ptr %t247) + call void @sc_rc_release_dyn(ptr %t252) + call void @sc_rc_release_dyn(ptr %t254) + ret void +if.j99: + %t258 = load ptr, ptr %sc_l_key_string + %t259 = call zeroext i1 @sc_streq_3908714124573206(ptr %t258) + br i1 %t259, label %if.t104, label %if.j105 +if.t104: + %t260 = load ptr, ptr %sc_l_p_receiver + %t261 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t260, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t262 = call ptr @sc_f__x25_dyn_class_properties(ptr %t261) + %t263 = load i32, ptr %exc.cell + %t264 = icmp ne i32 %t263, 0 + %t265 = call i1 @llvm.expect.i1(i1 %t264, i1 false) + br i1 %t265, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t262) + ret void +exc.k107: + %t266 = load ptr, ptr %sc_l_p_1 + %t267 = call ptr @sc_rc_retain_dyn(ptr %t266) + %t268 = load ptr, ptr %sc_l_p_receiver + %t269 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t268, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t262, ptr @sc_lit_3908714124573206, ptr %t267, ptr %t269) + %t270 = load i32, ptr %exc.cell + %t271 = icmp ne i32 %t270, 0 + %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false) + br i1 %t272, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t262) + call void @sc_rc_release_dyn(ptr %t267) + call void @sc_rc_release_dyn(ptr %t269) + ret void +exc.k109: + call void @sc_rc_release_dyn(ptr %t262) + call void @sc_rc_release_dyn(ptr %t267) + call void @sc_rc_release_dyn(ptr %t269) + ret void +if.j105: + %t273 = load ptr, ptr %sc_l_key_string + %t274 = call zeroext i1 @sc_streq_3108123016971750(ptr %t273) + br i1 %t274, label %if.t110, label %if.j111 +if.t110: + %t275 = load ptr, ptr %sc_l_p_receiver + %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t277 = call ptr @sc_f__x25_dyn_class_properties(ptr %t276) + %t278 = load i32, ptr %exc.cell + %t279 = icmp ne i32 %t278, 0 + %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false) + br i1 %t280, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t277) + ret void +exc.k113: + %t281 = load ptr, ptr %sc_l_p_1 + %t282 = call ptr @sc_rc_retain_dyn(ptr %t281) + %t283 = load ptr, ptr %sc_l_p_receiver + %t284 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t283, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t277, ptr @sc_lit_3108123016971750, ptr %t282, ptr %t284) + %t285 = load i32, ptr %exc.cell + %t286 = icmp ne i32 %t285, 0 + %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false) + br i1 %t287, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t277) + call void @sc_rc_release_dyn(ptr %t282) + call void @sc_rc_release_dyn(ptr %t284) + ret void +exc.k115: + call void @sc_rc_release_dyn(ptr %t277) + call void @sc_rc_release_dyn(ptr %t282) + call void @sc_rc_release_dyn(ptr %t284) + ret void +if.j111: + %t288 = load ptr, ptr %sc_l_p_0 + %t289 = call ptr @sc_rc_retain_dyn(ptr %t288) + %t290 = call ptr @sc_f__x25_dyn_class_properties(ptr %t289) + %t291 = load i32, ptr %exc.cell + %t292 = icmp ne i32 %t291, 0 + %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false) + br i1 %t293, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t290) + ret void +exc.k117: + %t294 = load ptr, ptr %sc_l_key_string + %t295 = call ptr @sc_rc_retain_str(ptr %t294) + %t296 = load ptr, ptr %sc_l_p_1 + %t297 = call ptr @sc_rc_retain_dyn(ptr %t296) + %t298 = load ptr, ptr %sc_l_p_receiver + %t299 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t298, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @scr_dyn_bag_set(ptr %t290, ptr %t295, ptr %t297, ptr %t299) + %t300 = load i32, ptr %exc.cell + %t301 = icmp ne i32 %t300, 0 + %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false) + br i1 %t302, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t290) + call void @scr_str_release(ptr %t295) + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t299) + ret void +exc.k119: + call void @sc_rc_release_dyn(ptr %t290) + call void @scr_str_release(ptr %t295) + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t299) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_471(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_471(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_472(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.472 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_127274431826284(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call double @sc_dc_2(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t6, i64 0, i32 3 + store double %t8, ptr %t12, !tbaa !52 + ret void +if.j3: + %t13 = load ptr, ptr %sc_l_key_string + %t14 = call zeroext i1 @sc_streq_3231205774586710(ptr %t13) + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_p_receiver + %t16 = load ptr, ptr %sc_l_p_1 + %t17 = call ptr @sc_dc_1(ptr %t16, ptr null) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_arr_release(ptr %t17) + ret void +exc.k9: + %t21 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t15, i64 0, i32 4 + %t22 = load ptr, ptr %t21 + store ptr %t17, ptr %t21, !tbaa !54 + call void @scr_arr_release(ptr %t22) + ret void +if.j7: + %t23 = load ptr, ptr %sc_l_key_string + %t24 = call zeroext i1 @sc_streq_538032548850790(ptr %t23) + br i1 %t24, label %if.t10, label %if.j11 +if.t10: + %t25 = load ptr, ptr %sc_l_p_receiver + %t26 = load ptr, ptr %sc_l_p_1 + %t27 = call ptr @sc_dc_1(ptr %t26, ptr null) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_arr_release(ptr %t27) + ret void +exc.k13: + %t31 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t25, i64 0, i32 5 + %t32 = load ptr, ptr %t31 + store ptr %t27, ptr %t31, !tbaa !56 + call void @scr_arr_release(ptr %t32) + ret void +if.j11: + %t33 = load ptr, ptr %sc_l_key_string + %t34 = call zeroext i1 @sc_streq_4231320391602270(ptr %t33) + br i1 %t34, label %if.t14, label %if.j15 +if.t14: + %t35 = load ptr, ptr %sc_l_p_receiver + %t36 = load ptr, ptr %sc_l_p_1 + %t37 = call ptr @sc_dc_1(ptr %t36, ptr null) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_arr_release(ptr %t37) + ret void +exc.k17: + %t41 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t35, i64 0, i32 6 + %t42 = load ptr, ptr %t41 + store ptr %t37, ptr %t41, !tbaa !58 + call void @scr_arr_release(ptr %t42) + ret void +if.j15: + %t43 = load ptr, ptr %sc_l_key_string + %t44 = call zeroext i1 @sc_streq_2537232771826273(ptr %t43) + br i1 %t44, label %if.t18, label %if.j19 +if.t18: + %t45 = load ptr, ptr %sc_l_p_receiver + %t46 = load ptr, ptr %sc_l_p_1 + %t47 = call ptr @sc_dc_1(ptr %t46, ptr null) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_arr_release(ptr %t47) + ret void +exc.k21: + %t51 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t45, i64 0, i32 7 + %t52 = load ptr, ptr %t51 + store ptr %t47, ptr %t51, !tbaa !60 + call void @scr_arr_release(ptr %t52) + ret void +if.j19: + %t53 = load ptr, ptr %sc_l_key_string + %t54 = call zeroext i1 @sc_streq_2163543391075186(ptr %t53) + br i1 %t54, label %if.t22, label %if.j23 +if.t22: + %t55 = load ptr, ptr %sc_l_p_receiver + %t56 = load ptr, ptr %sc_l_p_1 + %t57 = call zeroext i1 @sc_dc_3(ptr %t56, ptr null) + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u24, label %exc.k25 +exc.u24: + ret void +exc.k25: + %t61 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t55, i64 0, i32 8 + %t62 = zext i1 %t57 to i8 + store i8 %t62, ptr %t61, !tbaa !42 + ret void +if.j23: + %t63 = load ptr, ptr %sc_l_key_string + %t64 = call zeroext i1 @sc_streq_1579912071364319(ptr %t63) + br i1 %t64, label %if.t26, label %if.j27 +if.t26: + %t65 = load ptr, ptr %sc_l_p_receiver + %t66 = load ptr, ptr %sc_l_p_1 + %t67 = call zeroext i1 @sc_dc_3(ptr %t66, ptr null) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u28, label %exc.k29 +exc.u28: + ret void +exc.k29: + %t71 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t65, i64 0, i32 9 + %t72 = zext i1 %t67 to i8 + store i8 %t72, ptr %t71, !tbaa !62 + ret void +if.j27: + %t73 = load ptr, ptr %sc_l_key_string + %t74 = call zeroext i1 @sc_streq_1640919894513317(ptr %t73) + br i1 %t74, label %if.t30, label %if.j31 +if.t30: + %t75 = load ptr, ptr %sc_l_p_receiver + %t76 = load ptr, ptr %sc_l_p_1 + %t77 = call ptr @sc_dc_4(ptr %t76, ptr null) + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rrelease_r1(ptr %t77) + ret void +exc.k33: + %t81 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t75, i64 0, i32 10 + %t82 = load ptr, ptr %t81 + store ptr %t77, ptr %t81, !tbaa !64 + call void @sc_rrelease_r1(ptr %t82) + ret void +if.j31: + %t83 = load ptr, ptr %sc_l_key_string + %t84 = call zeroext i1 @sc_streq_4191962028163388(ptr %t83) + br i1 %t84, label %if.t34, label %if.j35 +if.t34: + %t85 = load ptr, ptr %sc_l_p_receiver + %t86 = load ptr, ptr %sc_l_p_1 + %t87 = call zeroext i1 @sc_dc_3(ptr %t86, ptr null) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u36, label %exc.k37 +exc.u36: + ret void +exc.k37: + %t91 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t85, i64 0, i32 11 + %t92 = zext i1 %t87 to i8 + store i8 %t92, ptr %t91, !tbaa !66 + ret void +if.j35: + %t93 = load ptr, ptr %sc_l_key_string + %t94 = call zeroext i1 @sc_streq_2098081682588801(ptr %t93) + br i1 %t94, label %if.t38, label %if.j39 +if.t38: + %t95 = load ptr, ptr %sc_l_p_receiver + %t96 = load ptr, ptr %sc_l_p_1 + %t97 = call ptr @sc_dc_7(ptr %t96, ptr null) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rrelease_r2(ptr %t97) + ret void +exc.k41: + %t101 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t95, i64 0, i32 12 + %t102 = load ptr, ptr %t101 + store ptr %t97, ptr %t101, !tbaa !68 + call void @sc_rrelease_r2(ptr %t102) + ret void +if.j39: + %t103 = load ptr, ptr %sc_l_key_string + %t104 = call zeroext i1 @sc_streq_4448851817182856(ptr %t103) + br i1 %t104, label %if.t42, label %if.j43 +if.t42: + %t105 = load ptr, ptr %sc_l_p_receiver + %t106 = load ptr, ptr %sc_l_p_1 + %t107 = call zeroext i1 @sc_dc_3(ptr %t106, ptr null) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u44, label %exc.k45 +exc.u44: + ret void +exc.k45: + %t111 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t105, i64 0, i32 13 + %t112 = zext i1 %t107 to i8 + store i8 %t112, ptr %t111, !tbaa !70 + ret void +if.j43: + %t113 = load ptr, ptr %sc_l_key_string + %t114 = call zeroext i1 @sc_streq_3752021314181142(ptr %t113) + br i1 %t114, label %if.t46, label %if.j47 +if.t46: + %t115 = load ptr, ptr %sc_l_p_receiver + %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t117 = call ptr @sc_f__x25_dyn_class_properties(ptr %t116) + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t117) + ret void +exc.k49: + %t121 = load ptr, ptr %sc_l_p_1 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = load ptr, ptr %sc_l_p_receiver + %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t117, ptr @sc_lit_3752021314181142, ptr %t122, ptr %t124) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + ret void +exc.k51: + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + ret void +if.j47: + %t128 = load ptr, ptr %sc_l_key_string + %t129 = call zeroext i1 @sc_streq_2364278031517622(ptr %t128) + br i1 %t129, label %if.t52, label %if.j53 +if.t52: + %t130 = load ptr, ptr %sc_l_p_receiver + %t131 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t130, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t132 = call ptr @sc_f__x25_dyn_class_properties(ptr %t131) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t132) + ret void +exc.k55: + %t136 = load ptr, ptr %sc_l_p_1 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t138 = load ptr, ptr %sc_l_p_receiver + %t139 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t138, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t132, ptr @sc_lit_2364278031517622, ptr %t137, ptr %t139) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_rc_release_dyn(ptr %t139) + ret void +exc.k57: + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_rc_release_dyn(ptr %t139) + ret void +if.j53: + %t143 = load ptr, ptr %sc_l_key_string + %t144 = call zeroext i1 @sc_streq_470306239805907(ptr %t143) + br i1 %t144, label %if.t58, label %if.j59 +if.t58: + %t145 = load ptr, ptr %sc_l_p_receiver + %t146 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t145, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t147 = call ptr @sc_f__x25_dyn_class_properties(ptr %t146) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t147) + ret void +exc.k61: + %t151 = load ptr, ptr %sc_l_p_1 + %t152 = call ptr @sc_rc_retain_dyn(ptr %t151) + %t153 = load ptr, ptr %sc_l_p_receiver + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t147, ptr @sc_lit_470306239805907, ptr %t152, ptr %t154) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t152) + call void @sc_rc_release_dyn(ptr %t154) + ret void +exc.k63: + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t152) + call void @sc_rc_release_dyn(ptr %t154) + ret void +if.j59: + %t158 = load ptr, ptr %sc_l_key_string + %t159 = call zeroext i1 @sc_streq_4133069531575059(ptr %t158) + br i1 %t159, label %if.t64, label %if.j65 +if.t64: + %t160 = load ptr, ptr %sc_l_p_receiver + %t161 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t160, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t162 = call ptr @sc_f__x25_dyn_class_properties(ptr %t161) + %t163 = load i32, ptr %exc.cell + %t164 = icmp ne i32 %t163, 0 + %t165 = call i1 @llvm.expect.i1(i1 %t164, i1 false) + br i1 %t165, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t162) + ret void +exc.k67: + %t166 = load ptr, ptr %sc_l_p_1 + %t167 = call ptr @sc_rc_retain_dyn(ptr %t166) + %t168 = load ptr, ptr %sc_l_p_receiver + %t169 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t168, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t162, ptr @sc_lit_4133069531575059, ptr %t167, ptr %t169) + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t167) + call void @sc_rc_release_dyn(ptr %t169) + ret void +exc.k69: + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t167) + call void @sc_rc_release_dyn(ptr %t169) + ret void +if.j65: + %t173 = load ptr, ptr %sc_l_key_string + %t174 = call zeroext i1 @sc_streq_2253648670486996(ptr %t173) + br i1 %t174, label %if.t70, label %if.j71 +if.t70: + %t175 = load ptr, ptr %sc_l_p_receiver + %t176 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t175, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t177 = call ptr @sc_f__x25_dyn_class_properties(ptr %t176) + %t178 = load i32, ptr %exc.cell + %t179 = icmp ne i32 %t178, 0 + %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false) + br i1 %t180, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t177) + ret void +exc.k73: + %t181 = load ptr, ptr %sc_l_p_1 + %t182 = call ptr @sc_rc_retain_dyn(ptr %t181) + %t183 = load ptr, ptr %sc_l_p_receiver + %t184 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t183, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t177, ptr @sc_lit_2253648670486996, ptr %t182, ptr %t184) + %t185 = load i32, ptr %exc.cell + %t186 = icmp ne i32 %t185, 0 + %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false) + br i1 %t187, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t184) + ret void +exc.k75: + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t184) + ret void +if.j71: + %t188 = load ptr, ptr %sc_l_key_string + %t189 = call zeroext i1 @sc_streq_161925136240866(ptr %t188) + br i1 %t189, label %if.t76, label %if.j77 +if.t76: + %t190 = load ptr, ptr %sc_l_p_receiver + %t191 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t190, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t192 = call ptr @sc_f__x25_dyn_class_properties(ptr %t191) + %t193 = load i32, ptr %exc.cell + %t194 = icmp ne i32 %t193, 0 + %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false) + br i1 %t195, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t192) + ret void +exc.k79: + %t196 = load ptr, ptr %sc_l_p_1 + %t197 = call ptr @sc_rc_retain_dyn(ptr %t196) + %t198 = load ptr, ptr %sc_l_p_receiver + %t199 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t198, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t192, ptr @sc_lit_161925136240866, ptr %t197, ptr %t199) + %t200 = load i32, ptr %exc.cell + %t201 = icmp ne i32 %t200, 0 + %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false) + br i1 %t202, label %exc.u80, label %exc.k81 +exc.u80: + call void @sc_rc_release_dyn(ptr %t192) + call void @sc_rc_release_dyn(ptr %t197) + call void @sc_rc_release_dyn(ptr %t199) + ret void +exc.k81: + call void @sc_rc_release_dyn(ptr %t192) + call void @sc_rc_release_dyn(ptr %t197) + call void @sc_rc_release_dyn(ptr %t199) + ret void +if.j77: + %t203 = load ptr, ptr %sc_l_key_string + %t204 = call zeroext i1 @sc_streq_298897322184109(ptr %t203) + br i1 %t204, label %if.t82, label %if.j83 +if.t82: + %t205 = load ptr, ptr %sc_l_p_receiver + %t206 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t205, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t207 = call ptr @sc_f__x25_dyn_class_properties(ptr %t206) + %t208 = load i32, ptr %exc.cell + %t209 = icmp ne i32 %t208, 0 + %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false) + br i1 %t210, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t207) + ret void +exc.k85: + %t211 = load ptr, ptr %sc_l_p_1 + %t212 = call ptr @sc_rc_retain_dyn(ptr %t211) + %t213 = load ptr, ptr %sc_l_p_receiver + %t214 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t213, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t207, ptr @sc_lit_298897322184109, ptr %t212, ptr %t214) + %t215 = load i32, ptr %exc.cell + %t216 = icmp ne i32 %t215, 0 + %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false) + br i1 %t217, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t207) + call void @sc_rc_release_dyn(ptr %t212) + call void @sc_rc_release_dyn(ptr %t214) + ret void +exc.k87: + call void @sc_rc_release_dyn(ptr %t207) + call void @sc_rc_release_dyn(ptr %t212) + call void @sc_rc_release_dyn(ptr %t214) + ret void +if.j83: + %t218 = load ptr, ptr %sc_l_key_string + %t219 = call zeroext i1 @sc_streq_4085448292571548(ptr %t218) + br i1 %t219, label %if.t88, label %if.j89 +if.t88: + %t220 = load ptr, ptr %sc_l_p_receiver + %t221 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t220, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t222 = call ptr @sc_f__x25_dyn_class_properties(ptr %t221) + %t223 = load i32, ptr %exc.cell + %t224 = icmp ne i32 %t223, 0 + %t225 = call i1 @llvm.expect.i1(i1 %t224, i1 false) + br i1 %t225, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t222) + ret void +exc.k91: + %t226 = load ptr, ptr %sc_l_p_1 + %t227 = call ptr @sc_rc_retain_dyn(ptr %t226) + %t228 = load ptr, ptr %sc_l_p_receiver + %t229 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t228, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t222, ptr @sc_lit_4085448292571548, ptr %t227, ptr %t229) + %t230 = load i32, ptr %exc.cell + %t231 = icmp ne i32 %t230, 0 + %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false) + br i1 %t232, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t222) + call void @sc_rc_release_dyn(ptr %t227) + call void @sc_rc_release_dyn(ptr %t229) + ret void +exc.k93: + call void @sc_rc_release_dyn(ptr %t222) + call void @sc_rc_release_dyn(ptr %t227) + call void @sc_rc_release_dyn(ptr %t229) + ret void +if.j89: + %t233 = load ptr, ptr %sc_l_key_string + %t234 = call zeroext i1 @sc_streq_3561861343106386(ptr %t233) + br i1 %t234, label %if.t94, label %if.j95 +if.t94: + %t235 = load ptr, ptr %sc_l_p_receiver + %t236 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t235, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t237 = call ptr @sc_f__x25_dyn_class_properties(ptr %t236) + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t237) + ret void +exc.k97: + %t241 = load ptr, ptr %sc_l_p_1 + %t242 = call ptr @sc_rc_retain_dyn(ptr %t241) + %t243 = load ptr, ptr %sc_l_p_receiver + %t244 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t243, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t237, ptr @sc_lit_3561861343106386, ptr %t242, ptr %t244) + %t245 = load i32, ptr %exc.cell + %t246 = icmp ne i32 %t245, 0 + %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false) + br i1 %t247, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t237) + call void @sc_rc_release_dyn(ptr %t242) + call void @sc_rc_release_dyn(ptr %t244) + ret void +exc.k99: + call void @sc_rc_release_dyn(ptr %t237) + call void @sc_rc_release_dyn(ptr %t242) + call void @sc_rc_release_dyn(ptr %t244) + ret void +if.j95: + %t248 = load ptr, ptr %sc_l_key_string + %t249 = call zeroext i1 @sc_streq_3108123016971750(ptr %t248) + br i1 %t249, label %if.t100, label %if.j101 +if.t100: + %t250 = load ptr, ptr %sc_l_p_receiver + %t251 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t250, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t252 = call ptr @sc_f__x25_dyn_class_properties(ptr %t251) + %t253 = load i32, ptr %exc.cell + %t254 = icmp ne i32 %t253, 0 + %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false) + br i1 %t255, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t252) + ret void +exc.k103: + %t256 = load ptr, ptr %sc_l_p_1 + %t257 = call ptr @sc_rc_retain_dyn(ptr %t256) + %t258 = load ptr, ptr %sc_l_p_receiver + %t259 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t258, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t252, ptr @sc_lit_3108123016971750, ptr %t257, ptr %t259) + %t260 = load i32, ptr %exc.cell + %t261 = icmp ne i32 %t260, 0 + %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false) + br i1 %t262, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t252) + call void @sc_rc_release_dyn(ptr %t257) + call void @sc_rc_release_dyn(ptr %t259) + ret void +exc.k105: + call void @sc_rc_release_dyn(ptr %t252) + call void @sc_rc_release_dyn(ptr %t257) + call void @sc_rc_release_dyn(ptr %t259) + ret void +if.j101: + %t263 = load ptr, ptr %sc_l_key_string + %t264 = call zeroext i1 @sc_streq_2529432852777196(ptr %t263) + br i1 %t264, label %if.t106, label %if.j107 +if.t106: + %t265 = load ptr, ptr %sc_l_p_receiver + %t266 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t265, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t267 = call ptr @sc_f__x25_dyn_class_properties(ptr %t266) + %t268 = load i32, ptr %exc.cell + %t269 = icmp ne i32 %t268, 0 + %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false) + br i1 %t270, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t267) + ret void +exc.k109: + %t271 = load ptr, ptr %sc_l_p_1 + %t272 = call ptr @sc_rc_retain_dyn(ptr %t271) + %t273 = load ptr, ptr %sc_l_p_receiver + %t274 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t273, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t267, ptr @sc_lit_2529432852777196, ptr %t272, ptr %t274) + %t275 = load i32, ptr %exc.cell + %t276 = icmp ne i32 %t275, 0 + %t277 = call i1 @llvm.expect.i1(i1 %t276, i1 false) + br i1 %t277, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t267) + call void @sc_rc_release_dyn(ptr %t272) + call void @sc_rc_release_dyn(ptr %t274) + ret void +exc.k111: + call void @sc_rc_release_dyn(ptr %t267) + call void @sc_rc_release_dyn(ptr %t272) + call void @sc_rc_release_dyn(ptr %t274) + ret void +if.j107: + %t278 = load ptr, ptr %sc_l_key_string + %t279 = call zeroext i1 @sc_streq_4297539476301093(ptr %t278) + br i1 %t279, label %if.t112, label %if.j113 +if.t112: + %t280 = load ptr, ptr %sc_l_p_receiver + %t281 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t280, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t282 = call ptr @sc_f__x25_dyn_class_properties(ptr %t281) + %t283 = load i32, ptr %exc.cell + %t284 = icmp ne i32 %t283, 0 + %t285 = call i1 @llvm.expect.i1(i1 %t284, i1 false) + br i1 %t285, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t282) + ret void +exc.k115: + %t286 = load ptr, ptr %sc_l_p_1 + %t287 = call ptr @sc_rc_retain_dyn(ptr %t286) + %t288 = load ptr, ptr %sc_l_p_receiver + %t289 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t288, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t282, ptr @sc_lit_4297539476301093, ptr %t287, ptr %t289) + %t290 = load i32, ptr %exc.cell + %t291 = icmp ne i32 %t290, 0 + %t292 = call i1 @llvm.expect.i1(i1 %t291, i1 false) + br i1 %t292, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t282) + call void @sc_rc_release_dyn(ptr %t287) + call void @sc_rc_release_dyn(ptr %t289) + ret void +exc.k117: + call void @sc_rc_release_dyn(ptr %t282) + call void @sc_rc_release_dyn(ptr %t287) + call void @sc_rc_release_dyn(ptr %t289) + ret void +if.j113: + %t293 = load ptr, ptr %sc_l_key_string + %t294 = call zeroext i1 @sc_streq_181663572509014(ptr %t293) + br i1 %t294, label %if.t118, label %if.j119 +if.t118: + %t295 = load ptr, ptr %sc_l_p_receiver + %t296 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t295, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t297 = call ptr @sc_f__x25_dyn_class_properties(ptr %t296) + %t298 = load i32, ptr %exc.cell + %t299 = icmp ne i32 %t298, 0 + %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false) + br i1 %t300, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t297) + ret void +exc.k121: + %t301 = load ptr, ptr %sc_l_p_1 + %t302 = call ptr @sc_rc_retain_dyn(ptr %t301) + %t303 = load ptr, ptr %sc_l_p_receiver + %t304 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t303, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t297, ptr @sc_lit_181663572509014, ptr %t302, ptr %t304) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + ret void +exc.k123: + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + ret void +if.j119: + %t308 = load ptr, ptr %sc_l_key_string + %t309 = call zeroext i1 @sc_streq_992600386266231(ptr %t308) + br i1 %t309, label %if.t124, label %if.j125 +if.t124: + %t310 = load ptr, ptr %sc_l_p_receiver + %t311 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t310, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t312 = call ptr @sc_f__x25_dyn_class_properties(ptr %t311) + %t313 = load i32, ptr %exc.cell + %t314 = icmp ne i32 %t313, 0 + %t315 = call i1 @llvm.expect.i1(i1 %t314, i1 false) + br i1 %t315, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t312) + ret void +exc.k127: + %t316 = load ptr, ptr %sc_l_p_1 + %t317 = call ptr @sc_rc_retain_dyn(ptr %t316) + %t318 = load ptr, ptr %sc_l_p_receiver + %t319 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t318, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t312, ptr @sc_lit_992600386266231, ptr %t317, ptr %t319) + %t320 = load i32, ptr %exc.cell + %t321 = icmp ne i32 %t320, 0 + %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false) + br i1 %t322, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t312) + call void @sc_rc_release_dyn(ptr %t317) + call void @sc_rc_release_dyn(ptr %t319) + ret void +exc.k129: + call void @sc_rc_release_dyn(ptr %t312) + call void @sc_rc_release_dyn(ptr %t317) + call void @sc_rc_release_dyn(ptr %t319) + ret void +if.j125: + %t323 = load ptr, ptr %sc_l_key_string + %t324 = call zeroext i1 @sc_streq_4198614539576238(ptr %t323) + br i1 %t324, label %if.t130, label %if.j131 +if.t130: + %t325 = load ptr, ptr %sc_l_p_receiver + %t326 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t325, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t327 = call ptr @sc_f__x25_dyn_class_properties(ptr %t326) + %t328 = load i32, ptr %exc.cell + %t329 = icmp ne i32 %t328, 0 + %t330 = call i1 @llvm.expect.i1(i1 %t329, i1 false) + br i1 %t330, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t327) + ret void +exc.k133: + %t331 = load ptr, ptr %sc_l_p_1 + %t332 = call ptr @sc_rc_retain_dyn(ptr %t331) + %t333 = load ptr, ptr %sc_l_p_receiver + %t334 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t333, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t327, ptr @sc_lit_4198614539576238, ptr %t332, ptr %t334) + %t335 = load i32, ptr %exc.cell + %t336 = icmp ne i32 %t335, 0 + %t337 = call i1 @llvm.expect.i1(i1 %t336, i1 false) + br i1 %t337, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t327) + call void @sc_rc_release_dyn(ptr %t332) + call void @sc_rc_release_dyn(ptr %t334) + ret void +exc.k135: + call void @sc_rc_release_dyn(ptr %t327) + call void @sc_rc_release_dyn(ptr %t332) + call void @sc_rc_release_dyn(ptr %t334) + ret void +if.j131: + %t338 = load ptr, ptr %sc_l_key_string + %t339 = call zeroext i1 @sc_streq_1959461887910059(ptr %t338) + br i1 %t339, label %if.t136, label %if.j137 +if.t136: + %t340 = load ptr, ptr %sc_l_p_receiver + %t341 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t340, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t342 = call ptr @sc_f__x25_dyn_class_properties(ptr %t341) + %t343 = load i32, ptr %exc.cell + %t344 = icmp ne i32 %t343, 0 + %t345 = call i1 @llvm.expect.i1(i1 %t344, i1 false) + br i1 %t345, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t342) + ret void +exc.k139: + %t346 = load ptr, ptr %sc_l_p_1 + %t347 = call ptr @sc_rc_retain_dyn(ptr %t346) + %t348 = load ptr, ptr %sc_l_p_receiver + %t349 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t348, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t342, ptr @sc_lit_1959461887910059, ptr %t347, ptr %t349) + %t350 = load i32, ptr %exc.cell + %t351 = icmp ne i32 %t350, 0 + %t352 = call i1 @llvm.expect.i1(i1 %t351, i1 false) + br i1 %t352, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t342) + call void @sc_rc_release_dyn(ptr %t347) + call void @sc_rc_release_dyn(ptr %t349) + ret void +exc.k141: + call void @sc_rc_release_dyn(ptr %t342) + call void @sc_rc_release_dyn(ptr %t347) + call void @sc_rc_release_dyn(ptr %t349) + ret void +if.j137: + %t353 = load ptr, ptr %sc_l_key_string + %t354 = call zeroext i1 @sc_streq_4028208071947570(ptr %t353) + br i1 %t354, label %if.t142, label %if.j143 +if.t142: + %t355 = load ptr, ptr %sc_l_p_receiver + %t356 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t355, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t357 = call ptr @sc_f__x25_dyn_class_properties(ptr %t356) + %t358 = load i32, ptr %exc.cell + %t359 = icmp ne i32 %t358, 0 + %t360 = call i1 @llvm.expect.i1(i1 %t359, i1 false) + br i1 %t360, label %exc.u144, label %exc.k145 +exc.u144: + call void @sc_rc_release_dyn(ptr %t357) + ret void +exc.k145: + %t361 = load ptr, ptr %sc_l_p_1 + %t362 = call ptr @sc_rc_retain_dyn(ptr %t361) + %t363 = load ptr, ptr %sc_l_p_receiver + %t364 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t363, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t357, ptr @sc_lit_4028208071947570, ptr %t362, ptr %t364) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u146, label %exc.k147 +exc.u146: + call void @sc_rc_release_dyn(ptr %t357) + call void @sc_rc_release_dyn(ptr %t362) + call void @sc_rc_release_dyn(ptr %t364) + ret void +exc.k147: + call void @sc_rc_release_dyn(ptr %t357) + call void @sc_rc_release_dyn(ptr %t362) + call void @sc_rc_release_dyn(ptr %t364) + ret void +if.j143: + %t368 = load ptr, ptr %sc_l_key_string + %t369 = call zeroext i1 @sc_streq_3908714124573206(ptr %t368) + br i1 %t369, label %if.t148, label %if.j149 +if.t148: + %t370 = load ptr, ptr %sc_l_p_receiver + %t371 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t370, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t372 = call ptr @sc_f__x25_dyn_class_properties(ptr %t371) + %t373 = load i32, ptr %exc.cell + %t374 = icmp ne i32 %t373, 0 + %t375 = call i1 @llvm.expect.i1(i1 %t374, i1 false) + br i1 %t375, label %exc.u150, label %exc.k151 +exc.u150: + call void @sc_rc_release_dyn(ptr %t372) + ret void +exc.k151: + %t376 = load ptr, ptr %sc_l_p_1 + %t377 = call ptr @sc_rc_retain_dyn(ptr %t376) + %t378 = load ptr, ptr %sc_l_p_receiver + %t379 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t378, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t372, ptr @sc_lit_3908714124573206, ptr %t377, ptr %t379) + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u152, label %exc.k153 +exc.u152: + call void @sc_rc_release_dyn(ptr %t372) + call void @sc_rc_release_dyn(ptr %t377) + call void @sc_rc_release_dyn(ptr %t379) + ret void +exc.k153: + call void @sc_rc_release_dyn(ptr %t372) + call void @sc_rc_release_dyn(ptr %t377) + call void @sc_rc_release_dyn(ptr %t379) + ret void +if.j149: + %t383 = load ptr, ptr %sc_l_p_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = call ptr @sc_f__x25_dyn_class_properties(ptr %t384) + %t386 = load i32, ptr %exc.cell + %t387 = icmp ne i32 %t386, 0 + %t388 = call i1 @llvm.expect.i1(i1 %t387, i1 false) + br i1 %t388, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t385) + ret void +exc.k155: + %t389 = load ptr, ptr %sc_l_key_string + %t390 = call ptr @sc_rc_retain_str(ptr %t389) + %t391 = load ptr, ptr %sc_l_p_1 + %t392 = call ptr @sc_rc_retain_dyn(ptr %t391) + %t393 = load ptr, ptr %sc_l_p_receiver + %t394 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t393, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @scr_dyn_bag_set(ptr %t385, ptr %t390, ptr %t392, ptr %t394) + %t395 = load i32, ptr %exc.cell + %t396 = icmp ne i32 %t395, 0 + %t397 = call i1 @llvm.expect.i1(i1 %t396, i1 false) + br i1 %t397, label %exc.u156, label %exc.k157 +exc.u156: + call void @sc_rc_release_dyn(ptr %t385) + call void @scr_str_release(ptr %t390) + call void @sc_rc_release_dyn(ptr %t392) + call void @sc_rc_release_dyn(ptr %t394) + ret void +exc.k157: + call void @sc_rc_release_dyn(ptr %t385) + call void @scr_str_release(ptr %t390) + call void @sc_rc_release_dyn(ptr %t392) + call void @sc_rc_release_dyn(ptr %t394) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_472(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_472(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_473(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.473 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_127274431826284(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call double @sc_dc_2(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t6, i64 0, i32 3 + store double %t8, ptr %t12, !tbaa !52 + ret void +if.j3: + %t13 = load ptr, ptr %sc_l_key_string + %t14 = call zeroext i1 @sc_streq_3231205774586710(ptr %t13) + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_p_receiver + %t16 = load ptr, ptr %sc_l_p_1 + %t17 = call ptr @sc_dc_1(ptr %t16, ptr null) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_arr_release(ptr %t17) + ret void +exc.k9: + %t21 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t15, i64 0, i32 4 + %t22 = load ptr, ptr %t21 + store ptr %t17, ptr %t21, !tbaa !54 + call void @scr_arr_release(ptr %t22) + ret void +if.j7: + %t23 = load ptr, ptr %sc_l_key_string + %t24 = call zeroext i1 @sc_streq_538032548850790(ptr %t23) + br i1 %t24, label %if.t10, label %if.j11 +if.t10: + %t25 = load ptr, ptr %sc_l_p_receiver + %t26 = load ptr, ptr %sc_l_p_1 + %t27 = call ptr @sc_dc_1(ptr %t26, ptr null) + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_arr_release(ptr %t27) + ret void +exc.k13: + %t31 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t25, i64 0, i32 5 + %t32 = load ptr, ptr %t31 + store ptr %t27, ptr %t31, !tbaa !56 + call void @scr_arr_release(ptr %t32) + ret void +if.j11: + %t33 = load ptr, ptr %sc_l_key_string + %t34 = call zeroext i1 @sc_streq_4231320391602270(ptr %t33) + br i1 %t34, label %if.t14, label %if.j15 +if.t14: + %t35 = load ptr, ptr %sc_l_p_receiver + %t36 = load ptr, ptr %sc_l_p_1 + %t37 = call ptr @sc_dc_1(ptr %t36, ptr null) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_arr_release(ptr %t37) + ret void +exc.k17: + %t41 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t35, i64 0, i32 6 + %t42 = load ptr, ptr %t41 + store ptr %t37, ptr %t41, !tbaa !58 + call void @scr_arr_release(ptr %t42) + ret void +if.j15: + %t43 = load ptr, ptr %sc_l_key_string + %t44 = call zeroext i1 @sc_streq_2537232771826273(ptr %t43) + br i1 %t44, label %if.t18, label %if.j19 +if.t18: + %t45 = load ptr, ptr %sc_l_p_receiver + %t46 = load ptr, ptr %sc_l_p_1 + %t47 = call ptr @sc_dc_1(ptr %t46, ptr null) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_arr_release(ptr %t47) + ret void +exc.k21: + %t51 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t45, i64 0, i32 7 + %t52 = load ptr, ptr %t51 + store ptr %t47, ptr %t51, !tbaa !60 + call void @scr_arr_release(ptr %t52) + ret void +if.j19: + %t53 = load ptr, ptr %sc_l_key_string + %t54 = call zeroext i1 @sc_streq_2163543391075186(ptr %t53) + br i1 %t54, label %if.t22, label %if.j23 +if.t22: + %t55 = load ptr, ptr %sc_l_p_receiver + %t56 = load ptr, ptr %sc_l_p_1 + %t57 = call zeroext i1 @sc_dc_3(ptr %t56, ptr null) + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u24, label %exc.k25 +exc.u24: + ret void +exc.k25: + %t61 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t55, i64 0, i32 8 + %t62 = zext i1 %t57 to i8 + store i8 %t62, ptr %t61, !tbaa !42 + ret void +if.j23: + %t63 = load ptr, ptr %sc_l_key_string + %t64 = call zeroext i1 @sc_streq_1579912071364319(ptr %t63) + br i1 %t64, label %if.t26, label %if.j27 +if.t26: + %t65 = load ptr, ptr %sc_l_p_receiver + %t66 = load ptr, ptr %sc_l_p_1 + %t67 = call zeroext i1 @sc_dc_3(ptr %t66, ptr null) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u28, label %exc.k29 +exc.u28: + ret void +exc.k29: + %t71 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t65, i64 0, i32 9 + %t72 = zext i1 %t67 to i8 + store i8 %t72, ptr %t71, !tbaa !62 + ret void +if.j27: + %t73 = load ptr, ptr %sc_l_key_string + %t74 = call zeroext i1 @sc_streq_1640919894513317(ptr %t73) + br i1 %t74, label %if.t30, label %if.j31 +if.t30: + %t75 = load ptr, ptr %sc_l_p_receiver + %t76 = load ptr, ptr %sc_l_p_1 + %t77 = call ptr @sc_dc_4(ptr %t76, ptr null) + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rrelease_r1(ptr %t77) + ret void +exc.k33: + %t81 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t75, i64 0, i32 10 + %t82 = load ptr, ptr %t81 + store ptr %t77, ptr %t81, !tbaa !64 + call void @sc_rrelease_r1(ptr %t82) + ret void +if.j31: + %t83 = load ptr, ptr %sc_l_key_string + %t84 = call zeroext i1 @sc_streq_4191962028163388(ptr %t83) + br i1 %t84, label %if.t34, label %if.j35 +if.t34: + %t85 = load ptr, ptr %sc_l_p_receiver + %t86 = load ptr, ptr %sc_l_p_1 + %t87 = call zeroext i1 @sc_dc_3(ptr %t86, ptr null) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u36, label %exc.k37 +exc.u36: + ret void +exc.k37: + %t91 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t85, i64 0, i32 11 + %t92 = zext i1 %t87 to i8 + store i8 %t92, ptr %t91, !tbaa !66 + ret void +if.j35: + %t93 = load ptr, ptr %sc_l_key_string + %t94 = call zeroext i1 @sc_streq_2098081682588801(ptr %t93) + br i1 %t94, label %if.t38, label %if.j39 +if.t38: + %t95 = load ptr, ptr %sc_l_p_receiver + %t96 = load ptr, ptr %sc_l_p_1 + %t97 = call ptr @sc_dc_7(ptr %t96, ptr null) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rrelease_r2(ptr %t97) + ret void +exc.k41: + %t101 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t95, i64 0, i32 12 + %t102 = load ptr, ptr %t101 + store ptr %t97, ptr %t101, !tbaa !68 + call void @sc_rrelease_r2(ptr %t102) + ret void +if.j39: + %t103 = load ptr, ptr %sc_l_key_string + %t104 = call zeroext i1 @sc_streq_4448851817182856(ptr %t103) + br i1 %t104, label %if.t42, label %if.j43 +if.t42: + %t105 = load ptr, ptr %sc_l_p_receiver + %t106 = load ptr, ptr %sc_l_p_1 + %t107 = call zeroext i1 @sc_dc_3(ptr %t106, ptr null) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u44, label %exc.k45 +exc.u44: + ret void +exc.k45: + %t111 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t105, i64 0, i32 13 + %t112 = zext i1 %t107 to i8 + store i8 %t112, ptr %t111, !tbaa !70 + ret void +if.j43: + %t113 = load ptr, ptr %sc_l_key_string + %t114 = call zeroext i1 @sc_streq_2171724267474130(ptr %t113) + br i1 %t114, label %if.t46, label %if.j47 +if.t46: + %t115 = load ptr, ptr %sc_l_p_receiver + %t116 = load ptr, ptr %sc_l_p_1 + %t117 = call ptr @sc_dc_11(ptr %t116, ptr null) + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u48, label %exc.k49 +exc.u48: + call void @scr_http_res_release(ptr %t117) + ret void +exc.k49: + %t121 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t115, i64 0, i32 14 + %t122 = load ptr, ptr %t121 + store ptr %t117, ptr %t121, !tbaa !88 + call void @scr_http_res_release(ptr %t122) + ret void +if.j47: + %t123 = load ptr, ptr %sc_l_key_string + %t124 = call zeroext i1 @sc_streq_3752021314181142(ptr %t123) + br i1 %t124, label %if.t50, label %if.j51 +if.t50: + %t125 = load ptr, ptr %sc_l_p_receiver + %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t127 = call ptr @sc_f__x25_dyn_class_properties(ptr %t126) + %t128 = load i32, ptr %exc.cell + %t129 = icmp ne i32 %t128, 0 + %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false) + br i1 %t130, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t127) + ret void +exc.k53: + %t131 = load ptr, ptr %sc_l_p_1 + %t132 = call ptr @sc_rc_retain_dyn(ptr %t131) + %t133 = load ptr, ptr %sc_l_p_receiver + %t134 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t133, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t127, ptr @sc_lit_3752021314181142, ptr %t132, ptr %t134) + %t135 = load i32, ptr %exc.cell + %t136 = icmp ne i32 %t135, 0 + %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false) + br i1 %t137, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_rc_release_dyn(ptr %t134) + ret void +exc.k55: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_rc_release_dyn(ptr %t134) + ret void +if.j51: + %t138 = load ptr, ptr %sc_l_key_string + %t139 = call zeroext i1 @sc_streq_2364278031517622(ptr %t138) + br i1 %t139, label %if.t56, label %if.j57 +if.t56: + %t140 = load ptr, ptr %sc_l_p_receiver + %t141 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t140, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t142 = call ptr @sc_f__x25_dyn_class_properties(ptr %t141) + %t143 = load i32, ptr %exc.cell + %t144 = icmp ne i32 %t143, 0 + %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false) + br i1 %t145, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t142) + ret void +exc.k59: + %t146 = load ptr, ptr %sc_l_p_1 + %t147 = call ptr @sc_rc_retain_dyn(ptr %t146) + %t148 = load ptr, ptr %sc_l_p_receiver + %t149 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t148, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t142, ptr @sc_lit_2364278031517622, ptr %t147, ptr %t149) + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t142) + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t149) + ret void +exc.k61: + call void @sc_rc_release_dyn(ptr %t142) + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t149) + ret void +if.j57: + %t153 = load ptr, ptr %sc_l_key_string + %t154 = call zeroext i1 @sc_streq_470306239805907(ptr %t153) + br i1 %t154, label %if.t62, label %if.j63 +if.t62: + %t155 = load ptr, ptr %sc_l_p_receiver + %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t157 = call ptr @sc_f__x25_dyn_class_properties(ptr %t156) + %t158 = load i32, ptr %exc.cell + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t157) + ret void +exc.k65: + %t161 = load ptr, ptr %sc_l_p_1 + %t162 = call ptr @sc_rc_retain_dyn(ptr %t161) + %t163 = load ptr, ptr %sc_l_p_receiver + %t164 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t163, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t157, ptr @sc_lit_470306239805907, ptr %t162, ptr %t164) + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t164) + ret void +exc.k67: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t164) + ret void +if.j63: + %t168 = load ptr, ptr %sc_l_key_string + %t169 = call zeroext i1 @sc_streq_4133069531575059(ptr %t168) + br i1 %t169, label %if.t68, label %if.j69 +if.t68: + %t170 = load ptr, ptr %sc_l_p_receiver + %t171 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t170, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t172 = call ptr @sc_f__x25_dyn_class_properties(ptr %t171) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t172) + ret void +exc.k71: + %t176 = load ptr, ptr %sc_l_p_1 + %t177 = call ptr @sc_rc_retain_dyn(ptr %t176) + %t178 = load ptr, ptr %sc_l_p_receiver + %t179 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t178, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t172, ptr @sc_lit_4133069531575059, ptr %t177, ptr %t179) + %t180 = load i32, ptr %exc.cell + %t181 = icmp ne i32 %t180, 0 + %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false) + br i1 %t182, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t179) + ret void +exc.k73: + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t179) + ret void +if.j69: + %t183 = load ptr, ptr %sc_l_key_string + %t184 = call zeroext i1 @sc_streq_2253648670486996(ptr %t183) + br i1 %t184, label %if.t74, label %if.j75 +if.t74: + %t185 = load ptr, ptr %sc_l_p_receiver + %t186 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t185, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t187 = call ptr @sc_f__x25_dyn_class_properties(ptr %t186) + %t188 = load i32, ptr %exc.cell + %t189 = icmp ne i32 %t188, 0 + %t190 = call i1 @llvm.expect.i1(i1 %t189, i1 false) + br i1 %t190, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t187) + ret void +exc.k77: + %t191 = load ptr, ptr %sc_l_p_1 + %t192 = call ptr @sc_rc_retain_dyn(ptr %t191) + %t193 = load ptr, ptr %sc_l_p_receiver + %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t187, ptr @sc_lit_2253648670486996, ptr %t192, ptr %t194) + %t195 = load i32, ptr %exc.cell + %t196 = icmp ne i32 %t195, 0 + %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false) + br i1 %t197, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t187) + call void @sc_rc_release_dyn(ptr %t192) + call void @sc_rc_release_dyn(ptr %t194) + ret void +exc.k79: + call void @sc_rc_release_dyn(ptr %t187) + call void @sc_rc_release_dyn(ptr %t192) + call void @sc_rc_release_dyn(ptr %t194) + ret void +if.j75: + %t198 = load ptr, ptr %sc_l_key_string + %t199 = call zeroext i1 @sc_streq_161925136240866(ptr %t198) + br i1 %t199, label %if.t80, label %if.j81 +if.t80: + %t200 = load ptr, ptr %sc_l_p_receiver + %t201 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t200, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t202 = call ptr @sc_f__x25_dyn_class_properties(ptr %t201) + %t203 = load i32, ptr %exc.cell + %t204 = icmp ne i32 %t203, 0 + %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false) + br i1 %t205, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t202) + ret void +exc.k83: + %t206 = load ptr, ptr %sc_l_p_1 + %t207 = call ptr @sc_rc_retain_dyn(ptr %t206) + %t208 = load ptr, ptr %sc_l_p_receiver + %t209 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t208, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t202, ptr @sc_lit_161925136240866, ptr %t207, ptr %t209) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t207) + call void @sc_rc_release_dyn(ptr %t209) + ret void +exc.k85: + call void @sc_rc_release_dyn(ptr %t202) + call void @sc_rc_release_dyn(ptr %t207) + call void @sc_rc_release_dyn(ptr %t209) + ret void +if.j81: + %t213 = load ptr, ptr %sc_l_key_string + %t214 = call zeroext i1 @sc_streq_298897322184109(ptr %t213) + br i1 %t214, label %if.t86, label %if.j87 +if.t86: + %t215 = load ptr, ptr %sc_l_p_receiver + %t216 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t215, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t217 = call ptr @sc_f__x25_dyn_class_properties(ptr %t216) + %t218 = load i32, ptr %exc.cell + %t219 = icmp ne i32 %t218, 0 + %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false) + br i1 %t220, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t217) + ret void +exc.k89: + %t221 = load ptr, ptr %sc_l_p_1 + %t222 = call ptr @sc_rc_retain_dyn(ptr %t221) + %t223 = load ptr, ptr %sc_l_p_receiver + %t224 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t223, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t217, ptr @sc_lit_298897322184109, ptr %t222, ptr %t224) + %t225 = load i32, ptr %exc.cell + %t226 = icmp ne i32 %t225, 0 + %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false) + br i1 %t227, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t222) + call void @sc_rc_release_dyn(ptr %t224) + ret void +exc.k91: + call void @sc_rc_release_dyn(ptr %t217) + call void @sc_rc_release_dyn(ptr %t222) + call void @sc_rc_release_dyn(ptr %t224) + ret void +if.j87: + %t228 = load ptr, ptr %sc_l_key_string + %t229 = call zeroext i1 @sc_streq_4085448292571548(ptr %t228) + br i1 %t229, label %if.t92, label %if.j93 +if.t92: + %t230 = load ptr, ptr %sc_l_p_receiver + %t231 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t230, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t232 = call ptr @sc_f__x25_dyn_class_properties(ptr %t231) + %t233 = load i32, ptr %exc.cell + %t234 = icmp ne i32 %t233, 0 + %t235 = call i1 @llvm.expect.i1(i1 %t234, i1 false) + br i1 %t235, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t232) + ret void +exc.k95: + %t236 = load ptr, ptr %sc_l_p_1 + %t237 = call ptr @sc_rc_retain_dyn(ptr %t236) + %t238 = load ptr, ptr %sc_l_p_receiver + %t239 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t238, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t232, ptr @sc_lit_4085448292571548, ptr %t237, ptr %t239) + %t240 = load i32, ptr %exc.cell + %t241 = icmp ne i32 %t240, 0 + %t242 = call i1 @llvm.expect.i1(i1 %t241, i1 false) + br i1 %t242, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t232) + call void @sc_rc_release_dyn(ptr %t237) + call void @sc_rc_release_dyn(ptr %t239) + ret void +exc.k97: + call void @sc_rc_release_dyn(ptr %t232) + call void @sc_rc_release_dyn(ptr %t237) + call void @sc_rc_release_dyn(ptr %t239) + ret void +if.j93: + %t243 = load ptr, ptr %sc_l_key_string + %t244 = call zeroext i1 @sc_streq_3561861343106386(ptr %t243) + br i1 %t244, label %if.t98, label %if.j99 +if.t98: + %t245 = load ptr, ptr %sc_l_p_receiver + %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t247 = call ptr @sc_f__x25_dyn_class_properties(ptr %t246) + %t248 = load i32, ptr %exc.cell + %t249 = icmp ne i32 %t248, 0 + %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false) + br i1 %t250, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t247) + ret void +exc.k101: + %t251 = load ptr, ptr %sc_l_p_1 + %t252 = call ptr @sc_rc_retain_dyn(ptr %t251) + %t253 = load ptr, ptr %sc_l_p_receiver + %t254 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t253, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t247, ptr @sc_lit_3561861343106386, ptr %t252, ptr %t254) + %t255 = load i32, ptr %exc.cell + %t256 = icmp ne i32 %t255, 0 + %t257 = call i1 @llvm.expect.i1(i1 %t256, i1 false) + br i1 %t257, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t247) + call void @sc_rc_release_dyn(ptr %t252) + call void @sc_rc_release_dyn(ptr %t254) + ret void +exc.k103: + call void @sc_rc_release_dyn(ptr %t247) + call void @sc_rc_release_dyn(ptr %t252) + call void @sc_rc_release_dyn(ptr %t254) + ret void +if.j99: + %t258 = load ptr, ptr %sc_l_key_string + %t259 = call zeroext i1 @sc_streq_3108123016971750(ptr %t258) + br i1 %t259, label %if.t104, label %if.j105 +if.t104: + %t260 = load ptr, ptr %sc_l_p_receiver + %t261 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t260, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t262 = call ptr @sc_f__x25_dyn_class_properties(ptr %t261) + %t263 = load i32, ptr %exc.cell + %t264 = icmp ne i32 %t263, 0 + %t265 = call i1 @llvm.expect.i1(i1 %t264, i1 false) + br i1 %t265, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t262) + ret void +exc.k107: + %t266 = load ptr, ptr %sc_l_p_1 + %t267 = call ptr @sc_rc_retain_dyn(ptr %t266) + %t268 = load ptr, ptr %sc_l_p_receiver + %t269 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t268, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t262, ptr @sc_lit_3108123016971750, ptr %t267, ptr %t269) + %t270 = load i32, ptr %exc.cell + %t271 = icmp ne i32 %t270, 0 + %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false) + br i1 %t272, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t262) + call void @sc_rc_release_dyn(ptr %t267) + call void @sc_rc_release_dyn(ptr %t269) + ret void +exc.k109: + call void @sc_rc_release_dyn(ptr %t262) + call void @sc_rc_release_dyn(ptr %t267) + call void @sc_rc_release_dyn(ptr %t269) + ret void +if.j105: + %t273 = load ptr, ptr %sc_l_key_string + %t274 = call zeroext i1 @sc_streq_2529432852777196(ptr %t273) + br i1 %t274, label %if.t110, label %if.j111 +if.t110: + %t275 = load ptr, ptr %sc_l_p_receiver + %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t277 = call ptr @sc_f__x25_dyn_class_properties(ptr %t276) + %t278 = load i32, ptr %exc.cell + %t279 = icmp ne i32 %t278, 0 + %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false) + br i1 %t280, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t277) + ret void +exc.k113: + %t281 = load ptr, ptr %sc_l_p_1 + %t282 = call ptr @sc_rc_retain_dyn(ptr %t281) + %t283 = load ptr, ptr %sc_l_p_receiver + %t284 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t283, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t277, ptr @sc_lit_2529432852777196, ptr %t282, ptr %t284) + %t285 = load i32, ptr %exc.cell + %t286 = icmp ne i32 %t285, 0 + %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false) + br i1 %t287, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t277) + call void @sc_rc_release_dyn(ptr %t282) + call void @sc_rc_release_dyn(ptr %t284) + ret void +exc.k115: + call void @sc_rc_release_dyn(ptr %t277) + call void @sc_rc_release_dyn(ptr %t282) + call void @sc_rc_release_dyn(ptr %t284) + ret void +if.j111: + %t288 = load ptr, ptr %sc_l_key_string + %t289 = call zeroext i1 @sc_streq_4297539476301093(ptr %t288) + br i1 %t289, label %if.t116, label %if.j117 +if.t116: + %t290 = load ptr, ptr %sc_l_p_receiver + %t291 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t290, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t292 = call ptr @sc_f__x25_dyn_class_properties(ptr %t291) + %t293 = load i32, ptr %exc.cell + %t294 = icmp ne i32 %t293, 0 + %t295 = call i1 @llvm.expect.i1(i1 %t294, i1 false) + br i1 %t295, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t292) + ret void +exc.k119: + %t296 = load ptr, ptr %sc_l_p_1 + %t297 = call ptr @sc_rc_retain_dyn(ptr %t296) + %t298 = load ptr, ptr %sc_l_p_receiver + %t299 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t298, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t292, ptr @sc_lit_4297539476301093, ptr %t297, ptr %t299) + %t300 = load i32, ptr %exc.cell + %t301 = icmp ne i32 %t300, 0 + %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false) + br i1 %t302, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t292) + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t299) + ret void +exc.k121: + call void @sc_rc_release_dyn(ptr %t292) + call void @sc_rc_release_dyn(ptr %t297) + call void @sc_rc_release_dyn(ptr %t299) + ret void +if.j117: + %t303 = load ptr, ptr %sc_l_key_string + %t304 = call zeroext i1 @sc_streq_1959461887910059(ptr %t303) + br i1 %t304, label %if.t122, label %if.j123 +if.t122: + %t305 = load ptr, ptr %sc_l_p_receiver + %t306 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t305, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t307 = call ptr @sc_f__x25_dyn_class_properties(ptr %t306) + %t308 = load i32, ptr %exc.cell + %t309 = icmp ne i32 %t308, 0 + %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false) + br i1 %t310, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t307) + ret void +exc.k125: + %t311 = load ptr, ptr %sc_l_p_1 + %t312 = call ptr @sc_rc_retain_dyn(ptr %t311) + %t313 = load ptr, ptr %sc_l_p_receiver + %t314 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t313, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t307, ptr @sc_lit_1959461887910059, ptr %t312, ptr %t314) + %t315 = load i32, ptr %exc.cell + %t316 = icmp ne i32 %t315, 0 + %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false) + br i1 %t317, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t307) + call void @sc_rc_release_dyn(ptr %t312) + call void @sc_rc_release_dyn(ptr %t314) + ret void +exc.k127: + call void @sc_rc_release_dyn(ptr %t307) + call void @sc_rc_release_dyn(ptr %t312) + call void @sc_rc_release_dyn(ptr %t314) + ret void +if.j123: + %t318 = load ptr, ptr %sc_l_key_string + %t319 = call zeroext i1 @sc_streq_181663572509014(ptr %t318) + br i1 %t319, label %if.t128, label %if.j129 +if.t128: + %t320 = load ptr, ptr %sc_l_p_receiver + %t321 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t320, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t322 = call ptr @sc_f__x25_dyn_class_properties(ptr %t321) + %t323 = load i32, ptr %exc.cell + %t324 = icmp ne i32 %t323, 0 + %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false) + br i1 %t325, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t322) + ret void +exc.k131: + %t326 = load ptr, ptr %sc_l_p_1 + %t327 = call ptr @sc_rc_retain_dyn(ptr %t326) + %t328 = load ptr, ptr %sc_l_p_receiver + %t329 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t328, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t322, ptr @sc_lit_181663572509014, ptr %t327, ptr %t329) + %t330 = load i32, ptr %exc.cell + %t331 = icmp ne i32 %t330, 0 + %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false) + br i1 %t332, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t322) + call void @sc_rc_release_dyn(ptr %t327) + call void @sc_rc_release_dyn(ptr %t329) + ret void +exc.k133: + call void @sc_rc_release_dyn(ptr %t322) + call void @sc_rc_release_dyn(ptr %t327) + call void @sc_rc_release_dyn(ptr %t329) + ret void +if.j129: + %t333 = load ptr, ptr %sc_l_key_string + %t334 = call zeroext i1 @sc_streq_992600386266231(ptr %t333) + br i1 %t334, label %if.t134, label %if.j135 +if.t134: + %t335 = load ptr, ptr %sc_l_p_receiver + %t336 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t335, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t337 = call ptr @sc_f__x25_dyn_class_properties(ptr %t336) + %t338 = load i32, ptr %exc.cell + %t339 = icmp ne i32 %t338, 0 + %t340 = call i1 @llvm.expect.i1(i1 %t339, i1 false) + br i1 %t340, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t337) + ret void +exc.k137: + %t341 = load ptr, ptr %sc_l_p_1 + %t342 = call ptr @sc_rc_retain_dyn(ptr %t341) + %t343 = load ptr, ptr %sc_l_p_receiver + %t344 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t343, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t337, ptr @sc_lit_992600386266231, ptr %t342, ptr %t344) + %t345 = load i32, ptr %exc.cell + %t346 = icmp ne i32 %t345, 0 + %t347 = call i1 @llvm.expect.i1(i1 %t346, i1 false) + br i1 %t347, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t337) + call void @sc_rc_release_dyn(ptr %t342) + call void @sc_rc_release_dyn(ptr %t344) + ret void +exc.k139: + call void @sc_rc_release_dyn(ptr %t337) + call void @sc_rc_release_dyn(ptr %t342) + call void @sc_rc_release_dyn(ptr %t344) + ret void +if.j135: + %t348 = load ptr, ptr %sc_l_key_string + %t349 = call zeroext i1 @sc_streq_4198614539576238(ptr %t348) + br i1 %t349, label %if.t140, label %if.j141 +if.t140: + %t350 = load ptr, ptr %sc_l_p_receiver + %t351 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t350, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t352 = call ptr @sc_f__x25_dyn_class_properties(ptr %t351) + %t353 = load i32, ptr %exc.cell + %t354 = icmp ne i32 %t353, 0 + %t355 = call i1 @llvm.expect.i1(i1 %t354, i1 false) + br i1 %t355, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t352) + ret void +exc.k143: + %t356 = load ptr, ptr %sc_l_p_1 + %t357 = call ptr @sc_rc_retain_dyn(ptr %t356) + %t358 = load ptr, ptr %sc_l_p_receiver + %t359 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t358, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t352, ptr @sc_lit_4198614539576238, ptr %t357, ptr %t359) + %t360 = load i32, ptr %exc.cell + %t361 = icmp ne i32 %t360, 0 + %t362 = call i1 @llvm.expect.i1(i1 %t361, i1 false) + br i1 %t362, label %exc.u144, label %exc.k145 +exc.u144: + call void @sc_rc_release_dyn(ptr %t352) + call void @sc_rc_release_dyn(ptr %t357) + call void @sc_rc_release_dyn(ptr %t359) + ret void +exc.k145: + call void @sc_rc_release_dyn(ptr %t352) + call void @sc_rc_release_dyn(ptr %t357) + call void @sc_rc_release_dyn(ptr %t359) + ret void +if.j141: + %t363 = load ptr, ptr %sc_l_key_string + %t364 = call zeroext i1 @sc_streq_4028208071947570(ptr %t363) + br i1 %t364, label %if.t146, label %if.j147 +if.t146: + %t365 = load ptr, ptr %sc_l_p_receiver + %t366 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t365, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t367 = call ptr @sc_f__x25_dyn_class_properties(ptr %t366) + %t368 = load i32, ptr %exc.cell + %t369 = icmp ne i32 %t368, 0 + %t370 = call i1 @llvm.expect.i1(i1 %t369, i1 false) + br i1 %t370, label %exc.u148, label %exc.k149 +exc.u148: + call void @sc_rc_release_dyn(ptr %t367) + ret void +exc.k149: + %t371 = load ptr, ptr %sc_l_p_1 + %t372 = call ptr @sc_rc_retain_dyn(ptr %t371) + %t373 = load ptr, ptr %sc_l_p_receiver + %t374 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t373, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t367, ptr @sc_lit_4028208071947570, ptr %t372, ptr %t374) + %t375 = load i32, ptr %exc.cell + %t376 = icmp ne i32 %t375, 0 + %t377 = call i1 @llvm.expect.i1(i1 %t376, i1 false) + br i1 %t377, label %exc.u150, label %exc.k151 +exc.u150: + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t372) + call void @sc_rc_release_dyn(ptr %t374) + ret void +exc.k151: + call void @sc_rc_release_dyn(ptr %t367) + call void @sc_rc_release_dyn(ptr %t372) + call void @sc_rc_release_dyn(ptr %t374) + ret void +if.j147: + %t378 = load ptr, ptr %sc_l_key_string + %t379 = call zeroext i1 @sc_streq_3908714124573206(ptr %t378) + br i1 %t379, label %if.t152, label %if.j153 +if.t152: + %t380 = load ptr, ptr %sc_l_p_receiver + %t381 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t380, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t382 = call ptr @sc_f__x25_dyn_class_properties(ptr %t381) + %t383 = load i32, ptr %exc.cell + %t384 = icmp ne i32 %t383, 0 + %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false) + br i1 %t385, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t382) + ret void +exc.k155: + %t386 = load ptr, ptr %sc_l_p_1 + %t387 = call ptr @sc_rc_retain_dyn(ptr %t386) + %t388 = load ptr, ptr %sc_l_p_receiver + %t389 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t388, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t382, ptr @sc_lit_3908714124573206, ptr %t387, ptr %t389) + %t390 = load i32, ptr %exc.cell + %t391 = icmp ne i32 %t390, 0 + %t392 = call i1 @llvm.expect.i1(i1 %t391, i1 false) + br i1 %t392, label %exc.u156, label %exc.k157 +exc.u156: + call void @sc_rc_release_dyn(ptr %t382) + call void @sc_rc_release_dyn(ptr %t387) + call void @sc_rc_release_dyn(ptr %t389) + ret void +exc.k157: + call void @sc_rc_release_dyn(ptr %t382) + call void @sc_rc_release_dyn(ptr %t387) + call void @sc_rc_release_dyn(ptr %t389) + ret void +if.j153: + %t393 = load ptr, ptr %sc_l_p_0 + %t394 = call ptr @sc_rc_retain_dyn(ptr %t393) + %t395 = call ptr @sc_f__x25_dyn_class_properties(ptr %t394) + %t396 = load i32, ptr %exc.cell + %t397 = icmp ne i32 %t396, 0 + %t398 = call i1 @llvm.expect.i1(i1 %t397, i1 false) + br i1 %t398, label %exc.u158, label %exc.k159 +exc.u158: + call void @sc_rc_release_dyn(ptr %t395) + ret void +exc.k159: + %t399 = load ptr, ptr %sc_l_key_string + %t400 = call ptr @sc_rc_retain_str(ptr %t399) + %t401 = load ptr, ptr %sc_l_p_1 + %t402 = call ptr @sc_rc_retain_dyn(ptr %t401) + %t403 = load ptr, ptr %sc_l_p_receiver + %t404 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t403, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @scr_dyn_bag_set(ptr %t395, ptr %t400, ptr %t402, ptr %t404) + %t405 = load i32, ptr %exc.cell + %t406 = icmp ne i32 %t405, 0 + %t407 = call i1 @llvm.expect.i1(i1 %t406, i1 false) + br i1 %t407, label %exc.u160, label %exc.k161 +exc.u160: + call void @sc_rc_release_dyn(ptr %t395) + call void @scr_str_release(ptr %t400) + call void @sc_rc_release_dyn(ptr %t402) + call void @sc_rc_release_dyn(ptr %t404) + ret void +exc.k161: + call void @sc_rc_release_dyn(ptr %t395) + call void @scr_str_release(ptr %t400) + call void @sc_rc_release_dyn(ptr %t402) + call void @sc_rc_release_dyn(ptr %t404) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_473(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_473(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m3_LiteResponse(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_474(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.474 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_3804612928743770(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_74(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rrelease_r12(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t6, i64 0, i32 3 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !190 + call void @sc_rrelease_r12(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_1810373001322451(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call ptr @sc_dc_75(ptr %t17, ptr null) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_arr_release(ptr %t18) + ret void +exc.k9: + %t22 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t16, i64 0, i32 4 + %t23 = load ptr, ptr %t22 + store ptr %t18, ptr %t22, !tbaa !192 + call void @scr_arr_release(ptr %t23) + ret void +if.j7: + %t24 = load ptr, ptr %sc_l_key_string + %t25 = call zeroext i1 @sc_streq_2227497482646049(ptr %t24) + br i1 %t25, label %if.t10, label %if.j11 +if.t10: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t28 = call ptr @sc_f__x25_dyn_class_properties(ptr %t27) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t28) + ret void +exc.k13: + %t32 = load ptr, ptr %sc_l_p_1 + %t33 = call ptr @sc_rc_retain_dyn(ptr %t32) + %t34 = load ptr, ptr %sc_l_p_receiver + %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + call void @scr_dyn_bag_set(ptr %t28, ptr @sc_lit_2227497482646049, ptr %t33, ptr %t35) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + ret void +exc.k15: + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t35) + ret void +if.j11: + %t39 = load ptr, ptr %sc_l_key_string + %t40 = call zeroext i1 @sc_streq_228045523956680(ptr %t39) + br i1 %t40, label %if.t16, label %if.j17 +if.t16: + %t41 = load ptr, ptr %sc_l_p_receiver + %t42 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t41, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t43 = call ptr @sc_f__x25_dyn_class_properties(ptr %t42) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t43) + ret void +exc.k19: + %t47 = load ptr, ptr %sc_l_p_1 + %t48 = call ptr @sc_rc_retain_dyn(ptr %t47) + %t49 = load ptr, ptr %sc_l_p_receiver + %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + call void @scr_dyn_bag_set(ptr %t43, ptr @sc_lit_228045523956680, ptr %t48, ptr %t50) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t48) + call void @sc_rc_release_dyn(ptr %t50) + ret void +exc.k21: + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t48) + call void @sc_rc_release_dyn(ptr %t50) + ret void +if.j17: + %t54 = load ptr, ptr %sc_l_key_string + %t55 = call zeroext i1 @sc_streq_731773075116702(ptr %t54) + br i1 %t55, label %if.t22, label %if.j23 +if.t22: + %t56 = load ptr, ptr %sc_l_p_receiver + %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t58 = call ptr @sc_f__x25_dyn_class_properties(ptr %t57) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t58) + ret void +exc.k25: + %t62 = load ptr, ptr %sc_l_p_1 + %t63 = call ptr @sc_rc_retain_dyn(ptr %t62) + %t64 = load ptr, ptr %sc_l_p_receiver + %t65 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t64, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + call void @scr_dyn_bag_set(ptr %t58, ptr @sc_lit_731773075116702, ptr %t63, ptr %t65) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t65) + ret void +exc.k27: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t65) + ret void +if.j23: + %t69 = load ptr, ptr %sc_l_p_0 + %t70 = call ptr @sc_rc_retain_dyn(ptr %t69) + %t71 = call ptr @sc_f__x25_dyn_class_properties(ptr %t70) + %t72 = load i32, ptr %exc.cell + %t73 = icmp ne i32 %t72, 0 + %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false) + br i1 %t74, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t71) + ret void +exc.k29: + %t75 = load ptr, ptr %sc_l_key_string + %t76 = call ptr @sc_rc_retain_str(ptr %t75) + %t77 = load ptr, ptr %sc_l_p_1 + %t78 = call ptr @sc_rc_retain_dyn(ptr %t77) + %t79 = load ptr, ptr %sc_l_p_receiver + %t80 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t79, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + call void @scr_dyn_bag_set(ptr %t71, ptr %t76, ptr %t78, ptr %t80) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t71) + call void @scr_str_release(ptr %t76) + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t80) + ret void +exc.k31: + call void @sc_rc_release_dyn(ptr %t71) + call void @scr_str_release(ptr %t76) + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t80) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_474(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_474(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_475(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.475 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_1515898915129638(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_16(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_http_req_release(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t6, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !72 + call void @scr_http_req_release(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_731773075116702(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_properties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t18) + ret void +exc.k9: + %t22 = load ptr, ptr %sc_l_p_1 + %t23 = call ptr @sc_rc_retain_dyn(ptr %t22) + %t24 = load ptr, ptr %sc_l_p_receiver + %t25 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t24, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + call void @scr_dyn_bag_set(ptr %t18, ptr @sc_lit_731773075116702, ptr %t23, ptr %t25) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t25) + ret void +exc.k11: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t25) + ret void +if.j7: + %t29 = load ptr, ptr %sc_l_key_string + %t30 = call zeroext i1 @sc_streq_2556418033318189(ptr %t29) + br i1 %t30, label %if.t12, label %if.j13 +if.t12: + %t31 = load ptr, ptr %sc_l_p_receiver + %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t33 = call ptr @sc_f__x25_dyn_class_properties(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t33) + ret void +exc.k15: + %t37 = load ptr, ptr %sc_l_p_1 + %t38 = call ptr @sc_rc_retain_dyn(ptr %t37) + %t39 = load ptr, ptr %sc_l_p_receiver + %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + call void @scr_dyn_bag_set(ptr %t33, ptr @sc_lit_2556418033318189, ptr %t38, ptr %t40) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + ret void +exc.k17: + call void @sc_rc_release_dyn(ptr %t33) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + ret void +if.j13: + %t44 = load ptr, ptr %sc_l_key_string + %t45 = call zeroext i1 @sc_streq_2782259059515958(ptr %t44) + br i1 %t45, label %if.t18, label %if.j19 +if.t18: + %t46 = load ptr, ptr %sc_l_p_receiver + %t47 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t46, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t48 = call ptr @sc_f__x25_dyn_class_properties(ptr %t47) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t48) + ret void +exc.k21: + %t52 = load ptr, ptr %sc_l_p_1 + %t53 = call ptr @sc_rc_retain_dyn(ptr %t52) + %t54 = load ptr, ptr %sc_l_p_receiver + %t55 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t54, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + call void @scr_dyn_bag_set(ptr %t48, ptr @sc_lit_2782259059515958, ptr %t53, ptr %t55) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t48) + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t55) + ret void +exc.k23: + call void @sc_rc_release_dyn(ptr %t48) + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t55) + ret void +if.j19: + %t59 = load ptr, ptr %sc_l_key_string + %t60 = call zeroext i1 @sc_streq_145319249654683(ptr %t59) + br i1 %t60, label %if.t24, label %if.j25 +if.t24: + %t61 = load ptr, ptr %sc_l_p_receiver + %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t63 = call ptr @sc_f__x25_dyn_class_properties(ptr %t62) + %t64 = load i32, ptr %exc.cell + %t65 = icmp ne i32 %t64, 0 + %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false) + br i1 %t66, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t63) + ret void +exc.k27: + %t67 = load ptr, ptr %sc_l_p_1 + %t68 = call ptr @sc_rc_retain_dyn(ptr %t67) + %t69 = load ptr, ptr %sc_l_p_receiver + %t70 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t69, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + call void @scr_dyn_bag_set(ptr %t63, ptr @sc_lit_145319249654683, ptr %t68, ptr %t70) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_rc_release_dyn(ptr %t70) + ret void +exc.k29: + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t68) + call void @sc_rc_release_dyn(ptr %t70) + ret void +if.j25: + %t74 = load ptr, ptr %sc_l_p_0 + %t75 = call ptr @sc_rc_retain_dyn(ptr %t74) + %t76 = call ptr @sc_f__x25_dyn_class_properties(ptr %t75) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t76) + ret void +exc.k31: + %t80 = load ptr, ptr %sc_l_key_string + %t81 = call ptr @sc_rc_retain_str(ptr %t80) + %t82 = load ptr, ptr %sc_l_p_1 + %t83 = call ptr @sc_rc_retain_dyn(ptr %t82) + %t84 = load ptr, ptr %sc_l_p_receiver + %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + call void @scr_dyn_bag_set(ptr %t76, ptr %t81, ptr %t83, ptr %t85) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t76) + call void @scr_str_release(ptr %t81) + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_rc_release_dyn(ptr %t85) + ret void +exc.k33: + call void @sc_rc_release_dyn(ptr %t76) + call void @scr_str_release(ptr %t81) + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_rc_release_dyn(ptr %t85) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_475(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_475(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m3_LiteHeaders(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_error_message_write(ptr %p_sc_l_error_0, ptr %p_sc_l_value) #0 { ; %error.message.write +entry: + %sc_l_error_0 = alloca ptr ; error + %sc_l_value = alloca ptr ; value + store ptr %p_sc_l_error_0, ptr %sc_l_error_0 + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_error_0 + %t1 = getelementptr inbounds %ScrError, ptr %t0, i64 0, i32 7 + %t2 = load i8, ptr %t1, !tbaa !210 + %t3 = trunc i8 %t2 to i1 + br i1 %t3, label %if.t0, label %if.j1 +if.t0: + %t4 = load ptr, ptr %sc_l_error_0 + %t5 = getelementptr inbounds %ScrError, ptr %t4, i64 0, i32 7 + %t6 = load i8, ptr %t5, !tbaa !210 + %t7 = trunc i8 %t6 to i1 + %t8 = xor i1 %t7, true + br i1 %t8, label %if.t2, label %if.j3 +if.t2: + %t9 = load ptr, ptr %sc_l_error_0 + %t10 = getelementptr inbounds %ScrError, ptr %t9, i64 0, i32 8 + %t11 = zext i1 true to i8 + store i8 %t11, ptr %t10, !tbaa !212 + br label %if.j3 +if.j3: + %t12 = load ptr, ptr %sc_l_error_0 + %t13 = load ptr, ptr %sc_l_value + %t14 = call ptr @sc_rc_retain_str(ptr %t13) + %t15 = getelementptr inbounds %ScrError, ptr %t12, i64 0, i32 3 + %t16 = load ptr, ptr %t15 + store ptr %t14, ptr %t15, !tbaa !214 + call void @scr_str_release(ptr %t16) + %t17 = load ptr, ptr %sc_l_error_0 + %t18 = getelementptr inbounds %ScrError, ptr %t17, i64 0, i32 7 + %t19 = zext i1 true to i8 + store i8 %t19, ptr %t18, !tbaa !210 + ret void +if.j1: + %t20 = load ptr, ptr %sc_l_error_0 + %t21 = getelementptr inbounds %ScrError, ptr %t20, i64 0, i32 7 + %t22 = load i8, ptr %t21, !tbaa !210 + %t23 = trunc i8 %t22 to i1 + %t24 = xor i1 %t23, true + br i1 %t24, label %if.t4, label %if.j5 +if.t4: + %t25 = load ptr, ptr %sc_l_error_0 + %t26 = getelementptr inbounds %ScrError, ptr %t25, i64 0, i32 8 + %t27 = zext i1 true to i8 + store i8 %t27, ptr %t26, !tbaa !212 + br label %if.j5 +if.j5: + %t28 = load ptr, ptr %sc_l_error_0 + %t29 = load ptr, ptr %sc_l_value + %t30 = call ptr @sc_rc_retain_str(ptr %t29) + %t31 = getelementptr inbounds %ScrError, ptr %t28, i64 0, i32 3 + %t32 = load ptr, ptr %t31 + store ptr %t30, ptr %t31, !tbaa !214 + call void @scr_str_release(ptr %t32) + %t33 = load ptr, ptr %sc_l_error_0 + %t34 = getelementptr inbounds %ScrError, ptr %t33, i64 0, i32 7 + %t35 = zext i1 true to i8 + store i8 %t35, ptr %t34, !tbaa !210 + ret void +} +define internal void @sc_f__x25_error_message_write(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_error_message_write(ptr %p0, ptr %p1) + call void @scr_error_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_477(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.477 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_2298207874780604(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_0(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_str_release(ptr %t8) + ret void +exc.k5: + call void @sc_bf__x25_error_name_write(ptr %t6, ptr %t8) + call void @scr_str_release(ptr %t8) + ret void +if.j3: + %t12 = load ptr, ptr %sc_l_key_string + %t13 = call zeroext i1 @sc_streq_3013970235377041(ptr %t12) + br i1 %t13, label %if.t6, label %if.j7 +if.t6: + %t14 = load ptr, ptr %sc_l_p_receiver + %t15 = load ptr, ptr %sc_l_p_1 + %t16 = call ptr @sc_dc_0(ptr %t15, ptr null) + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_str_release(ptr %t16) + ret void +exc.k9: + call void @sc_bf__x25_error_message_write(ptr %t14, ptr %t16) + call void @scr_str_release(ptr %t16) + ret void +if.j7: + %t20 = load ptr, ptr %sc_l_key_string + %t21 = call zeroext i1 @sc_streq_1143527378875226(ptr %t20) + br i1 %t21, label %if.t10, label %if.j11 +if.t10: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = load ptr, ptr %sc_l_p_1 + %t24 = call ptr @sc_dc_0(ptr %t23, ptr null) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_str_release(ptr %t24) + ret void +exc.k13: + %t28 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t22, i64 0, i32 21 + %t29 = load ptr, ptr %t28 + store ptr %t24, ptr %t28, !tbaa !168 + call void @scr_str_release(ptr %t29) + ret void +if.j11: + %t30 = load ptr, ptr %sc_l_key_string + %t31 = call zeroext i1 @sc_streq_3302186402337583(ptr %t30) + br i1 %t31, label %if.t14, label %if.j15 +if.t14: + %t32 = load ptr, ptr %sc_l_p_receiver + %t33 = call ptr @sc_td_15(ptr %t32) + %t34 = call ptr @sc_f__x25_dyn_class_properties(ptr %t33) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t34) + ret void +exc.k17: + %t38 = load ptr, ptr %sc_l_p_1 + %t39 = call ptr @sc_rc_retain_dyn(ptr %t38) + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = call ptr @sc_td_15(ptr %t40) + call void @scr_dyn_bag_set(ptr %t34, ptr @sc_lit_3302186402337583, ptr %t39, ptr %t41) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_rc_release_dyn(ptr %t41) + ret void +exc.k19: + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_rc_release_dyn(ptr %t41) + ret void +if.j15: + %t45 = load ptr, ptr %sc_l_p_0 + %t46 = call ptr @sc_rc_retain_dyn(ptr %t45) + %t47 = call ptr @sc_f__x25_dyn_class_properties(ptr %t46) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t47) + ret void +exc.k21: + %t51 = load ptr, ptr %sc_l_key_string + %t52 = call ptr @sc_rc_retain_str(ptr %t51) + %t53 = load ptr, ptr %sc_l_p_1 + %t54 = call ptr @sc_rc_retain_dyn(ptr %t53) + %t55 = load ptr, ptr %sc_l_p_receiver + %t56 = call ptr @sc_td_15(ptr %t55) + call void @scr_dyn_bag_set(ptr %t47, ptr %t52, ptr %t54, ptr %t56) + %t57 = load i32, ptr %exc.cell + %t58 = icmp ne i32 %t57, 0 + %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false) + br i1 %t59, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t47) + call void @scr_str_release(ptr %t52) + call void @sc_rc_release_dyn(ptr %t54) + call void @sc_rc_release_dyn(ptr %t56) + ret void +exc.k23: + call void @sc_rc_release_dyn(ptr %t47) + call void @scr_str_release(ptr %t52) + call void @sc_rc_release_dyn(ptr %t54) + call void @sc_rc_release_dyn(ptr %t56) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_477(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_477(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_478(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.478 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + %s47 = alloca ptr + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_4331231100667432(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_0(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_str_release(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t6, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !108 + call void @scr_str_release(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_1497623537730125(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call ptr @sc_dc_0(ptr %t17, ptr null) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_str_release(ptr %t18) + ret void +exc.k9: + %t22 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 2 + %t23 = load ptr, ptr %t22 + store ptr %t18, ptr %t22, !tbaa !110 + call void @scr_str_release(ptr %t23) + ret void +if.j7: + %t24 = load ptr, ptr %sc_l_key_string + %t25 = call zeroext i1 @sc_streq_3626652862359804(ptr %t24) + br i1 %t25, label %if.t10, label %if.j11 +if.t10: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call double @sc_dc_2(ptr %t27, ptr null) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + ret void +exc.k13: + %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t26, i64 0, i32 3 + store double %t28, ptr %t32, !tbaa !112 + ret void +if.j11: + %t33 = load ptr, ptr %sc_l_key_string + %t34 = call zeroext i1 @sc_streq_3767316427932713(ptr %t33) + br i1 %t34, label %if.t14, label %if.j15 +if.t14: + %t35 = load ptr, ptr %sc_l_p_receiver + %t36 = load ptr, ptr %sc_l_p_1 + %t37 = call ptr @sc_dc_12(ptr %t36, ptr null) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_bytes_release(ptr %t37) + ret void +exc.k17: + %t41 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t35, i64 0, i32 4 + %t42 = load ptr, ptr %t41 + store ptr %t37, ptr %t41, !tbaa !114 + call void @scr_bytes_release(ptr %t42) + ret void +if.j15: + %t43 = load ptr, ptr %sc_l_key_string + %t44 = call zeroext i1 @sc_streq_270650669493903(ptr %t43) + br i1 %t44, label %if.t18, label %if.j19 +if.t18: + %t45 = load ptr, ptr %sc_l_p_receiver + %t46 = load ptr, ptr %sc_l_p_1 + %t48 = icmp ne ptr %t46, null + br i1 %t48, label %dc.inspect20, label %dc.checked23 +dc.inspect20: + %t53 = getelementptr inbounds i8, ptr %t46, i64 8 ; ->kind + %t54 = load i32, ptr %t53 + %t49 = icmp eq i32 %t54, 12 + br i1 %t49, label %dc.capsule21, label %dc.checked23 +dc.capsule21: + %t50 = getelementptr inbounds i8, ptr %t46, i64 40 ; ->v.typed_ref.type_key + %t51 = load ptr, ptr %t50 + %t52 = icmp eq ptr %t51, @sc_cs_3635319175845957 + br i1 %t52, label %dc.exact22, label %dc.checked23 +dc.exact22: + %t55 = getelementptr inbounds i8, ptr %t46, i64 16 ; ->v.typed_ref.ptr + %t56 = load ptr, ptr %t55 + %t57 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t56) + store ptr %t57, ptr %s47 + br label %dc.done24 +dc.checked23: + %t58 = call ptr @sc_dc_24(ptr %t46, ptr null) + store ptr %t58, ptr %s47 + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u25, label %exc.k26 +exc.u25: + ret void +exc.k26: + br label %dc.done24 +dc.done24: + %t62 = load ptr, ptr %s47 + %t63 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t45, i64 0, i32 5 + %t64 = load ptr, ptr %t63 + store ptr %t62, ptr %t63, !tbaa !116 + call void @sc_release__x25_m4_MultipartStorage(ptr %t64) + ret void +if.j19: + %t65 = load ptr, ptr %sc_l_key_string + %t66 = call zeroext i1 @sc_streq_1904556107358822(ptr %t65) + br i1 %t66, label %if.t27, label %if.j28 +if.t27: + %t67 = load ptr, ptr %sc_l_p_receiver + %t68 = load ptr, ptr %sc_l_p_1 + %t69 = call double @sc_dc_2(ptr %t68, ptr null) + %t70 = load i32, ptr %exc.cell + %t71 = icmp ne i32 %t70, 0 + %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false) + br i1 %t72, label %exc.u29, label %exc.k30 +exc.u29: + ret void +exc.k30: + %t73 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t67, i64 0, i32 6 + store double %t69, ptr %t73, !tbaa !118 + ret void +if.j28: + %t74 = load ptr, ptr %sc_l_key_string + %t75 = call zeroext i1 @sc_streq_3347257245794453(ptr %t74) + br i1 %t75, label %if.t31, label %if.j32 +if.t31: + %t76 = load ptr, ptr %sc_l_p_receiver + %t77 = load ptr, ptr %sc_l_p_1 + %t78 = call double @sc_dc_2(ptr %t77, ptr null) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u33, label %exc.k34 +exc.u33: + ret void +exc.k34: + %t82 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t76, i64 0, i32 7 + store double %t78, ptr %t82, !tbaa !120 + ret void +if.j32: + %t83 = load ptr, ptr %sc_l_key_string + %t84 = call zeroext i1 @sc_streq_51498970823486(ptr %t83) + br i1 %t84, label %if.t35, label %if.j36 +if.t35: + %t85 = load ptr, ptr %sc_l_p_receiver + %t86 = load ptr, ptr %sc_l_p_1 + %t87 = call double @sc_dc_2(ptr %t86, ptr null) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u37, label %exc.k38 +exc.u37: + ret void +exc.k38: + %t91 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t85, i64 0, i32 8 + store double %t87, ptr %t91, !tbaa !122 + ret void +if.j36: + %t92 = load ptr, ptr %sc_l_key_string + %t93 = call zeroext i1 @sc_streq_3871774119671975(ptr %t92) + br i1 %t93, label %if.t39, label %if.j40 +if.t39: + %t94 = load ptr, ptr %sc_l_p_receiver + %t95 = load ptr, ptr %sc_l_p_1 + %t96 = call zeroext i1 @sc_dc_3(ptr %t95, ptr null) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u41, label %exc.k42 +exc.u41: + ret void +exc.k42: + %t100 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t94, i64 0, i32 9 + %t101 = zext i1 %t96 to i8 + store i8 %t101, ptr %t100, !tbaa !124 + ret void +if.j40: + %t102 = load ptr, ptr %sc_l_key_string + %t103 = call zeroext i1 @sc_streq_1511541293423217(ptr %t102) + br i1 %t103, label %if.t43, label %if.j44 +if.t43: + %t104 = load ptr, ptr %sc_l_p_receiver + %t105 = load ptr, ptr %sc_l_p_1 + %t106 = call zeroext i1 @sc_dc_3(ptr %t105, ptr null) + %t107 = load i32, ptr %exc.cell + %t108 = icmp ne i32 %t107, 0 + %t109 = call i1 @llvm.expect.i1(i1 %t108, i1 false) + br i1 %t109, label %exc.u45, label %exc.k46 +exc.u45: + ret void +exc.k46: + %t110 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t104, i64 0, i32 10 + %t111 = zext i1 %t106 to i8 + store i8 %t111, ptr %t110, !tbaa !126 + ret void +if.j44: + %t112 = load ptr, ptr %sc_l_key_string + %t113 = call zeroext i1 @sc_streq_3537803200604019(ptr %t112) + br i1 %t113, label %if.t47, label %if.j48 +if.t47: + %t114 = load ptr, ptr %sc_l_p_receiver + %t115 = load ptr, ptr %sc_l_p_1 + %t116 = call ptr @sc_dc_0(ptr %t115, ptr null) + %t117 = load i32, ptr %exc.cell + %t118 = icmp ne i32 %t117, 0 + %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false) + br i1 %t119, label %exc.u49, label %exc.k50 +exc.u49: + call void @scr_str_release(ptr %t116) + ret void +exc.k50: + %t120 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t114, i64 0, i32 11 + %t121 = load ptr, ptr %t120 + store ptr %t116, ptr %t120, !tbaa !100 + call void @scr_str_release(ptr %t121) + ret void +if.j48: + %t122 = load ptr, ptr %sc_l_key_string + %t123 = call zeroext i1 @sc_streq_2438149604853393(ptr %t122) + br i1 %t123, label %if.t51, label %if.j52 +if.t51: + %t124 = load ptr, ptr %sc_l_p_receiver + %t125 = load ptr, ptr %sc_l_p_1 + %t126 = call ptr @sc_dc_0(ptr %t125, ptr null) + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u53, label %exc.k54 +exc.u53: + call void @scr_str_release(ptr %t126) + ret void +exc.k54: + %t130 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t124, i64 0, i32 12 + %t131 = load ptr, ptr %t130 + store ptr %t126, ptr %t130, !tbaa !102 + call void @scr_str_release(ptr %t131) + ret void +if.j52: + %t132 = load ptr, ptr %sc_l_key_string + %t133 = call zeroext i1 @sc_streq_87265031005560(ptr %t132) + br i1 %t133, label %if.t55, label %if.j56 +if.t55: + %t134 = load ptr, ptr %sc_l_p_receiver + %t135 = load ptr, ptr %sc_l_p_1 + %t136 = call ptr @sc_dc_0(ptr %t135, ptr null) + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u57, label %exc.k58 +exc.u57: + call void @scr_str_release(ptr %t136) + ret void +exc.k58: + %t140 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t134, i64 0, i32 13 + %t141 = load ptr, ptr %t140 + store ptr %t136, ptr %t140, !tbaa !104 + call void @scr_str_release(ptr %t141) + ret void +if.j56: + %t142 = load ptr, ptr %sc_l_key_string + %t143 = call zeroext i1 @sc_streq_2620371357038102(ptr %t142) + br i1 %t143, label %if.t59, label %if.j60 +if.t59: + %t144 = load ptr, ptr %sc_l_p_receiver + %t145 = load ptr, ptr %sc_l_p_1 + %t146 = call ptr @sc_dc_25(ptr %t145, ptr null) + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u61, label %exc.k62 +exc.u61: + call void @sc_release__x25_m4_MultipartFileSink(ptr %t146) + ret void +exc.k62: + %t150 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t144, i64 0, i32 14 + %t151 = load ptr, ptr %t150 + store ptr %t146, ptr %t150, !tbaa !128 + call void @sc_release__x25_m4_MultipartFileSink(ptr %t151) + ret void +if.j60: + %t152 = load ptr, ptr %sc_l_key_string + %t153 = call zeroext i1 @sc_streq_1445273163400741(ptr %t152) + br i1 %t153, label %if.t63, label %if.j64 +if.t63: + %t154 = load ptr, ptr %sc_l_p_receiver + %t155 = load ptr, ptr %sc_l_p_1 + %t156 = call ptr @sc_dc_27(ptr %t155, ptr null) + %t157 = load i32, ptr %exc.cell + %t158 = icmp ne i32 %t157, 0 + %t159 = call i1 @llvm.expect.i1(i1 %t158, i1 false) + br i1 %t159, label %exc.u65, label %exc.k66 +exc.u65: + call void @scr_arr_release(ptr %t156) + ret void +exc.k66: + %t160 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t154, i64 0, i32 15 + %t161 = load ptr, ptr %t160 + store ptr %t156, ptr %t160, !tbaa !130 + call void @scr_arr_release(ptr %t161) + ret void +if.j64: + %t162 = load ptr, ptr %sc_l_key_string + %t163 = call zeroext i1 @sc_streq_3078220272172636(ptr %t162) + br i1 %t163, label %if.t67, label %if.j68 +if.t67: + %t164 = load ptr, ptr %sc_l_p_receiver + %t165 = load ptr, ptr %sc_l_p_1 + %t166 = call double @sc_dc_2(ptr %t165, ptr null) + %t167 = load i32, ptr %exc.cell + %t168 = icmp ne i32 %t167, 0 + %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false) + br i1 %t169, label %exc.u69, label %exc.k70 +exc.u69: + ret void +exc.k70: + %t170 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t164, i64 0, i32 16 + store double %t166, ptr %t170, !tbaa !132 + ret void +if.j68: + %t171 = load ptr, ptr %sc_l_key_string + %t172 = call zeroext i1 @sc_streq_3003865410260240(ptr %t171) + br i1 %t172, label %if.t71, label %if.j72 +if.t71: + %t173 = load ptr, ptr %sc_l_p_receiver + %t174 = load ptr, ptr %sc_l_p_1 + %t175 = call double @sc_dc_2(ptr %t174, ptr null) + %t176 = load i32, ptr %exc.cell + %t177 = icmp ne i32 %t176, 0 + %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false) + br i1 %t178, label %exc.u73, label %exc.k74 +exc.u73: + ret void +exc.k74: + %t179 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t173, i64 0, i32 17 + store double %t175, ptr %t179, !tbaa !134 + ret void +if.j72: + %t180 = load ptr, ptr %sc_l_key_string + %t181 = call zeroext i1 @sc_streq_3833663445821831(ptr %t180) + br i1 %t181, label %if.t75, label %if.j76 +if.t75: + %t182 = load ptr, ptr %sc_l_p_receiver + %t183 = load ptr, ptr %sc_l_p_1 + %t184 = call double @sc_dc_2(ptr %t183, ptr null) + %t185 = load i32, ptr %exc.cell + %t186 = icmp ne i32 %t185, 0 + %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false) + br i1 %t187, label %exc.u77, label %exc.k78 +exc.u77: + ret void +exc.k78: + %t188 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t182, i64 0, i32 18 + store double %t184, ptr %t188, !tbaa !26 + ret void +if.j76: + %t189 = load ptr, ptr %sc_l_key_string + %t190 = call zeroext i1 @sc_streq_1081761464356753(ptr %t189) + br i1 %t190, label %if.t79, label %if.j80 +if.t79: + %t191 = load ptr, ptr %sc_l_p_receiver + %t192 = load ptr, ptr %sc_l_p_1 + %t193 = call ptr @sc_dc_20(ptr %t192, ptr null) + %t194 = load i32, ptr %exc.cell + %t195 = icmp ne i32 %t194, 0 + %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false) + br i1 %t196, label %exc.u81, label %exc.k82 +exc.u81: + call void @scr_arr_release(ptr %t193) + ret void +exc.k82: + %t197 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t191, i64 0, i32 19 + %t198 = load ptr, ptr %t197 + store ptr %t193, ptr %t197, !tbaa !28 + call void @scr_arr_release(ptr %t198) + ret void +if.j80: + %t199 = load ptr, ptr %sc_l_key_string + %t200 = call zeroext i1 @sc_streq_3375901898269401(ptr %t199) + br i1 %t200, label %if.t83, label %if.j84 +if.t83: + %t201 = load ptr, ptr %sc_l_p_receiver + %t202 = load ptr, ptr %sc_l_p_1 + %t203 = call ptr @sc_dc_1(ptr %t202, ptr null) + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u85, label %exc.k86 +exc.u85: + call void @scr_arr_release(ptr %t203) + ret void +exc.k86: + %t207 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t201, i64 0, i32 20 + %t208 = load ptr, ptr %t207 + store ptr %t203, ptr %t207, !tbaa !30 + call void @scr_arr_release(ptr %t208) + ret void +if.j84: + %t209 = load ptr, ptr %sc_l_key_string + %t210 = call zeroext i1 @sc_streq_3531366543973767(ptr %t209) + br i1 %t210, label %if.t87, label %if.j88 +if.t87: + %t211 = load ptr, ptr %sc_l_p_receiver + %t212 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t211, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t213 = call ptr @sc_f__x25_dyn_class_properties(ptr %t212) + %t214 = load i32, ptr %exc.cell + %t215 = icmp ne i32 %t214, 0 + %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false) + br i1 %t216, label %exc.u89, label %exc.k90 +exc.u89: + call void @sc_rc_release_dyn(ptr %t213) + ret void +exc.k90: + %t217 = load ptr, ptr %sc_l_p_1 + %t218 = call ptr @sc_rc_retain_dyn(ptr %t217) + %t219 = load ptr, ptr %sc_l_p_receiver + %t220 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t219, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t213, ptr @sc_lit_3531366543973767, ptr %t218, ptr %t220) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u91, label %exc.k92 +exc.u91: + call void @sc_rc_release_dyn(ptr %t213) + call void @sc_rc_release_dyn(ptr %t218) + call void @sc_rc_release_dyn(ptr %t220) + ret void +exc.k92: + call void @sc_rc_release_dyn(ptr %t213) + call void @sc_rc_release_dyn(ptr %t218) + call void @sc_rc_release_dyn(ptr %t220) + ret void +if.j88: + %t224 = load ptr, ptr %sc_l_key_string + %t225 = call zeroext i1 @sc_streq_1173128410961643(ptr %t224) + br i1 %t225, label %if.t93, label %if.j94 +if.t93: + %t226 = load ptr, ptr %sc_l_p_receiver + %t227 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t226, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t228 = call ptr @sc_f__x25_dyn_class_properties(ptr %t227) + %t229 = load i32, ptr %exc.cell + %t230 = icmp ne i32 %t229, 0 + %t231 = call i1 @llvm.expect.i1(i1 %t230, i1 false) + br i1 %t231, label %exc.u95, label %exc.k96 +exc.u95: + call void @sc_rc_release_dyn(ptr %t228) + ret void +exc.k96: + %t232 = load ptr, ptr %sc_l_p_1 + %t233 = call ptr @sc_rc_retain_dyn(ptr %t232) + %t234 = load ptr, ptr %sc_l_p_receiver + %t235 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t234, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t228, ptr @sc_lit_1173128410961643, ptr %t233, ptr %t235) + %t236 = load i32, ptr %exc.cell + %t237 = icmp ne i32 %t236, 0 + %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false) + br i1 %t238, label %exc.u97, label %exc.k98 +exc.u97: + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t233) + call void @sc_rc_release_dyn(ptr %t235) + ret void +exc.k98: + call void @sc_rc_release_dyn(ptr %t228) + call void @sc_rc_release_dyn(ptr %t233) + call void @sc_rc_release_dyn(ptr %t235) + ret void +if.j94: + %t239 = load ptr, ptr %sc_l_key_string + %t240 = call zeroext i1 @sc_streq_1900193337948069(ptr %t239) + br i1 %t240, label %if.t99, label %if.j100 +if.t99: + %t241 = load ptr, ptr %sc_l_p_receiver + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_properties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u101, label %exc.k102 +exc.u101: + call void @sc_rc_release_dyn(ptr %t243) + ret void +exc.k102: + %t247 = load ptr, ptr %sc_l_p_1 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t249 = load ptr, ptr %sc_l_p_receiver + %t250 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t249, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t243, ptr @sc_lit_1900193337948069, ptr %t248, ptr %t250) + %t251 = load i32, ptr %exc.cell + %t252 = icmp ne i32 %t251, 0 + %t253 = call i1 @llvm.expect.i1(i1 %t252, i1 false) + br i1 %t253, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_rc_release_dyn(ptr %t250) + ret void +exc.k104: + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_rc_release_dyn(ptr %t250) + ret void +if.j100: + %t254 = load ptr, ptr %sc_l_key_string + %t255 = call zeroext i1 @sc_streq_3922224781708262(ptr %t254) + br i1 %t255, label %if.t105, label %if.j106 +if.t105: + %t256 = load ptr, ptr %sc_l_p_receiver + %t257 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t256, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t258 = call ptr @sc_f__x25_dyn_class_properties(ptr %t257) + %t259 = load i32, ptr %exc.cell + %t260 = icmp ne i32 %t259, 0 + %t261 = call i1 @llvm.expect.i1(i1 %t260, i1 false) + br i1 %t261, label %exc.u107, label %exc.k108 +exc.u107: + call void @sc_rc_release_dyn(ptr %t258) + ret void +exc.k108: + %t262 = load ptr, ptr %sc_l_p_1 + %t263 = call ptr @sc_rc_retain_dyn(ptr %t262) + %t264 = load ptr, ptr %sc_l_p_receiver + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t258, ptr @sc_lit_3922224781708262, ptr %t263, ptr %t265) + %t266 = load i32, ptr %exc.cell + %t267 = icmp ne i32 %t266, 0 + %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false) + br i1 %t268, label %exc.u109, label %exc.k110 +exc.u109: + call void @sc_rc_release_dyn(ptr %t258) + call void @sc_rc_release_dyn(ptr %t263) + call void @sc_rc_release_dyn(ptr %t265) + ret void +exc.k110: + call void @sc_rc_release_dyn(ptr %t258) + call void @sc_rc_release_dyn(ptr %t263) + call void @sc_rc_release_dyn(ptr %t265) + ret void +if.j106: + %t269 = load ptr, ptr %sc_l_key_string + %t270 = call zeroext i1 @sc_streq_1360183775732063(ptr %t269) + br i1 %t270, label %if.t111, label %if.j112 +if.t111: + %t271 = load ptr, ptr %sc_l_p_receiver + %t272 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t271, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t273 = call ptr @sc_f__x25_dyn_class_properties(ptr %t272) + %t274 = load i32, ptr %exc.cell + %t275 = icmp ne i32 %t274, 0 + %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false) + br i1 %t276, label %exc.u113, label %exc.k114 +exc.u113: + call void @sc_rc_release_dyn(ptr %t273) + ret void +exc.k114: + %t277 = load ptr, ptr %sc_l_p_1 + %t278 = call ptr @sc_rc_retain_dyn(ptr %t277) + %t279 = load ptr, ptr %sc_l_p_receiver + %t280 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t279, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t273, ptr @sc_lit_1360183775732063, ptr %t278, ptr %t280) + %t281 = load i32, ptr %exc.cell + %t282 = icmp ne i32 %t281, 0 + %t283 = call i1 @llvm.expect.i1(i1 %t282, i1 false) + br i1 %t283, label %exc.u115, label %exc.k116 +exc.u115: + call void @sc_rc_release_dyn(ptr %t273) + call void @sc_rc_release_dyn(ptr %t278) + call void @sc_rc_release_dyn(ptr %t280) + ret void +exc.k116: + call void @sc_rc_release_dyn(ptr %t273) + call void @sc_rc_release_dyn(ptr %t278) + call void @sc_rc_release_dyn(ptr %t280) + ret void +if.j112: + %t284 = load ptr, ptr %sc_l_key_string + %t285 = call zeroext i1 @sc_streq_142546227685363(ptr %t284) + br i1 %t285, label %if.t117, label %if.j118 +if.t117: + %t286 = load ptr, ptr %sc_l_p_receiver + %t287 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t286, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t288 = call ptr @sc_f__x25_dyn_class_properties(ptr %t287) + %t289 = load i32, ptr %exc.cell + %t290 = icmp ne i32 %t289, 0 + %t291 = call i1 @llvm.expect.i1(i1 %t290, i1 false) + br i1 %t291, label %exc.u119, label %exc.k120 +exc.u119: + call void @sc_rc_release_dyn(ptr %t288) + ret void +exc.k120: + %t292 = load ptr, ptr %sc_l_p_1 + %t293 = call ptr @sc_rc_retain_dyn(ptr %t292) + %t294 = load ptr, ptr %sc_l_p_receiver + %t295 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t294, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t288, ptr @sc_lit_142546227685363, ptr %t293, ptr %t295) + %t296 = load i32, ptr %exc.cell + %t297 = icmp ne i32 %t296, 0 + %t298 = call i1 @llvm.expect.i1(i1 %t297, i1 false) + br i1 %t298, label %exc.u121, label %exc.k122 +exc.u121: + call void @sc_rc_release_dyn(ptr %t288) + call void @sc_rc_release_dyn(ptr %t293) + call void @sc_rc_release_dyn(ptr %t295) + ret void +exc.k122: + call void @sc_rc_release_dyn(ptr %t288) + call void @sc_rc_release_dyn(ptr %t293) + call void @sc_rc_release_dyn(ptr %t295) + ret void +if.j118: + %t299 = load ptr, ptr %sc_l_key_string + %t300 = call zeroext i1 @sc_streq_2281930073577937(ptr %t299) + br i1 %t300, label %if.t123, label %if.j124 +if.t123: + %t301 = load ptr, ptr %sc_l_p_receiver + %t302 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t301, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t303 = call ptr @sc_f__x25_dyn_class_properties(ptr %t302) + %t304 = load i32, ptr %exc.cell + %t305 = icmp ne i32 %t304, 0 + %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false) + br i1 %t306, label %exc.u125, label %exc.k126 +exc.u125: + call void @sc_rc_release_dyn(ptr %t303) + ret void +exc.k126: + %t307 = load ptr, ptr %sc_l_p_1 + %t308 = call ptr @sc_rc_retain_dyn(ptr %t307) + %t309 = load ptr, ptr %sc_l_p_receiver + %t310 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t309, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t303, ptr @sc_lit_2281930073577937, ptr %t308, ptr %t310) + %t311 = load i32, ptr %exc.cell + %t312 = icmp ne i32 %t311, 0 + %t313 = call i1 @llvm.expect.i1(i1 %t312, i1 false) + br i1 %t313, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t303) + call void @sc_rc_release_dyn(ptr %t308) + call void @sc_rc_release_dyn(ptr %t310) + ret void +exc.k128: + call void @sc_rc_release_dyn(ptr %t303) + call void @sc_rc_release_dyn(ptr %t308) + call void @sc_rc_release_dyn(ptr %t310) + ret void +if.j124: + %t314 = load ptr, ptr %sc_l_key_string + %t315 = call zeroext i1 @sc_streq_1113582459875923(ptr %t314) + br i1 %t315, label %if.t129, label %if.j130 +if.t129: + %t316 = load ptr, ptr %sc_l_p_receiver + %t317 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t316, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t318 = call ptr @sc_f__x25_dyn_class_properties(ptr %t317) + %t319 = load i32, ptr %exc.cell + %t320 = icmp ne i32 %t319, 0 + %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false) + br i1 %t321, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t318) + ret void +exc.k132: + %t322 = load ptr, ptr %sc_l_p_1 + %t323 = call ptr @sc_rc_retain_dyn(ptr %t322) + %t324 = load ptr, ptr %sc_l_p_receiver + %t325 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t324, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t318, ptr @sc_lit_1113582459875923, ptr %t323, ptr %t325) + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u133, label %exc.k134 +exc.u133: + call void @sc_rc_release_dyn(ptr %t318) + call void @sc_rc_release_dyn(ptr %t323) + call void @sc_rc_release_dyn(ptr %t325) + ret void +exc.k134: + call void @sc_rc_release_dyn(ptr %t318) + call void @sc_rc_release_dyn(ptr %t323) + call void @sc_rc_release_dyn(ptr %t325) + ret void +if.j130: + %t329 = load ptr, ptr %sc_l_p_0 + %t330 = call ptr @sc_rc_retain_dyn(ptr %t329) + %t331 = call ptr @sc_f__x25_dyn_class_properties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u135, label %exc.k136 +exc.u135: + call void @sc_rc_release_dyn(ptr %t331) + ret void +exc.k136: + %t335 = load ptr, ptr %sc_l_key_string + %t336 = call ptr @sc_rc_retain_str(ptr %t335) + %t337 = load ptr, ptr %sc_l_p_1 + %t338 = call ptr @sc_rc_retain_dyn(ptr %t337) + %t339 = load ptr, ptr %sc_l_p_receiver + %t340 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t339, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + call void @scr_dyn_bag_set(ptr %t331, ptr %t336, ptr %t338, ptr %t340) + %t341 = load i32, ptr %exc.cell + %t342 = icmp ne i32 %t341, 0 + %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false) + br i1 %t343, label %exc.u137, label %exc.k138 +exc.u137: + call void @sc_rc_release_dyn(ptr %t331) + call void @scr_str_release(ptr %t336) + call void @sc_rc_release_dyn(ptr %t338) + call void @sc_rc_release_dyn(ptr %t340) + ret void +exc.k138: + call void @sc_rc_release_dyn(ptr %t331) + call void @scr_str_release(ptr %t336) + call void @sc_rc_release_dyn(ptr %t338) + call void @sc_rc_release_dyn(ptr %t340) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_478(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_478(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m4_MultipartParser(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_479(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.479 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_3392166625234189(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_0(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_str_release(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t6, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !90 + call void @scr_str_release(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_4388468866828680(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call ptr @sc_dc_0(ptr %t17, ptr null) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_str_release(ptr %t18) + ret void +exc.k9: + %t22 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t16, i64 0, i32 2 + %t23 = load ptr, ptr %t22 + store ptr %t18, ptr %t22, !tbaa !12 + call void @scr_str_release(ptr %t23) + ret void +if.j7: + %t24 = load ptr, ptr %sc_l_key_string + %t25 = call zeroext i1 @sc_streq_595629019077013(ptr %t24) + br i1 %t25, label %if.t10, label %if.j11 +if.t10: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_dc_0(ptr %t27, ptr null) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_str_release(ptr %t28) + ret void +exc.k13: + %t32 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t26, i64 0, i32 3 + %t33 = load ptr, ptr %t32 + store ptr %t28, ptr %t32, !tbaa !92 + call void @scr_str_release(ptr %t33) + ret void +if.j11: + %t34 = load ptr, ptr %sc_l_key_string + %t35 = call zeroext i1 @sc_streq_3603975379547098(ptr %t34) + br i1 %t35, label %if.t14, label %if.j15 +if.t14: + %t36 = load ptr, ptr %sc_l_p_receiver + %t37 = load ptr, ptr %sc_l_p_1 + %t38 = call double @sc_dc_2(ptr %t37, ptr null) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + ret void +exc.k17: + %t42 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t36, i64 0, i32 4 + store double %t38, ptr %t42, !tbaa !94 + ret void +if.j15: + %t43 = load ptr, ptr %sc_l_key_string + %t44 = call zeroext i1 @sc_streq_2826818497658723(ptr %t43) + br i1 %t44, label %if.t18, label %if.j19 +if.t18: + %t45 = load ptr, ptr %sc_l_p_receiver + %t46 = load ptr, ptr %sc_l_p_1 + %t47 = call ptr @sc_dc_22(ptr %t46, ptr null) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u20, label %exc.k21 +exc.u20: + call void @scr_str_release(ptr %t47) + ret void +exc.k21: + %t51 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t45, i64 0, i32 5 + %t52 = load ptr, ptr %t51 + store ptr %t47, ptr %t51, !tbaa !96 + call void @scr_str_release(ptr %t52) + ret void +if.j19: + %t53 = load ptr, ptr %sc_l_key_string + %t54 = call zeroext i1 @sc_streq_693828840439997(ptr %t53) + br i1 %t54, label %if.t22, label %if.j23 +if.t22: + %t55 = load ptr, ptr %sc_l_p_receiver + %t56 = load ptr, ptr %sc_l_p_1 + %t57 = call ptr @sc_dc_23(ptr %t56, ptr null) + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u24, label %exc.k25 +exc.u24: + call void @scr_union_release(ptr %t57) + ret void +exc.k25: + %t61 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t55, i64 0, i32 6 + %t62 = load ptr, ptr %t61 + store ptr %t57, ptr %t61, !tbaa !98 + call void @scr_union_release(ptr %t62) + ret void +if.j23: + %t63 = load ptr, ptr %sc_l_p_0 + %t64 = call ptr @sc_rc_retain_dyn(ptr %t63) + %t65 = call ptr @sc_f__x25_dyn_class_properties(ptr %t64) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t65) + ret void +exc.k27: + %t69 = load ptr, ptr %sc_l_key_string + %t70 = call ptr @sc_rc_retain_str(ptr %t69) + %t71 = load ptr, ptr %sc_l_p_1 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t73 = load ptr, ptr %sc_l_p_receiver + %t74 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t73, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t74, ptr @sc_ldr_12_materialize_cops) + call void @scr_dyn_bag_set(ptr %t65, ptr %t70, ptr %t72, ptr %t74) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t65) + call void @scr_str_release(ptr %t70) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + ret void +exc.k29: + call void @sc_rc_release_dyn(ptr %t65) + call void @scr_str_release(ptr %t70) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_479(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_479(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m4_UploadedFile(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_480(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.480 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %s8 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_662344961506331(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t9 = icmp ne ptr %t7, null + br i1 %t9, label %dc.inspect4, label %dc.checked7 +dc.inspect4: + %t14 = getelementptr inbounds i8, ptr %t7, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t10 = icmp eq i32 %t15, 12 + br i1 %t10, label %dc.capsule5, label %dc.checked7 +dc.capsule5: + %t11 = getelementptr inbounds i8, ptr %t7, i64 40 ; ->v.typed_ref.type_key + %t12 = load ptr, ptr %t11 + %t13 = icmp eq ptr %t12, @sc_cs_3314970835853795 + br i1 %t13, label %dc.exact6, label %dc.checked7 +dc.exact6: + %t16 = getelementptr inbounds i8, ptr %t7, i64 16 ; ->v.typed_ref.ptr + %t17 = load ptr, ptr %t16 + %t18 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t17) + store ptr %t18, ptr %s8 + br label %dc.done8 +dc.checked7: + %t19 = call ptr @sc_dc_79(ptr %t7, ptr null) + store ptr %t19, ptr %s8 + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u9, label %exc.k10 +exc.u9: + ret void +exc.k10: + br label %dc.done8 +dc.done8: + %t23 = load ptr, ptr %s8 + %t24 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t6, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + store ptr %t23, ptr %t24, !tbaa !194 + call void @sc_release__x25_m6_AssetSource(ptr %t25) + ret void +if.j3: + %t26 = load ptr, ptr %sc_l_key_string + %t27 = call zeroext i1 @sc_streq_24845548896369(ptr %t26) + br i1 %t27, label %if.t11, label %if.j12 +if.t11: + %t28 = load ptr, ptr %sc_l_p_receiver + %t29 = load ptr, ptr %sc_l_p_1 + %t30 = call zeroext i1 @sc_dc_3(ptr %t29, ptr null) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u13, label %exc.k14 +exc.u13: + ret void +exc.k14: + %t34 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t28, i64 0, i32 2 + %t35 = zext i1 %t30 to i8 + store i8 %t35, ptr %t34, !tbaa !196 + ret void +if.j12: + %t36 = load ptr, ptr %sc_l_key_string + %t37 = call zeroext i1 @sc_streq_365197477495960(ptr %t36) + br i1 %t37, label %if.t15, label %if.j16 +if.t15: + %t38 = load ptr, ptr %sc_l_p_receiver + %t39 = load ptr, ptr %sc_l_p_1 + %t40 = call ptr @sc_dc_1(ptr %t39, ptr null) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u17, label %exc.k18 +exc.u17: + call void @scr_arr_release(ptr %t40) + ret void +exc.k18: + %t44 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t38, i64 0, i32 3 + %t45 = load ptr, ptr %t44 + store ptr %t40, ptr %t44, !tbaa !198 + call void @scr_arr_release(ptr %t45) + ret void +if.j16: + %t46 = load ptr, ptr %sc_l_key_string + %t47 = call zeroext i1 @sc_streq_488203381972006(ptr %t46) + br i1 %t47, label %if.t19, label %if.j20 +if.t19: + %t48 = load ptr, ptr %sc_l_p_receiver + %t49 = load ptr, ptr %sc_l_p_1 + %t50 = call ptr @sc_dc_0(ptr %t49, ptr null) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u21, label %exc.k22 +exc.u21: + call void @scr_str_release(ptr %t50) + ret void +exc.k22: + %t54 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t48, i64 0, i32 4 + %t55 = load ptr, ptr %t54 + store ptr %t50, ptr %t54, !tbaa !200 + call void @scr_str_release(ptr %t55) + ret void +if.j20: + %t56 = load ptr, ptr %sc_l_key_string + %t57 = call zeroext i1 @sc_streq_938646781597298(ptr %t56) + br i1 %t57, label %if.t23, label %if.j24 +if.t23: + %t58 = load ptr, ptr %sc_l_p_receiver + %t59 = load ptr, ptr %sc_l_p_1 + %t60 = call ptr @sc_dc_0(ptr %t59, ptr null) + %t61 = load i32, ptr %exc.cell + %t62 = icmp ne i32 %t61, 0 + %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false) + br i1 %t63, label %exc.u25, label %exc.k26 +exc.u25: + call void @scr_str_release(ptr %t60) + ret void +exc.k26: + %t64 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t58, i64 0, i32 5 + %t65 = load ptr, ptr %t64 + store ptr %t60, ptr %t64, !tbaa !202 + call void @scr_str_release(ptr %t65) + ret void +if.j24: + %t66 = load ptr, ptr %sc_l_key_string + %t67 = call zeroext i1 @sc_streq_2232031524457002(ptr %t66) + br i1 %t67, label %if.t27, label %if.j28 +if.t27: + %t68 = load ptr, ptr %sc_l_p_receiver + %t69 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t68, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t70 = call ptr @sc_f__x25_dyn_class_properties(ptr %t69) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t70) + ret void +exc.k30: + %t74 = load ptr, ptr %sc_l_p_1 + %t75 = call ptr @sc_rc_retain_dyn(ptr %t74) + %t76 = load ptr, ptr %sc_l_p_receiver + %t77 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t76, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + call void @scr_dyn_bag_set(ptr %t70, ptr @sc_lit_2232031524457002, ptr %t75, ptr %t77) + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t75) + call void @sc_rc_release_dyn(ptr %t77) + ret void +exc.k32: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t75) + call void @sc_rc_release_dyn(ptr %t77) + ret void +if.j28: + %t81 = load ptr, ptr %sc_l_key_string + %t82 = call zeroext i1 @sc_streq_3423954012803281(ptr %t81) + br i1 %t82, label %if.t33, label %if.j34 +if.t33: + %t83 = load ptr, ptr %sc_l_p_receiver + %t84 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t83, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t85 = call ptr @sc_f__x25_dyn_class_properties(ptr %t84) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u35, label %exc.k36 +exc.u35: + call void @sc_rc_release_dyn(ptr %t85) + ret void +exc.k36: + %t89 = load ptr, ptr %sc_l_p_1 + %t90 = call ptr @sc_rc_retain_dyn(ptr %t89) + %t91 = load ptr, ptr %sc_l_p_receiver + %t92 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t91, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + call void @scr_dyn_bag_set(ptr %t85, ptr @sc_lit_3423954012803281, ptr %t90, ptr %t92) + %t93 = load i32, ptr %exc.cell + %t94 = icmp ne i32 %t93, 0 + %t95 = call i1 @llvm.expect.i1(i1 %t94, i1 false) + br i1 %t95, label %exc.u37, label %exc.k38 +exc.u37: + call void @sc_rc_release_dyn(ptr %t85) + call void @sc_rc_release_dyn(ptr %t90) + call void @sc_rc_release_dyn(ptr %t92) + ret void +exc.k38: + call void @sc_rc_release_dyn(ptr %t85) + call void @sc_rc_release_dyn(ptr %t90) + call void @sc_rc_release_dyn(ptr %t92) + ret void +if.j34: + %t96 = load ptr, ptr %sc_l_key_string + %t97 = call zeroext i1 @sc_streq_700259281879664(ptr %t96) + br i1 %t97, label %if.t39, label %if.j40 +if.t39: + %t98 = load ptr, ptr %sc_l_p_receiver + %t99 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t98, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t100 = call ptr @sc_f__x25_dyn_class_properties(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u41, label %exc.k42 +exc.u41: + call void @sc_rc_release_dyn(ptr %t100) + ret void +exc.k42: + %t104 = load ptr, ptr %sc_l_p_1 + %t105 = call ptr @sc_rc_retain_dyn(ptr %t104) + %t106 = load ptr, ptr %sc_l_p_receiver + %t107 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t106, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + call void @scr_dyn_bag_set(ptr %t100, ptr @sc_lit_700259281879664, ptr %t105, ptr %t107) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u43, label %exc.k44 +exc.u43: + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t107) + ret void +exc.k44: + call void @sc_rc_release_dyn(ptr %t100) + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t107) + ret void +if.j40: + %t111 = load ptr, ptr %sc_l_key_string + %t112 = call zeroext i1 @sc_streq_2478521587363481(ptr %t111) + br i1 %t112, label %if.t45, label %if.j46 +if.t45: + %t113 = load ptr, ptr %sc_l_p_receiver + %t114 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t113, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t115 = call ptr @sc_f__x25_dyn_class_properties(ptr %t114) + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u47, label %exc.k48 +exc.u47: + call void @sc_rc_release_dyn(ptr %t115) + ret void +exc.k48: + %t119 = load ptr, ptr %sc_l_p_1 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_receiver + %t122 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t121, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + call void @scr_dyn_bag_set(ptr %t115, ptr @sc_lit_2478521587363481, ptr %t120, ptr %t122) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u49, label %exc.k50 +exc.u49: + call void @sc_rc_release_dyn(ptr %t115) + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + ret void +exc.k50: + call void @sc_rc_release_dyn(ptr %t115) + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + ret void +if.j46: + %t126 = load ptr, ptr %sc_l_p_0 + %t127 = call ptr @sc_rc_retain_dyn(ptr %t126) + %t128 = call ptr @sc_f__x25_dyn_class_properties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u51, label %exc.k52 +exc.u51: + call void @sc_rc_release_dyn(ptr %t128) + ret void +exc.k52: + %t132 = load ptr, ptr %sc_l_key_string + %t133 = call ptr @sc_rc_retain_str(ptr %t132) + %t134 = load ptr, ptr %sc_l_p_1 + %t135 = call ptr @sc_rc_retain_dyn(ptr %t134) + %t136 = load ptr, ptr %sc_l_p_receiver + %t137 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t136, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + call void @scr_dyn_bag_set(ptr %t128, ptr %t133, ptr %t135, ptr %t137) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t128) + call void @scr_str_release(ptr %t133) + call void @sc_rc_release_dyn(ptr %t135) + call void @sc_rc_release_dyn(ptr %t137) + ret void +exc.k54: + call void @sc_rc_release_dyn(ptr %t128) + call void @scr_str_release(ptr %t133) + call void @sc_rc_release_dyn(ptr %t135) + call void @sc_rc_release_dyn(ptr %t137) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_480(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_480(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m11_StaticServer(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_481(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.481 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_731773075116702(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k5: + %t12 = load ptr, ptr %sc_l_p_1 + %t13 = call ptr @sc_rc_retain_dyn(ptr %t12) + %t14 = load ptr, ptr %sc_l_p_receiver + %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_731773075116702, ptr %t13, ptr %t15) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +if.j3: + %t19 = load ptr, ptr %sc_l_p_0 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_properties(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t21) + ret void +exc.k9: + %t25 = load ptr, ptr %sc_l_key_string + %t26 = call ptr @sc_rc_retain_str(ptr %t25) + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = load ptr, ptr %sc_l_p_receiver + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + call void @scr_dyn_bag_set(ptr %t21, ptr %t26, ptr %t28, ptr %t30) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_str_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +exc.k11: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_str_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_481(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_481(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m6_AssetSource(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_482(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.482 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_298897322184109(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k5: + %t12 = load ptr, ptr %sc_l_p_1 + %t13 = call ptr @sc_rc_retain_dyn(ptr %t12) + %t14 = load ptr, ptr %sc_l_p_receiver + %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_298897322184109, ptr %t13, ptr %t15) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +if.j3: + %t19 = load ptr, ptr %sc_l_key_string + %t20 = call zeroext i1 @sc_streq_952059176356082(ptr %t19) + br i1 %t20, label %if.t8, label %if.j9 +if.t8: + %t21 = load ptr, ptr %sc_l_p_receiver + %t22 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t21, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t23 = call ptr @sc_f__x25_dyn_class_properties(ptr %t22) + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t23) + ret void +exc.k11: + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = load ptr, ptr %sc_l_p_receiver + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + call void @scr_dyn_bag_set(ptr %t23, ptr @sc_lit_952059176356082, ptr %t28, ptr %t30) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +exc.k13: + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +if.j9: + %t34 = load ptr, ptr %sc_l_key_string + %t35 = call zeroext i1 @sc_streq_1026109439396001(ptr %t34) + br i1 %t35, label %if.t14, label %if.j15 +if.t14: + %t36 = load ptr, ptr %sc_l_p_receiver + %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t38 = call ptr @sc_f__x25_dyn_class_properties(ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t38) + ret void +exc.k17: + %t42 = load ptr, ptr %sc_l_p_1 + %t43 = call ptr @sc_rc_retain_dyn(ptr %t42) + %t44 = load ptr, ptr %sc_l_p_receiver + %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + call void @scr_dyn_bag_set(ptr %t38, ptr @sc_lit_1026109439396001, ptr %t43, ptr %t45) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + ret void +exc.k19: + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + ret void +if.j15: + %t49 = load ptr, ptr %sc_l_key_string + %t50 = call zeroext i1 @sc_streq_1048673592241930(ptr %t49) + br i1 %t50, label %if.t20, label %if.j21 +if.t20: + %t51 = load ptr, ptr %sc_l_p_receiver + %t52 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t51, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t53 = call ptr @sc_f__x25_dyn_class_properties(ptr %t52) + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t53) + ret void +exc.k23: + %t57 = load ptr, ptr %sc_l_p_1 + %t58 = call ptr @sc_rc_retain_dyn(ptr %t57) + %t59 = load ptr, ptr %sc_l_p_receiver + %t60 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t59, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + call void @scr_dyn_bag_set(ptr %t53, ptr @sc_lit_1048673592241930, ptr %t58, ptr %t60) + %t61 = load i32, ptr %exc.cell + %t62 = icmp ne i32 %t61, 0 + %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false) + br i1 %t63, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t60) + ret void +exc.k25: + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t60) + ret void +if.j21: + %t64 = load ptr, ptr %sc_l_p_0 + %t65 = call ptr @sc_rc_retain_dyn(ptr %t64) + %t66 = call ptr @sc_f__x25_dyn_class_properties(ptr %t65) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t66) + ret void +exc.k27: + %t70 = load ptr, ptr %sc_l_key_string + %t71 = call ptr @sc_rc_retain_str(ptr %t70) + %t72 = load ptr, ptr %sc_l_p_1 + %t73 = call ptr @sc_rc_retain_dyn(ptr %t72) + %t74 = load ptr, ptr %sc_l_p_receiver + %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + call void @scr_dyn_bag_set(ptr %t66, ptr %t71, ptr %t73, ptr %t75) + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t66) + call void @scr_str_release(ptr %t71) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t75) + ret void +exc.k29: + call void @sc_rc_release_dyn(ptr %t66) + call void @scr_str_release(ptr %t71) + call void @sc_rc_release_dyn(ptr %t73) + call void @sc_rc_release_dyn(ptr %t75) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_482(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_482(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m4_MultipartFileSink(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_483(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.483 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_3537803200604019(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_0(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_str_release(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t6, i64 0, i32 3 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !100 + call void @scr_str_release(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_2438149604853393(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call ptr @sc_dc_0(ptr %t17, ptr null) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_str_release(ptr %t18) + ret void +exc.k9: + %t22 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t16, i64 0, i32 4 + %t23 = load ptr, ptr %t22 + store ptr %t18, ptr %t22, !tbaa !102 + call void @scr_str_release(ptr %t23) + ret void +if.j7: + %t24 = load ptr, ptr %sc_l_key_string + %t25 = call zeroext i1 @sc_streq_87265031005560(ptr %t24) + br i1 %t25, label %if.t10, label %if.j11 +if.t10: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_dc_0(ptr %t27, ptr null) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u12, label %exc.k13 +exc.u12: + call void @scr_str_release(ptr %t28) + ret void +exc.k13: + %t32 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t26, i64 0, i32 5 + %t33 = load ptr, ptr %t32 + store ptr %t28, ptr %t32, !tbaa !104 + call void @scr_str_release(ptr %t33) + ret void +if.j11: + %t34 = load ptr, ptr %sc_l_key_string + %t35 = call zeroext i1 @sc_streq_201462833315591(ptr %t34) + br i1 %t35, label %if.t14, label %if.j15 +if.t14: + %t36 = load ptr, ptr %sc_l_p_receiver + %t37 = load ptr, ptr %sc_l_p_1 + %t38 = call ptr @sc_dc_27(ptr %t37, ptr null) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @scr_arr_release(ptr %t38) + ret void +exc.k17: + %t42 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t36, i64 0, i32 6 + %t43 = load ptr, ptr %t42 + store ptr %t38, ptr %t42, !tbaa !82 + call void @scr_arr_release(ptr %t43) + ret void +if.j15: + %t44 = load ptr, ptr %sc_l_key_string + %t45 = call zeroext i1 @sc_streq_1008105371634015(ptr %t44) + br i1 %t45, label %if.t18, label %if.j19 +if.t18: + %t46 = load ptr, ptr %sc_l_p_receiver + %t47 = load ptr, ptr %sc_l_p_1 + %t48 = call double @sc_dc_2(ptr %t47, ptr null) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u20, label %exc.k21 +exc.u20: + ret void +exc.k21: + %t52 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t46, i64 0, i32 7 + store double %t48, ptr %t52, !tbaa !106 + ret void +if.j19: + %t53 = load ptr, ptr %sc_l_key_string + %t54 = call zeroext i1 @sc_streq_298897322184109(ptr %t53) + br i1 %t54, label %if.t22, label %if.j23 +if.t22: + %t55 = load ptr, ptr %sc_l_p_receiver + %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t57 = call ptr @sc_f__x25_dyn_class_properties(ptr %t56) + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t57) + ret void +exc.k25: + %t61 = load ptr, ptr %sc_l_p_1 + %t62 = call ptr @sc_rc_retain_dyn(ptr %t61) + %t63 = load ptr, ptr %sc_l_p_receiver + %t64 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t63, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + call void @scr_dyn_bag_set(ptr %t57, ptr @sc_lit_298897322184109, ptr %t62, ptr %t64) + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t64) + ret void +exc.k27: + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t62) + call void @sc_rc_release_dyn(ptr %t64) + ret void +if.j23: + %t68 = load ptr, ptr %sc_l_key_string + %t69 = call zeroext i1 @sc_streq_1048673592241930(ptr %t68) + br i1 %t69, label %if.t28, label %if.j29 +if.t28: + %t70 = load ptr, ptr %sc_l_p_receiver + %t71 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t70, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t72 = call ptr @sc_f__x25_dyn_class_properties(ptr %t71) + %t73 = load i32, ptr %exc.cell + %t74 = icmp ne i32 %t73, 0 + %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false) + br i1 %t75, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t72) + ret void +exc.k31: + %t76 = load ptr, ptr %sc_l_p_1 + %t77 = call ptr @sc_rc_retain_dyn(ptr %t76) + %t78 = load ptr, ptr %sc_l_p_receiver + %t79 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t78, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + call void @scr_dyn_bag_set(ptr %t72, ptr @sc_lit_1048673592241930, ptr %t77, ptr %t79) + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t79) + ret void +exc.k33: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t79) + ret void +if.j29: + %t83 = load ptr, ptr %sc_l_key_string + %t84 = call zeroext i1 @sc_streq_952059176356082(ptr %t83) + br i1 %t84, label %if.t34, label %if.j35 +if.t34: + %t85 = load ptr, ptr %sc_l_p_receiver + %t86 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t85, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t87 = call ptr @sc_f__x25_dyn_class_properties(ptr %t86) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t87) + ret void +exc.k37: + %t91 = load ptr, ptr %sc_l_p_1 + %t92 = call ptr @sc_rc_retain_dyn(ptr %t91) + %t93 = load ptr, ptr %sc_l_p_receiver + %t94 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t93, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + call void @scr_dyn_bag_set(ptr %t87, ptr @sc_lit_952059176356082, ptr %t92, ptr %t94) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t94) + ret void +exc.k39: + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t94) + ret void +if.j35: + %t98 = load ptr, ptr %sc_l_key_string + %t99 = call zeroext i1 @sc_streq_1026109439396001(ptr %t98) + br i1 %t99, label %if.t40, label %if.j41 +if.t40: + %t100 = load ptr, ptr %sc_l_p_receiver + %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t102 = call ptr @sc_f__x25_dyn_class_properties(ptr %t101) + %t103 = load i32, ptr %exc.cell + %t104 = icmp ne i32 %t103, 0 + %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false) + br i1 %t105, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t102) + ret void +exc.k43: + %t106 = load ptr, ptr %sc_l_p_1 + %t107 = call ptr @sc_rc_retain_dyn(ptr %t106) + %t108 = load ptr, ptr %sc_l_p_receiver + %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + call void @scr_dyn_bag_set(ptr %t102, ptr @sc_lit_1026109439396001, ptr %t107, ptr %t109) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t107) + call void @sc_rc_release_dyn(ptr %t109) + ret void +exc.k45: + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t107) + call void @sc_rc_release_dyn(ptr %t109) + ret void +if.j41: + %t113 = load ptr, ptr %sc_l_p_0 + %t114 = call ptr @sc_rc_retain_dyn(ptr %t113) + %t115 = call ptr @sc_f__x25_dyn_class_properties(ptr %t114) + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t115) + ret void +exc.k47: + %t119 = load ptr, ptr %sc_l_key_string + %t120 = call ptr @sc_rc_retain_str(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_1 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = load ptr, ptr %sc_l_p_receiver + %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + call void @scr_dyn_bag_set(ptr %t115, ptr %t120, ptr %t122, ptr %t124) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t115) + call void @scr_str_release(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + ret void +exc.k49: + call void @sc_rc_release_dyn(ptr %t115) + call void @scr_str_release(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_483(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_483(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m4_MemoryFileSink(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_484(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.484 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_2251933729900935(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call double @sc_dc_2(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t6, i64 0, i32 1 + store double %t8, ptr %t12, !tbaa !188 + ret void +if.j3: + %t13 = load ptr, ptr %sc_l_key_string + %t14 = call zeroext i1 @sc_streq_3862385552412238(ptr %t13) + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_p_receiver + %t16 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t15, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t17 = call ptr @sc_f__x25_dyn_class_properties(ptr %t16) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t17) + ret void +exc.k9: + %t21 = load ptr, ptr %sc_l_p_1 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = load ptr, ptr %sc_l_p_receiver + %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + call void @scr_dyn_bag_set(ptr %t17, ptr @sc_lit_3862385552412238, ptr %t22, ptr %t24) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t24) + ret void +exc.k11: + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t24) + ret void +if.j7: + %t28 = load ptr, ptr %sc_l_p_0 + %t29 = call ptr @sc_rc_retain_dyn(ptr %t28) + %t30 = call ptr @sc_f__x25_dyn_class_properties(ptr %t29) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t30) + ret void +exc.k13: + %t34 = load ptr, ptr %sc_l_key_string + %t35 = call ptr @sc_rc_retain_str(ptr %t34) + %t36 = load ptr, ptr %sc_l_p_1 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_receiver + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + call void @scr_dyn_bag_set(ptr %t30, ptr %t35, ptr %t37, ptr %t39) + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @scr_str_release(ptr %t35) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + ret void +exc.k15: + call void @sc_rc_release_dyn(ptr %t30) + call void @scr_str_release(ptr %t35) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_484(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_484(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m0_GenDispatch(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_485(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.485 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_2251933729900935(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call double @sc_dc_2(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t6, i64 0, i32 1 + store double %t8, ptr %t12, !tbaa !188 + ret void +if.j3: + %t13 = load ptr, ptr %sc_l_key_string + %t14 = call zeroext i1 @sc_streq_437194258546139(ptr %t13) + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_p_receiver + %t16 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t15, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t17 = call ptr @sc_f__x25_dyn_class_properties(ptr %t16) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t17) + ret void +exc.k9: + %t21 = load ptr, ptr %sc_l_p_1 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t23 = load ptr, ptr %sc_l_p_receiver + %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + call void @scr_dyn_bag_set(ptr %t17, ptr @sc_lit_437194258546139, ptr %t22, ptr %t24) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t24) + ret void +exc.k11: + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_rc_release_dyn(ptr %t24) + ret void +if.j7: + %t28 = load ptr, ptr %sc_l_p_0 + %t29 = call ptr @sc_rc_retain_dyn(ptr %t28) + %t30 = call ptr @sc_f__x25_dyn_class_properties(ptr %t29) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t30) + ret void +exc.k13: + %t34 = load ptr, ptr %sc_l_key_string + %t35 = call ptr @sc_rc_retain_str(ptr %t34) + %t36 = load ptr, ptr %sc_l_p_1 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_receiver + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + call void @scr_dyn_bag_set(ptr %t30, ptr %t35, ptr %t37, ptr %t39) + %t40 = load i32, ptr %exc.cell + %t41 = icmp ne i32 %t40, 0 + %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false) + br i1 %t42, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @scr_str_release(ptr %t35) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + ret void +exc.k15: + call void @sc_rc_release_dyn(ptr %t30) + call void @scr_str_release(ptr %t35) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_485(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_485(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m0_GenFetch(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_486(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.486 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_2250671438728133(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret void +exc.k5: + %t12 = load ptr, ptr %sc_l_p_1 + %t13 = call ptr @sc_rc_retain_dyn(ptr %t12) + %t14 = load ptr, ptr %sc_l_p_receiver + %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_2250671438728133, ptr %t13, ptr %t15) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t15) + ret void +if.j3: + %t19 = load ptr, ptr %sc_l_p_0 + %t20 = call ptr @sc_rc_retain_dyn(ptr %t19) + %t21 = call ptr @sc_f__x25_dyn_class_properties(ptr %t20) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t21) + ret void +exc.k9: + %t25 = load ptr, ptr %sc_l_key_string + %t26 = call ptr @sc_rc_retain_str(ptr %t25) + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = load ptr, ptr %sc_l_p_receiver + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + call void @scr_dyn_bag_set(ptr %t21, ptr %t26, ptr %t28, ptr %t30) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_str_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +exc.k11: + call void @sc_rc_release_dyn(ptr %t21) + call void @scr_str_release(ptr %t26) + call void @sc_rc_release_dyn(ptr %t28) + call void @sc_rc_release_dyn(ptr %t30) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_486(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_486(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal void @sc_bf__x25_dyn_class_keys_487(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.487 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_1609576561362083(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t8 = call ptr @sc_dc_0(ptr %t7, ptr null) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_str_release(ptr %t8) + ret void +exc.k5: + %t12 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 1 + %t13 = load ptr, ptr %t12 + store ptr %t8, ptr %t12, !tbaa !76 + call void @scr_str_release(ptr %t13) + ret void +if.j3: + %t14 = load ptr, ptr %sc_l_key_string + %t15 = call zeroext i1 @sc_streq_719487464480143(ptr %t14) + br i1 %t15, label %if.t6, label %if.j7 +if.t6: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = load ptr, ptr %sc_l_p_1 + %t18 = call ptr @sc_dc_0(ptr %t17, ptr null) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @scr_str_release(ptr %t18) + ret void +exc.k9: + %t22 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t16, i64 0, i32 2 + %t23 = load ptr, ptr %t22 + store ptr %t18, ptr %t22, !tbaa !78 + call void @scr_str_release(ptr %t23) + ret void +if.j7: + %t24 = load ptr, ptr %sc_l_key_string + %t25 = call zeroext i1 @sc_streq_977412068193087(ptr %t24) + br i1 %t25, label %if.t10, label %if.j11 +if.t10: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = load ptr, ptr %sc_l_p_1 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t26, i64 0, i32 3 + %t30 = load ptr, ptr %t29 + store ptr %t28, ptr %t29, !tbaa !74 + call void @sc_rc_release_dyn(ptr %t30) + ret void +if.j11: + %t31 = load ptr, ptr %sc_l_key_string + %t32 = call zeroext i1 @sc_streq_1515898915129638(ptr %t31) + br i1 %t32, label %if.t12, label %if.j13 +if.t12: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = load ptr, ptr %sc_l_p_1 + %t35 = call ptr @sc_dc_16(ptr %t34, ptr null) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u14, label %exc.k15 +exc.u14: + call void @scr_http_req_release(ptr %t35) + ret void +exc.k15: + %t39 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t33, i64 0, i32 4 + %t40 = load ptr, ptr %t39 + store ptr %t35, ptr %t39, !tbaa !72 + call void @scr_http_req_release(ptr %t40) + ret void +if.j13: + %t41 = load ptr, ptr %sc_l_key_string + %t42 = call zeroext i1 @sc_streq_2951457732402023(ptr %t41) + br i1 %t42, label %if.t16, label %if.j17 +if.t16: + %t43 = load ptr, ptr %sc_l_p_receiver + %t44 = load ptr, ptr %sc_l_p_1 + %t45 = call ptr @sc_dc_13(ptr %t44, ptr null) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rrelease_r0(ptr %t45) + ret void +exc.k19: + %t49 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t43, i64 0, i32 5 + %t50 = load ptr, ptr %t49 + store ptr %t45, ptr %t49, !tbaa !86 + call void @sc_rrelease_r0(ptr %t50) + ret void +if.j17: + %t51 = load ptr, ptr %sc_l_key_string + %t52 = call zeroext i1 @sc_streq_4297677228401092(ptr %t51) + br i1 %t52, label %if.t20, label %if.j21 +if.t20: + %t53 = load ptr, ptr %sc_l_p_receiver + %t54 = load ptr, ptr %sc_l_p_1 + %t55 = call ptr @sc_dc_22(ptr %t54, ptr null) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u22, label %exc.k23 +exc.u22: + call void @scr_str_release(ptr %t55) + ret void +exc.k23: + %t59 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t53, i64 0, i32 6 + %t60 = load ptr, ptr %t59 + store ptr %t55, ptr %t59, !tbaa !80 + call void @scr_str_release(ptr %t60) + ret void +if.j21: + %t61 = load ptr, ptr %sc_l_key_string + %t62 = call zeroext i1 @sc_streq_201462833315591(ptr %t61) + br i1 %t62, label %if.t24, label %if.j25 +if.t24: + %t63 = load ptr, ptr %sc_l_p_receiver + %t64 = load ptr, ptr %sc_l_p_1 + %t65 = call ptr @sc_dc_27(ptr %t64, ptr null) + %t66 = load i32, ptr %exc.cell + %t67 = icmp ne i32 %t66, 0 + %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false) + br i1 %t68, label %exc.u26, label %exc.k27 +exc.u26: + call void @scr_arr_release(ptr %t65) + ret void +exc.k27: + %t69 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t63, i64 0, i32 7 + %t70 = load ptr, ptr %t69 + store ptr %t65, ptr %t69, !tbaa !82 + call void @scr_arr_release(ptr %t70) + ret void +if.j25: + %t71 = load ptr, ptr %sc_l_key_string + %t72 = call zeroext i1 @sc_streq_1347488745603967(ptr %t71) + br i1 %t72, label %if.t28, label %if.j29 +if.t28: + %t73 = load ptr, ptr %sc_l_p_receiver + %t74 = load ptr, ptr %sc_l_p_1 + %t75 = call double @sc_dc_2(ptr %t74, ptr null) + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u30, label %exc.k31 +exc.u30: + ret void +exc.k31: + %t79 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t73, i64 0, i32 8 + store double %t75, ptr %t79, !tbaa !84 + ret void +if.j29: + %t80 = load ptr, ptr %sc_l_key_string + %t81 = call zeroext i1 @sc_streq_616655122974952(ptr %t80) + br i1 %t81, label %if.t32, label %if.j33 +if.t32: + %t82 = call ptr @scr_error_new(i32 1, ptr @sc_lit_896668667053370) + call void @scr_throw_obj(ptr %t82, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret void +if.j33: + %t83 = load ptr, ptr %sc_l_key_string + %t84 = call zeroext i1 @sc_streq_2677147133778287(ptr %t83) + br i1 %t84, label %if.t34, label %if.j35 +if.t34: + %t85 = load ptr, ptr %sc_l_p_receiver + %t86 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t85, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t87 = call ptr @sc_f__x25_dyn_class_properties(ptr %t86) + %t88 = load i32, ptr %exc.cell + %t89 = icmp ne i32 %t88, 0 + %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false) + br i1 %t90, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t87) + ret void +exc.k37: + %t91 = load ptr, ptr %sc_l_p_1 + %t92 = call ptr @sc_rc_retain_dyn(ptr %t91) + %t93 = load ptr, ptr %sc_l_p_receiver + %t94 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t93, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + call void @scr_dyn_bag_set(ptr %t87, ptr @sc_lit_2677147133778287, ptr %t92, ptr %t94) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t94) + ret void +exc.k39: + call void @sc_rc_release_dyn(ptr %t87) + call void @sc_rc_release_dyn(ptr %t92) + call void @sc_rc_release_dyn(ptr %t94) + ret void +if.j35: + %t98 = load ptr, ptr %sc_l_key_string + %t99 = call zeroext i1 @sc_streq_1207708014012541(ptr %t98) + br i1 %t99, label %if.t40, label %if.j41 +if.t40: + %t100 = load ptr, ptr %sc_l_p_receiver + %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t102 = call ptr @sc_f__x25_dyn_class_properties(ptr %t101) + %t103 = load i32, ptr %exc.cell + %t104 = icmp ne i32 %t103, 0 + %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false) + br i1 %t105, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t102) + ret void +exc.k43: + %t106 = load ptr, ptr %sc_l_p_1 + %t107 = call ptr @sc_rc_retain_dyn(ptr %t106) + %t108 = load ptr, ptr %sc_l_p_receiver + %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + call void @scr_dyn_bag_set(ptr %t102, ptr @sc_lit_1207708014012541, ptr %t107, ptr %t109) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t107) + call void @sc_rc_release_dyn(ptr %t109) + ret void +exc.k45: + call void @sc_rc_release_dyn(ptr %t102) + call void @sc_rc_release_dyn(ptr %t107) + call void @sc_rc_release_dyn(ptr %t109) + ret void +if.j41: + %t113 = load ptr, ptr %sc_l_key_string + %t114 = call zeroext i1 @sc_streq_551454763233869(ptr %t113) + br i1 %t114, label %if.t46, label %if.j47 +if.t46: + %t115 = load ptr, ptr %sc_l_p_receiver + %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t117 = call ptr @sc_f__x25_dyn_class_properties(ptr %t116) + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t117) + ret void +exc.k49: + %t121 = load ptr, ptr %sc_l_p_1 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = load ptr, ptr %sc_l_p_receiver + %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + call void @scr_dyn_bag_set(ptr %t117, ptr @sc_lit_551454763233869, ptr %t122, ptr %t124) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + ret void +exc.k51: + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + ret void +if.j47: + %t128 = load ptr, ptr %sc_l_p_0 + %t129 = call ptr @sc_rc_retain_dyn(ptr %t128) + %t130 = call ptr @sc_f__x25_dyn_class_properties(ptr %t129) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t130) + ret void +exc.k53: + %t134 = load ptr, ptr %sc_l_key_string + %t135 = call ptr @sc_rc_retain_str(ptr %t134) + %t136 = load ptr, ptr %sc_l_p_1 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t138 = load ptr, ptr %sc_l_p_receiver + %t139 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t138, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + call void @scr_dyn_bag_set(ptr %t130, ptr %t135, ptr %t137, ptr %t139) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t130) + call void @scr_str_release(ptr %t135) + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_rc_release_dyn(ptr %t139) + ret void +exc.k55: + call void @sc_rc_release_dyn(ptr %t130) + call void @scr_str_release(ptr %t135) + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_rc_release_dyn(ptr %t139) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_487(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_487(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m3_LiteRequest(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal ptr @sc_bf__x25_dyn_class_keys_488(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.488 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_3038119887745057(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !32 + %t9 = call ptr @scr_arr_retain_v(ptr %t8) + %t10 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t9, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_4447116402536209, i64 16, ptr @sc_ldr_24_materialize, ptr @sc_ldr_24_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t10, ptr @sc_ldr_24_materialize_ops) + call void @scr_arr_release(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_2387748979716321(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t13, i64 0, i32 2 + %t15 = load ptr, ptr %t14, !tbaa !170 + %t16 = call ptr @scr_arr_retain_v(ptr %t15) + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t17, ptr @sc_ldr_26_materialize_ops) + call void @scr_arr_release(ptr %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_4074236996717255(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t20, i64 0, i32 3 + %t22 = load ptr, ptr %t21, !tbaa !36 + %t23 = call ptr @scr_arr_retain_v(ptr %t22) + %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1913588278853018, i64 36, ptr @sc_ldr_27_materialize, ptr @sc_ldr_27_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t24, ptr @sc_ldr_27_materialize_ops) + call void @scr_arr_release(ptr %t23) + ret ptr %t24 +if.j7: + %t25 = load ptr, ptr %sc_l_p_key + %t26 = call zeroext i1 @sc_streq_3834689050502795(ptr %t25) + br i1 %t26, label %if.t8, label %if.j9 +if.t8: + %t27 = load ptr, ptr %sc_l_p_receiver + %t28 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t27, i64 0, i32 4 + %t29 = load ptr, ptr %t28, !tbaa !34 + %t30 = call ptr @scr_arr_retain_v(ptr %t29) + %t31 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t30, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3192918191117730, i64 55, ptr @sc_ldr_28_materialize, ptr @sc_ldr_28_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t31, ptr @sc_ldr_28_materialize_ops) + call void @scr_arr_release(ptr %t30) + ret ptr %t31 +if.j9: + %t32 = load ptr, ptr %sc_l_p_key + %t33 = call zeroext i1 @sc_streq_772714621079184(ptr %t32) + br i1 %t33, label %if.t10, label %if.j11 +if.t10: + %t34 = load ptr, ptr %sc_l_p_receiver + %t35 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t34, i64 0, i32 5 + %t36 = load ptr, ptr %t35, !tbaa !172 + %t37 = call ptr @scr_closure_retain_v(ptr %t36) + %t38 = call ptr @sc_dfb_4(ptr %t37, ptr null) + call void @scr_closure_release(ptr %t37) + ret ptr %t38 +if.j11: + %t39 = load ptr, ptr %sc_l_p_key + %t40 = call zeroext i1 @sc_streq_1253948269358290(ptr %t39) + br i1 %t40, label %if.t12, label %if.j13 +if.t12: + %t41 = load ptr, ptr %sc_l_p_receiver + %t42 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t41, i64 0, i32 6 + %t43 = load ptr, ptr %t42, !tbaa !174 + %t44 = call ptr @scr_arr_retain_v(ptr %t43) + %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t45, ptr @sc_ldr_26_materialize_ops) + call void @scr_arr_release(ptr %t44) + ret ptr %t45 +if.j13: + %t46 = load ptr, ptr %sc_l_p_key + %t47 = call zeroext i1 @sc_streq_872249802202544(ptr %t46) + br i1 %t47, label %if.t14, label %if.j15 +if.t14: + %t48 = load ptr, ptr %sc_l_p_receiver + %t49 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t48, i64 0, i32 7 + %t50 = load ptr, ptr %t49, !tbaa !176 + %t51 = call ptr @scr_union_retain_v(ptr %t50) + %t52 = call ptr @sc_td_23(ptr %t51) + call void @scr_union_release(ptr %t51) + ret ptr %t52 +if.j15: + %t53 = load ptr, ptr %sc_l_p_key + %t54 = call zeroext i1 @sc_streq_3257120253469437(ptr %t53) + br i1 %t54, label %if.t16, label %if.j17 +if.t16: + %t55 = load ptr, ptr %sc_l_p_receiver + %t56 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t55, i64 0, i32 8 + %t57 = load ptr, ptr %t56, !tbaa !178 + %t58 = call ptr @scr_arr_retain_v(ptr %t57) + %t59 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t58, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1913588278853018, i64 36, ptr @sc_ldr_27_materialize, ptr @sc_ldr_27_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t59, ptr @sc_ldr_27_materialize_ops) + call void @scr_arr_release(ptr %t58) + ret ptr %t59 +if.j17: + %t60 = load ptr, ptr %sc_l_p_key + %t61 = call zeroext i1 @sc_streq_3782354537448346(ptr %t60) + br i1 %t61, label %if.t18, label %if.j19 +if.t18: + %t62 = load ptr, ptr %sc_l_p_receiver + %t63 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t62, i64 0, i32 9 + %t64 = load ptr, ptr %t63, !tbaa !180 + %t65 = call ptr @scr_closure_retain_v(ptr %t64) + %t66 = call ptr @sc_dfb_4(ptr %t65, ptr null) + call void @scr_closure_release(ptr %t65) + ret ptr %t66 +if.j19: + %t67 = load ptr, ptr %sc_l_p_key + %t68 = call zeroext i1 @sc_streq_886324725696546(ptr %t67) + br i1 %t68, label %if.t20, label %if.j21 +if.t20: + %t69 = load ptr, ptr %sc_l_p_receiver + %t70 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t69, i64 0, i32 10 + %t71 = load ptr, ptr %t70, !tbaa !150 + %t72 = call ptr @scr_arr_retain_v(ptr %t71) + %t73 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t72, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2337619831431474, i64 20, ptr @sc_ldr_29_materialize, ptr @sc_ldr_29_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t73, ptr @sc_ldr_29_materialize_ops) + call void @scr_arr_release(ptr %t72) + ret ptr %t73 +if.j21: + %t74 = load ptr, ptr %sc_l_p_key + %t75 = call zeroext i1 @sc_streq_535630044833136(ptr %t74) + br i1 %t75, label %if.t22, label %if.j23 +if.t22: + %t76 = load ptr, ptr %sc_l_p_receiver + %t77 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t76, i64 0, i32 11 + %t78 = load ptr, ptr %t77, !tbaa !152 + %t79 = call ptr @scr_arr_retain_v(ptr %t78) + %t80 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t79, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2888908392807325, i64 17, ptr @sc_ldr_30_materialize, ptr @sc_ldr_30_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t80, ptr @sc_ldr_30_materialize_ops) + call void @scr_arr_release(ptr %t79) + ret ptr %t80 +if.j23: + %t81 = load ptr, ptr %sc_l_p_key + %t82 = call zeroext i1 @sc_streq_4400741686745380(ptr %t81) + br i1 %t82, label %if.t24, label %if.j25 +if.t24: + %t83 = load ptr, ptr %sc_l_p_receiver + %t84 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t83, i64 0, i32 12 + %t85 = load ptr, ptr %t84, !tbaa !154 + %t86 = call ptr @scr_arr_retain_v(ptr %t85) + %t87 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t86, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t87, ptr @sc_ldr_10_materialize_ops) + call void @scr_arr_release(ptr %t86) + ret ptr %t87 +if.j25: + %t88 = load ptr, ptr %sc_l_p_key + %t89 = call zeroext i1 @sc_streq_1668606746601237(ptr %t88) + br i1 %t89, label %if.t26, label %if.j27 +if.t26: + %t90 = load ptr, ptr %sc_l_p_receiver + %t91 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t90, i64 0, i32 13 + %t92 = load ptr, ptr %t91, !tbaa !38 + %t93 = call ptr @scr_arr_retain_v(ptr %t92) + %t94 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t93, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t94, ptr @sc_ldr_10_materialize_ops) + call void @scr_arr_release(ptr %t93) + ret ptr %t94 +if.j27: + %t95 = load ptr, ptr %sc_l_p_key + %t96 = call zeroext i1 @sc_streq_1388999587933298(ptr %t95) + br i1 %t96, label %if.t28, label %if.j29 +if.t28: + %t97 = load ptr, ptr %sc_l_p_receiver + %t98 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t97, i64 0, i32 14 + %t99 = load ptr, ptr %t98, !tbaa !40 + %t100 = call ptr @scr_arr_retain_v(ptr %t99) + %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_125327543764853, i64 23, ptr @sc_ldr_31_materialize, ptr @sc_ldr_31_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t101, ptr @sc_ldr_31_materialize_ops) + call void @scr_arr_release(ptr %t100) + ret ptr %t101 +if.j29: + %t102 = load ptr, ptr %sc_l_p_key + %t103 = call zeroext i1 @sc_streq_1094398669481625(ptr %t102) + br i1 %t103, label %if.t30, label %if.j31 +if.t30: + %t104 = load ptr, ptr %sc_l_p_receiver + %t105 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t104, i64 0, i32 15 + %t106 = load ptr, ptr %t105, !tbaa !182 + %t107 = call ptr @scr_closure_retain_v(ptr %t106) + %t108 = call ptr @sc_dfb_6(ptr %t107, ptr null) + call void @scr_closure_release(ptr %t107) + ret ptr %t108 +if.j31: + %t109 = load ptr, ptr %sc_l_p_key + %t110 = call zeroext i1 @sc_streq_1345623861448315(ptr %t109) + br i1 %t110, label %if.t32, label %if.j33 +if.t32: + %t111 = load ptr, ptr %sc_l_p_receiver + %t112 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t111, i64 0, i32 16 + %t113 = load ptr, ptr %t112, !tbaa !184 + %t114 = call ptr @scr_closure_retain_v(ptr %t113) + %t115 = call ptr @sc_dfb_7(ptr %t114, ptr null) + call void @scr_closure_release(ptr %t114) + ret ptr %t115 +if.j33: + %t116 = load ptr, ptr %sc_l_p_key + %t117 = call zeroext i1 @sc_streq_3774229428846185(ptr %t116) + br i1 %t117, label %if.t34, label %if.j35 +if.t34: + %t118 = load ptr, ptr %sc_l_p_receiver + %t119 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t118, i64 0, i32 17 + %t120 = load ptr, ptr %t119, !tbaa !186 + %t121 = call ptr @scr_closure_retain_v(ptr %t120) + %t122 = call ptr @sc_dfb_8(ptr %t121, ptr null) + call void @scr_closure_release(ptr %t121) + ret ptr %t122 +if.j35: + %t123 = load ptr, ptr %sc_l_p_key + %t124 = call zeroext i1 @sc_streq_731773075116702(ptr %t123) + br i1 %t124, label %if.t36, label %if.j37 +if.t36: + %t125 = load ptr, ptr %sc_l_p_receiver + %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t127 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t126) + %t128 = load i32, ptr %exc.cell + %t129 = icmp ne i32 %t128, 0 + %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false) + br i1 %t130, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t127) + ret ptr null +exc.k39: + %t131 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t127, ptr @sc_lit_731773075116702) + %t132 = load i32, ptr %exc.cell + %t133 = icmp ne i32 %t132, 0 + %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false) + br i1 %t134, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t127) + ret ptr null +exc.k41: + call void @sc_rc_release_dyn(ptr %t127) + br i1 %t131, label %if.t42, label %if.j43 +if.t42: + %t135 = load ptr, ptr %sc_l_p_receiver + %t136 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t135, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t137 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t136) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t137) + ret ptr null +exc.k45: + %t141 = load ptr, ptr %sc_l_p_receiver + %t142 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t141, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t143 = call ptr @scr_dyn_bag_get(ptr %t137, ptr @sc_lit_731773075116702, ptr %t142) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_rc_release_dyn(ptr %t142) + call void @sc_rc_release_dyn(ptr %t143) + ret ptr null +exc.k47: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_rc_release_dyn(ptr %t142) + ret ptr %t143 +if.j43: + %t148 = call ptr @scr_dyn_undefined() + %t147 = call ptr @scr_dyn_retain_v(ptr %t148) + ret ptr %t147 +if.j37: + %t149 = load ptr, ptr %sc_l_p_key + %t150 = call zeroext i1 @sc_streq_2007918756741504(ptr %t149) + br i1 %t150, label %if.t48, label %if.j49 +if.t48: + %t151 = load ptr, ptr %sc_l_p_receiver + %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t153 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t152) + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t153) + ret ptr null +exc.k51: + %t157 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t153, ptr @sc_lit_2007918756741504) + %t158 = load i32, ptr %exc.cell + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t153) + ret ptr null +exc.k53: + call void @sc_rc_release_dyn(ptr %t153) + br i1 %t157, label %if.t54, label %if.j55 +if.t54: + %t161 = load ptr, ptr %sc_l_p_receiver + %t162 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t161, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t163 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t162) + %t164 = load i32, ptr %exc.cell + %t165 = icmp ne i32 %t164, 0 + %t166 = call i1 @llvm.expect.i1(i1 %t165, i1 false) + br i1 %t166, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t163) + ret ptr null +exc.k57: + %t167 = load ptr, ptr %sc_l_p_receiver + %t168 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t167, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t169 = call ptr @scr_dyn_bag_get(ptr %t163, ptr @sc_lit_2007918756741504, ptr %t168) + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t163) + call void @sc_rc_release_dyn(ptr %t168) + call void @sc_rc_release_dyn(ptr %t169) + ret ptr null +exc.k59: + call void @sc_rc_release_dyn(ptr %t163) + call void @sc_rc_release_dyn(ptr %t168) + ret ptr %t169 +if.j55: + %t174 = call ptr @scr_dyn_undefined() + %t173 = call ptr @scr_dyn_retain_v(ptr %t174) + ret ptr %t173 +if.j49: + %t175 = load ptr, ptr %sc_l_p_key + %t176 = call zeroext i1 @sc_streq_971741391048674(ptr %t175) + br i1 %t176, label %if.t60, label %if.j61 +if.t60: + %t177 = load ptr, ptr %sc_l_p_receiver + %t178 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t177, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t179 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t178) + %t180 = load i32, ptr %exc.cell + %t181 = icmp ne i32 %t180, 0 + %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false) + br i1 %t182, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t179) + ret ptr null +exc.k63: + %t183 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t179, ptr @sc_lit_971741391048674) + %t184 = load i32, ptr %exc.cell + %t185 = icmp ne i32 %t184, 0 + %t186 = call i1 @llvm.expect.i1(i1 %t185, i1 false) + br i1 %t186, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t179) + ret ptr null +exc.k65: + call void @sc_rc_release_dyn(ptr %t179) + br i1 %t183, label %if.t66, label %if.j67 +if.t66: + %t187 = load ptr, ptr %sc_l_p_receiver + %t188 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t187, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t189 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t188) + %t190 = load i32, ptr %exc.cell + %t191 = icmp ne i32 %t190, 0 + %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false) + br i1 %t192, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t189) + ret ptr null +exc.k69: + %t193 = load ptr, ptr %sc_l_p_receiver + %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t195 = call ptr @scr_dyn_bag_get(ptr %t189, ptr @sc_lit_971741391048674, ptr %t194) + %t196 = load i32, ptr %exc.cell + %t197 = icmp ne i32 %t196, 0 + %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false) + br i1 %t198, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t189) + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t195) + ret ptr null +exc.k71: + call void @sc_rc_release_dyn(ptr %t189) + call void @sc_rc_release_dyn(ptr %t194) + ret ptr %t195 +if.j67: + %t200 = call ptr @scr_dyn_undefined() + %t199 = call ptr @scr_dyn_retain_v(ptr %t200) + ret ptr %t199 +if.j61: + %t201 = load ptr, ptr %sc_l_p_key + %t202 = call zeroext i1 @sc_streq_1716842667196161(ptr %t201) + br i1 %t202, label %if.t72, label %if.j73 +if.t72: + %t203 = load ptr, ptr %sc_l_p_receiver + %t204 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t203, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t205 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t204) + %t206 = load i32, ptr %exc.cell + %t207 = icmp ne i32 %t206, 0 + %t208 = call i1 @llvm.expect.i1(i1 %t207, i1 false) + br i1 %t208, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t205) + ret ptr null +exc.k75: + %t209 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t205, ptr @sc_lit_1716842667196161) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t205) + ret ptr null +exc.k77: + call void @sc_rc_release_dyn(ptr %t205) + br i1 %t209, label %if.t78, label %if.j79 +if.t78: + %t213 = load ptr, ptr %sc_l_p_receiver + %t214 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t213, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t215 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t214) + %t216 = load i32, ptr %exc.cell + %t217 = icmp ne i32 %t216, 0 + %t218 = call i1 @llvm.expect.i1(i1 %t217, i1 false) + br i1 %t218, label %exc.u80, label %exc.k81 +exc.u80: + call void @sc_rc_release_dyn(ptr %t215) + ret ptr null +exc.k81: + %t219 = load ptr, ptr %sc_l_p_receiver + %t220 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t219, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t221 = call ptr @scr_dyn_bag_get(ptr %t215, ptr @sc_lit_1716842667196161, ptr %t220) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t215) + call void @sc_rc_release_dyn(ptr %t220) + call void @sc_rc_release_dyn(ptr %t221) + ret ptr null +exc.k83: + call void @sc_rc_release_dyn(ptr %t215) + call void @sc_rc_release_dyn(ptr %t220) + ret ptr %t221 +if.j79: + %t226 = call ptr @scr_dyn_undefined() + %t225 = call ptr @scr_dyn_retain_v(ptr %t226) + ret ptr %t225 +if.j73: + %t227 = load ptr, ptr %sc_l_p_key + %t228 = call zeroext i1 @sc_streq_2894558501580739(ptr %t227) + br i1 %t228, label %if.t84, label %if.j85 +if.t84: + %t229 = load ptr, ptr %sc_l_p_receiver + %t230 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t229, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t231 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t230) + %t232 = load i32, ptr %exc.cell + %t233 = icmp ne i32 %t232, 0 + %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false) + br i1 %t234, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t231) + ret ptr null +exc.k87: + %t235 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t231, ptr @sc_lit_2894558501580739) + %t236 = load i32, ptr %exc.cell + %t237 = icmp ne i32 %t236, 0 + %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false) + br i1 %t238, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t231) + ret ptr null +exc.k89: + call void @sc_rc_release_dyn(ptr %t231) + br i1 %t235, label %if.t90, label %if.j91 +if.t90: + %t239 = load ptr, ptr %sc_l_p_receiver + %t240 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t239, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t241 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t240) + %t242 = load i32, ptr %exc.cell + %t243 = icmp ne i32 %t242, 0 + %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false) + br i1 %t244, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t241) + ret ptr null +exc.k93: + %t245 = load ptr, ptr %sc_l_p_receiver + %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t247 = call ptr @scr_dyn_bag_get(ptr %t241, ptr @sc_lit_2894558501580739, ptr %t246) + %t248 = load i32, ptr %exc.cell + %t249 = icmp ne i32 %t248, 0 + %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false) + br i1 %t250, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t241) + call void @sc_rc_release_dyn(ptr %t246) + call void @sc_rc_release_dyn(ptr %t247) + ret ptr null +exc.k95: + call void @sc_rc_release_dyn(ptr %t241) + call void @sc_rc_release_dyn(ptr %t246) + ret ptr %t247 +if.j91: + %t252 = call ptr @scr_dyn_undefined() + %t251 = call ptr @scr_dyn_retain_v(ptr %t252) + ret ptr %t251 +if.j85: + %t253 = load ptr, ptr %sc_l_p_key + %t254 = call zeroext i1 @sc_streq_2800347990603543(ptr %t253) + br i1 %t254, label %if.t96, label %if.j97 +if.t96: + %t255 = load ptr, ptr %sc_l_p_receiver + %t256 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t255, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t257 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t256) + %t258 = load i32, ptr %exc.cell + %t259 = icmp ne i32 %t258, 0 + %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false) + br i1 %t260, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t257) + ret ptr null +exc.k99: + %t261 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t257, ptr @sc_lit_2800347990603543) + %t262 = load i32, ptr %exc.cell + %t263 = icmp ne i32 %t262, 0 + %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false) + br i1 %t264, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t257) + ret ptr null +exc.k101: + call void @sc_rc_release_dyn(ptr %t257) + br i1 %t261, label %if.t102, label %if.j103 +if.t102: + %t265 = load ptr, ptr %sc_l_p_receiver + %t266 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t265, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t267 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t266) + %t268 = load i32, ptr %exc.cell + %t269 = icmp ne i32 %t268, 0 + %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false) + br i1 %t270, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t267) + ret ptr null +exc.k105: + %t271 = load ptr, ptr %sc_l_p_receiver + %t272 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t271, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t273 = call ptr @scr_dyn_bag_get(ptr %t267, ptr @sc_lit_2800347990603543, ptr %t272) + %t274 = load i32, ptr %exc.cell + %t275 = icmp ne i32 %t274, 0 + %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false) + br i1 %t276, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t267) + call void @sc_rc_release_dyn(ptr %t272) + call void @sc_rc_release_dyn(ptr %t273) + ret ptr null +exc.k107: + call void @sc_rc_release_dyn(ptr %t267) + call void @sc_rc_release_dyn(ptr %t272) + ret ptr %t273 +if.j103: + %t278 = call ptr @scr_dyn_undefined() + %t277 = call ptr @scr_dyn_retain_v(ptr %t278) + ret ptr %t277 +if.j97: + %t279 = load ptr, ptr %sc_l_p_key + %t280 = call zeroext i1 @sc_streq_2948042885743279(ptr %t279) + br i1 %t280, label %if.t108, label %if.j109 +if.t108: + %t281 = load ptr, ptr %sc_l_p_receiver + %t282 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t281, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t283 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t282) + %t284 = load i32, ptr %exc.cell + %t285 = icmp ne i32 %t284, 0 + %t286 = call i1 @llvm.expect.i1(i1 %t285, i1 false) + br i1 %t286, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t283) + ret ptr null +exc.k111: + %t287 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t283, ptr @sc_lit_2948042885743279) + %t288 = load i32, ptr %exc.cell + %t289 = icmp ne i32 %t288, 0 + %t290 = call i1 @llvm.expect.i1(i1 %t289, i1 false) + br i1 %t290, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t283) + ret ptr null +exc.k113: + call void @sc_rc_release_dyn(ptr %t283) + br i1 %t287, label %if.t114, label %if.j115 +if.t114: + %t291 = load ptr, ptr %sc_l_p_receiver + %t292 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t291, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t293 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t292) + %t294 = load i32, ptr %exc.cell + %t295 = icmp ne i32 %t294, 0 + %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false) + br i1 %t296, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t293) + ret ptr null +exc.k117: + %t297 = load ptr, ptr %sc_l_p_receiver + %t298 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t297, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t299 = call ptr @scr_dyn_bag_get(ptr %t293, ptr @sc_lit_2948042885743279, ptr %t298) + %t300 = load i32, ptr %exc.cell + %t301 = icmp ne i32 %t300, 0 + %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false) + br i1 %t302, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t293) + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t299) + ret ptr null +exc.k119: + call void @sc_rc_release_dyn(ptr %t293) + call void @sc_rc_release_dyn(ptr %t298) + ret ptr %t299 +if.j115: + %t304 = call ptr @scr_dyn_undefined() + %t303 = call ptr @scr_dyn_retain_v(ptr %t304) + ret ptr %t303 +if.j109: + %t305 = load ptr, ptr %sc_l_p_key + %t306 = call zeroext i1 @sc_streq_1670565919607657(ptr %t305) + br i1 %t306, label %if.t120, label %if.j121 +if.t120: + %t307 = load ptr, ptr %sc_l_p_receiver + %t308 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t307, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t309 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t308) + %t310 = load i32, ptr %exc.cell + %t311 = icmp ne i32 %t310, 0 + %t312 = call i1 @llvm.expect.i1(i1 %t311, i1 false) + br i1 %t312, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t309) + ret ptr null +exc.k123: + %t313 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t309, ptr @sc_lit_1670565919607657) + %t314 = load i32, ptr %exc.cell + %t315 = icmp ne i32 %t314, 0 + %t316 = call i1 @llvm.expect.i1(i1 %t315, i1 false) + br i1 %t316, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t309) + ret ptr null +exc.k125: + call void @sc_rc_release_dyn(ptr %t309) + br i1 %t313, label %if.t126, label %if.j127 +if.t126: + %t317 = load ptr, ptr %sc_l_p_receiver + %t318 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t317, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t319 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t318) + %t320 = load i32, ptr %exc.cell + %t321 = icmp ne i32 %t320, 0 + %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false) + br i1 %t322, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t319) + ret ptr null +exc.k129: + %t323 = load ptr, ptr %sc_l_p_receiver + %t324 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t323, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t325 = call ptr @scr_dyn_bag_get(ptr %t319, ptr @sc_lit_1670565919607657, ptr %t324) + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t319) + call void @sc_rc_release_dyn(ptr %t324) + call void @sc_rc_release_dyn(ptr %t325) + ret ptr null +exc.k131: + call void @sc_rc_release_dyn(ptr %t319) + call void @sc_rc_release_dyn(ptr %t324) + ret ptr %t325 +if.j127: + %t330 = call ptr @scr_dyn_undefined() + %t329 = call ptr @scr_dyn_retain_v(ptr %t330) + ret ptr %t329 +if.j121: + %t331 = load ptr, ptr %sc_l_p_key + %t332 = call zeroext i1 @sc_streq_3251470234448474(ptr %t331) + br i1 %t332, label %if.t132, label %if.j133 +if.t132: + %t333 = load ptr, ptr %sc_l_p_receiver + %t334 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t333, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t335 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t334) + %t336 = load i32, ptr %exc.cell + %t337 = icmp ne i32 %t336, 0 + %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false) + br i1 %t338, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t335) + ret ptr null +exc.k135: + %t339 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t335, ptr @sc_lit_3251470234448474) + %t340 = load i32, ptr %exc.cell + %t341 = icmp ne i32 %t340, 0 + %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false) + br i1 %t342, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t335) + ret ptr null +exc.k137: + call void @sc_rc_release_dyn(ptr %t335) + br i1 %t339, label %if.t138, label %if.j139 +if.t138: + %t343 = load ptr, ptr %sc_l_p_receiver + %t344 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t343, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t345 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t344) + %t346 = load i32, ptr %exc.cell + %t347 = icmp ne i32 %t346, 0 + %t348 = call i1 @llvm.expect.i1(i1 %t347, i1 false) + br i1 %t348, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t345) + ret ptr null +exc.k141: + %t349 = load ptr, ptr %sc_l_p_receiver + %t350 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t349, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t351 = call ptr @scr_dyn_bag_get(ptr %t345, ptr @sc_lit_3251470234448474, ptr %t350) + %t352 = load i32, ptr %exc.cell + %t353 = icmp ne i32 %t352, 0 + %t354 = call i1 @llvm.expect.i1(i1 %t353, i1 false) + br i1 %t354, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t345) + call void @sc_rc_release_dyn(ptr %t350) + call void @sc_rc_release_dyn(ptr %t351) + ret ptr null +exc.k143: + call void @sc_rc_release_dyn(ptr %t345) + call void @sc_rc_release_dyn(ptr %t350) + ret ptr %t351 +if.j139: + %t356 = call ptr @scr_dyn_undefined() + %t355 = call ptr @scr_dyn_retain_v(ptr %t356) + ret ptr %t355 +if.j133: + %t357 = load ptr, ptr %sc_l_p_key + %t358 = call zeroext i1 @sc_streq_2879707573315964(ptr %t357) + br i1 %t358, label %if.t144, label %if.j145 +if.t144: + %t359 = load ptr, ptr %sc_l_p_receiver + %t360 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t359, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t361 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t360) + %t362 = load i32, ptr %exc.cell + %t363 = icmp ne i32 %t362, 0 + %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false) + br i1 %t364, label %exc.u146, label %exc.k147 +exc.u146: + call void @sc_rc_release_dyn(ptr %t361) + ret ptr null +exc.k147: + %t365 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t361, ptr @sc_lit_2879707573315964) + %t366 = load i32, ptr %exc.cell + %t367 = icmp ne i32 %t366, 0 + %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false) + br i1 %t368, label %exc.u148, label %exc.k149 +exc.u148: + call void @sc_rc_release_dyn(ptr %t361) + ret ptr null +exc.k149: + call void @sc_rc_release_dyn(ptr %t361) + br i1 %t365, label %if.t150, label %if.j151 +if.t150: + %t369 = load ptr, ptr %sc_l_p_receiver + %t370 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t369, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t371 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t370) + %t372 = load i32, ptr %exc.cell + %t373 = icmp ne i32 %t372, 0 + %t374 = call i1 @llvm.expect.i1(i1 %t373, i1 false) + br i1 %t374, label %exc.u152, label %exc.k153 +exc.u152: + call void @sc_rc_release_dyn(ptr %t371) + ret ptr null +exc.k153: + %t375 = load ptr, ptr %sc_l_p_receiver + %t376 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t375, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t377 = call ptr @scr_dyn_bag_get(ptr %t371, ptr @sc_lit_2879707573315964, ptr %t376) + %t378 = load i32, ptr %exc.cell + %t379 = icmp ne i32 %t378, 0 + %t380 = call i1 @llvm.expect.i1(i1 %t379, i1 false) + br i1 %t380, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t371) + call void @sc_rc_release_dyn(ptr %t376) + call void @sc_rc_release_dyn(ptr %t377) + ret ptr null +exc.k155: + call void @sc_rc_release_dyn(ptr %t371) + call void @sc_rc_release_dyn(ptr %t376) + ret ptr %t377 +if.j151: + %t382 = call ptr @scr_dyn_undefined() + %t381 = call ptr @scr_dyn_retain_v(ptr %t382) + ret ptr %t381 +if.j145: + %t383 = load ptr, ptr %sc_l_p_key + %t384 = call zeroext i1 @sc_streq_3111096729023658(ptr %t383) + br i1 %t384, label %if.t156, label %if.j157 +if.t156: + %t385 = load ptr, ptr %sc_l_p_receiver + %t386 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t385, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t387 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u158, label %exc.k159 +exc.u158: + call void @sc_rc_release_dyn(ptr %t387) + ret ptr null +exc.k159: + %t391 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t387, ptr @sc_lit_3111096729023658) + %t392 = load i32, ptr %exc.cell + %t393 = icmp ne i32 %t392, 0 + %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false) + br i1 %t394, label %exc.u160, label %exc.k161 +exc.u160: + call void @sc_rc_release_dyn(ptr %t387) + ret ptr null +exc.k161: + call void @sc_rc_release_dyn(ptr %t387) + br i1 %t391, label %if.t162, label %if.j163 +if.t162: + %t395 = load ptr, ptr %sc_l_p_receiver + %t396 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t395, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t397 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t396) + %t398 = load i32, ptr %exc.cell + %t399 = icmp ne i32 %t398, 0 + %t400 = call i1 @llvm.expect.i1(i1 %t399, i1 false) + br i1 %t400, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t397) + ret ptr null +exc.k165: + %t401 = load ptr, ptr %sc_l_p_receiver + %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t403 = call ptr @scr_dyn_bag_get(ptr %t397, ptr @sc_lit_3111096729023658, ptr %t402) + %t404 = load i32, ptr %exc.cell + %t405 = icmp ne i32 %t404, 0 + %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false) + br i1 %t406, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t397) + call void @sc_rc_release_dyn(ptr %t402) + call void @sc_rc_release_dyn(ptr %t403) + ret ptr null +exc.k167: + call void @sc_rc_release_dyn(ptr %t397) + call void @sc_rc_release_dyn(ptr %t402) + ret ptr %t403 +if.j163: + %t408 = call ptr @scr_dyn_undefined() + %t407 = call ptr @scr_dyn_retain_v(ptr %t408) + ret ptr %t407 +if.j157: + %t409 = load ptr, ptr %sc_l_p_key + %t410 = call zeroext i1 @sc_streq_668712189700762(ptr %t409) + br i1 %t410, label %if.t168, label %if.j169 +if.t168: + %t411 = load ptr, ptr %sc_l_p_receiver + %t412 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t411, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t413 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t412) + %t414 = load i32, ptr %exc.cell + %t415 = icmp ne i32 %t414, 0 + %t416 = call i1 @llvm.expect.i1(i1 %t415, i1 false) + br i1 %t416, label %exc.u170, label %exc.k171 +exc.u170: + call void @sc_rc_release_dyn(ptr %t413) + ret ptr null +exc.k171: + %t417 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t413, ptr @sc_lit_668712189700762) + %t418 = load i32, ptr %exc.cell + %t419 = icmp ne i32 %t418, 0 + %t420 = call i1 @llvm.expect.i1(i1 %t419, i1 false) + br i1 %t420, label %exc.u172, label %exc.k173 +exc.u172: + call void @sc_rc_release_dyn(ptr %t413) + ret ptr null +exc.k173: + call void @sc_rc_release_dyn(ptr %t413) + br i1 %t417, label %if.t174, label %if.j175 +if.t174: + %t421 = load ptr, ptr %sc_l_p_receiver + %t422 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t421, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t423 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t422) + %t424 = load i32, ptr %exc.cell + %t425 = icmp ne i32 %t424, 0 + %t426 = call i1 @llvm.expect.i1(i1 %t425, i1 false) + br i1 %t426, label %exc.u176, label %exc.k177 +exc.u176: + call void @sc_rc_release_dyn(ptr %t423) + ret ptr null +exc.k177: + %t427 = load ptr, ptr %sc_l_p_receiver + %t428 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t427, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t429 = call ptr @scr_dyn_bag_get(ptr %t423, ptr @sc_lit_668712189700762, ptr %t428) + %t430 = load i32, ptr %exc.cell + %t431 = icmp ne i32 %t430, 0 + %t432 = call i1 @llvm.expect.i1(i1 %t431, i1 false) + br i1 %t432, label %exc.u178, label %exc.k179 +exc.u178: + call void @sc_rc_release_dyn(ptr %t423) + call void @sc_rc_release_dyn(ptr %t428) + call void @sc_rc_release_dyn(ptr %t429) + ret ptr null +exc.k179: + call void @sc_rc_release_dyn(ptr %t423) + call void @sc_rc_release_dyn(ptr %t428) + ret ptr %t429 +if.j175: + %t434 = call ptr @scr_dyn_undefined() + %t433 = call ptr @scr_dyn_retain_v(ptr %t434) + ret ptr %t433 +if.j169: + %t435 = load ptr, ptr %sc_l_p_key + %t436 = call zeroext i1 @sc_streq_2436853855422636(ptr %t435) + br i1 %t436, label %if.t180, label %if.j181 +if.t180: + %t437 = load ptr, ptr %sc_l_p_receiver + %t438 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t437, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t439 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t438) + %t440 = load i32, ptr %exc.cell + %t441 = icmp ne i32 %t440, 0 + %t442 = call i1 @llvm.expect.i1(i1 %t441, i1 false) + br i1 %t442, label %exc.u182, label %exc.k183 +exc.u182: + call void @sc_rc_release_dyn(ptr %t439) + ret ptr null +exc.k183: + %t443 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t439, ptr @sc_lit_2436853855422636) + %t444 = load i32, ptr %exc.cell + %t445 = icmp ne i32 %t444, 0 + %t446 = call i1 @llvm.expect.i1(i1 %t445, i1 false) + br i1 %t446, label %exc.u184, label %exc.k185 +exc.u184: + call void @sc_rc_release_dyn(ptr %t439) + ret ptr null +exc.k185: + call void @sc_rc_release_dyn(ptr %t439) + br i1 %t443, label %if.t186, label %if.j187 +if.t186: + %t447 = load ptr, ptr %sc_l_p_receiver + %t448 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t447, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t449 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t448) + %t450 = load i32, ptr %exc.cell + %t451 = icmp ne i32 %t450, 0 + %t452 = call i1 @llvm.expect.i1(i1 %t451, i1 false) + br i1 %t452, label %exc.u188, label %exc.k189 +exc.u188: + call void @sc_rc_release_dyn(ptr %t449) + ret ptr null +exc.k189: + %t453 = load ptr, ptr %sc_l_p_receiver + %t454 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t453, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t455 = call ptr @scr_dyn_bag_get(ptr %t449, ptr @sc_lit_2436853855422636, ptr %t454) + %t456 = load i32, ptr %exc.cell + %t457 = icmp ne i32 %t456, 0 + %t458 = call i1 @llvm.expect.i1(i1 %t457, i1 false) + br i1 %t458, label %exc.u190, label %exc.k191 +exc.u190: + call void @sc_rc_release_dyn(ptr %t449) + call void @sc_rc_release_dyn(ptr %t454) + call void @sc_rc_release_dyn(ptr %t455) + ret ptr null +exc.k191: + call void @sc_rc_release_dyn(ptr %t449) + call void @sc_rc_release_dyn(ptr %t454) + ret ptr %t455 +if.j187: + %t460 = call ptr @scr_dyn_undefined() + %t459 = call ptr @scr_dyn_retain_v(ptr %t460) + ret ptr %t459 +if.j181: + %t461 = load ptr, ptr %sc_l_p_key + %t462 = call zeroext i1 @sc_streq_2466306126986778(ptr %t461) + br i1 %t462, label %if.t192, label %if.j193 +if.t192: + %t463 = load ptr, ptr %sc_l_p_receiver + %t464 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t463, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t465 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t464) + %t466 = load i32, ptr %exc.cell + %t467 = icmp ne i32 %t466, 0 + %t468 = call i1 @llvm.expect.i1(i1 %t467, i1 false) + br i1 %t468, label %exc.u194, label %exc.k195 +exc.u194: + call void @sc_rc_release_dyn(ptr %t465) + ret ptr null +exc.k195: + %t469 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t465, ptr @sc_lit_2466306126986778) + %t470 = load i32, ptr %exc.cell + %t471 = icmp ne i32 %t470, 0 + %t472 = call i1 @llvm.expect.i1(i1 %t471, i1 false) + br i1 %t472, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t465) + ret ptr null +exc.k197: + call void @sc_rc_release_dyn(ptr %t465) + br i1 %t469, label %if.t198, label %if.j199 +if.t198: + %t473 = load ptr, ptr %sc_l_p_receiver + %t474 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t473, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t475 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t474) + %t476 = load i32, ptr %exc.cell + %t477 = icmp ne i32 %t476, 0 + %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false) + br i1 %t478, label %exc.u200, label %exc.k201 +exc.u200: + call void @sc_rc_release_dyn(ptr %t475) + ret ptr null +exc.k201: + %t479 = load ptr, ptr %sc_l_p_receiver + %t480 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t479, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t481 = call ptr @scr_dyn_bag_get(ptr %t475, ptr @sc_lit_2466306126986778, ptr %t480) + %t482 = load i32, ptr %exc.cell + %t483 = icmp ne i32 %t482, 0 + %t484 = call i1 @llvm.expect.i1(i1 %t483, i1 false) + br i1 %t484, label %exc.u202, label %exc.k203 +exc.u202: + call void @sc_rc_release_dyn(ptr %t475) + call void @sc_rc_release_dyn(ptr %t480) + call void @sc_rc_release_dyn(ptr %t481) + ret ptr null +exc.k203: + call void @sc_rc_release_dyn(ptr %t475) + call void @sc_rc_release_dyn(ptr %t480) + ret ptr %t481 +if.j199: + %t486 = call ptr @scr_dyn_undefined() + %t485 = call ptr @scr_dyn_retain_v(ptr %t486) + ret ptr %t485 +if.j193: + %t487 = load ptr, ptr %sc_l_p_key + %t488 = call zeroext i1 @sc_streq_1389753027152399(ptr %t487) + br i1 %t488, label %if.t204, label %if.j205 +if.t204: + %t489 = load ptr, ptr %sc_l_p_receiver + %t490 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t489, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t491 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t490) + %t492 = load i32, ptr %exc.cell + %t493 = icmp ne i32 %t492, 0 + %t494 = call i1 @llvm.expect.i1(i1 %t493, i1 false) + br i1 %t494, label %exc.u206, label %exc.k207 +exc.u206: + call void @sc_rc_release_dyn(ptr %t491) + ret ptr null +exc.k207: + %t495 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t491, ptr @sc_lit_1389753027152399) + %t496 = load i32, ptr %exc.cell + %t497 = icmp ne i32 %t496, 0 + %t498 = call i1 @llvm.expect.i1(i1 %t497, i1 false) + br i1 %t498, label %exc.u208, label %exc.k209 +exc.u208: + call void @sc_rc_release_dyn(ptr %t491) + ret ptr null +exc.k209: + call void @sc_rc_release_dyn(ptr %t491) + br i1 %t495, label %if.t210, label %if.j211 +if.t210: + %t499 = load ptr, ptr %sc_l_p_receiver + %t500 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t499, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t501 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t500) + %t502 = load i32, ptr %exc.cell + %t503 = icmp ne i32 %t502, 0 + %t504 = call i1 @llvm.expect.i1(i1 %t503, i1 false) + br i1 %t504, label %exc.u212, label %exc.k213 +exc.u212: + call void @sc_rc_release_dyn(ptr %t501) + ret ptr null +exc.k213: + %t505 = load ptr, ptr %sc_l_p_receiver + %t506 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t505, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t507 = call ptr @scr_dyn_bag_get(ptr %t501, ptr @sc_lit_1389753027152399, ptr %t506) + %t508 = load i32, ptr %exc.cell + %t509 = icmp ne i32 %t508, 0 + %t510 = call i1 @llvm.expect.i1(i1 %t509, i1 false) + br i1 %t510, label %exc.u214, label %exc.k215 +exc.u214: + call void @sc_rc_release_dyn(ptr %t501) + call void @sc_rc_release_dyn(ptr %t506) + call void @sc_rc_release_dyn(ptr %t507) + ret ptr null +exc.k215: + call void @sc_rc_release_dyn(ptr %t501) + call void @sc_rc_release_dyn(ptr %t506) + ret ptr %t507 +if.j211: + %t512 = call ptr @scr_dyn_undefined() + %t511 = call ptr @scr_dyn_retain_v(ptr %t512) + ret ptr %t511 +if.j205: + %t513 = load ptr, ptr %sc_l_p_key + %t514 = call zeroext i1 @sc_streq_1148437194389594(ptr %t513) + br i1 %t514, label %if.t216, label %if.j217 +if.t216: + %t515 = load ptr, ptr %sc_l_p_receiver + %t516 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t515, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t517 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t516) + %t518 = load i32, ptr %exc.cell + %t519 = icmp ne i32 %t518, 0 + %t520 = call i1 @llvm.expect.i1(i1 %t519, i1 false) + br i1 %t520, label %exc.u218, label %exc.k219 +exc.u218: + call void @sc_rc_release_dyn(ptr %t517) + ret ptr null +exc.k219: + %t521 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t517, ptr @sc_lit_1148437194389594) + %t522 = load i32, ptr %exc.cell + %t523 = icmp ne i32 %t522, 0 + %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false) + br i1 %t524, label %exc.u220, label %exc.k221 +exc.u220: + call void @sc_rc_release_dyn(ptr %t517) + ret ptr null +exc.k221: + call void @sc_rc_release_dyn(ptr %t517) + br i1 %t521, label %if.t222, label %if.j223 +if.t222: + %t525 = load ptr, ptr %sc_l_p_receiver + %t526 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t525, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t527 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t526) + %t528 = load i32, ptr %exc.cell + %t529 = icmp ne i32 %t528, 0 + %t530 = call i1 @llvm.expect.i1(i1 %t529, i1 false) + br i1 %t530, label %exc.u224, label %exc.k225 +exc.u224: + call void @sc_rc_release_dyn(ptr %t527) + ret ptr null +exc.k225: + %t531 = load ptr, ptr %sc_l_p_receiver + %t532 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t531, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t533 = call ptr @scr_dyn_bag_get(ptr %t527, ptr @sc_lit_1148437194389594, ptr %t532) + %t534 = load i32, ptr %exc.cell + %t535 = icmp ne i32 %t534, 0 + %t536 = call i1 @llvm.expect.i1(i1 %t535, i1 false) + br i1 %t536, label %exc.u226, label %exc.k227 +exc.u226: + call void @sc_rc_release_dyn(ptr %t527) + call void @sc_rc_release_dyn(ptr %t532) + call void @sc_rc_release_dyn(ptr %t533) + ret ptr null +exc.k227: + call void @sc_rc_release_dyn(ptr %t527) + call void @sc_rc_release_dyn(ptr %t532) + ret ptr %t533 +if.j223: + %t538 = call ptr @scr_dyn_undefined() + %t537 = call ptr @scr_dyn_retain_v(ptr %t538) + ret ptr %t537 +if.j217: + %t539 = load ptr, ptr %sc_l_p_key + %t540 = call zeroext i1 @sc_streq_4192469624085056(ptr %t539) + br i1 %t540, label %if.t228, label %if.j229 +if.t228: + %t541 = load ptr, ptr %sc_l_p_receiver + %t542 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t541, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t543 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t542) + %t544 = load i32, ptr %exc.cell + %t545 = icmp ne i32 %t544, 0 + %t546 = call i1 @llvm.expect.i1(i1 %t545, i1 false) + br i1 %t546, label %exc.u230, label %exc.k231 +exc.u230: + call void @sc_rc_release_dyn(ptr %t543) + ret ptr null +exc.k231: + %t547 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t543, ptr @sc_lit_4192469624085056) + %t548 = load i32, ptr %exc.cell + %t549 = icmp ne i32 %t548, 0 + %t550 = call i1 @llvm.expect.i1(i1 %t549, i1 false) + br i1 %t550, label %exc.u232, label %exc.k233 +exc.u232: + call void @sc_rc_release_dyn(ptr %t543) + ret ptr null +exc.k233: + call void @sc_rc_release_dyn(ptr %t543) + br i1 %t547, label %if.t234, label %if.j235 +if.t234: + %t551 = load ptr, ptr %sc_l_p_receiver + %t552 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t551, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t553 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t552) + %t554 = load i32, ptr %exc.cell + %t555 = icmp ne i32 %t554, 0 + %t556 = call i1 @llvm.expect.i1(i1 %t555, i1 false) + br i1 %t556, label %exc.u236, label %exc.k237 +exc.u236: + call void @sc_rc_release_dyn(ptr %t553) + ret ptr null +exc.k237: + %t557 = load ptr, ptr %sc_l_p_receiver + %t558 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t557, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t559 = call ptr @scr_dyn_bag_get(ptr %t553, ptr @sc_lit_4192469624085056, ptr %t558) + %t560 = load i32, ptr %exc.cell + %t561 = icmp ne i32 %t560, 0 + %t562 = call i1 @llvm.expect.i1(i1 %t561, i1 false) + br i1 %t562, label %exc.u238, label %exc.k239 +exc.u238: + call void @sc_rc_release_dyn(ptr %t553) + call void @sc_rc_release_dyn(ptr %t558) + call void @sc_rc_release_dyn(ptr %t559) + ret ptr null +exc.k239: + call void @sc_rc_release_dyn(ptr %t553) + call void @sc_rc_release_dyn(ptr %t558) + ret ptr %t559 +if.j235: + %t564 = call ptr @scr_dyn_undefined() + %t563 = call ptr @scr_dyn_retain_v(ptr %t564) + ret ptr %t563 +if.j229: + %t565 = load ptr, ptr %sc_l_p_key + %t566 = call zeroext i1 @sc_streq_864781090888737(ptr %t565) + br i1 %t566, label %if.t240, label %if.j241 +if.t240: + %t567 = load ptr, ptr %sc_l_p_receiver + %t568 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t567, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t569 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t568) + %t570 = load i32, ptr %exc.cell + %t571 = icmp ne i32 %t570, 0 + %t572 = call i1 @llvm.expect.i1(i1 %t571, i1 false) + br i1 %t572, label %exc.u242, label %exc.k243 +exc.u242: + call void @sc_rc_release_dyn(ptr %t569) + ret ptr null +exc.k243: + %t573 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t569, ptr @sc_lit_864781090888737) + %t574 = load i32, ptr %exc.cell + %t575 = icmp ne i32 %t574, 0 + %t576 = call i1 @llvm.expect.i1(i1 %t575, i1 false) + br i1 %t576, label %exc.u244, label %exc.k245 +exc.u244: + call void @sc_rc_release_dyn(ptr %t569) + ret ptr null +exc.k245: + call void @sc_rc_release_dyn(ptr %t569) + br i1 %t573, label %if.t246, label %if.j247 +if.t246: + %t577 = load ptr, ptr %sc_l_p_receiver + %t578 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t577, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t579 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t578) + %t580 = load i32, ptr %exc.cell + %t581 = icmp ne i32 %t580, 0 + %t582 = call i1 @llvm.expect.i1(i1 %t581, i1 false) + br i1 %t582, label %exc.u248, label %exc.k249 +exc.u248: + call void @sc_rc_release_dyn(ptr %t579) + ret ptr null +exc.k249: + %t583 = load ptr, ptr %sc_l_p_receiver + %t584 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t583, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t585 = call ptr @scr_dyn_bag_get(ptr %t579, ptr @sc_lit_864781090888737, ptr %t584) + %t586 = load i32, ptr %exc.cell + %t587 = icmp ne i32 %t586, 0 + %t588 = call i1 @llvm.expect.i1(i1 %t587, i1 false) + br i1 %t588, label %exc.u250, label %exc.k251 +exc.u250: + call void @sc_rc_release_dyn(ptr %t579) + call void @sc_rc_release_dyn(ptr %t584) + call void @sc_rc_release_dyn(ptr %t585) + ret ptr null +exc.k251: + call void @sc_rc_release_dyn(ptr %t579) + call void @sc_rc_release_dyn(ptr %t584) + ret ptr %t585 +if.j247: + %t590 = call ptr @scr_dyn_undefined() + %t589 = call ptr @scr_dyn_retain_v(ptr %t590) + ret ptr %t589 +if.j241: + %t591 = load ptr, ptr %sc_l_p_key + %t592 = call zeroext i1 @sc_streq_603267670272610(ptr %t591) + br i1 %t592, label %if.t252, label %if.j253 +if.t252: + %t593 = load ptr, ptr %sc_l_p_receiver + %t594 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t593, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t595 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t594) + %t596 = load i32, ptr %exc.cell + %t597 = icmp ne i32 %t596, 0 + %t598 = call i1 @llvm.expect.i1(i1 %t597, i1 false) + br i1 %t598, label %exc.u254, label %exc.k255 +exc.u254: + call void @sc_rc_release_dyn(ptr %t595) + ret ptr null +exc.k255: + %t599 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t595, ptr @sc_lit_603267670272610) + %t600 = load i32, ptr %exc.cell + %t601 = icmp ne i32 %t600, 0 + %t602 = call i1 @llvm.expect.i1(i1 %t601, i1 false) + br i1 %t602, label %exc.u256, label %exc.k257 +exc.u256: + call void @sc_rc_release_dyn(ptr %t595) + ret ptr null +exc.k257: + call void @sc_rc_release_dyn(ptr %t595) + br i1 %t599, label %if.t258, label %if.j259 +if.t258: + %t603 = load ptr, ptr %sc_l_p_receiver + %t604 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t603, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t605 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t604) + %t606 = load i32, ptr %exc.cell + %t607 = icmp ne i32 %t606, 0 + %t608 = call i1 @llvm.expect.i1(i1 %t607, i1 false) + br i1 %t608, label %exc.u260, label %exc.k261 +exc.u260: + call void @sc_rc_release_dyn(ptr %t605) + ret ptr null +exc.k261: + %t609 = load ptr, ptr %sc_l_p_receiver + %t610 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t609, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t611 = call ptr @scr_dyn_bag_get(ptr %t605, ptr @sc_lit_603267670272610, ptr %t610) + %t612 = load i32, ptr %exc.cell + %t613 = icmp ne i32 %t612, 0 + %t614 = call i1 @llvm.expect.i1(i1 %t613, i1 false) + br i1 %t614, label %exc.u262, label %exc.k263 +exc.u262: + call void @sc_rc_release_dyn(ptr %t605) + call void @sc_rc_release_dyn(ptr %t610) + call void @sc_rc_release_dyn(ptr %t611) + ret ptr null +exc.k263: + call void @sc_rc_release_dyn(ptr %t605) + call void @sc_rc_release_dyn(ptr %t610) + ret ptr %t611 +if.j259: + %t616 = call ptr @scr_dyn_undefined() + %t615 = call ptr @scr_dyn_retain_v(ptr %t616) + ret ptr %t615 +if.j253: + %t617 = load ptr, ptr %sc_l_p_key + %t618 = call zeroext i1 @sc_streq_646811555153625(ptr %t617) + br i1 %t618, label %if.t264, label %if.j265 +if.t264: + %t619 = load ptr, ptr %sc_l_p_receiver + %t620 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t619, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t621 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t620) + %t622 = load i32, ptr %exc.cell + %t623 = icmp ne i32 %t622, 0 + %t624 = call i1 @llvm.expect.i1(i1 %t623, i1 false) + br i1 %t624, label %exc.u266, label %exc.k267 +exc.u266: + call void @sc_rc_release_dyn(ptr %t621) + ret ptr null +exc.k267: + %t625 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t621, ptr @sc_lit_646811555153625) + %t626 = load i32, ptr %exc.cell + %t627 = icmp ne i32 %t626, 0 + %t628 = call i1 @llvm.expect.i1(i1 %t627, i1 false) + br i1 %t628, label %exc.u268, label %exc.k269 +exc.u268: + call void @sc_rc_release_dyn(ptr %t621) + ret ptr null +exc.k269: + call void @sc_rc_release_dyn(ptr %t621) + br i1 %t625, label %if.t270, label %if.j271 +if.t270: + %t629 = load ptr, ptr %sc_l_p_receiver + %t630 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t629, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t631 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t630) + %t632 = load i32, ptr %exc.cell + %t633 = icmp ne i32 %t632, 0 + %t634 = call i1 @llvm.expect.i1(i1 %t633, i1 false) + br i1 %t634, label %exc.u272, label %exc.k273 +exc.u272: + call void @sc_rc_release_dyn(ptr %t631) + ret ptr null +exc.k273: + %t635 = load ptr, ptr %sc_l_p_receiver + %t636 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t635, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t637 = call ptr @scr_dyn_bag_get(ptr %t631, ptr @sc_lit_646811555153625, ptr %t636) + %t638 = load i32, ptr %exc.cell + %t639 = icmp ne i32 %t638, 0 + %t640 = call i1 @llvm.expect.i1(i1 %t639, i1 false) + br i1 %t640, label %exc.u274, label %exc.k275 +exc.u274: + call void @sc_rc_release_dyn(ptr %t631) + call void @sc_rc_release_dyn(ptr %t636) + call void @sc_rc_release_dyn(ptr %t637) + ret ptr null +exc.k275: + call void @sc_rc_release_dyn(ptr %t631) + call void @sc_rc_release_dyn(ptr %t636) + ret ptr %t637 +if.j271: + %t642 = call ptr @scr_dyn_undefined() + %t641 = call ptr @scr_dyn_retain_v(ptr %t642) + ret ptr %t641 +if.j265: + %t643 = load ptr, ptr %sc_l_p_key + %t644 = call zeroext i1 @sc_streq_4391217941138845(ptr %t643) + br i1 %t644, label %if.t276, label %if.j277 +if.t276: + %t645 = load ptr, ptr %sc_l_p_receiver + %t646 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t645, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t647 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t646) + %t648 = load i32, ptr %exc.cell + %t649 = icmp ne i32 %t648, 0 + %t650 = call i1 @llvm.expect.i1(i1 %t649, i1 false) + br i1 %t650, label %exc.u278, label %exc.k279 +exc.u278: + call void @sc_rc_release_dyn(ptr %t647) + ret ptr null +exc.k279: + %t651 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t647, ptr @sc_lit_4391217941138845) + %t652 = load i32, ptr %exc.cell + %t653 = icmp ne i32 %t652, 0 + %t654 = call i1 @llvm.expect.i1(i1 %t653, i1 false) + br i1 %t654, label %exc.u280, label %exc.k281 +exc.u280: + call void @sc_rc_release_dyn(ptr %t647) + ret ptr null +exc.k281: + call void @sc_rc_release_dyn(ptr %t647) + br i1 %t651, label %if.t282, label %if.j283 +if.t282: + %t655 = load ptr, ptr %sc_l_p_receiver + %t656 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t655, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t657 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t656) + %t658 = load i32, ptr %exc.cell + %t659 = icmp ne i32 %t658, 0 + %t660 = call i1 @llvm.expect.i1(i1 %t659, i1 false) + br i1 %t660, label %exc.u284, label %exc.k285 +exc.u284: + call void @sc_rc_release_dyn(ptr %t657) + ret ptr null +exc.k285: + %t661 = load ptr, ptr %sc_l_p_receiver + %t662 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t661, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t663 = call ptr @scr_dyn_bag_get(ptr %t657, ptr @sc_lit_4391217941138845, ptr %t662) + %t664 = load i32, ptr %exc.cell + %t665 = icmp ne i32 %t664, 0 + %t666 = call i1 @llvm.expect.i1(i1 %t665, i1 false) + br i1 %t666, label %exc.u286, label %exc.k287 +exc.u286: + call void @sc_rc_release_dyn(ptr %t657) + call void @sc_rc_release_dyn(ptr %t662) + call void @sc_rc_release_dyn(ptr %t663) + ret ptr null +exc.k287: + call void @sc_rc_release_dyn(ptr %t657) + call void @sc_rc_release_dyn(ptr %t662) + ret ptr %t663 +if.j283: + %t668 = call ptr @scr_dyn_undefined() + %t667 = call ptr @scr_dyn_retain_v(ptr %t668) + ret ptr %t667 +if.j277: + %t669 = load ptr, ptr %sc_l_p_key + %t670 = call zeroext i1 @sc_streq_2014847608589337(ptr %t669) + br i1 %t670, label %if.t288, label %if.j289 +if.t288: + %t671 = load ptr, ptr %sc_l_p_receiver + %t672 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t671, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t673 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t672) + %t674 = load i32, ptr %exc.cell + %t675 = icmp ne i32 %t674, 0 + %t676 = call i1 @llvm.expect.i1(i1 %t675, i1 false) + br i1 %t676, label %exc.u290, label %exc.k291 +exc.u290: + call void @sc_rc_release_dyn(ptr %t673) + ret ptr null +exc.k291: + %t677 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t673, ptr @sc_lit_2014847608589337) + %t678 = load i32, ptr %exc.cell + %t679 = icmp ne i32 %t678, 0 + %t680 = call i1 @llvm.expect.i1(i1 %t679, i1 false) + br i1 %t680, label %exc.u292, label %exc.k293 +exc.u292: + call void @sc_rc_release_dyn(ptr %t673) + ret ptr null +exc.k293: + call void @sc_rc_release_dyn(ptr %t673) + br i1 %t677, label %if.t294, label %if.j295 +if.t294: + %t681 = load ptr, ptr %sc_l_p_receiver + %t682 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t681, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t683 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t682) + %t684 = load i32, ptr %exc.cell + %t685 = icmp ne i32 %t684, 0 + %t686 = call i1 @llvm.expect.i1(i1 %t685, i1 false) + br i1 %t686, label %exc.u296, label %exc.k297 +exc.u296: + call void @sc_rc_release_dyn(ptr %t683) + ret ptr null +exc.k297: + %t687 = load ptr, ptr %sc_l_p_receiver + %t688 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t687, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t689 = call ptr @scr_dyn_bag_get(ptr %t683, ptr @sc_lit_2014847608589337, ptr %t688) + %t690 = load i32, ptr %exc.cell + %t691 = icmp ne i32 %t690, 0 + %t692 = call i1 @llvm.expect.i1(i1 %t691, i1 false) + br i1 %t692, label %exc.u298, label %exc.k299 +exc.u298: + call void @sc_rc_release_dyn(ptr %t683) + call void @sc_rc_release_dyn(ptr %t688) + call void @sc_rc_release_dyn(ptr %t689) + ret ptr null +exc.k299: + call void @sc_rc_release_dyn(ptr %t683) + call void @sc_rc_release_dyn(ptr %t688) + ret ptr %t689 +if.j295: + %t694 = call ptr @scr_dyn_undefined() + %t693 = call ptr @scr_dyn_retain_v(ptr %t694) + ret ptr %t693 +if.j289: + %t695 = load ptr, ptr %sc_l_p_key + %t696 = call zeroext i1 @sc_streq_405767859507088(ptr %t695) + br i1 %t696, label %if.t300, label %if.j301 +if.t300: + %t697 = load ptr, ptr %sc_l_p_receiver + %t698 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t697, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t699 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t698) + %t700 = load i32, ptr %exc.cell + %t701 = icmp ne i32 %t700, 0 + %t702 = call i1 @llvm.expect.i1(i1 %t701, i1 false) + br i1 %t702, label %exc.u302, label %exc.k303 +exc.u302: + call void @sc_rc_release_dyn(ptr %t699) + ret ptr null +exc.k303: + %t703 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t699, ptr @sc_lit_405767859507088) + %t704 = load i32, ptr %exc.cell + %t705 = icmp ne i32 %t704, 0 + %t706 = call i1 @llvm.expect.i1(i1 %t705, i1 false) + br i1 %t706, label %exc.u304, label %exc.k305 +exc.u304: + call void @sc_rc_release_dyn(ptr %t699) + ret ptr null +exc.k305: + call void @sc_rc_release_dyn(ptr %t699) + br i1 %t703, label %if.t306, label %if.j307 +if.t306: + %t707 = load ptr, ptr %sc_l_p_receiver + %t708 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t707, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t709 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t708) + %t710 = load i32, ptr %exc.cell + %t711 = icmp ne i32 %t710, 0 + %t712 = call i1 @llvm.expect.i1(i1 %t711, i1 false) + br i1 %t712, label %exc.u308, label %exc.k309 +exc.u308: + call void @sc_rc_release_dyn(ptr %t709) + ret ptr null +exc.k309: + %t713 = load ptr, ptr %sc_l_p_receiver + %t714 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t713, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t715 = call ptr @scr_dyn_bag_get(ptr %t709, ptr @sc_lit_405767859507088, ptr %t714) + %t716 = load i32, ptr %exc.cell + %t717 = icmp ne i32 %t716, 0 + %t718 = call i1 @llvm.expect.i1(i1 %t717, i1 false) + br i1 %t718, label %exc.u310, label %exc.k311 +exc.u310: + call void @sc_rc_release_dyn(ptr %t709) + call void @sc_rc_release_dyn(ptr %t714) + call void @sc_rc_release_dyn(ptr %t715) + ret ptr null +exc.k311: + call void @sc_rc_release_dyn(ptr %t709) + call void @sc_rc_release_dyn(ptr %t714) + ret ptr %t715 +if.j307: + %t720 = call ptr @scr_dyn_undefined() + %t719 = call ptr @scr_dyn_retain_v(ptr %t720) + ret ptr %t719 +if.j301: + %t721 = load ptr, ptr %sc_l_p_key + %t722 = call zeroext i1 @sc_streq_4078327433052319(ptr %t721) + br i1 %t722, label %if.t312, label %if.j313 +if.t312: + %t723 = load ptr, ptr %sc_l_p_receiver + %t724 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t723, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t725 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t724) + %t726 = load i32, ptr %exc.cell + %t727 = icmp ne i32 %t726, 0 + %t728 = call i1 @llvm.expect.i1(i1 %t727, i1 false) + br i1 %t728, label %exc.u314, label %exc.k315 +exc.u314: + call void @sc_rc_release_dyn(ptr %t725) + ret ptr null +exc.k315: + %t729 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t725, ptr @sc_lit_4078327433052319) + %t730 = load i32, ptr %exc.cell + %t731 = icmp ne i32 %t730, 0 + %t732 = call i1 @llvm.expect.i1(i1 %t731, i1 false) + br i1 %t732, label %exc.u316, label %exc.k317 +exc.u316: + call void @sc_rc_release_dyn(ptr %t725) + ret ptr null +exc.k317: + call void @sc_rc_release_dyn(ptr %t725) + br i1 %t729, label %if.t318, label %if.j319 +if.t318: + %t733 = load ptr, ptr %sc_l_p_receiver + %t734 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t733, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t735 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t734) + %t736 = load i32, ptr %exc.cell + %t737 = icmp ne i32 %t736, 0 + %t738 = call i1 @llvm.expect.i1(i1 %t737, i1 false) + br i1 %t738, label %exc.u320, label %exc.k321 +exc.u320: + call void @sc_rc_release_dyn(ptr %t735) + ret ptr null +exc.k321: + %t739 = load ptr, ptr %sc_l_p_receiver + %t740 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t739, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t741 = call ptr @scr_dyn_bag_get(ptr %t735, ptr @sc_lit_4078327433052319, ptr %t740) + %t742 = load i32, ptr %exc.cell + %t743 = icmp ne i32 %t742, 0 + %t744 = call i1 @llvm.expect.i1(i1 %t743, i1 false) + br i1 %t744, label %exc.u322, label %exc.k323 +exc.u322: + call void @sc_rc_release_dyn(ptr %t735) + call void @sc_rc_release_dyn(ptr %t740) + call void @sc_rc_release_dyn(ptr %t741) + ret ptr null +exc.k323: + call void @sc_rc_release_dyn(ptr %t735) + call void @sc_rc_release_dyn(ptr %t740) + ret ptr %t741 +if.j319: + %t746 = call ptr @scr_dyn_undefined() + %t745 = call ptr @scr_dyn_retain_v(ptr %t746) + ret ptr %t745 +if.j313: + %t747 = load ptr, ptr %sc_l_p_key + %t748 = call zeroext i1 @sc_streq_156708963710691(ptr %t747) + br i1 %t748, label %if.t324, label %if.j325 +if.t324: + %t749 = load ptr, ptr %sc_l_p_receiver + %t750 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t749, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t751 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t750) + %t752 = load i32, ptr %exc.cell + %t753 = icmp ne i32 %t752, 0 + %t754 = call i1 @llvm.expect.i1(i1 %t753, i1 false) + br i1 %t754, label %exc.u326, label %exc.k327 +exc.u326: + call void @sc_rc_release_dyn(ptr %t751) + ret ptr null +exc.k327: + %t755 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t751, ptr @sc_lit_156708963710691) + %t756 = load i32, ptr %exc.cell + %t757 = icmp ne i32 %t756, 0 + %t758 = call i1 @llvm.expect.i1(i1 %t757, i1 false) + br i1 %t758, label %exc.u328, label %exc.k329 +exc.u328: + call void @sc_rc_release_dyn(ptr %t751) + ret ptr null +exc.k329: + call void @sc_rc_release_dyn(ptr %t751) + br i1 %t755, label %if.t330, label %if.j331 +if.t330: + %t759 = load ptr, ptr %sc_l_p_receiver + %t760 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t759, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t761 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t760) + %t762 = load i32, ptr %exc.cell + %t763 = icmp ne i32 %t762, 0 + %t764 = call i1 @llvm.expect.i1(i1 %t763, i1 false) + br i1 %t764, label %exc.u332, label %exc.k333 +exc.u332: + call void @sc_rc_release_dyn(ptr %t761) + ret ptr null +exc.k333: + %t765 = load ptr, ptr %sc_l_p_receiver + %t766 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t765, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t767 = call ptr @scr_dyn_bag_get(ptr %t761, ptr @sc_lit_156708963710691, ptr %t766) + %t768 = load i32, ptr %exc.cell + %t769 = icmp ne i32 %t768, 0 + %t770 = call i1 @llvm.expect.i1(i1 %t769, i1 false) + br i1 %t770, label %exc.u334, label %exc.k335 +exc.u334: + call void @sc_rc_release_dyn(ptr %t761) + call void @sc_rc_release_dyn(ptr %t766) + call void @sc_rc_release_dyn(ptr %t767) + ret ptr null +exc.k335: + call void @sc_rc_release_dyn(ptr %t761) + call void @sc_rc_release_dyn(ptr %t766) + ret ptr %t767 +if.j331: + %t772 = call ptr @scr_dyn_undefined() + %t771 = call ptr @scr_dyn_retain_v(ptr %t772) + ret ptr %t771 +if.j325: + %t773 = load ptr, ptr %sc_l_p_key + %t774 = call zeroext i1 @sc_streq_1093190805819680(ptr %t773) + br i1 %t774, label %if.t336, label %if.j337 +if.t336: + %t775 = load ptr, ptr %sc_l_p_receiver + %t776 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t775, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t777 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t776) + %t778 = load i32, ptr %exc.cell + %t779 = icmp ne i32 %t778, 0 + %t780 = call i1 @llvm.expect.i1(i1 %t779, i1 false) + br i1 %t780, label %exc.u338, label %exc.k339 +exc.u338: + call void @sc_rc_release_dyn(ptr %t777) + ret ptr null +exc.k339: + %t781 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t777, ptr @sc_lit_1093190805819680) + %t782 = load i32, ptr %exc.cell + %t783 = icmp ne i32 %t782, 0 + %t784 = call i1 @llvm.expect.i1(i1 %t783, i1 false) + br i1 %t784, label %exc.u340, label %exc.k341 +exc.u340: + call void @sc_rc_release_dyn(ptr %t777) + ret ptr null +exc.k341: + call void @sc_rc_release_dyn(ptr %t777) + br i1 %t781, label %if.t342, label %if.j343 +if.t342: + %t785 = load ptr, ptr %sc_l_p_receiver + %t786 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t785, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t787 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t786) + %t788 = load i32, ptr %exc.cell + %t789 = icmp ne i32 %t788, 0 + %t790 = call i1 @llvm.expect.i1(i1 %t789, i1 false) + br i1 %t790, label %exc.u344, label %exc.k345 +exc.u344: + call void @sc_rc_release_dyn(ptr %t787) + ret ptr null +exc.k345: + %t791 = load ptr, ptr %sc_l_p_receiver + %t792 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t791, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t793 = call ptr @scr_dyn_bag_get(ptr %t787, ptr @sc_lit_1093190805819680, ptr %t792) + %t794 = load i32, ptr %exc.cell + %t795 = icmp ne i32 %t794, 0 + %t796 = call i1 @llvm.expect.i1(i1 %t795, i1 false) + br i1 %t796, label %exc.u346, label %exc.k347 +exc.u346: + call void @sc_rc_release_dyn(ptr %t787) + call void @sc_rc_release_dyn(ptr %t792) + call void @sc_rc_release_dyn(ptr %t793) + ret ptr null +exc.k347: + call void @sc_rc_release_dyn(ptr %t787) + call void @sc_rc_release_dyn(ptr %t792) + ret ptr %t793 +if.j343: + %t798 = call ptr @scr_dyn_undefined() + %t797 = call ptr @scr_dyn_retain_v(ptr %t798) + ret ptr %t797 +if.j337: + %t799 = load ptr, ptr %sc_l_p_key + %t800 = call zeroext i1 @sc_streq_3899522094323235(ptr %t799) + br i1 %t800, label %if.t348, label %if.j349 +if.t348: + %t801 = load ptr, ptr %sc_l_p_receiver + %t802 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t801, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t803 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t802) + %t804 = load i32, ptr %exc.cell + %t805 = icmp ne i32 %t804, 0 + %t806 = call i1 @llvm.expect.i1(i1 %t805, i1 false) + br i1 %t806, label %exc.u350, label %exc.k351 +exc.u350: + call void @sc_rc_release_dyn(ptr %t803) + ret ptr null +exc.k351: + %t807 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t803, ptr @sc_lit_3899522094323235) + %t808 = load i32, ptr %exc.cell + %t809 = icmp ne i32 %t808, 0 + %t810 = call i1 @llvm.expect.i1(i1 %t809, i1 false) + br i1 %t810, label %exc.u352, label %exc.k353 +exc.u352: + call void @sc_rc_release_dyn(ptr %t803) + ret ptr null +exc.k353: + call void @sc_rc_release_dyn(ptr %t803) + br i1 %t807, label %if.t354, label %if.j355 +if.t354: + %t811 = load ptr, ptr %sc_l_p_receiver + %t812 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t811, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t813 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t812) + %t814 = load i32, ptr %exc.cell + %t815 = icmp ne i32 %t814, 0 + %t816 = call i1 @llvm.expect.i1(i1 %t815, i1 false) + br i1 %t816, label %exc.u356, label %exc.k357 +exc.u356: + call void @sc_rc_release_dyn(ptr %t813) + ret ptr null +exc.k357: + %t817 = load ptr, ptr %sc_l_p_receiver + %t818 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t817, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t819 = call ptr @scr_dyn_bag_get(ptr %t813, ptr @sc_lit_3899522094323235, ptr %t818) + %t820 = load i32, ptr %exc.cell + %t821 = icmp ne i32 %t820, 0 + %t822 = call i1 @llvm.expect.i1(i1 %t821, i1 false) + br i1 %t822, label %exc.u358, label %exc.k359 +exc.u358: + call void @sc_rc_release_dyn(ptr %t813) + call void @sc_rc_release_dyn(ptr %t818) + call void @sc_rc_release_dyn(ptr %t819) + ret ptr null +exc.k359: + call void @sc_rc_release_dyn(ptr %t813) + call void @sc_rc_release_dyn(ptr %t818) + ret ptr %t819 +if.j355: + %t824 = call ptr @scr_dyn_undefined() + %t823 = call ptr @scr_dyn_retain_v(ptr %t824) + ret ptr %t823 +if.j349: + %t825 = load ptr, ptr %sc_l_p_0 + %t826 = call ptr @sc_rc_retain_dyn(ptr %t825) + %t827 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t826) + %t828 = load i32, ptr %exc.cell + %t829 = icmp ne i32 %t828, 0 + %t830 = call i1 @llvm.expect.i1(i1 %t829, i1 false) + br i1 %t830, label %exc.u360, label %exc.k361 +exc.u360: + call void @sc_rc_release_dyn(ptr %t827) + ret ptr null +exc.k361: + %t831 = load ptr, ptr %sc_l_p_key + %t832 = call ptr @sc_rc_retain_str(ptr %t831) + %t833 = load ptr, ptr %sc_l_p_receiver + %t834 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t833, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit) + %t835 = call ptr @scr_dyn_bag_get(ptr %t827, ptr %t832, ptr %t834) + %t836 = load i32, ptr %exc.cell + %t837 = icmp ne i32 %t836, 0 + %t838 = call i1 @llvm.expect.i1(i1 %t837, i1 false) + br i1 %t838, label %exc.u362, label %exc.k363 +exc.u362: + call void @sc_rc_release_dyn(ptr %t827) + call void @scr_str_release(ptr %t832) + call void @sc_rc_release_dyn(ptr %t834) + call void @sc_rc_release_dyn(ptr %t835) + ret ptr null +exc.k363: + call void @sc_rc_release_dyn(ptr %t827) + call void @scr_str_release(ptr %t832) + call void @sc_rc_release_dyn(ptr %t834) + ret ptr %t835 +} +define internal ptr @sc_f__x25_dyn_class_keys_488(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_488(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m5_App(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_489(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.489 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_3447500980845638(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !24 + %t9 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t8) + %t10 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t9, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + call void @sc_release__x25_m5_ReqViewCore(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_448101171860799(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t13, i64 0, i32 2 + %t15 = load ptr, ptr %t14, !tbaa !44 + %t16 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t15) + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @sc_release__x25_m2_ResponseSink(ptr %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_4141049404401276(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t20, i64 0, i32 3 + %t22 = load ptr, ptr %t21, !tbaa !164 + %t23 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t22) + %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + call void @sc_release__x25_m5_CtxResCore(ptr %t23) + ret ptr %t24 +if.j7: + %t25 = load ptr, ptr %sc_l_p_key + %t26 = call zeroext i1 @sc_streq_3621289080171698(ptr %t25) + br i1 %t26, label %if.t8, label %if.j9 +if.t8: + %t27 = load ptr, ptr %sc_l_p_receiver + %t28 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t27, i64 0, i32 4 + %t29 = load double, ptr %t28, !tbaa !48 + %t30 = call ptr @sc_td_2(double %t29) + ret ptr %t30 +if.j9: + %t31 = load ptr, ptr %sc_l_p_key + %t32 = call zeroext i1 @sc_streq_2163543391075186(ptr %t31) + br i1 %t32, label %if.t10, label %if.j11 +if.t10: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t33, i64 0, i32 5 + %t35 = load i8, ptr %t34, !tbaa !42 + %t36 = trunc i8 %t35 to i1 + %t37 = call ptr @sc_td_3(i1 %t36) + ret ptr %t37 +if.j11: + %t38 = load ptr, ptr %sc_l_p_key + %t39 = call zeroext i1 @sc_streq_4022150258959820(ptr %t38) + br i1 %t39, label %if.t12, label %if.j13 +if.t12: + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t40, i64 0, i32 6 + %t42 = load ptr, ptr %t41, !tbaa !166 + %t43 = call ptr @sc_rc_retain_str(ptr %t42) + %t44 = call ptr @sc_td_0(ptr %t43) + call void @scr_str_release(ptr %t43) + ret ptr %t44 +if.j13: + %t45 = load ptr, ptr %sc_l_p_key + %t46 = call zeroext i1 @sc_streq_3084154227263888(ptr %t45) + br i1 %t46, label %if.t14, label %if.j15 +if.t14: + %t47 = load ptr, ptr %sc_l_p_receiver + %t48 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t47, i64 0, i32 7 + %t49 = load ptr, ptr %t48, !tbaa !162 + %t50 = call ptr @scr_union_retain_v(ptr %t49) + %t51 = call ptr @sc_td_14(ptr %t50) + call void @scr_union_release(ptr %t50) + ret ptr %t51 +if.j15: + %t52 = load ptr, ptr %sc_l_p_key + %t53 = call zeroext i1 @sc_streq_1951312618348557(ptr %t52) + br i1 %t53, label %if.t16, label %if.j17 +if.t16: + %t54 = load ptr, ptr %sc_l_p_receiver + %t55 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t54, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t56 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t55) + %t57 = load i32, ptr %exc.cell + %t58 = icmp ne i32 %t57, 0 + %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false) + br i1 %t59, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t56) + ret ptr null +exc.k19: + %t60 = call zeroext i1 @scr_dyn_has_own(ptr %t56, ptr @sc_lit_1951312618348557) + %t61 = load i32, ptr %exc.cell + %t62 = icmp ne i32 %t61, 0 + %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false) + br i1 %t63, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t56) + ret ptr null +exc.k21: + call void @sc_rc_release_dyn(ptr %t56) + br i1 %t60, label %if.t22, label %if.j23 +if.t22: + %t64 = load ptr, ptr %sc_l_p_receiver + %t65 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t64, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t66 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t65) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t66) + ret ptr null +exc.k25: + %t70 = load ptr, ptr %sc_l_p_receiver + %t71 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t70, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t72 = call ptr @scr_dyn_bag_get(ptr %t66, ptr @sc_lit_1951312618348557, ptr %t71) + %t73 = load i32, ptr %exc.cell + %t74 = icmp ne i32 %t73, 0 + %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false) + br i1 %t75, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t71) + call void @sc_rc_release_dyn(ptr %t72) + ret ptr null +exc.k27: + call void @sc_rc_release_dyn(ptr %t66) + call void @sc_rc_release_dyn(ptr %t71) + ret ptr %t72 +if.j23: + %t76 = load ptr, ptr %sc_l_p_receiver + %t77 = call ptr @sc_bf__x25__x25_m5_CtxCore_get_x3a_res(ptr %t76) + %t78 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t77) + %t79 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t78, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + call void @sc_release__x25_m5_CtxResCore(ptr %t78) + ret ptr %t79 +if.j17: + %t80 = load ptr, ptr %sc_l_p_key + %t81 = call zeroext i1 @sc_streq_127274431826284(ptr %t80) + br i1 %t81, label %if.t28, label %if.j29 +if.t28: + %t82 = load ptr, ptr %sc_l_p_receiver + %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t84 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t83) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k31: + %t88 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t84, ptr @sc_lit_127274431826284) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k33: + call void @sc_rc_release_dyn(ptr %t84) + br i1 %t88, label %if.t34, label %if.j35 +if.t34: + %t92 = load ptr, ptr %sc_l_p_receiver + %t93 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t92, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t94 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t93) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t94) + ret ptr null +exc.k37: + %t98 = load ptr, ptr %sc_l_p_receiver + %t99 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t98, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t100 = call ptr @scr_dyn_bag_get(ptr %t94, ptr @sc_lit_127274431826284, ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t99) + call void @sc_rc_release_dyn(ptr %t100) + ret ptr null +exc.k39: + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t99) + ret ptr %t100 +if.j35: + %t105 = call ptr @scr_dyn_undefined() + %t104 = call ptr @scr_dyn_retain_v(ptr %t105) + ret ptr %t104 +if.j29: + %t106 = load ptr, ptr %sc_l_p_key + %t107 = call zeroext i1 @sc_streq_528144782449140(ptr %t106) + br i1 %t107, label %if.t40, label %if.j41 +if.t40: + %t108 = load ptr, ptr %sc_l_p_receiver + %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t110 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t109) + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t110) + ret ptr null +exc.k43: + %t114 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t110, ptr @sc_lit_528144782449140) + %t115 = load i32, ptr %exc.cell + %t116 = icmp ne i32 %t115, 0 + %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false) + br i1 %t117, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t110) + ret ptr null +exc.k45: + call void @sc_rc_release_dyn(ptr %t110) + br i1 %t114, label %if.t46, label %if.j47 +if.t46: + %t118 = load ptr, ptr %sc_l_p_receiver + %t119 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t118, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t120 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t119) + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t120) + ret ptr null +exc.k49: + %t124 = load ptr, ptr %sc_l_p_receiver + %t125 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t124, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t126 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_528144782449140, ptr %t125) + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t125) + call void @sc_rc_release_dyn(ptr %t126) + ret ptr null +exc.k51: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t125) + ret ptr %t126 +if.j47: + %t131 = call ptr @scr_dyn_undefined() + %t130 = call ptr @scr_dyn_retain_v(ptr %t131) + ret ptr %t130 +if.j41: + %t132 = load ptr, ptr %sc_l_p_key + %t133 = call zeroext i1 @sc_streq_1950596786618243(ptr %t132) + br i1 %t133, label %if.t52, label %if.j53 +if.t52: + %t134 = load ptr, ptr %sc_l_p_receiver + %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t136 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t135) + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t136) + ret ptr null +exc.k55: + %t140 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t136, ptr @sc_lit_1950596786618243) + %t141 = load i32, ptr %exc.cell + %t142 = icmp ne i32 %t141, 0 + %t143 = call i1 @llvm.expect.i1(i1 %t142, i1 false) + br i1 %t143, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t136) + ret ptr null +exc.k57: + call void @sc_rc_release_dyn(ptr %t136) + br i1 %t140, label %if.t58, label %if.j59 +if.t58: + %t144 = load ptr, ptr %sc_l_p_receiver + %t145 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t144, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t146 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t145) + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t146) + ret ptr null +exc.k61: + %t150 = load ptr, ptr %sc_l_p_receiver + %t151 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t150, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t152 = call ptr @scr_dyn_bag_get(ptr %t146, ptr @sc_lit_1950596786618243, ptr %t151) + %t153 = load i32, ptr %exc.cell + %t154 = icmp ne i32 %t153, 0 + %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false) + br i1 %t155, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t146) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t152) + ret ptr null +exc.k63: + call void @sc_rc_release_dyn(ptr %t146) + call void @sc_rc_release_dyn(ptr %t151) + ret ptr %t152 +if.j59: + %t157 = call ptr @scr_dyn_undefined() + %t156 = call ptr @scr_dyn_retain_v(ptr %t157) + ret ptr %t156 +if.j53: + %t158 = load ptr, ptr %sc_l_p_key + %t159 = call zeroext i1 @sc_streq_48178627029362(ptr %t158) + br i1 %t159, label %if.t64, label %if.j65 +if.t64: + %t160 = load ptr, ptr %sc_l_p_receiver + %t161 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t160, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t162 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t161) + %t163 = load i32, ptr %exc.cell + %t164 = icmp ne i32 %t163, 0 + %t165 = call i1 @llvm.expect.i1(i1 %t164, i1 false) + br i1 %t165, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t162) + ret ptr null +exc.k67: + %t166 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t162, ptr @sc_lit_48178627029362) + %t167 = load i32, ptr %exc.cell + %t168 = icmp ne i32 %t167, 0 + %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false) + br i1 %t169, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t162) + ret ptr null +exc.k69: + call void @sc_rc_release_dyn(ptr %t162) + br i1 %t166, label %if.t70, label %if.j71 +if.t70: + %t170 = load ptr, ptr %sc_l_p_receiver + %t171 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t170, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t172 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t171) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t172) + ret ptr null +exc.k73: + %t176 = load ptr, ptr %sc_l_p_receiver + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t172, ptr @sc_lit_48178627029362, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + ret ptr null +exc.k75: + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t177) + ret ptr %t178 +if.j71: + %t183 = call ptr @scr_dyn_undefined() + %t182 = call ptr @scr_dyn_retain_v(ptr %t183) + ret ptr %t182 +if.j65: + %t184 = load ptr, ptr %sc_l_p_key + %t185 = call zeroext i1 @sc_streq_2677147133778287(ptr %t184) + br i1 %t185, label %if.t76, label %if.j77 +if.t76: + %t186 = load ptr, ptr %sc_l_p_receiver + %t187 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t186, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t188 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t188) + ret ptr null +exc.k79: + %t192 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t188, ptr @sc_lit_2677147133778287) + %t193 = load i32, ptr %exc.cell + %t194 = icmp ne i32 %t193, 0 + %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false) + br i1 %t195, label %exc.u80, label %exc.k81 +exc.u80: + call void @sc_rc_release_dyn(ptr %t188) + ret ptr null +exc.k81: + call void @sc_rc_release_dyn(ptr %t188) + br i1 %t192, label %if.t82, label %if.j83 +if.t82: + %t196 = load ptr, ptr %sc_l_p_receiver + %t197 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t196, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t198 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t197) + %t199 = load i32, ptr %exc.cell + %t200 = icmp ne i32 %t199, 0 + %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false) + br i1 %t201, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t198) + ret ptr null +exc.k85: + %t202 = load ptr, ptr %sc_l_p_receiver + %t203 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t202, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t204 = call ptr @scr_dyn_bag_get(ptr %t198, ptr @sc_lit_2677147133778287, ptr %t203) + %t205 = load i32, ptr %exc.cell + %t206 = icmp ne i32 %t205, 0 + %t207 = call i1 @llvm.expect.i1(i1 %t206, i1 false) + br i1 %t207, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t203) + call void @sc_rc_release_dyn(ptr %t204) + ret ptr null +exc.k87: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t203) + ret ptr %t204 +if.j83: + %t209 = call ptr @scr_dyn_undefined() + %t208 = call ptr @scr_dyn_retain_v(ptr %t209) + ret ptr %t208 +if.j77: + %t210 = load ptr, ptr %sc_l_p_key + %t211 = call zeroext i1 @sc_streq_4044156596960274(ptr %t210) + br i1 %t211, label %if.t88, label %if.j89 +if.t88: + %t212 = load ptr, ptr %sc_l_p_receiver + %t213 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t212, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t214 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t213) + %t215 = load i32, ptr %exc.cell + %t216 = icmp ne i32 %t215, 0 + %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false) + br i1 %t217, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t214) + ret ptr null +exc.k91: + %t218 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t214, ptr @sc_lit_4044156596960274) + %t219 = load i32, ptr %exc.cell + %t220 = icmp ne i32 %t219, 0 + %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false) + br i1 %t221, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t214) + ret ptr null +exc.k93: + call void @sc_rc_release_dyn(ptr %t214) + br i1 %t218, label %if.t94, label %if.j95 +if.t94: + %t222 = load ptr, ptr %sc_l_p_receiver + %t223 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t222, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t224 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t223) + %t225 = load i32, ptr %exc.cell + %t226 = icmp ne i32 %t225, 0 + %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false) + br i1 %t227, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t224) + ret ptr null +exc.k97: + %t228 = load ptr, ptr %sc_l_p_receiver + %t229 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t228, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t230 = call ptr @scr_dyn_bag_get(ptr %t224, ptr @sc_lit_4044156596960274, ptr %t229) + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t224) + call void @sc_rc_release_dyn(ptr %t229) + call void @sc_rc_release_dyn(ptr %t230) + ret ptr null +exc.k99: + call void @sc_rc_release_dyn(ptr %t224) + call void @sc_rc_release_dyn(ptr %t229) + ret ptr %t230 +if.j95: + %t235 = call ptr @scr_dyn_undefined() + %t234 = call ptr @scr_dyn_retain_v(ptr %t235) + ret ptr %t234 +if.j89: + %t236 = load ptr, ptr %sc_l_p_key + %t237 = call zeroext i1 @sc_streq_161925136240866(ptr %t236) + br i1 %t237, label %if.t100, label %if.j101 +if.t100: + %t238 = load ptr, ptr %sc_l_p_receiver + %t239 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t238, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t240 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t239) + %t241 = load i32, ptr %exc.cell + %t242 = icmp ne i32 %t241, 0 + %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false) + br i1 %t243, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t240) + ret ptr null +exc.k103: + %t244 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t240, ptr @sc_lit_161925136240866) + %t245 = load i32, ptr %exc.cell + %t246 = icmp ne i32 %t245, 0 + %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false) + br i1 %t247, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t240) + ret ptr null +exc.k105: + call void @sc_rc_release_dyn(ptr %t240) + br i1 %t244, label %if.t106, label %if.j107 +if.t106: + %t248 = load ptr, ptr %sc_l_p_receiver + %t249 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t248, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t250 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t249) + %t251 = load i32, ptr %exc.cell + %t252 = icmp ne i32 %t251, 0 + %t253 = call i1 @llvm.expect.i1(i1 %t252, i1 false) + br i1 %t253, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t250) + ret ptr null +exc.k109: + %t254 = load ptr, ptr %sc_l_p_receiver + %t255 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t254, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t256 = call ptr @scr_dyn_bag_get(ptr %t250, ptr @sc_lit_161925136240866, ptr %t255) + %t257 = load i32, ptr %exc.cell + %t258 = icmp ne i32 %t257, 0 + %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false) + br i1 %t259, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t250) + call void @sc_rc_release_dyn(ptr %t255) + call void @sc_rc_release_dyn(ptr %t256) + ret ptr null +exc.k111: + call void @sc_rc_release_dyn(ptr %t250) + call void @sc_rc_release_dyn(ptr %t255) + ret ptr %t256 +if.j107: + %t261 = call ptr @scr_dyn_undefined() + %t260 = call ptr @scr_dyn_retain_v(ptr %t261) + ret ptr %t260 +if.j101: + %t262 = load ptr, ptr %sc_l_p_key + %t263 = call zeroext i1 @sc_streq_693828840439997(ptr %t262) + br i1 %t263, label %if.t112, label %if.j113 +if.t112: + %t264 = load ptr, ptr %sc_l_p_receiver + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t266 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t266) + ret ptr null +exc.k115: + %t270 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t266, ptr @sc_lit_693828840439997) + %t271 = load i32, ptr %exc.cell + %t272 = icmp ne i32 %t271, 0 + %t273 = call i1 @llvm.expect.i1(i1 %t272, i1 false) + br i1 %t273, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t266) + ret ptr null +exc.k117: + call void @sc_rc_release_dyn(ptr %t266) + br i1 %t270, label %if.t118, label %if.j119 +if.t118: + %t274 = load ptr, ptr %sc_l_p_receiver + %t275 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t274, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t276 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t275) + %t277 = load i32, ptr %exc.cell + %t278 = icmp ne i32 %t277, 0 + %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false) + br i1 %t279, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t276) + ret ptr null +exc.k121: + %t280 = load ptr, ptr %sc_l_p_receiver + %t281 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t280, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t282 = call ptr @scr_dyn_bag_get(ptr %t276, ptr @sc_lit_693828840439997, ptr %t281) + %t283 = load i32, ptr %exc.cell + %t284 = icmp ne i32 %t283, 0 + %t285 = call i1 @llvm.expect.i1(i1 %t284, i1 false) + br i1 %t285, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_rc_release_dyn(ptr %t281) + call void @sc_rc_release_dyn(ptr %t282) + ret ptr null +exc.k123: + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_rc_release_dyn(ptr %t281) + ret ptr %t282 +if.j119: + %t287 = call ptr @scr_dyn_undefined() + %t286 = call ptr @scr_dyn_retain_v(ptr %t287) + ret ptr %t286 +if.j113: + %t288 = load ptr, ptr %sc_l_p_key + %t289 = call zeroext i1 @sc_streq_587707337530151(ptr %t288) + br i1 %t289, label %if.t124, label %if.j125 +if.t124: + %t290 = load ptr, ptr %sc_l_p_receiver + %t291 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t290, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t292 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t291) + %t293 = load i32, ptr %exc.cell + %t294 = icmp ne i32 %t293, 0 + %t295 = call i1 @llvm.expect.i1(i1 %t294, i1 false) + br i1 %t295, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t292) + ret ptr null +exc.k127: + %t296 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t292, ptr @sc_lit_587707337530151) + %t297 = load i32, ptr %exc.cell + %t298 = icmp ne i32 %t297, 0 + %t299 = call i1 @llvm.expect.i1(i1 %t298, i1 false) + br i1 %t299, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t292) + ret ptr null +exc.k129: + call void @sc_rc_release_dyn(ptr %t292) + br i1 %t296, label %if.t130, label %if.j131 +if.t130: + %t300 = load ptr, ptr %sc_l_p_receiver + %t301 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t300, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t302 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t301) + %t303 = load i32, ptr %exc.cell + %t304 = icmp ne i32 %t303, 0 + %t305 = call i1 @llvm.expect.i1(i1 %t304, i1 false) + br i1 %t305, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t302) + ret ptr null +exc.k133: + %t306 = load ptr, ptr %sc_l_p_receiver + %t307 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t306, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t308 = call ptr @scr_dyn_bag_get(ptr %t302, ptr @sc_lit_587707337530151, ptr %t307) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t302) + call void @sc_rc_release_dyn(ptr %t307) + call void @sc_rc_release_dyn(ptr %t308) + ret ptr null +exc.k135: + call void @sc_rc_release_dyn(ptr %t302) + call void @sc_rc_release_dyn(ptr %t307) + ret ptr %t308 +if.j131: + %t313 = call ptr @scr_dyn_undefined() + %t312 = call ptr @scr_dyn_retain_v(ptr %t313) + ret ptr %t312 +if.j125: + %t314 = load ptr, ptr %sc_l_p_key + %t315 = call zeroext i1 @sc_streq_731773075116702(ptr %t314) + br i1 %t315, label %if.t136, label %if.j137 +if.t136: + call void @scr_throw_error_msg_code(i32 0, ptr @sc_cs_1707336406926269, i64 80, ptr @sc_cs_2988681134725684) + ret ptr null +if.j137: + %t316 = load ptr, ptr %sc_l_p_0 + %t317 = call ptr @sc_rc_retain_dyn(ptr %t316) + %t318 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t317) + %t319 = load i32, ptr %exc.cell + %t320 = icmp ne i32 %t319, 0 + %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false) + br i1 %t321, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t318) + ret ptr null +exc.k139: + %t322 = load ptr, ptr %sc_l_p_key + %t323 = call ptr @sc_rc_retain_str(ptr %t322) + %t324 = load ptr, ptr %sc_l_p_receiver + %t325 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t324, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit) + %t326 = call ptr @scr_dyn_bag_get(ptr %t318, ptr %t323, ptr %t325) + %t327 = load i32, ptr %exc.cell + %t328 = icmp ne i32 %t327, 0 + %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false) + br i1 %t329, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t318) + call void @scr_str_release(ptr %t323) + call void @sc_rc_release_dyn(ptr %t325) + call void @sc_rc_release_dyn(ptr %t326) + ret ptr null +exc.k141: + call void @sc_rc_release_dyn(ptr %t318) + call void @scr_str_release(ptr %t323) + call void @sc_rc_release_dyn(ptr %t325) + ret ptr %t326 +} +define internal ptr @sc_f__x25_dyn_class_keys_489(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_489(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m5_CtxCore(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_490(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.490 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_3804612928743770(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t6, i64 0, i32 3 + %t8 = load ptr, ptr %t7, !tbaa !190 + %t9 = call ptr @sc_rretain_r12(ptr %t8) + %t10 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t9, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit) + call void @sc_rrelease_r12(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_1810373001322451(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t13, i64 0, i32 4 + %t15 = load ptr, ptr %t14, !tbaa !192 + %t16 = call ptr @scr_arr_retain_v(ptr %t15) + %t17 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t16, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t17, ptr @sc_ldr_45_materialize_ops) + call void @scr_arr_release(ptr %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_2227497482646049(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t20, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t22 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t21) + %t23 = load i32, ptr %exc.cell + %t24 = icmp ne i32 %t23, 0 + %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false) + br i1 %t25, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t22) + ret ptr null +exc.k9: + %t26 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t22, ptr @sc_lit_2227497482646049) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t22) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t22) + br i1 %t26, label %if.t12, label %if.j13 +if.t12: + %t30 = load ptr, ptr %sc_l_p_receiver + %t31 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t30, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t32 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t31) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + %t36 = load ptr, ptr %sc_l_p_receiver + %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t38 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_2227497482646049, ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t37) + ret ptr %t38 +if.j13: + %t43 = call ptr @scr_dyn_undefined() + %t42 = call ptr @scr_dyn_retain_v(ptr %t43) + ret ptr %t42 +if.j7: + %t44 = load ptr, ptr %sc_l_p_key + %t45 = call zeroext i1 @sc_streq_228045523956680(ptr %t44) + br i1 %t45, label %if.t18, label %if.j19 +if.t18: + %t46 = load ptr, ptr %sc_l_p_receiver + %t47 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t46, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t48 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t47) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t48) + ret ptr null +exc.k21: + %t52 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t48, ptr @sc_lit_228045523956680) + %t53 = load i32, ptr %exc.cell + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t48) + ret ptr null +exc.k23: + call void @sc_rc_release_dyn(ptr %t48) + br i1 %t52, label %if.t24, label %if.j25 +if.t24: + %t56 = load ptr, ptr %sc_l_p_receiver + %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t58 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t57) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t58) + ret ptr null +exc.k27: + %t62 = load ptr, ptr %sc_l_p_receiver + %t63 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t62, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t64 = call ptr @scr_dyn_bag_get(ptr %t58, ptr @sc_lit_228045523956680, ptr %t63) + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t64) + ret ptr null +exc.k29: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t63) + ret ptr %t64 +if.j25: + %t69 = call ptr @scr_dyn_undefined() + %t68 = call ptr @scr_dyn_retain_v(ptr %t69) + ret ptr %t68 +if.j19: + %t70 = load ptr, ptr %sc_l_p_key + %t71 = call zeroext i1 @sc_streq_731773075116702(ptr %t70) + br i1 %t71, label %if.t30, label %if.j31 +if.t30: + %t72 = load ptr, ptr %sc_l_p_receiver + %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t74 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t73) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t74) + ret ptr null +exc.k33: + %t78 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t74, ptr @sc_lit_731773075116702) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t74) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t74) + br i1 %t78, label %if.t36, label %if.j37 +if.t36: + %t82 = load ptr, ptr %sc_l_p_receiver + %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t84 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t83) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k39: + %t88 = load ptr, ptr %sc_l_p_receiver + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t84, ptr @sc_lit_731773075116702, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + ret ptr null +exc.k41: + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t89) + ret ptr %t90 +if.j37: + %t95 = call ptr @scr_dyn_undefined() + %t94 = call ptr @scr_dyn_retain_v(ptr %t95) + ret ptr %t94 +if.j31: + %t96 = load ptr, ptr %sc_l_p_0 + %t97 = call ptr @sc_rc_retain_dyn(ptr %t96) + %t98 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t97) + %t99 = load i32, ptr %exc.cell + %t100 = icmp ne i32 %t99, 0 + %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false) + br i1 %t101, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t98) + ret ptr null +exc.k43: + %t102 = load ptr, ptr %sc_l_p_key + %t103 = call ptr @sc_rc_retain_str(ptr %t102) + %t104 = load ptr, ptr %sc_l_p_receiver + %t105 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t104, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + %t106 = call ptr @scr_dyn_bag_get(ptr %t98, ptr %t103, ptr %t105) + %t107 = load i32, ptr %exc.cell + %t108 = icmp ne i32 %t107, 0 + %t109 = call i1 @llvm.expect.i1(i1 %t108, i1 false) + br i1 %t109, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t98) + call void @scr_str_release(ptr %t103) + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t106) + ret ptr null +exc.k45: + call void @sc_rc_release_dyn(ptr %t98) + call void @scr_str_release(ptr %t103) + call void @sc_rc_release_dyn(ptr %t105) + ret ptr %t106 +} +define internal ptr @sc_f__x25_dyn_class_keys_490(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_490(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m14_BakedAssets(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_491(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.491 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_4062729090063393(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k5: + %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_4062729090063393) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + br i1 %t12, label %if.t8, label %if.j9 +if.t8: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t18) + ret ptr null +exc.k11: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_4062729090063393, ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k13: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + ret ptr %t24 +if.j9: + %t29 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t29) + ret ptr %t28 +if.j3: + %t30 = load ptr, ptr %sc_l_p_0 + %t31 = call ptr @sc_rc_retain_dyn(ptr %t30) + %t32 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t31) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + %t36 = load ptr, ptr %sc_l_p_key + %t37 = call ptr @sc_rc_retain_str(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_receiver + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + %t40 = call ptr @scr_dyn_bag_get(ptr %t32, ptr %t37, ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_str_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_str_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + ret ptr %t40 +} +define internal ptr @sc_f__x25_dyn_class_keys_491(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_491(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m4_MultipartStorage(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_492(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.492 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_4062729090063393(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k5: + %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_4062729090063393) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + br i1 %t12, label %if.t8, label %if.j9 +if.t8: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t18) + ret ptr null +exc.k11: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_4062729090063393, ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k13: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + ret ptr %t24 +if.j9: + %t29 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t29) + ret ptr %t28 +if.j3: + %t30 = load ptr, ptr %sc_l_p_0 + %t31 = call ptr @sc_rc_retain_dyn(ptr %t30) + %t32 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t31) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + %t36 = load ptr, ptr %sc_l_p_key + %t37 = call ptr @sc_rc_retain_str(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_receiver + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + %t40 = call ptr @scr_dyn_bag_get(ptr %t32, ptr %t37, ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_str_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_str_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + ret ptr %t40 +} +define internal ptr @sc_f__x25_dyn_class_keys_492(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_492(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m4_MemoryStorage(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_493(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.493 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_3251470234448474(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t6, i64 0, i32 1 + %t8 = load double, ptr %t7, !tbaa !14 + %t9 = call ptr @sc_td_2(double %t8) + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_p_key + %t11 = call zeroext i1 @sc_streq_1295387805544367(ptr %t10) + br i1 %t11, label %if.t4, label %if.j5 +if.t4: + %t12 = load ptr, ptr %sc_l_p_receiver + %t13 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t12, i64 0, i32 2 + %t14 = load ptr, ptr %t13, !tbaa !16 + %t15 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t14) + %t16 = call ptr @sc_ldu_5(ptr %t15) + call void @sc_release__x25_m4_MultipartStorage(ptr %t15) + ret ptr %t16 +if.j5: + %t17 = load ptr, ptr %sc_l_p_key + %t18 = call zeroext i1 @sc_streq_3528980137111930(ptr %t17) + br i1 %t18, label %if.t6, label %if.j7 +if.t6: + %t19 = load ptr, ptr %sc_l_p_receiver + %t20 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t19, i64 0, i32 3 + %t21 = load double, ptr %t20, !tbaa !18 + %t22 = call ptr @sc_td_2(double %t21) + ret ptr %t22 +if.j7: + %t23 = load ptr, ptr %sc_l_p_key + %t24 = call zeroext i1 @sc_streq_4476522814667484(ptr %t23) + br i1 %t24, label %if.t8, label %if.j9 +if.t8: + %t25 = load ptr, ptr %sc_l_p_receiver + %t26 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t25, i64 0, i32 4 + %t27 = load double, ptr %t26, !tbaa !20 + %t28 = call ptr @sc_td_2(double %t27) + ret ptr %t28 +if.j9: + %t29 = load ptr, ptr %sc_l_p_key + %t30 = call zeroext i1 @sc_streq_3328648022724882(ptr %t29) + br i1 %t30, label %if.t10, label %if.j11 +if.t10: + %t31 = load ptr, ptr %sc_l_p_receiver + %t32 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t31, i64 0, i32 5 + %t33 = load double, ptr %t32, !tbaa !22 + %t34 = call ptr @sc_td_2(double %t33) + ret ptr %t34 +if.j11: + %t35 = load ptr, ptr %sc_l_p_0 + %t36 = call ptr @sc_rc_retain_dyn(ptr %t35) + %t37 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t36) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t37) + ret ptr null +exc.k13: + %t41 = load ptr, ptr %sc_l_p_key + %t42 = call ptr @sc_rc_retain_str(ptr %t41) + %t43 = load ptr, ptr %sc_l_p_receiver + %t44 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t43, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t44, ptr @sc_ldr_32_materialize_cops) + %t45 = call ptr @scr_dyn_bag_get(ptr %t37, ptr %t42, ptr %t44) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t37) + call void @scr_str_release(ptr %t42) + call void @sc_rc_release_dyn(ptr %t44) + call void @sc_rc_release_dyn(ptr %t45) + ret ptr null +exc.k15: + call void @sc_rc_release_dyn(ptr %t37) + call void @scr_str_release(ptr %t42) + call void @sc_rc_release_dyn(ptr %t44) + ret ptr %t45 +} +define internal ptr @sc_f__x25_dyn_class_keys_493(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_493(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m5_MpCfg(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_494(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.494 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_1287587581000978(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !138 + %t9 = call ptr @scr_union_retain_v(ptr %t8) + %t10 = call ptr @sc_td_9(ptr %t9) + call void @scr_union_release(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_1774444802243527(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t13, i64 0, i32 2 + %t15 = load ptr, ptr %t14, !tbaa !136 + %t16 = call ptr @sc_rc_retain_dyn(ptr %t15) + ret ptr %t16 +if.j5: + %t17 = load ptr, ptr %sc_l_p_key + %t18 = call zeroext i1 @sc_streq_964469684973146(ptr %t17) + br i1 %t18, label %if.t6, label %if.j7 +if.t6: + %t19 = load ptr, ptr %sc_l_p_receiver + %t20 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t19, i64 0, i32 3 + %t21 = load ptr, ptr %t20, !tbaa !140 + %t22 = call ptr @sc_rretain_r0(ptr %t21) + %t23 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t22, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + call void @sc_rrelease_r0(ptr %t22) + ret ptr %t23 +if.j7: + %t24 = load ptr, ptr %sc_l_p_key + %t25 = call zeroext i1 @sc_streq_1867568051177534(ptr %t24) + br i1 %t25, label %if.t8, label %if.j9 +if.t8: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t26, i64 0, i32 4 + %t28 = load ptr, ptr %t27, !tbaa !142 + %t29 = call ptr @sc_rretain_r3(ptr %t28) + %t30 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t29, ptr @sc_rretain_r3, ptr @sc_rrelease_r3, ptr @sc_cs_4113144339560478, i64 9, ptr @sc_ldr_9_materialize, ptr @sc_ldr_9_materialize_commit) + call void @sc_rrelease_r3(ptr %t29) + ret ptr %t30 +if.j9: + %t31 = load ptr, ptr %sc_l_p_key + %t32 = call zeroext i1 @sc_streq_1609576561362083(ptr %t31) + br i1 %t32, label %if.t10, label %if.j11 +if.t10: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t33, i64 0, i32 5 + %t35 = load ptr, ptr %t34, !tbaa !76 + %t36 = call ptr @sc_rc_retain_str(ptr %t35) + %t37 = call ptr @sc_td_0(ptr %t36) + call void @scr_str_release(ptr %t36) + ret ptr %t37 +if.j11: + %t38 = load ptr, ptr %sc_l_p_key + %t39 = call zeroext i1 @sc_streq_719487464480143(ptr %t38) + br i1 %t39, label %if.t12, label %if.j13 +if.t12: + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t40, i64 0, i32 6 + %t42 = load ptr, ptr %t41, !tbaa !78 + %t43 = call ptr @sc_rc_retain_str(ptr %t42) + %t44 = call ptr @sc_td_0(ptr %t43) + call void @scr_str_release(ptr %t43) + ret ptr %t44 +if.j13: + %t45 = load ptr, ptr %sc_l_p_key + %t46 = call zeroext i1 @sc_streq_2826818497658723(ptr %t45) + br i1 %t46, label %if.t14, label %if.j15 +if.t14: + %t47 = load ptr, ptr %sc_l_p_receiver + %t48 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t47, i64 0, i32 7 + %t49 = load ptr, ptr %t48, !tbaa !96 + %t50 = call ptr @sc_rc_retain_str(ptr %t49) + %t51 = call ptr @sc_td_0(ptr %t50) + call void @scr_str_release(ptr %t50) + ret ptr %t51 +if.j15: + %t52 = load ptr, ptr %sc_l_p_key + %t53 = call zeroext i1 @sc_streq_2528619671045714(ptr %t52) + br i1 %t53, label %if.t16, label %if.j17 +if.t16: + %t54 = load ptr, ptr %sc_l_p_receiver + %t55 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t54, i64 0, i32 8 + %t56 = load ptr, ptr %t55, !tbaa !144 + %t57 = call ptr @sc_rc_retain_str(ptr %t56) + %t58 = call ptr @sc_td_0(ptr %t57) + call void @scr_str_release(ptr %t57) + ret ptr %t58 +if.j17: + %t59 = load ptr, ptr %sc_l_p_key + %t60 = call zeroext i1 @sc_streq_4247546884021115(ptr %t59) + br i1 %t60, label %if.t18, label %if.j19 +if.t18: + %t61 = load ptr, ptr %sc_l_p_receiver + %t62 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t61, i64 0, i32 9 + %t63 = load ptr, ptr %t62, !tbaa !146 + %t64 = call ptr @sc_nretain_array(ptr %t63) + %t65 = call ptr @sc_ldu_2(ptr %t64) + call void @scr_arr_release(ptr %t64) + ret ptr %t65 +if.j19: + %t66 = load ptr, ptr %sc_l_p_key + %t67 = call zeroext i1 @sc_streq_3282989543243776(ptr %t66) + br i1 %t67, label %if.t20, label %if.j21 +if.t20: + %t68 = load ptr, ptr %sc_l_p_receiver + %t69 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t68, i64 0, i32 10 + %t70 = load ptr, ptr %t69, !tbaa !148 + %t71 = call ptr @sc_nretain_array(ptr %t70) + %t72 = call ptr @sc_ldu_2(ptr %t71) + call void @scr_arr_release(ptr %t71) + ret ptr %t72 +if.j21: + %t73 = load ptr, ptr %sc_l_p_key + %t74 = call zeroext i1 @sc_streq_886324725696546(ptr %t73) + br i1 %t74, label %if.t22, label %if.j23 +if.t22: + %t75 = load ptr, ptr %sc_l_p_receiver + %t76 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t75, i64 0, i32 11 + %t77 = load ptr, ptr %t76, !tbaa !150 + %t78 = call ptr @scr_arr_retain_v(ptr %t77) + %t79 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t78, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t79, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t78) + ret ptr %t79 +if.j23: + %t80 = load ptr, ptr %sc_l_p_key + %t81 = call zeroext i1 @sc_streq_535630044833136(ptr %t80) + br i1 %t81, label %if.t24, label %if.j25 +if.t24: + %t82 = load ptr, ptr %sc_l_p_receiver + %t83 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t82, i64 0, i32 12 + %t84 = load ptr, ptr %t83, !tbaa !152 + %t85 = call ptr @scr_arr_retain_v(ptr %t84) + %t86 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t85, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t86, ptr @sc_ldr_10_materialize_ops) + call void @scr_arr_release(ptr %t85) + ret ptr %t86 +if.j25: + %t87 = load ptr, ptr %sc_l_p_key + %t88 = call zeroext i1 @sc_streq_4400741686745380(ptr %t87) + br i1 %t88, label %if.t26, label %if.j27 +if.t26: + %t89 = load ptr, ptr %sc_l_p_receiver + %t90 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t89, i64 0, i32 13 + %t91 = load double, ptr %t90, !tbaa !154 + %t92 = call ptr @sc_td_2(double %t91) + ret ptr %t92 +if.j27: + %t93 = load ptr, ptr %sc_l_p_key + %t94 = call zeroext i1 @sc_streq_4347805238344460(ptr %t93) + br i1 %t94, label %if.t28, label %if.j29 +if.t28: + %t95 = load ptr, ptr %sc_l_p_receiver + %t96 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t95, i64 0, i32 14 + %t97 = load ptr, ptr %t96, !tbaa !156 + %t98 = call ptr @sc_rc_retain_str(ptr %t97) + %t99 = call ptr @sc_td_0(ptr %t98) + call void @scr_str_release(ptr %t98) + ret ptr %t99 +if.j29: + %t100 = load ptr, ptr %sc_l_p_key + %t101 = call zeroext i1 @sc_streq_3191748704064557(ptr %t100) + br i1 %t101, label %if.t30, label %if.j31 +if.t30: + %t102 = load ptr, ptr %sc_l_p_receiver + %t103 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t102, i64 0, i32 15 + %t104 = load ptr, ptr %t103, !tbaa !158 + %t105 = call ptr @scr_arr_retain_v(ptr %t104) + %t106 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t105, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t106, ptr @sc_ldr_11_materialize_ops) + call void @scr_arr_release(ptr %t105) + ret ptr %t106 +if.j31: + %t107 = load ptr, ptr %sc_l_p_key + %t108 = call zeroext i1 @sc_streq_232607068610214(ptr %t107) + br i1 %t108, label %if.t32, label %if.j33 +if.t32: + %t109 = load ptr, ptr %sc_l_p_receiver + %t110 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t109, i64 0, i32 16 + %t111 = load ptr, ptr %t110, !tbaa !160 + %t112 = call ptr @scr_arr_retain_v(ptr %t111) + %t113 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t112, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t113, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t112) + ret ptr %t113 +if.j33: + %t114 = load ptr, ptr %sc_l_p_key + %t115 = call zeroext i1 @sc_streq_3786966061696883(ptr %t114) + br i1 %t115, label %if.t34, label %if.j35 +if.t34: + %t116 = load ptr, ptr %sc_l_p_receiver + %t117 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t116, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t118 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t117) + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t118) + ret ptr null +exc.k37: + %t122 = call zeroext i1 @scr_dyn_has_own(ptr %t118, ptr @sc_lit_3786966061696883) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t118) + ret ptr null +exc.k39: + call void @sc_rc_release_dyn(ptr %t118) + br i1 %t122, label %if.t40, label %if.j41 +if.t40: + %t126 = load ptr, ptr %sc_l_p_receiver + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t128) + ret ptr null +exc.k43: + %t132 = load ptr, ptr %sc_l_p_receiver + %t133 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t132, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t134 = call ptr @scr_dyn_bag_get(ptr %t128, ptr @sc_lit_3786966061696883, ptr %t133) + %t135 = load i32, ptr %exc.cell + %t136 = icmp ne i32 %t135, 0 + %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false) + br i1 %t137, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t128) + call void @sc_rc_release_dyn(ptr %t133) + call void @sc_rc_release_dyn(ptr %t134) + ret ptr null +exc.k45: + call void @sc_rc_release_dyn(ptr %t128) + call void @sc_rc_release_dyn(ptr %t133) + ret ptr %t134 +if.j41: + %t138 = load ptr, ptr %sc_l_p_receiver + %t139 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_get_x3a_raw(ptr %t138) + %t140 = load i32, ptr %exc.cell + %t141 = icmp ne i32 %t140, 0 + %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false) + br i1 %t142, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t139) + ret ptr null +exc.k47: + ret ptr %t139 +if.j35: + %t143 = load ptr, ptr %sc_l_p_key + %t144 = call zeroext i1 @sc_streq_308138762104264(ptr %t143) + br i1 %t144, label %if.t48, label %if.j49 +if.t48: + %t145 = load ptr, ptr %sc_l_p_receiver + %t146 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t145, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t147 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t146) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t147) + ret ptr null +exc.k51: + %t151 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t147, ptr @sc_lit_308138762104264) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t147) + ret ptr null +exc.k53: + call void @sc_rc_release_dyn(ptr %t147) + br i1 %t151, label %if.t54, label %if.j55 +if.t54: + %t155 = load ptr, ptr %sc_l_p_receiver + %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t157 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t156) + %t158 = load i32, ptr %exc.cell + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t157) + ret ptr null +exc.k57: + %t161 = load ptr, ptr %sc_l_p_receiver + %t162 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t161, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t163 = call ptr @scr_dyn_bag_get(ptr %t157, ptr @sc_lit_308138762104264, ptr %t162) + %t164 = load i32, ptr %exc.cell + %t165 = icmp ne i32 %t164, 0 + %t166 = call i1 @llvm.expect.i1(i1 %t165, i1 false) + br i1 %t166, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t163) + ret ptr null +exc.k59: + call void @sc_rc_release_dyn(ptr %t157) + call void @sc_rc_release_dyn(ptr %t162) + ret ptr %t163 +if.j55: + %t168 = call ptr @scr_dyn_undefined() + %t167 = call ptr @scr_dyn_retain_v(ptr %t168) + ret ptr %t167 +if.j49: + %t169 = load ptr, ptr %sc_l_p_key + %t170 = call zeroext i1 @sc_streq_2356143898347316(ptr %t169) + br i1 %t170, label %if.t60, label %if.j61 +if.t60: + %t171 = load ptr, ptr %sc_l_p_receiver + %t172 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t171, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t173 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t172) + %t174 = load i32, ptr %exc.cell + %t175 = icmp ne i32 %t174, 0 + %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false) + br i1 %t176, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t173) + ret ptr null +exc.k63: + %t177 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t173, ptr @sc_lit_2356143898347316) + %t178 = load i32, ptr %exc.cell + %t179 = icmp ne i32 %t178, 0 + %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false) + br i1 %t180, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t173) + ret ptr null +exc.k65: + call void @sc_rc_release_dyn(ptr %t173) + br i1 %t177, label %if.t66, label %if.j67 +if.t66: + %t181 = load ptr, ptr %sc_l_p_receiver + %t182 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t181, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t183 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t182) + %t184 = load i32, ptr %exc.cell + %t185 = icmp ne i32 %t184, 0 + %t186 = call i1 @llvm.expect.i1(i1 %t185, i1 false) + br i1 %t186, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t183) + ret ptr null +exc.k69: + %t187 = load ptr, ptr %sc_l_p_receiver + %t188 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t187, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t189 = call ptr @scr_dyn_bag_get(ptr %t183, ptr @sc_lit_2356143898347316, ptr %t188) + %t190 = load i32, ptr %exc.cell + %t191 = icmp ne i32 %t190, 0 + %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false) + br i1 %t192, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t183) + call void @sc_rc_release_dyn(ptr %t188) + call void @sc_rc_release_dyn(ptr %t189) + ret ptr null +exc.k71: + call void @sc_rc_release_dyn(ptr %t183) + call void @sc_rc_release_dyn(ptr %t188) + ret ptr %t189 +if.j67: + %t194 = call ptr @scr_dyn_undefined() + %t193 = call ptr @scr_dyn_retain_v(ptr %t194) + ret ptr %t193 +if.j61: + %t195 = load ptr, ptr %sc_l_p_key + %t196 = call zeroext i1 @sc_streq_3600534565598564(ptr %t195) + br i1 %t196, label %if.t72, label %if.j73 +if.t72: + %t197 = load ptr, ptr %sc_l_p_receiver + %t198 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t197, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t199 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t198) + %t200 = load i32, ptr %exc.cell + %t201 = icmp ne i32 %t200, 0 + %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false) + br i1 %t202, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t199) + ret ptr null +exc.k75: + %t203 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t199, ptr @sc_lit_3600534565598564) + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t199) + ret ptr null +exc.k77: + call void @sc_rc_release_dyn(ptr %t199) + br i1 %t203, label %if.t78, label %if.j79 +if.t78: + %t207 = load ptr, ptr %sc_l_p_receiver + %t208 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t207, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t209 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t208) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u80, label %exc.k81 +exc.u80: + call void @sc_rc_release_dyn(ptr %t209) + ret ptr null +exc.k81: + %t213 = load ptr, ptr %sc_l_p_receiver + %t214 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t213, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t215 = call ptr @scr_dyn_bag_get(ptr %t209, ptr @sc_lit_3600534565598564, ptr %t214) + %t216 = load i32, ptr %exc.cell + %t217 = icmp ne i32 %t216, 0 + %t218 = call i1 @llvm.expect.i1(i1 %t217, i1 false) + br i1 %t218, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t209) + call void @sc_rc_release_dyn(ptr %t214) + call void @sc_rc_release_dyn(ptr %t215) + ret ptr null +exc.k83: + call void @sc_rc_release_dyn(ptr %t209) + call void @sc_rc_release_dyn(ptr %t214) + ret ptr %t215 +if.j79: + %t220 = call ptr @scr_dyn_undefined() + %t219 = call ptr @scr_dyn_retain_v(ptr %t220) + ret ptr %t219 +if.j73: + %t221 = load ptr, ptr %sc_l_p_key + %t222 = call zeroext i1 @sc_streq_1621825757343351(ptr %t221) + br i1 %t222, label %if.t84, label %if.j85 +if.t84: + %t223 = load ptr, ptr %sc_l_p_receiver + %t224 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t223, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t225 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t224) + %t226 = load i32, ptr %exc.cell + %t227 = icmp ne i32 %t226, 0 + %t228 = call i1 @llvm.expect.i1(i1 %t227, i1 false) + br i1 %t228, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t225) + ret ptr null +exc.k87: + %t229 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t225, ptr @sc_lit_1621825757343351) + %t230 = load i32, ptr %exc.cell + %t231 = icmp ne i32 %t230, 0 + %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false) + br i1 %t232, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t225) + ret ptr null +exc.k89: + call void @sc_rc_release_dyn(ptr %t225) + br i1 %t229, label %if.t90, label %if.j91 +if.t90: + %t233 = load ptr, ptr %sc_l_p_receiver + %t234 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t233, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t235 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t234) + %t236 = load i32, ptr %exc.cell + %t237 = icmp ne i32 %t236, 0 + %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false) + br i1 %t238, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t235) + ret ptr null +exc.k93: + %t239 = load ptr, ptr %sc_l_p_receiver + %t240 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t239, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t241 = call ptr @scr_dyn_bag_get(ptr %t235, ptr @sc_lit_1621825757343351, ptr %t240) + %t242 = load i32, ptr %exc.cell + %t243 = icmp ne i32 %t242, 0 + %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false) + br i1 %t244, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t235) + call void @sc_rc_release_dyn(ptr %t240) + call void @sc_rc_release_dyn(ptr %t241) + ret ptr null +exc.k95: + call void @sc_rc_release_dyn(ptr %t235) + call void @sc_rc_release_dyn(ptr %t240) + ret ptr %t241 +if.j91: + %t246 = call ptr @scr_dyn_undefined() + %t245 = call ptr @scr_dyn_retain_v(ptr %t246) + ret ptr %t245 +if.j85: + %t247 = load ptr, ptr %sc_l_p_key + %t248 = call zeroext i1 @sc_streq_2827456990858395(ptr %t247) + br i1 %t248, label %if.t96, label %if.j97 +if.t96: + %t249 = load ptr, ptr %sc_l_p_receiver + %t250 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t249, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t251 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t250) + %t252 = load i32, ptr %exc.cell + %t253 = icmp ne i32 %t252, 0 + %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false) + br i1 %t254, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t251) + ret ptr null +exc.k99: + %t255 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t251, ptr @sc_lit_2827456990858395) + %t256 = load i32, ptr %exc.cell + %t257 = icmp ne i32 %t256, 0 + %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false) + br i1 %t258, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t251) + ret ptr null +exc.k101: + call void @sc_rc_release_dyn(ptr %t251) + br i1 %t255, label %if.t102, label %if.j103 +if.t102: + %t259 = load ptr, ptr %sc_l_p_receiver + %t260 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t259, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t261 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t260) + %t262 = load i32, ptr %exc.cell + %t263 = icmp ne i32 %t262, 0 + %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false) + br i1 %t264, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t261) + ret ptr null +exc.k105: + %t265 = load ptr, ptr %sc_l_p_receiver + %t266 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t265, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t267 = call ptr @scr_dyn_bag_get(ptr %t261, ptr @sc_lit_2827456990858395, ptr %t266) + %t268 = load i32, ptr %exc.cell + %t269 = icmp ne i32 %t268, 0 + %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false) + br i1 %t270, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t261) + call void @sc_rc_release_dyn(ptr %t266) + call void @sc_rc_release_dyn(ptr %t267) + ret ptr null +exc.k107: + call void @sc_rc_release_dyn(ptr %t261) + call void @sc_rc_release_dyn(ptr %t266) + ret ptr %t267 +if.j103: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + ret ptr %t271 +if.j97: + %t273 = load ptr, ptr %sc_l_p_key + %t274 = call zeroext i1 @sc_streq_2968093406050353(ptr %t273) + br i1 %t274, label %if.t108, label %if.j109 +if.t108: + %t275 = load ptr, ptr %sc_l_p_receiver + %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t277 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t276) + %t278 = load i32, ptr %exc.cell + %t279 = icmp ne i32 %t278, 0 + %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false) + br i1 %t280, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t277) + ret ptr null +exc.k111: + %t281 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t277, ptr @sc_lit_2968093406050353) + %t282 = load i32, ptr %exc.cell + %t283 = icmp ne i32 %t282, 0 + %t284 = call i1 @llvm.expect.i1(i1 %t283, i1 false) + br i1 %t284, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t277) + ret ptr null +exc.k113: + call void @sc_rc_release_dyn(ptr %t277) + br i1 %t281, label %if.t114, label %if.j115 +if.t114: + %t285 = load ptr, ptr %sc_l_p_receiver + %t286 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t285, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t287 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t286) + %t288 = load i32, ptr %exc.cell + %t289 = icmp ne i32 %t288, 0 + %t290 = call i1 @llvm.expect.i1(i1 %t289, i1 false) + br i1 %t290, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t287) + ret ptr null +exc.k117: + %t291 = load ptr, ptr %sc_l_p_receiver + %t292 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t291, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t293 = call ptr @scr_dyn_bag_get(ptr %t287, ptr @sc_lit_2968093406050353, ptr %t292) + %t294 = load i32, ptr %exc.cell + %t295 = icmp ne i32 %t294, 0 + %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false) + br i1 %t296, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t287) + call void @sc_rc_release_dyn(ptr %t292) + call void @sc_rc_release_dyn(ptr %t293) + ret ptr null +exc.k119: + call void @sc_rc_release_dyn(ptr %t287) + call void @sc_rc_release_dyn(ptr %t292) + ret ptr %t293 +if.j115: + %t298 = call ptr @scr_dyn_undefined() + %t297 = call ptr @scr_dyn_retain_v(ptr %t298) + ret ptr %t297 +if.j109: + %t299 = load ptr, ptr %sc_l_p_key + %t300 = call zeroext i1 @sc_streq_3529749794644284(ptr %t299) + br i1 %t300, label %if.t120, label %if.j121 +if.t120: + %t301 = load ptr, ptr %sc_l_p_receiver + %t302 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t301, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t303 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t302) + %t304 = load i32, ptr %exc.cell + %t305 = icmp ne i32 %t304, 0 + %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false) + br i1 %t306, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t303) + ret ptr null +exc.k123: + %t307 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t303, ptr @sc_lit_3529749794644284) + %t308 = load i32, ptr %exc.cell + %t309 = icmp ne i32 %t308, 0 + %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false) + br i1 %t310, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t303) + ret ptr null +exc.k125: + call void @sc_rc_release_dyn(ptr %t303) + br i1 %t307, label %if.t126, label %if.j127 +if.t126: + %t311 = load ptr, ptr %sc_l_p_receiver + %t312 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t311, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t313 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t312) + %t314 = load i32, ptr %exc.cell + %t315 = icmp ne i32 %t314, 0 + %t316 = call i1 @llvm.expect.i1(i1 %t315, i1 false) + br i1 %t316, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t313) + ret ptr null +exc.k129: + %t317 = load ptr, ptr %sc_l_p_receiver + %t318 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t317, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t319 = call ptr @scr_dyn_bag_get(ptr %t313, ptr @sc_lit_3529749794644284, ptr %t318) + %t320 = load i32, ptr %exc.cell + %t321 = icmp ne i32 %t320, 0 + %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false) + br i1 %t322, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_rc_release_dyn(ptr %t318) + call void @sc_rc_release_dyn(ptr %t319) + ret ptr null +exc.k131: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_rc_release_dyn(ptr %t318) + ret ptr %t319 +if.j127: + %t324 = call ptr @scr_dyn_undefined() + %t323 = call ptr @scr_dyn_retain_v(ptr %t324) + ret ptr %t323 +if.j121: + %t325 = load ptr, ptr %sc_l_p_key + %t326 = call zeroext i1 @sc_streq_124879919648070(ptr %t325) + br i1 %t326, label %if.t132, label %if.j133 +if.t132: + %t327 = load ptr, ptr %sc_l_p_receiver + %t328 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t327, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t329 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t328) + %t330 = load i32, ptr %exc.cell + %t331 = icmp ne i32 %t330, 0 + %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false) + br i1 %t332, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t329) + ret ptr null +exc.k135: + %t333 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t329, ptr @sc_lit_124879919648070) + %t334 = load i32, ptr %exc.cell + %t335 = icmp ne i32 %t334, 0 + %t336 = call i1 @llvm.expect.i1(i1 %t335, i1 false) + br i1 %t336, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t329) + ret ptr null +exc.k137: + call void @sc_rc_release_dyn(ptr %t329) + br i1 %t333, label %if.t138, label %if.j139 +if.t138: + %t337 = load ptr, ptr %sc_l_p_receiver + %t338 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t337, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t339 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t338) + %t340 = load i32, ptr %exc.cell + %t341 = icmp ne i32 %t340, 0 + %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false) + br i1 %t342, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t339) + ret ptr null +exc.k141: + %t343 = load ptr, ptr %sc_l_p_receiver + %t344 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t343, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t345 = call ptr @scr_dyn_bag_get(ptr %t339, ptr @sc_lit_124879919648070, ptr %t344) + %t346 = load i32, ptr %exc.cell + %t347 = icmp ne i32 %t346, 0 + %t348 = call i1 @llvm.expect.i1(i1 %t347, i1 false) + br i1 %t348, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t339) + call void @sc_rc_release_dyn(ptr %t344) + call void @sc_rc_release_dyn(ptr %t345) + ret ptr null +exc.k143: + call void @sc_rc_release_dyn(ptr %t339) + call void @sc_rc_release_dyn(ptr %t344) + ret ptr %t345 +if.j139: + %t350 = call ptr @scr_dyn_undefined() + %t349 = call ptr @scr_dyn_retain_v(ptr %t350) + ret ptr %t349 +if.j133: + %t351 = load ptr, ptr %sc_l_p_key + %t352 = call zeroext i1 @sc_streq_528144782449140(ptr %t351) + br i1 %t352, label %if.t144, label %if.j145 +if.t144: + %t353 = load ptr, ptr %sc_l_p_receiver + %t354 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t353, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t355 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t354) + %t356 = load i32, ptr %exc.cell + %t357 = icmp ne i32 %t356, 0 + %t358 = call i1 @llvm.expect.i1(i1 %t357, i1 false) + br i1 %t358, label %exc.u146, label %exc.k147 +exc.u146: + call void @sc_rc_release_dyn(ptr %t355) + ret ptr null +exc.k147: + %t359 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t355, ptr @sc_lit_528144782449140) + %t360 = load i32, ptr %exc.cell + %t361 = icmp ne i32 %t360, 0 + %t362 = call i1 @llvm.expect.i1(i1 %t361, i1 false) + br i1 %t362, label %exc.u148, label %exc.k149 +exc.u148: + call void @sc_rc_release_dyn(ptr %t355) + ret ptr null +exc.k149: + call void @sc_rc_release_dyn(ptr %t355) + br i1 %t359, label %if.t150, label %if.j151 +if.t150: + %t363 = load ptr, ptr %sc_l_p_receiver + %t364 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t363, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t365 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t364) + %t366 = load i32, ptr %exc.cell + %t367 = icmp ne i32 %t366, 0 + %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false) + br i1 %t368, label %exc.u152, label %exc.k153 +exc.u152: + call void @sc_rc_release_dyn(ptr %t365) + ret ptr null +exc.k153: + %t369 = load ptr, ptr %sc_l_p_receiver + %t370 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t369, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t371 = call ptr @scr_dyn_bag_get(ptr %t365, ptr @sc_lit_528144782449140, ptr %t370) + %t372 = load i32, ptr %exc.cell + %t373 = icmp ne i32 %t372, 0 + %t374 = call i1 @llvm.expect.i1(i1 %t373, i1 false) + br i1 %t374, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t365) + call void @sc_rc_release_dyn(ptr %t370) + call void @sc_rc_release_dyn(ptr %t371) + ret ptr null +exc.k155: + call void @sc_rc_release_dyn(ptr %t365) + call void @sc_rc_release_dyn(ptr %t370) + ret ptr %t371 +if.j151: + %t376 = call ptr @scr_dyn_undefined() + %t375 = call ptr @scr_dyn_retain_v(ptr %t376) + ret ptr %t375 +if.j145: + %t377 = load ptr, ptr %sc_l_p_key + %t378 = call zeroext i1 @sc_streq_616655122974952(ptr %t377) + br i1 %t378, label %if.t156, label %if.j157 +if.t156: + %t379 = load ptr, ptr %sc_l_p_receiver + %t380 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t379, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t381 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t380) + %t382 = load i32, ptr %exc.cell + %t383 = icmp ne i32 %t382, 0 + %t384 = call i1 @llvm.expect.i1(i1 %t383, i1 false) + br i1 %t384, label %exc.u158, label %exc.k159 +exc.u158: + call void @sc_rc_release_dyn(ptr %t381) + ret ptr null +exc.k159: + %t385 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t381, ptr @sc_lit_616655122974952) + %t386 = load i32, ptr %exc.cell + %t387 = icmp ne i32 %t386, 0 + %t388 = call i1 @llvm.expect.i1(i1 %t387, i1 false) + br i1 %t388, label %exc.u160, label %exc.k161 +exc.u160: + call void @sc_rc_release_dyn(ptr %t381) + ret ptr null +exc.k161: + call void @sc_rc_release_dyn(ptr %t381) + br i1 %t385, label %if.t162, label %if.j163 +if.t162: + %t389 = load ptr, ptr %sc_l_p_receiver + %t390 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t389, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t391 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t390) + %t392 = load i32, ptr %exc.cell + %t393 = icmp ne i32 %t392, 0 + %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false) + br i1 %t394, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t391) + ret ptr null +exc.k165: + %t395 = load ptr, ptr %sc_l_p_receiver + %t396 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t395, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t397 = call ptr @scr_dyn_bag_get(ptr %t391, ptr @sc_lit_616655122974952, ptr %t396) + %t398 = load i32, ptr %exc.cell + %t399 = icmp ne i32 %t398, 0 + %t400 = call i1 @llvm.expect.i1(i1 %t399, i1 false) + br i1 %t400, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t391) + call void @sc_rc_release_dyn(ptr %t396) + call void @sc_rc_release_dyn(ptr %t397) + ret ptr null +exc.k167: + call void @sc_rc_release_dyn(ptr %t391) + call void @sc_rc_release_dyn(ptr %t396) + ret ptr %t397 +if.j163: + %t402 = call ptr @scr_dyn_undefined() + %t401 = call ptr @scr_dyn_retain_v(ptr %t402) + ret ptr %t401 +if.j157: + %t403 = load ptr, ptr %sc_l_p_key + %t404 = call zeroext i1 @sc_streq_40786511283622(ptr %t403) + br i1 %t404, label %if.t168, label %if.j169 +if.t168: + %t405 = load ptr, ptr %sc_l_p_receiver + %t406 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t405, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t407 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t406) + %t408 = load i32, ptr %exc.cell + %t409 = icmp ne i32 %t408, 0 + %t410 = call i1 @llvm.expect.i1(i1 %t409, i1 false) + br i1 %t410, label %exc.u170, label %exc.k171 +exc.u170: + call void @sc_rc_release_dyn(ptr %t407) + ret ptr null +exc.k171: + %t411 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t407, ptr @sc_lit_40786511283622) + %t412 = load i32, ptr %exc.cell + %t413 = icmp ne i32 %t412, 0 + %t414 = call i1 @llvm.expect.i1(i1 %t413, i1 false) + br i1 %t414, label %exc.u172, label %exc.k173 +exc.u172: + call void @sc_rc_release_dyn(ptr %t407) + ret ptr null +exc.k173: + call void @sc_rc_release_dyn(ptr %t407) + br i1 %t411, label %if.t174, label %if.j175 +if.t174: + %t415 = load ptr, ptr %sc_l_p_receiver + %t416 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t415, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t417 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t416) + %t418 = load i32, ptr %exc.cell + %t419 = icmp ne i32 %t418, 0 + %t420 = call i1 @llvm.expect.i1(i1 %t419, i1 false) + br i1 %t420, label %exc.u176, label %exc.k177 +exc.u176: + call void @sc_rc_release_dyn(ptr %t417) + ret ptr null +exc.k177: + %t421 = load ptr, ptr %sc_l_p_receiver + %t422 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t421, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t423 = call ptr @scr_dyn_bag_get(ptr %t417, ptr @sc_lit_40786511283622, ptr %t422) + %t424 = load i32, ptr %exc.cell + %t425 = icmp ne i32 %t424, 0 + %t426 = call i1 @llvm.expect.i1(i1 %t425, i1 false) + br i1 %t426, label %exc.u178, label %exc.k179 +exc.u178: + call void @sc_rc_release_dyn(ptr %t417) + call void @sc_rc_release_dyn(ptr %t422) + call void @sc_rc_release_dyn(ptr %t423) + ret ptr null +exc.k179: + call void @sc_rc_release_dyn(ptr %t417) + call void @sc_rc_release_dyn(ptr %t422) + ret ptr %t423 +if.j175: + %t428 = call ptr @scr_dyn_undefined() + %t427 = call ptr @scr_dyn_retain_v(ptr %t428) + ret ptr %t427 +if.j169: + %t429 = load ptr, ptr %sc_l_p_key + %t430 = call zeroext i1 @sc_streq_1048673592241930(ptr %t429) + br i1 %t430, label %if.t180, label %if.j181 +if.t180: + %t431 = load ptr, ptr %sc_l_p_receiver + %t432 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t431, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t433 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t432) + %t434 = load i32, ptr %exc.cell + %t435 = icmp ne i32 %t434, 0 + %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false) + br i1 %t436, label %exc.u182, label %exc.k183 +exc.u182: + call void @sc_rc_release_dyn(ptr %t433) + ret ptr null +exc.k183: + %t437 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t433, ptr @sc_lit_1048673592241930) + %t438 = load i32, ptr %exc.cell + %t439 = icmp ne i32 %t438, 0 + %t440 = call i1 @llvm.expect.i1(i1 %t439, i1 false) + br i1 %t440, label %exc.u184, label %exc.k185 +exc.u184: + call void @sc_rc_release_dyn(ptr %t433) + ret ptr null +exc.k185: + call void @sc_rc_release_dyn(ptr %t433) + br i1 %t437, label %if.t186, label %if.j187 +if.t186: + %t441 = load ptr, ptr %sc_l_p_receiver + %t442 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t441, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t443 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t442) + %t444 = load i32, ptr %exc.cell + %t445 = icmp ne i32 %t444, 0 + %t446 = call i1 @llvm.expect.i1(i1 %t445, i1 false) + br i1 %t446, label %exc.u188, label %exc.k189 +exc.u188: + call void @sc_rc_release_dyn(ptr %t443) + ret ptr null +exc.k189: + %t447 = load ptr, ptr %sc_l_p_receiver + %t448 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t447, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t449 = call ptr @scr_dyn_bag_get(ptr %t443, ptr @sc_lit_1048673592241930, ptr %t448) + %t450 = load i32, ptr %exc.cell + %t451 = icmp ne i32 %t450, 0 + %t452 = call i1 @llvm.expect.i1(i1 %t451, i1 false) + br i1 %t452, label %exc.u190, label %exc.k191 +exc.u190: + call void @sc_rc_release_dyn(ptr %t443) + call void @sc_rc_release_dyn(ptr %t448) + call void @sc_rc_release_dyn(ptr %t449) + ret ptr null +exc.k191: + call void @sc_rc_release_dyn(ptr %t443) + call void @sc_rc_release_dyn(ptr %t448) + ret ptr %t449 +if.j187: + %t454 = call ptr @scr_dyn_undefined() + %t453 = call ptr @scr_dyn_retain_v(ptr %t454) + ret ptr %t453 +if.j181: + %t455 = load ptr, ptr %sc_l_p_key + %t456 = call zeroext i1 @sc_streq_1081761464356753(ptr %t455) + br i1 %t456, label %if.t192, label %if.j193 +if.t192: + %t457 = load ptr, ptr %sc_l_p_receiver + %t458 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t457, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t459 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t458) + %t460 = load i32, ptr %exc.cell + %t461 = icmp ne i32 %t460, 0 + %t462 = call i1 @llvm.expect.i1(i1 %t461, i1 false) + br i1 %t462, label %exc.u194, label %exc.k195 +exc.u194: + call void @sc_rc_release_dyn(ptr %t459) + ret ptr null +exc.k195: + %t463 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t459, ptr @sc_lit_1081761464356753) + %t464 = load i32, ptr %exc.cell + %t465 = icmp ne i32 %t464, 0 + %t466 = call i1 @llvm.expect.i1(i1 %t465, i1 false) + br i1 %t466, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t459) + ret ptr null +exc.k197: + call void @sc_rc_release_dyn(ptr %t459) + br i1 %t463, label %if.t198, label %if.j199 +if.t198: + %t467 = load ptr, ptr %sc_l_p_receiver + %t468 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t467, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t469 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t468) + %t470 = load i32, ptr %exc.cell + %t471 = icmp ne i32 %t470, 0 + %t472 = call i1 @llvm.expect.i1(i1 %t471, i1 false) + br i1 %t472, label %exc.u200, label %exc.k201 +exc.u200: + call void @sc_rc_release_dyn(ptr %t469) + ret ptr null +exc.k201: + %t473 = load ptr, ptr %sc_l_p_receiver + %t474 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t473, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t475 = call ptr @scr_dyn_bag_get(ptr %t469, ptr @sc_lit_1081761464356753, ptr %t474) + %t476 = load i32, ptr %exc.cell + %t477 = icmp ne i32 %t476, 0 + %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false) + br i1 %t478, label %exc.u202, label %exc.k203 +exc.u202: + call void @sc_rc_release_dyn(ptr %t469) + call void @sc_rc_release_dyn(ptr %t474) + call void @sc_rc_release_dyn(ptr %t475) + ret ptr null +exc.k203: + call void @sc_rc_release_dyn(ptr %t469) + call void @sc_rc_release_dyn(ptr %t474) + ret ptr %t475 +if.j199: + %t480 = call ptr @scr_dyn_undefined() + %t479 = call ptr @scr_dyn_retain_v(ptr %t480) + ret ptr %t479 +if.j193: + %t481 = load ptr, ptr %sc_l_p_key + %t482 = call zeroext i1 @sc_streq_3392166625234189(ptr %t481) + br i1 %t482, label %if.t204, label %if.j205 +if.t204: + %t483 = load ptr, ptr %sc_l_p_receiver + %t484 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t483, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t485 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t484) + %t486 = load i32, ptr %exc.cell + %t487 = icmp ne i32 %t486, 0 + %t488 = call i1 @llvm.expect.i1(i1 %t487, i1 false) + br i1 %t488, label %exc.u206, label %exc.k207 +exc.u206: + call void @sc_rc_release_dyn(ptr %t485) + ret ptr null +exc.k207: + %t489 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t485, ptr @sc_lit_3392166625234189) + %t490 = load i32, ptr %exc.cell + %t491 = icmp ne i32 %t490, 0 + %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false) + br i1 %t492, label %exc.u208, label %exc.k209 +exc.u208: + call void @sc_rc_release_dyn(ptr %t485) + ret ptr null +exc.k209: + call void @sc_rc_release_dyn(ptr %t485) + br i1 %t489, label %if.t210, label %if.j211 +if.t210: + %t493 = load ptr, ptr %sc_l_p_receiver + %t494 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t493, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t495 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t494) + %t496 = load i32, ptr %exc.cell + %t497 = icmp ne i32 %t496, 0 + %t498 = call i1 @llvm.expect.i1(i1 %t497, i1 false) + br i1 %t498, label %exc.u212, label %exc.k213 +exc.u212: + call void @sc_rc_release_dyn(ptr %t495) + ret ptr null +exc.k213: + %t499 = load ptr, ptr %sc_l_p_receiver + %t500 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t499, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t501 = call ptr @scr_dyn_bag_get(ptr %t495, ptr @sc_lit_3392166625234189, ptr %t500) + %t502 = load i32, ptr %exc.cell + %t503 = icmp ne i32 %t502, 0 + %t504 = call i1 @llvm.expect.i1(i1 %t503, i1 false) + br i1 %t504, label %exc.u214, label %exc.k215 +exc.u214: + call void @sc_rc_release_dyn(ptr %t495) + call void @sc_rc_release_dyn(ptr %t500) + call void @sc_rc_release_dyn(ptr %t501) + ret ptr null +exc.k215: + call void @sc_rc_release_dyn(ptr %t495) + call void @sc_rc_release_dyn(ptr %t500) + ret ptr %t501 +if.j211: + %t506 = call ptr @scr_dyn_undefined() + %t505 = call ptr @scr_dyn_retain_v(ptr %t506) + ret ptr %t505 +if.j205: + %t507 = load ptr, ptr %sc_l_p_key + %t508 = call zeroext i1 @sc_streq_3375901898269401(ptr %t507) + br i1 %t508, label %if.t216, label %if.j217 +if.t216: + %t509 = load ptr, ptr %sc_l_p_receiver + %t510 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t509, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t511 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t510) + %t512 = load i32, ptr %exc.cell + %t513 = icmp ne i32 %t512, 0 + %t514 = call i1 @llvm.expect.i1(i1 %t513, i1 false) + br i1 %t514, label %exc.u218, label %exc.k219 +exc.u218: + call void @sc_rc_release_dyn(ptr %t511) + ret ptr null +exc.k219: + %t515 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t511, ptr @sc_lit_3375901898269401) + %t516 = load i32, ptr %exc.cell + %t517 = icmp ne i32 %t516, 0 + %t518 = call i1 @llvm.expect.i1(i1 %t517, i1 false) + br i1 %t518, label %exc.u220, label %exc.k221 +exc.u220: + call void @sc_rc_release_dyn(ptr %t511) + ret ptr null +exc.k221: + call void @sc_rc_release_dyn(ptr %t511) + br i1 %t515, label %if.t222, label %if.j223 +if.t222: + %t519 = load ptr, ptr %sc_l_p_receiver + %t520 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t519, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t521 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t520) + %t522 = load i32, ptr %exc.cell + %t523 = icmp ne i32 %t522, 0 + %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false) + br i1 %t524, label %exc.u224, label %exc.k225 +exc.u224: + call void @sc_rc_release_dyn(ptr %t521) + ret ptr null +exc.k225: + %t525 = load ptr, ptr %sc_l_p_receiver + %t526 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t525, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t527 = call ptr @scr_dyn_bag_get(ptr %t521, ptr @sc_lit_3375901898269401, ptr %t526) + %t528 = load i32, ptr %exc.cell + %t529 = icmp ne i32 %t528, 0 + %t530 = call i1 @llvm.expect.i1(i1 %t529, i1 false) + br i1 %t530, label %exc.u226, label %exc.k227 +exc.u226: + call void @sc_rc_release_dyn(ptr %t521) + call void @sc_rc_release_dyn(ptr %t526) + call void @sc_rc_release_dyn(ptr %t527) + ret ptr null +exc.k227: + call void @sc_rc_release_dyn(ptr %t521) + call void @sc_rc_release_dyn(ptr %t526) + ret ptr %t527 +if.j223: + %t532 = call ptr @scr_dyn_undefined() + %t531 = call ptr @scr_dyn_retain_v(ptr %t532) + ret ptr %t531 +if.j217: + %t533 = load ptr, ptr %sc_l_p_key + %t534 = call zeroext i1 @sc_streq_3532714511332900(ptr %t533) + br i1 %t534, label %if.t228, label %if.j229 +if.t228: + %t535 = load ptr, ptr %sc_l_p_receiver + %t536 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t535, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t537 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t536) + %t538 = load i32, ptr %exc.cell + %t539 = icmp ne i32 %t538, 0 + %t540 = call i1 @llvm.expect.i1(i1 %t539, i1 false) + br i1 %t540, label %exc.u230, label %exc.k231 +exc.u230: + call void @sc_rc_release_dyn(ptr %t537) + ret ptr null +exc.k231: + %t541 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t537, ptr @sc_lit_3532714511332900) + %t542 = load i32, ptr %exc.cell + %t543 = icmp ne i32 %t542, 0 + %t544 = call i1 @llvm.expect.i1(i1 %t543, i1 false) + br i1 %t544, label %exc.u232, label %exc.k233 +exc.u232: + call void @sc_rc_release_dyn(ptr %t537) + ret ptr null +exc.k233: + call void @sc_rc_release_dyn(ptr %t537) + br i1 %t541, label %if.t234, label %if.j235 +if.t234: + %t545 = load ptr, ptr %sc_l_p_receiver + %t546 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t545, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t547 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t546) + %t548 = load i32, ptr %exc.cell + %t549 = icmp ne i32 %t548, 0 + %t550 = call i1 @llvm.expect.i1(i1 %t549, i1 false) + br i1 %t550, label %exc.u236, label %exc.k237 +exc.u236: + call void @sc_rc_release_dyn(ptr %t547) + ret ptr null +exc.k237: + %t551 = load ptr, ptr %sc_l_p_receiver + %t552 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t551, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t553 = call ptr @scr_dyn_bag_get(ptr %t547, ptr @sc_lit_3532714511332900, ptr %t552) + %t554 = load i32, ptr %exc.cell + %t555 = icmp ne i32 %t554, 0 + %t556 = call i1 @llvm.expect.i1(i1 %t555, i1 false) + br i1 %t556, label %exc.u238, label %exc.k239 +exc.u238: + call void @sc_rc_release_dyn(ptr %t547) + call void @sc_rc_release_dyn(ptr %t552) + call void @sc_rc_release_dyn(ptr %t553) + ret ptr null +exc.k239: + call void @sc_rc_release_dyn(ptr %t547) + call void @sc_rc_release_dyn(ptr %t552) + ret ptr %t553 +if.j235: + %t558 = call ptr @scr_dyn_undefined() + %t557 = call ptr @scr_dyn_retain_v(ptr %t558) + ret ptr %t557 +if.j229: + %t559 = load ptr, ptr %sc_l_p_key + %t560 = call zeroext i1 @sc_streq_3624217920823549(ptr %t559) + br i1 %t560, label %if.t240, label %if.j241 +if.t240: + %t561 = load ptr, ptr %sc_l_p_receiver + %t562 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t561, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t563 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t562) + %t564 = load i32, ptr %exc.cell + %t565 = icmp ne i32 %t564, 0 + %t566 = call i1 @llvm.expect.i1(i1 %t565, i1 false) + br i1 %t566, label %exc.u242, label %exc.k243 +exc.u242: + call void @sc_rc_release_dyn(ptr %t563) + ret ptr null +exc.k243: + %t567 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t563, ptr @sc_lit_3624217920823549) + %t568 = load i32, ptr %exc.cell + %t569 = icmp ne i32 %t568, 0 + %t570 = call i1 @llvm.expect.i1(i1 %t569, i1 false) + br i1 %t570, label %exc.u244, label %exc.k245 +exc.u244: + call void @sc_rc_release_dyn(ptr %t563) + ret ptr null +exc.k245: + call void @sc_rc_release_dyn(ptr %t563) + br i1 %t567, label %if.t246, label %if.j247 +if.t246: + %t571 = load ptr, ptr %sc_l_p_receiver + %t572 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t571, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t573 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t572) + %t574 = load i32, ptr %exc.cell + %t575 = icmp ne i32 %t574, 0 + %t576 = call i1 @llvm.expect.i1(i1 %t575, i1 false) + br i1 %t576, label %exc.u248, label %exc.k249 +exc.u248: + call void @sc_rc_release_dyn(ptr %t573) + ret ptr null +exc.k249: + %t577 = load ptr, ptr %sc_l_p_receiver + %t578 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t577, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t579 = call ptr @scr_dyn_bag_get(ptr %t573, ptr @sc_lit_3624217920823549, ptr %t578) + %t580 = load i32, ptr %exc.cell + %t581 = icmp ne i32 %t580, 0 + %t582 = call i1 @llvm.expect.i1(i1 %t581, i1 false) + br i1 %t582, label %exc.u250, label %exc.k251 +exc.u250: + call void @sc_rc_release_dyn(ptr %t573) + call void @sc_rc_release_dyn(ptr %t578) + call void @sc_rc_release_dyn(ptr %t579) + ret ptr null +exc.k251: + call void @sc_rc_release_dyn(ptr %t573) + call void @sc_rc_release_dyn(ptr %t578) + ret ptr %t579 +if.j247: + %t584 = call ptr @scr_dyn_undefined() + %t583 = call ptr @scr_dyn_retain_v(ptr %t584) + ret ptr %t583 +if.j241: + %t585 = load ptr, ptr %sc_l_p_0 + %t586 = call ptr @sc_rc_retain_dyn(ptr %t585) + %t587 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t586) + %t588 = load i32, ptr %exc.cell + %t589 = icmp ne i32 %t588, 0 + %t590 = call i1 @llvm.expect.i1(i1 %t589, i1 false) + br i1 %t590, label %exc.u252, label %exc.k253 +exc.u252: + call void @sc_rc_release_dyn(ptr %t587) + ret ptr null +exc.k253: + %t591 = load ptr, ptr %sc_l_p_key + %t592 = call ptr @sc_rc_retain_str(ptr %t591) + %t593 = load ptr, ptr %sc_l_p_receiver + %t594 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t593, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t595 = call ptr @scr_dyn_bag_get(ptr %t587, ptr %t592, ptr %t594) + %t596 = load i32, ptr %exc.cell + %t597 = icmp ne i32 %t596, 0 + %t598 = call i1 @llvm.expect.i1(i1 %t597, i1 false) + br i1 %t598, label %exc.u254, label %exc.k255 +exc.u254: + call void @sc_rc_release_dyn(ptr %t587) + call void @scr_str_release(ptr %t592) + call void @sc_rc_release_dyn(ptr %t594) + call void @sc_rc_release_dyn(ptr %t595) + ret ptr null +exc.k255: + call void @sc_rc_release_dyn(ptr %t587) + call void @scr_str_release(ptr %t592) + call void @sc_rc_release_dyn(ptr %t594) + ret ptr %t595 +} +define internal ptr @sc_f__x25_dyn_class_keys_494(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_494(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m5_ReqViewCore(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_495(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.495 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_3752021314181142(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k5: + %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_3752021314181142) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + br i1 %t12, label %if.t8, label %if.j9 +if.t8: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t18) + ret ptr null +exc.k11: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_3752021314181142, ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k13: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + ret ptr %t24 +if.j9: + %t29 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t29) + ret ptr %t28 +if.j3: + %t30 = load ptr, ptr %sc_l_p_key + %t31 = call zeroext i1 @sc_streq_2364278031517622(ptr %t30) + br i1 %t31, label %if.t14, label %if.j15 +if.t14: + %t32 = load ptr, ptr %sc_l_p_receiver + %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t34 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t33) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k17: + %t38 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t34, ptr @sc_lit_2364278031517622) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t34) + br i1 %t38, label %if.t20, label %if.j21 +if.t20: + %t42 = load ptr, ptr %sc_l_p_receiver + %t43 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t42, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t44 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t43) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +exc.k23: + %t48 = load ptr, ptr %sc_l_p_receiver + %t49 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t48, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t50 = call ptr @scr_dyn_bag_get(ptr %t44, ptr @sc_lit_2364278031517622, ptr %t49) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t44) + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_rc_release_dyn(ptr %t50) + ret ptr null +exc.k25: + call void @sc_rc_release_dyn(ptr %t44) + call void @sc_rc_release_dyn(ptr %t49) + ret ptr %t50 +if.j21: + %t55 = call ptr @scr_dyn_undefined() + %t54 = call ptr @scr_dyn_retain_v(ptr %t55) + ret ptr %t54 +if.j15: + %t56 = load ptr, ptr %sc_l_p_key + %t57 = call zeroext i1 @sc_streq_470306239805907(ptr %t56) + br i1 %t57, label %if.t26, label %if.j27 +if.t26: + %t58 = load ptr, ptr %sc_l_p_receiver + %t59 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t58, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t60 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t59) + %t61 = load i32, ptr %exc.cell + %t62 = icmp ne i32 %t61, 0 + %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false) + br i1 %t63, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t60) + ret ptr null +exc.k29: + %t64 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t60, ptr @sc_lit_470306239805907) + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t60) + ret ptr null +exc.k31: + call void @sc_rc_release_dyn(ptr %t60) + br i1 %t64, label %if.t32, label %if.j33 +if.t32: + %t68 = load ptr, ptr %sc_l_p_receiver + %t69 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t68, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t70 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t69) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t70) + ret ptr null +exc.k35: + %t74 = load ptr, ptr %sc_l_p_receiver + %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t76 = call ptr @scr_dyn_bag_get(ptr %t70, ptr @sc_lit_470306239805907, ptr %t75) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + ret ptr null +exc.k37: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t75) + ret ptr %t76 +if.j33: + %t81 = call ptr @scr_dyn_undefined() + %t80 = call ptr @scr_dyn_retain_v(ptr %t81) + ret ptr %t80 +if.j27: + %t82 = load ptr, ptr %sc_l_p_key + %t83 = call zeroext i1 @sc_streq_4133069531575059(ptr %t82) + br i1 %t83, label %if.t38, label %if.j39 +if.t38: + %t84 = load ptr, ptr %sc_l_p_receiver + %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t86 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t85) + %t87 = load i32, ptr %exc.cell + %t88 = icmp ne i32 %t87, 0 + %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false) + br i1 %t89, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t86) + ret ptr null +exc.k41: + %t90 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t86, ptr @sc_lit_4133069531575059) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t86) + ret ptr null +exc.k43: + call void @sc_rc_release_dyn(ptr %t86) + br i1 %t90, label %if.t44, label %if.j45 +if.t44: + %t94 = load ptr, ptr %sc_l_p_receiver + %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t94, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t96 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t95) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t96) + ret ptr null +exc.k47: + %t100 = load ptr, ptr %sc_l_p_receiver + %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t102 = call ptr @scr_dyn_bag_get(ptr %t96, ptr @sc_lit_4133069531575059, ptr %t101) + %t103 = load i32, ptr %exc.cell + %t104 = icmp ne i32 %t103, 0 + %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false) + br i1 %t105, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + ret ptr null +exc.k49: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t101) + ret ptr %t102 +if.j45: + %t107 = call ptr @scr_dyn_undefined() + %t106 = call ptr @scr_dyn_retain_v(ptr %t107) + ret ptr %t106 +if.j39: + %t108 = load ptr, ptr %sc_l_p_key + %t109 = call zeroext i1 @sc_streq_2253648670486996(ptr %t108) + br i1 %t109, label %if.t50, label %if.j51 +if.t50: + %t110 = load ptr, ptr %sc_l_p_receiver + %t111 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t110, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t112 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t111) + %t113 = load i32, ptr %exc.cell + %t114 = icmp ne i32 %t113, 0 + %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false) + br i1 %t115, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t112) + ret ptr null +exc.k53: + %t116 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t112, ptr @sc_lit_2253648670486996) + %t117 = load i32, ptr %exc.cell + %t118 = icmp ne i32 %t117, 0 + %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false) + br i1 %t119, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t112) + ret ptr null +exc.k55: + call void @sc_rc_release_dyn(ptr %t112) + br i1 %t116, label %if.t56, label %if.j57 +if.t56: + %t120 = load ptr, ptr %sc_l_p_receiver + %t121 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t120, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t122 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t121) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t122) + ret ptr null +exc.k59: + %t126 = load ptr, ptr %sc_l_p_receiver + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t128 = call ptr @scr_dyn_bag_get(ptr %t122, ptr @sc_lit_2253648670486996, ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t128) + ret ptr null +exc.k61: + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t127) + ret ptr %t128 +if.j57: + %t133 = call ptr @scr_dyn_undefined() + %t132 = call ptr @scr_dyn_retain_v(ptr %t133) + ret ptr %t132 +if.j51: + %t134 = load ptr, ptr %sc_l_p_key + %t135 = call zeroext i1 @sc_streq_161925136240866(ptr %t134) + br i1 %t135, label %if.t62, label %if.j63 +if.t62: + %t136 = load ptr, ptr %sc_l_p_receiver + %t137 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t136, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t138 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t137) + %t139 = load i32, ptr %exc.cell + %t140 = icmp ne i32 %t139, 0 + %t141 = call i1 @llvm.expect.i1(i1 %t140, i1 false) + br i1 %t141, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t138) + ret ptr null +exc.k65: + %t142 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t138, ptr @sc_lit_161925136240866) + %t143 = load i32, ptr %exc.cell + %t144 = icmp ne i32 %t143, 0 + %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false) + br i1 %t145, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t138) + ret ptr null +exc.k67: + call void @sc_rc_release_dyn(ptr %t138) + br i1 %t142, label %if.t68, label %if.j69 +if.t68: + %t146 = load ptr, ptr %sc_l_p_receiver + %t147 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t146, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t148 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t147) + %t149 = load i32, ptr %exc.cell + %t150 = icmp ne i32 %t149, 0 + %t151 = call i1 @llvm.expect.i1(i1 %t150, i1 false) + br i1 %t151, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t148) + ret ptr null +exc.k71: + %t152 = load ptr, ptr %sc_l_p_receiver + %t153 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t152, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t154 = call ptr @scr_dyn_bag_get(ptr %t148, ptr @sc_lit_161925136240866, ptr %t153) + %t155 = load i32, ptr %exc.cell + %t156 = icmp ne i32 %t155, 0 + %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false) + br i1 %t157, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t148) + call void @sc_rc_release_dyn(ptr %t153) + call void @sc_rc_release_dyn(ptr %t154) + ret ptr null +exc.k73: + call void @sc_rc_release_dyn(ptr %t148) + call void @sc_rc_release_dyn(ptr %t153) + ret ptr %t154 +if.j69: + %t159 = call ptr @scr_dyn_undefined() + %t158 = call ptr @scr_dyn_retain_v(ptr %t159) + ret ptr %t158 +if.j63: + %t160 = load ptr, ptr %sc_l_p_key + %t161 = call zeroext i1 @sc_streq_298897322184109(ptr %t160) + br i1 %t161, label %if.t74, label %if.j75 +if.t74: + %t162 = load ptr, ptr %sc_l_p_receiver + %t163 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t162, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t164 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t163) + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t164) + ret ptr null +exc.k77: + %t168 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t164, ptr @sc_lit_298897322184109) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t164) + ret ptr null +exc.k79: + call void @sc_rc_release_dyn(ptr %t164) + br i1 %t168, label %if.t80, label %if.j81 +if.t80: + %t172 = load ptr, ptr %sc_l_p_receiver + %t173 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t172, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t174 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t173) + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t174) + ret ptr null +exc.k83: + %t178 = load ptr, ptr %sc_l_p_receiver + %t179 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t178, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t180 = call ptr @scr_dyn_bag_get(ptr %t174, ptr @sc_lit_298897322184109, ptr %t179) + %t181 = load i32, ptr %exc.cell + %t182 = icmp ne i32 %t181, 0 + %t183 = call i1 @llvm.expect.i1(i1 %t182, i1 false) + br i1 %t183, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t174) + call void @sc_rc_release_dyn(ptr %t179) + call void @sc_rc_release_dyn(ptr %t180) + ret ptr null +exc.k85: + call void @sc_rc_release_dyn(ptr %t174) + call void @sc_rc_release_dyn(ptr %t179) + ret ptr %t180 +if.j81: + %t185 = call ptr @scr_dyn_undefined() + %t184 = call ptr @scr_dyn_retain_v(ptr %t185) + ret ptr %t184 +if.j75: + %t186 = load ptr, ptr %sc_l_p_key + %t187 = call zeroext i1 @sc_streq_4085448292571548(ptr %t186) + br i1 %t187, label %if.t86, label %if.j87 +if.t86: + %t188 = load ptr, ptr %sc_l_p_receiver + %t189 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t188, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t190 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t189) + %t191 = load i32, ptr %exc.cell + %t192 = icmp ne i32 %t191, 0 + %t193 = call i1 @llvm.expect.i1(i1 %t192, i1 false) + br i1 %t193, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t190) + ret ptr null +exc.k89: + %t194 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t190, ptr @sc_lit_4085448292571548) + %t195 = load i32, ptr %exc.cell + %t196 = icmp ne i32 %t195, 0 + %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false) + br i1 %t197, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t190) + ret ptr null +exc.k91: + call void @sc_rc_release_dyn(ptr %t190) + br i1 %t194, label %if.t92, label %if.j93 +if.t92: + %t198 = load ptr, ptr %sc_l_p_receiver + %t199 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t198, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t200 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t199) + %t201 = load i32, ptr %exc.cell + %t202 = icmp ne i32 %t201, 0 + %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false) + br i1 %t203, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t200) + ret ptr null +exc.k95: + %t204 = load ptr, ptr %sc_l_p_receiver + %t205 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t204, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t206 = call ptr @scr_dyn_bag_get(ptr %t200, ptr @sc_lit_4085448292571548, ptr %t205) + %t207 = load i32, ptr %exc.cell + %t208 = icmp ne i32 %t207, 0 + %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false) + br i1 %t209, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t200) + call void @sc_rc_release_dyn(ptr %t205) + call void @sc_rc_release_dyn(ptr %t206) + ret ptr null +exc.k97: + call void @sc_rc_release_dyn(ptr %t200) + call void @sc_rc_release_dyn(ptr %t205) + ret ptr %t206 +if.j93: + %t211 = call ptr @scr_dyn_undefined() + %t210 = call ptr @scr_dyn_retain_v(ptr %t211) + ret ptr %t210 +if.j87: + %t212 = load ptr, ptr %sc_l_p_key + %t213 = call zeroext i1 @sc_streq_3561861343106386(ptr %t212) + br i1 %t213, label %if.t98, label %if.j99 +if.t98: + %t214 = load ptr, ptr %sc_l_p_receiver + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t216) + ret ptr null +exc.k101: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_3561861343106386) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t216) + ret ptr null +exc.k103: + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t104, label %if.j105 +if.t104: + %t224 = load ptr, ptr %sc_l_p_receiver + %t225 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t226 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t225) + %t227 = load i32, ptr %exc.cell + %t228 = icmp ne i32 %t227, 0 + %t229 = call i1 @llvm.expect.i1(i1 %t228, i1 false) + br i1 %t229, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t226) + ret ptr null +exc.k107: + %t230 = load ptr, ptr %sc_l_p_receiver + %t231 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t230, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t232 = call ptr @scr_dyn_bag_get(ptr %t226, ptr @sc_lit_3561861343106386, ptr %t231) + %t233 = load i32, ptr %exc.cell + %t234 = icmp ne i32 %t233, 0 + %t235 = call i1 @llvm.expect.i1(i1 %t234, i1 false) + br i1 %t235, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t226) + call void @sc_rc_release_dyn(ptr %t231) + call void @sc_rc_release_dyn(ptr %t232) + ret ptr null +exc.k109: + call void @sc_rc_release_dyn(ptr %t226) + call void @sc_rc_release_dyn(ptr %t231) + ret ptr %t232 +if.j105: + %t237 = call ptr @scr_dyn_undefined() + %t236 = call ptr @scr_dyn_retain_v(ptr %t237) + ret ptr %t236 +if.j99: + %t238 = load ptr, ptr %sc_l_p_key + %t239 = call zeroext i1 @sc_streq_3108123016971750(ptr %t238) + br i1 %t239, label %if.t110, label %if.j111 +if.t110: + %t240 = load ptr, ptr %sc_l_p_receiver + %t241 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t240, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t242 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t241) + %t243 = load i32, ptr %exc.cell + %t244 = icmp ne i32 %t243, 0 + %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false) + br i1 %t245, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t242) + ret ptr null +exc.k113: + %t246 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t242, ptr @sc_lit_3108123016971750) + %t247 = load i32, ptr %exc.cell + %t248 = icmp ne i32 %t247, 0 + %t249 = call i1 @llvm.expect.i1(i1 %t248, i1 false) + br i1 %t249, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t242) + ret ptr null +exc.k115: + call void @sc_rc_release_dyn(ptr %t242) + br i1 %t246, label %if.t116, label %if.j117 +if.t116: + %t250 = load ptr, ptr %sc_l_p_receiver + %t251 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t250, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t252 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t251) + %t253 = load i32, ptr %exc.cell + %t254 = icmp ne i32 %t253, 0 + %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false) + br i1 %t255, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t252) + ret ptr null +exc.k119: + %t256 = load ptr, ptr %sc_l_p_receiver + %t257 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t256, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t258 = call ptr @scr_dyn_bag_get(ptr %t252, ptr @sc_lit_3108123016971750, ptr %t257) + %t259 = load i32, ptr %exc.cell + %t260 = icmp ne i32 %t259, 0 + %t261 = call i1 @llvm.expect.i1(i1 %t260, i1 false) + br i1 %t261, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t252) + call void @sc_rc_release_dyn(ptr %t257) + call void @sc_rc_release_dyn(ptr %t258) + ret ptr null +exc.k121: + call void @sc_rc_release_dyn(ptr %t252) + call void @sc_rc_release_dyn(ptr %t257) + ret ptr %t258 +if.j117: + %t263 = call ptr @scr_dyn_undefined() + %t262 = call ptr @scr_dyn_retain_v(ptr %t263) + ret ptr %t262 +if.j111: + %t264 = load ptr, ptr %sc_l_p_key + %t265 = call zeroext i1 @sc_streq_2529432852777196(ptr %t264) + br i1 %t265, label %if.t122, label %if.j123 +if.t122: + %t266 = load ptr, ptr %sc_l_p_receiver + %t267 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t266, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t268 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t267) + %t269 = load i32, ptr %exc.cell + %t270 = icmp ne i32 %t269, 0 + %t271 = call i1 @llvm.expect.i1(i1 %t270, i1 false) + br i1 %t271, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t268) + ret ptr null +exc.k125: + %t272 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t268, ptr @sc_lit_2529432852777196) + %t273 = load i32, ptr %exc.cell + %t274 = icmp ne i32 %t273, 0 + %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false) + br i1 %t275, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t268) + ret ptr null +exc.k127: + call void @sc_rc_release_dyn(ptr %t268) + br i1 %t272, label %if.t128, label %if.j129 +if.t128: + %t276 = load ptr, ptr %sc_l_p_receiver + %t277 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t276, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t278 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t277) + %t279 = load i32, ptr %exc.cell + %t280 = icmp ne i32 %t279, 0 + %t281 = call i1 @llvm.expect.i1(i1 %t280, i1 false) + br i1 %t281, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t278) + ret ptr null +exc.k131: + %t282 = load ptr, ptr %sc_l_p_receiver + %t283 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t282, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t284 = call ptr @scr_dyn_bag_get(ptr %t278, ptr @sc_lit_2529432852777196, ptr %t283) + %t285 = load i32, ptr %exc.cell + %t286 = icmp ne i32 %t285, 0 + %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false) + br i1 %t287, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t278) + call void @sc_rc_release_dyn(ptr %t283) + call void @sc_rc_release_dyn(ptr %t284) + ret ptr null +exc.k133: + call void @sc_rc_release_dyn(ptr %t278) + call void @sc_rc_release_dyn(ptr %t283) + ret ptr %t284 +if.j129: + %t289 = call ptr @scr_dyn_undefined() + %t288 = call ptr @scr_dyn_retain_v(ptr %t289) + ret ptr %t288 +if.j123: + %t290 = load ptr, ptr %sc_l_p_key + %t291 = call zeroext i1 @sc_streq_4297539476301093(ptr %t290) + br i1 %t291, label %if.t134, label %if.j135 +if.t134: + %t292 = load ptr, ptr %sc_l_p_receiver + %t293 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t292, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t294 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t293) + %t295 = load i32, ptr %exc.cell + %t296 = icmp ne i32 %t295, 0 + %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false) + br i1 %t297, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t294) + ret ptr null +exc.k137: + %t298 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t294, ptr @sc_lit_4297539476301093) + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t294) + ret ptr null +exc.k139: + call void @sc_rc_release_dyn(ptr %t294) + br i1 %t298, label %if.t140, label %if.j141 +if.t140: + %t302 = load ptr, ptr %sc_l_p_receiver + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t304) + ret ptr null +exc.k143: + %t308 = load ptr, ptr %sc_l_p_receiver + %t309 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t308, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t310 = call ptr @scr_dyn_bag_get(ptr %t304, ptr @sc_lit_4297539476301093, ptr %t309) + %t311 = load i32, ptr %exc.cell + %t312 = icmp ne i32 %t311, 0 + %t313 = call i1 @llvm.expect.i1(i1 %t312, i1 false) + br i1 %t313, label %exc.u144, label %exc.k145 +exc.u144: + call void @sc_rc_release_dyn(ptr %t304) + call void @sc_rc_release_dyn(ptr %t309) + call void @sc_rc_release_dyn(ptr %t310) + ret ptr null +exc.k145: + call void @sc_rc_release_dyn(ptr %t304) + call void @sc_rc_release_dyn(ptr %t309) + ret ptr %t310 +if.j141: + %t315 = call ptr @scr_dyn_undefined() + %t314 = call ptr @scr_dyn_retain_v(ptr %t315) + ret ptr %t314 +if.j135: + %t316 = load ptr, ptr %sc_l_p_key + %t317 = call zeroext i1 @sc_streq_1959461887910059(ptr %t316) + br i1 %t317, label %if.t146, label %if.j147 +if.t146: + %t318 = load ptr, ptr %sc_l_p_receiver + %t319 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t318, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t320 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t319) + %t321 = load i32, ptr %exc.cell + %t322 = icmp ne i32 %t321, 0 + %t323 = call i1 @llvm.expect.i1(i1 %t322, i1 false) + br i1 %t323, label %exc.u148, label %exc.k149 +exc.u148: + call void @sc_rc_release_dyn(ptr %t320) + ret ptr null +exc.k149: + %t324 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t320, ptr @sc_lit_1959461887910059) + %t325 = load i32, ptr %exc.cell + %t326 = icmp ne i32 %t325, 0 + %t327 = call i1 @llvm.expect.i1(i1 %t326, i1 false) + br i1 %t327, label %exc.u150, label %exc.k151 +exc.u150: + call void @sc_rc_release_dyn(ptr %t320) + ret ptr null +exc.k151: + call void @sc_rc_release_dyn(ptr %t320) + br i1 %t324, label %if.t152, label %if.j153 +if.t152: + %t328 = load ptr, ptr %sc_l_p_receiver + %t329 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t328, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t330 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t329) + %t331 = load i32, ptr %exc.cell + %t332 = icmp ne i32 %t331, 0 + %t333 = call i1 @llvm.expect.i1(i1 %t332, i1 false) + br i1 %t333, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t330) + ret ptr null +exc.k155: + %t334 = load ptr, ptr %sc_l_p_receiver + %t335 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t334, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t336 = call ptr @scr_dyn_bag_get(ptr %t330, ptr @sc_lit_1959461887910059, ptr %t335) + %t337 = load i32, ptr %exc.cell + %t338 = icmp ne i32 %t337, 0 + %t339 = call i1 @llvm.expect.i1(i1 %t338, i1 false) + br i1 %t339, label %exc.u156, label %exc.k157 +exc.u156: + call void @sc_rc_release_dyn(ptr %t330) + call void @sc_rc_release_dyn(ptr %t335) + call void @sc_rc_release_dyn(ptr %t336) + ret ptr null +exc.k157: + call void @sc_rc_release_dyn(ptr %t330) + call void @sc_rc_release_dyn(ptr %t335) + ret ptr %t336 +if.j153: + %t341 = call ptr @scr_dyn_undefined() + %t340 = call ptr @scr_dyn_retain_v(ptr %t341) + ret ptr %t340 +if.j147: + %t342 = load ptr, ptr %sc_l_p_key + %t343 = call zeroext i1 @sc_streq_181663572509014(ptr %t342) + br i1 %t343, label %if.t158, label %if.j159 +if.t158: + %t344 = load ptr, ptr %sc_l_p_receiver + %t345 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t344, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t346 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t345) + %t347 = load i32, ptr %exc.cell + %t348 = icmp ne i32 %t347, 0 + %t349 = call i1 @llvm.expect.i1(i1 %t348, i1 false) + br i1 %t349, label %exc.u160, label %exc.k161 +exc.u160: + call void @sc_rc_release_dyn(ptr %t346) + ret ptr null +exc.k161: + %t350 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t346, ptr @sc_lit_181663572509014) + %t351 = load i32, ptr %exc.cell + %t352 = icmp ne i32 %t351, 0 + %t353 = call i1 @llvm.expect.i1(i1 %t352, i1 false) + br i1 %t353, label %exc.u162, label %exc.k163 +exc.u162: + call void @sc_rc_release_dyn(ptr %t346) + ret ptr null +exc.k163: + call void @sc_rc_release_dyn(ptr %t346) + br i1 %t350, label %if.t164, label %if.j165 +if.t164: + %t354 = load ptr, ptr %sc_l_p_receiver + %t355 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t354, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t356 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t355) + %t357 = load i32, ptr %exc.cell + %t358 = icmp ne i32 %t357, 0 + %t359 = call i1 @llvm.expect.i1(i1 %t358, i1 false) + br i1 %t359, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t356) + ret ptr null +exc.k167: + %t360 = load ptr, ptr %sc_l_p_receiver + %t361 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t360, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t362 = call ptr @scr_dyn_bag_get(ptr %t356, ptr @sc_lit_181663572509014, ptr %t361) + %t363 = load i32, ptr %exc.cell + %t364 = icmp ne i32 %t363, 0 + %t365 = call i1 @llvm.expect.i1(i1 %t364, i1 false) + br i1 %t365, label %exc.u168, label %exc.k169 +exc.u168: + call void @sc_rc_release_dyn(ptr %t356) + call void @sc_rc_release_dyn(ptr %t361) + call void @sc_rc_release_dyn(ptr %t362) + ret ptr null +exc.k169: + call void @sc_rc_release_dyn(ptr %t356) + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t362 +if.j165: + %t367 = call ptr @scr_dyn_undefined() + %t366 = call ptr @scr_dyn_retain_v(ptr %t367) + ret ptr %t366 +if.j159: + %t368 = load ptr, ptr %sc_l_p_key + %t369 = call zeroext i1 @sc_streq_992600386266231(ptr %t368) + br i1 %t369, label %if.t170, label %if.j171 +if.t170: + %t370 = load ptr, ptr %sc_l_p_receiver + %t371 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t370, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t372 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t371) + %t373 = load i32, ptr %exc.cell + %t374 = icmp ne i32 %t373, 0 + %t375 = call i1 @llvm.expect.i1(i1 %t374, i1 false) + br i1 %t375, label %exc.u172, label %exc.k173 +exc.u172: + call void @sc_rc_release_dyn(ptr %t372) + ret ptr null +exc.k173: + %t376 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t372, ptr @sc_lit_992600386266231) + %t377 = load i32, ptr %exc.cell + %t378 = icmp ne i32 %t377, 0 + %t379 = call i1 @llvm.expect.i1(i1 %t378, i1 false) + br i1 %t379, label %exc.u174, label %exc.k175 +exc.u174: + call void @sc_rc_release_dyn(ptr %t372) + ret ptr null +exc.k175: + call void @sc_rc_release_dyn(ptr %t372) + br i1 %t376, label %if.t176, label %if.j177 +if.t176: + %t380 = load ptr, ptr %sc_l_p_receiver + %t381 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t380, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t382 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t381) + %t383 = load i32, ptr %exc.cell + %t384 = icmp ne i32 %t383, 0 + %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false) + br i1 %t385, label %exc.u178, label %exc.k179 +exc.u178: + call void @sc_rc_release_dyn(ptr %t382) + ret ptr null +exc.k179: + %t386 = load ptr, ptr %sc_l_p_receiver + %t387 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t386, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t388 = call ptr @scr_dyn_bag_get(ptr %t382, ptr @sc_lit_992600386266231, ptr %t387) + %t389 = load i32, ptr %exc.cell + %t390 = icmp ne i32 %t389, 0 + %t391 = call i1 @llvm.expect.i1(i1 %t390, i1 false) + br i1 %t391, label %exc.u180, label %exc.k181 +exc.u180: + call void @sc_rc_release_dyn(ptr %t382) + call void @sc_rc_release_dyn(ptr %t387) + call void @sc_rc_release_dyn(ptr %t388) + ret ptr null +exc.k181: + call void @sc_rc_release_dyn(ptr %t382) + call void @sc_rc_release_dyn(ptr %t387) + ret ptr %t388 +if.j177: + %t393 = call ptr @scr_dyn_undefined() + %t392 = call ptr @scr_dyn_retain_v(ptr %t393) + ret ptr %t392 +if.j171: + %t394 = load ptr, ptr %sc_l_p_key + %t395 = call zeroext i1 @sc_streq_4198614539576238(ptr %t394) + br i1 %t395, label %if.t182, label %if.j183 +if.t182: + %t396 = load ptr, ptr %sc_l_p_receiver + %t397 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t396, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t398 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t397) + %t399 = load i32, ptr %exc.cell + %t400 = icmp ne i32 %t399, 0 + %t401 = call i1 @llvm.expect.i1(i1 %t400, i1 false) + br i1 %t401, label %exc.u184, label %exc.k185 +exc.u184: + call void @sc_rc_release_dyn(ptr %t398) + ret ptr null +exc.k185: + %t402 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t398, ptr @sc_lit_4198614539576238) + %t403 = load i32, ptr %exc.cell + %t404 = icmp ne i32 %t403, 0 + %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false) + br i1 %t405, label %exc.u186, label %exc.k187 +exc.u186: + call void @sc_rc_release_dyn(ptr %t398) + ret ptr null +exc.k187: + call void @sc_rc_release_dyn(ptr %t398) + br i1 %t402, label %if.t188, label %if.j189 +if.t188: + %t406 = load ptr, ptr %sc_l_p_receiver + %t407 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t406, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t408 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t407) + %t409 = load i32, ptr %exc.cell + %t410 = icmp ne i32 %t409, 0 + %t411 = call i1 @llvm.expect.i1(i1 %t410, i1 false) + br i1 %t411, label %exc.u190, label %exc.k191 +exc.u190: + call void @sc_rc_release_dyn(ptr %t408) + ret ptr null +exc.k191: + %t412 = load ptr, ptr %sc_l_p_receiver + %t413 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t412, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t414 = call ptr @scr_dyn_bag_get(ptr %t408, ptr @sc_lit_4198614539576238, ptr %t413) + %t415 = load i32, ptr %exc.cell + %t416 = icmp ne i32 %t415, 0 + %t417 = call i1 @llvm.expect.i1(i1 %t416, i1 false) + br i1 %t417, label %exc.u192, label %exc.k193 +exc.u192: + call void @sc_rc_release_dyn(ptr %t408) + call void @sc_rc_release_dyn(ptr %t413) + call void @sc_rc_release_dyn(ptr %t414) + ret ptr null +exc.k193: + call void @sc_rc_release_dyn(ptr %t408) + call void @sc_rc_release_dyn(ptr %t413) + ret ptr %t414 +if.j189: + %t419 = call ptr @scr_dyn_undefined() + %t418 = call ptr @scr_dyn_retain_v(ptr %t419) + ret ptr %t418 +if.j183: + %t420 = load ptr, ptr %sc_l_p_key + %t421 = call zeroext i1 @sc_streq_3908714124573206(ptr %t420) + br i1 %t421, label %if.t194, label %if.j195 +if.t194: + %t422 = load ptr, ptr %sc_l_p_receiver + %t423 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t422, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t424 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t423) + %t425 = load i32, ptr %exc.cell + %t426 = icmp ne i32 %t425, 0 + %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false) + br i1 %t427, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t424) + ret ptr null +exc.k197: + %t428 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t424, ptr @sc_lit_3908714124573206) + %t429 = load i32, ptr %exc.cell + %t430 = icmp ne i32 %t429, 0 + %t431 = call i1 @llvm.expect.i1(i1 %t430, i1 false) + br i1 %t431, label %exc.u198, label %exc.k199 +exc.u198: + call void @sc_rc_release_dyn(ptr %t424) + ret ptr null +exc.k199: + call void @sc_rc_release_dyn(ptr %t424) + br i1 %t428, label %if.t200, label %if.j201 +if.t200: + %t432 = load ptr, ptr %sc_l_p_receiver + %t433 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t432, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t434 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t433) + %t435 = load i32, ptr %exc.cell + %t436 = icmp ne i32 %t435, 0 + %t437 = call i1 @llvm.expect.i1(i1 %t436, i1 false) + br i1 %t437, label %exc.u202, label %exc.k203 +exc.u202: + call void @sc_rc_release_dyn(ptr %t434) + ret ptr null +exc.k203: + %t438 = load ptr, ptr %sc_l_p_receiver + %t439 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t438, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t440 = call ptr @scr_dyn_bag_get(ptr %t434, ptr @sc_lit_3908714124573206, ptr %t439) + %t441 = load i32, ptr %exc.cell + %t442 = icmp ne i32 %t441, 0 + %t443 = call i1 @llvm.expect.i1(i1 %t442, i1 false) + br i1 %t443, label %exc.u204, label %exc.k205 +exc.u204: + call void @sc_rc_release_dyn(ptr %t434) + call void @sc_rc_release_dyn(ptr %t439) + call void @sc_rc_release_dyn(ptr %t440) + ret ptr null +exc.k205: + call void @sc_rc_release_dyn(ptr %t434) + call void @sc_rc_release_dyn(ptr %t439) + ret ptr %t440 +if.j201: + %t445 = call ptr @scr_dyn_undefined() + %t444 = call ptr @scr_dyn_retain_v(ptr %t445) + ret ptr %t444 +if.j195: + %t446 = load ptr, ptr %sc_l_p_0 + %t447 = call ptr @sc_rc_retain_dyn(ptr %t446) + %t448 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t447) + %t449 = load i32, ptr %exc.cell + %t450 = icmp ne i32 %t449, 0 + %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false) + br i1 %t451, label %exc.u206, label %exc.k207 +exc.u206: + call void @sc_rc_release_dyn(ptr %t448) + ret ptr null +exc.k207: + %t452 = load ptr, ptr %sc_l_p_key + %t453 = call ptr @sc_rc_retain_str(ptr %t452) + %t454 = load ptr, ptr %sc_l_p_receiver + %t455 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t454, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t456 = call ptr @scr_dyn_bag_get(ptr %t448, ptr %t453, ptr %t455) + %t457 = load i32, ptr %exc.cell + %t458 = icmp ne i32 %t457, 0 + %t459 = call i1 @llvm.expect.i1(i1 %t458, i1 false) + br i1 %t459, label %exc.u208, label %exc.k209 +exc.u208: + call void @sc_rc_release_dyn(ptr %t448) + call void @scr_str_release(ptr %t453) + call void @sc_rc_release_dyn(ptr %t455) + call void @sc_rc_release_dyn(ptr %t456) + ret ptr null +exc.k209: + call void @sc_rc_release_dyn(ptr %t448) + call void @scr_str_release(ptr %t453) + call void @sc_rc_release_dyn(ptr %t455) + ret ptr %t456 +} +define internal ptr @sc_f__x25_dyn_class_keys_495(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_495(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m2_ResponseSink(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_496(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.496 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_1951312618348557(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t6, i64 0, i32 3 + %t8 = load ptr, ptr %t7, !tbaa !46 + %t9 = call ptr @scr_http_res_retain_v(ptr %t8) + %t10 = call ptr @sc_td_7(ptr %t9) + call void @scr_http_res_release(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_3621289080171698(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t13, i64 0, i32 4 + %t15 = load double, ptr %t14, !tbaa !48 + %t16 = call ptr @sc_td_2(double %t15) + ret ptr %t16 +if.j5: + %t17 = load ptr, ptr %sc_l_p_key + %t18 = call zeroext i1 @sc_streq_3953364176447457(ptr %t17) + br i1 %t18, label %if.t6, label %if.j7 +if.t6: + %t19 = load ptr, ptr %sc_l_p_receiver + %t20 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t19, i64 0, i32 5 + %t21 = load ptr, ptr %t20, !tbaa !50 + %t22 = call ptr @sc_rretain_r0(ptr %t21) + %t23 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t22, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + call void @sc_rrelease_r0(ptr %t22) + ret ptr %t23 +if.j7: + %t24 = load ptr, ptr %sc_l_p_key + %t25 = call zeroext i1 @sc_streq_3752021314181142(ptr %t24) + br i1 %t25, label %if.t8, label %if.j9 +if.t8: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t28 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t27) + %t29 = load i32, ptr %exc.cell + %t30 = icmp ne i32 %t29, 0 + %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false) + br i1 %t31, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t28) + ret ptr null +exc.k11: + %t32 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t28, ptr @sc_lit_3752021314181142) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t28) + ret ptr null +exc.k13: + call void @sc_rc_release_dyn(ptr %t28) + br i1 %t32, label %if.t14, label %if.j15 +if.t14: + %t36 = load ptr, ptr %sc_l_p_receiver + %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t38 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k17: + %t42 = load ptr, ptr %sc_l_p_receiver + %t43 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t42, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t44 = call ptr @scr_dyn_bag_get(ptr %t38, ptr @sc_lit_3752021314181142, ptr %t43) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t43) + ret ptr %t44 +if.j15: + %t49 = call ptr @scr_dyn_undefined() + %t48 = call ptr @scr_dyn_retain_v(ptr %t49) + ret ptr %t48 +if.j9: + %t50 = load ptr, ptr %sc_l_p_key + %t51 = call zeroext i1 @sc_streq_2364278031517622(ptr %t50) + br i1 %t51, label %if.t20, label %if.j21 +if.t20: + %t52 = load ptr, ptr %sc_l_p_receiver + %t53 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t52, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t54 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t53) + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t54) + ret ptr null +exc.k23: + %t58 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t54, ptr @sc_lit_2364278031517622) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t54) + ret ptr null +exc.k25: + call void @sc_rc_release_dyn(ptr %t54) + br i1 %t58, label %if.t26, label %if.j27 +if.t26: + %t62 = load ptr, ptr %sc_l_p_receiver + %t63 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t62, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t64 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t63) + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t64) + ret ptr null +exc.k29: + %t68 = load ptr, ptr %sc_l_p_receiver + %t69 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t68, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t70 = call ptr @scr_dyn_bag_get(ptr %t64, ptr @sc_lit_2364278031517622, ptr %t69) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t64) + call void @sc_rc_release_dyn(ptr %t69) + call void @sc_rc_release_dyn(ptr %t70) + ret ptr null +exc.k31: + call void @sc_rc_release_dyn(ptr %t64) + call void @sc_rc_release_dyn(ptr %t69) + ret ptr %t70 +if.j27: + %t75 = call ptr @scr_dyn_undefined() + %t74 = call ptr @scr_dyn_retain_v(ptr %t75) + ret ptr %t74 +if.j21: + %t76 = load ptr, ptr %sc_l_p_key + %t77 = call zeroext i1 @sc_streq_470306239805907(ptr %t76) + br i1 %t77, label %if.t32, label %if.j33 +if.t32: + %t78 = load ptr, ptr %sc_l_p_receiver + %t79 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t78, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t80 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t79) + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t80) + ret ptr null +exc.k35: + %t84 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t80, ptr @sc_lit_470306239805907) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t80) + ret ptr null +exc.k37: + call void @sc_rc_release_dyn(ptr %t80) + br i1 %t84, label %if.t38, label %if.j39 +if.t38: + %t88 = load ptr, ptr %sc_l_p_receiver + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t90 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t90) + ret ptr null +exc.k41: + %t94 = load ptr, ptr %sc_l_p_receiver + %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t94, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t96 = call ptr @scr_dyn_bag_get(ptr %t90, ptr @sc_lit_470306239805907, ptr %t95) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t90) + call void @sc_rc_release_dyn(ptr %t95) + call void @sc_rc_release_dyn(ptr %t96) + ret ptr null +exc.k43: + call void @sc_rc_release_dyn(ptr %t90) + call void @sc_rc_release_dyn(ptr %t95) + ret ptr %t96 +if.j39: + %t101 = call ptr @scr_dyn_undefined() + %t100 = call ptr @scr_dyn_retain_v(ptr %t101) + ret ptr %t100 +if.j33: + %t102 = load ptr, ptr %sc_l_p_key + %t103 = call zeroext i1 @sc_streq_4133069531575059(ptr %t102) + br i1 %t103, label %if.t44, label %if.j45 +if.t44: + %t104 = load ptr, ptr %sc_l_p_receiver + %t105 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t104, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t106 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t105) + %t107 = load i32, ptr %exc.cell + %t108 = icmp ne i32 %t107, 0 + %t109 = call i1 @llvm.expect.i1(i1 %t108, i1 false) + br i1 %t109, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t106) + ret ptr null +exc.k47: + %t110 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t106, ptr @sc_lit_4133069531575059) + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t106) + ret ptr null +exc.k49: + call void @sc_rc_release_dyn(ptr %t106) + br i1 %t110, label %if.t50, label %if.j51 +if.t50: + %t114 = load ptr, ptr %sc_l_p_receiver + %t115 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t114, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t116 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t115) + %t117 = load i32, ptr %exc.cell + %t118 = icmp ne i32 %t117, 0 + %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false) + br i1 %t119, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t116) + ret ptr null +exc.k53: + %t120 = load ptr, ptr %sc_l_p_receiver + %t121 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t120, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t122 = call ptr @scr_dyn_bag_get(ptr %t116, ptr @sc_lit_4133069531575059, ptr %t121) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t121) + call void @sc_rc_release_dyn(ptr %t122) + ret ptr null +exc.k55: + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t121) + ret ptr %t122 +if.j51: + %t127 = call ptr @scr_dyn_undefined() + %t126 = call ptr @scr_dyn_retain_v(ptr %t127) + ret ptr %t126 +if.j45: + %t128 = load ptr, ptr %sc_l_p_key + %t129 = call zeroext i1 @sc_streq_2253648670486996(ptr %t128) + br i1 %t129, label %if.t56, label %if.j57 +if.t56: + %t130 = load ptr, ptr %sc_l_p_receiver + %t131 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t130, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t132 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t131) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +exc.k59: + %t136 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t132, ptr @sc_lit_2253648670486996) + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +exc.k61: + call void @sc_rc_release_dyn(ptr %t132) + br i1 %t136, label %if.t62, label %if.j63 +if.t62: + %t140 = load ptr, ptr %sc_l_p_receiver + %t141 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t140, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t142 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t141) + %t143 = load i32, ptr %exc.cell + %t144 = icmp ne i32 %t143, 0 + %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false) + br i1 %t145, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t142) + ret ptr null +exc.k65: + %t146 = load ptr, ptr %sc_l_p_receiver + %t147 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t146, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t148 = call ptr @scr_dyn_bag_get(ptr %t142, ptr @sc_lit_2253648670486996, ptr %t147) + %t149 = load i32, ptr %exc.cell + %t150 = icmp ne i32 %t149, 0 + %t151 = call i1 @llvm.expect.i1(i1 %t150, i1 false) + br i1 %t151, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t142) + call void @sc_rc_release_dyn(ptr %t147) + call void @sc_rc_release_dyn(ptr %t148) + ret ptr null +exc.k67: + call void @sc_rc_release_dyn(ptr %t142) + call void @sc_rc_release_dyn(ptr %t147) + ret ptr %t148 +if.j63: + %t153 = call ptr @scr_dyn_undefined() + %t152 = call ptr @scr_dyn_retain_v(ptr %t153) + ret ptr %t152 +if.j57: + %t154 = load ptr, ptr %sc_l_p_key + %t155 = call zeroext i1 @sc_streq_161925136240866(ptr %t154) + br i1 %t155, label %if.t68, label %if.j69 +if.t68: + %t156 = load ptr, ptr %sc_l_p_receiver + %t157 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t156, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t158 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t157) + %t159 = load i32, ptr %exc.cell + %t160 = icmp ne i32 %t159, 0 + %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false) + br i1 %t161, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t158) + ret ptr null +exc.k71: + %t162 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t158, ptr @sc_lit_161925136240866) + %t163 = load i32, ptr %exc.cell + %t164 = icmp ne i32 %t163, 0 + %t165 = call i1 @llvm.expect.i1(i1 %t164, i1 false) + br i1 %t165, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t158) + ret ptr null +exc.k73: + call void @sc_rc_release_dyn(ptr %t158) + br i1 %t162, label %if.t74, label %if.j75 +if.t74: + %t166 = load ptr, ptr %sc_l_p_receiver + %t167 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t166, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t168 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t167) + %t169 = load i32, ptr %exc.cell + %t170 = icmp ne i32 %t169, 0 + %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false) + br i1 %t171, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t168) + ret ptr null +exc.k77: + %t172 = load ptr, ptr %sc_l_p_receiver + %t173 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t172, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t174 = call ptr @scr_dyn_bag_get(ptr %t168, ptr @sc_lit_161925136240866, ptr %t173) + %t175 = load i32, ptr %exc.cell + %t176 = icmp ne i32 %t175, 0 + %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false) + br i1 %t177, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t168) + call void @sc_rc_release_dyn(ptr %t173) + call void @sc_rc_release_dyn(ptr %t174) + ret ptr null +exc.k79: + call void @sc_rc_release_dyn(ptr %t168) + call void @sc_rc_release_dyn(ptr %t173) + ret ptr %t174 +if.j75: + %t179 = call ptr @scr_dyn_undefined() + %t178 = call ptr @scr_dyn_retain_v(ptr %t179) + ret ptr %t178 +if.j69: + %t180 = load ptr, ptr %sc_l_p_key + %t181 = call zeroext i1 @sc_streq_298897322184109(ptr %t180) + br i1 %t181, label %if.t80, label %if.j81 +if.t80: + %t182 = load ptr, ptr %sc_l_p_receiver + %t183 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t182, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t184 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t183) + %t185 = load i32, ptr %exc.cell + %t186 = icmp ne i32 %t185, 0 + %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false) + br i1 %t187, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t184) + ret ptr null +exc.k83: + %t188 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t184, ptr @sc_lit_298897322184109) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t184) + ret ptr null +exc.k85: + call void @sc_rc_release_dyn(ptr %t184) + br i1 %t188, label %if.t86, label %if.j87 +if.t86: + %t192 = load ptr, ptr %sc_l_p_receiver + %t193 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t192, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t194 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t193) + %t195 = load i32, ptr %exc.cell + %t196 = icmp ne i32 %t195, 0 + %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false) + br i1 %t197, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t194) + ret ptr null +exc.k89: + %t198 = load ptr, ptr %sc_l_p_receiver + %t199 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t198, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t200 = call ptr @scr_dyn_bag_get(ptr %t194, ptr @sc_lit_298897322184109, ptr %t199) + %t201 = load i32, ptr %exc.cell + %t202 = icmp ne i32 %t201, 0 + %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false) + br i1 %t203, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t199) + call void @sc_rc_release_dyn(ptr %t200) + ret ptr null +exc.k91: + call void @sc_rc_release_dyn(ptr %t194) + call void @sc_rc_release_dyn(ptr %t199) + ret ptr %t200 +if.j87: + %t205 = call ptr @scr_dyn_undefined() + %t204 = call ptr @scr_dyn_retain_v(ptr %t205) + ret ptr %t204 +if.j81: + %t206 = load ptr, ptr %sc_l_p_key + %t207 = call zeroext i1 @sc_streq_4085448292571548(ptr %t206) + br i1 %t207, label %if.t92, label %if.j93 +if.t92: + %t208 = load ptr, ptr %sc_l_p_receiver + %t209 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t208, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t210 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t209) + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t210) + ret ptr null +exc.k95: + %t214 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t210, ptr @sc_lit_4085448292571548) + %t215 = load i32, ptr %exc.cell + %t216 = icmp ne i32 %t215, 0 + %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false) + br i1 %t217, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t210) + ret ptr null +exc.k97: + call void @sc_rc_release_dyn(ptr %t210) + br i1 %t214, label %if.t98, label %if.j99 +if.t98: + %t218 = load ptr, ptr %sc_l_p_receiver + %t219 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t218, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t220 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t219) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t220) + ret ptr null +exc.k101: + %t224 = load ptr, ptr %sc_l_p_receiver + %t225 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t226 = call ptr @scr_dyn_bag_get(ptr %t220, ptr @sc_lit_4085448292571548, ptr %t225) + %t227 = load i32, ptr %exc.cell + %t228 = icmp ne i32 %t227, 0 + %t229 = call i1 @llvm.expect.i1(i1 %t228, i1 false) + br i1 %t229, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t220) + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_rc_release_dyn(ptr %t226) + ret ptr null +exc.k103: + call void @sc_rc_release_dyn(ptr %t220) + call void @sc_rc_release_dyn(ptr %t225) + ret ptr %t226 +if.j99: + %t231 = call ptr @scr_dyn_undefined() + %t230 = call ptr @scr_dyn_retain_v(ptr %t231) + ret ptr %t230 +if.j93: + %t232 = load ptr, ptr %sc_l_p_key + %t233 = call zeroext i1 @sc_streq_3561861343106386(ptr %t232) + br i1 %t233, label %if.t104, label %if.j105 +if.t104: + %t234 = load ptr, ptr %sc_l_p_receiver + %t235 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t234, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t236 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t235) + %t237 = load i32, ptr %exc.cell + %t238 = icmp ne i32 %t237, 0 + %t239 = call i1 @llvm.expect.i1(i1 %t238, i1 false) + br i1 %t239, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t236) + ret ptr null +exc.k107: + %t240 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t236, ptr @sc_lit_3561861343106386) + %t241 = load i32, ptr %exc.cell + %t242 = icmp ne i32 %t241, 0 + %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false) + br i1 %t243, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t236) + ret ptr null +exc.k109: + call void @sc_rc_release_dyn(ptr %t236) + br i1 %t240, label %if.t110, label %if.j111 +if.t110: + %t244 = load ptr, ptr %sc_l_p_receiver + %t245 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t244, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t246 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t245) + %t247 = load i32, ptr %exc.cell + %t248 = icmp ne i32 %t247, 0 + %t249 = call i1 @llvm.expect.i1(i1 %t248, i1 false) + br i1 %t249, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t246) + ret ptr null +exc.k113: + %t250 = load ptr, ptr %sc_l_p_receiver + %t251 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t250, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t252 = call ptr @scr_dyn_bag_get(ptr %t246, ptr @sc_lit_3561861343106386, ptr %t251) + %t253 = load i32, ptr %exc.cell + %t254 = icmp ne i32 %t253, 0 + %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false) + br i1 %t255, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t246) + call void @sc_rc_release_dyn(ptr %t251) + call void @sc_rc_release_dyn(ptr %t252) + ret ptr null +exc.k115: + call void @sc_rc_release_dyn(ptr %t246) + call void @sc_rc_release_dyn(ptr %t251) + ret ptr %t252 +if.j111: + %t257 = call ptr @scr_dyn_undefined() + %t256 = call ptr @scr_dyn_retain_v(ptr %t257) + ret ptr %t256 +if.j105: + %t258 = load ptr, ptr %sc_l_p_key + %t259 = call zeroext i1 @sc_streq_2529432852777196(ptr %t258) + br i1 %t259, label %if.t116, label %if.j117 +if.t116: + %t260 = load ptr, ptr %sc_l_p_receiver + %t261 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t260, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t262 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t261) + %t263 = load i32, ptr %exc.cell + %t264 = icmp ne i32 %t263, 0 + %t265 = call i1 @llvm.expect.i1(i1 %t264, i1 false) + br i1 %t265, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t262) + ret ptr null +exc.k119: + %t266 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t262, ptr @sc_lit_2529432852777196) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t262) + ret ptr null +exc.k121: + call void @sc_rc_release_dyn(ptr %t262) + br i1 %t266, label %if.t122, label %if.j123 +if.t122: + %t270 = load ptr, ptr %sc_l_p_receiver + %t271 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t270, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t272 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t271) + %t273 = load i32, ptr %exc.cell + %t274 = icmp ne i32 %t273, 0 + %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false) + br i1 %t275, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t272) + ret ptr null +exc.k125: + %t276 = load ptr, ptr %sc_l_p_receiver + %t277 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t276, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t278 = call ptr @scr_dyn_bag_get(ptr %t272, ptr @sc_lit_2529432852777196, ptr %t277) + %t279 = load i32, ptr %exc.cell + %t280 = icmp ne i32 %t279, 0 + %t281 = call i1 @llvm.expect.i1(i1 %t280, i1 false) + br i1 %t281, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t272) + call void @sc_rc_release_dyn(ptr %t277) + call void @sc_rc_release_dyn(ptr %t278) + ret ptr null +exc.k127: + call void @sc_rc_release_dyn(ptr %t272) + call void @sc_rc_release_dyn(ptr %t277) + ret ptr %t278 +if.j123: + %t283 = call ptr @scr_dyn_undefined() + %t282 = call ptr @scr_dyn_retain_v(ptr %t283) + ret ptr %t282 +if.j117: + %t284 = load ptr, ptr %sc_l_p_key + %t285 = call zeroext i1 @sc_streq_4297539476301093(ptr %t284) + br i1 %t285, label %if.t128, label %if.j129 +if.t128: + %t286 = load ptr, ptr %sc_l_p_receiver + %t287 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t286, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t288 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t287) + %t289 = load i32, ptr %exc.cell + %t290 = icmp ne i32 %t289, 0 + %t291 = call i1 @llvm.expect.i1(i1 %t290, i1 false) + br i1 %t291, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t288) + ret ptr null +exc.k131: + %t292 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t288, ptr @sc_lit_4297539476301093) + %t293 = load i32, ptr %exc.cell + %t294 = icmp ne i32 %t293, 0 + %t295 = call i1 @llvm.expect.i1(i1 %t294, i1 false) + br i1 %t295, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t288) + ret ptr null +exc.k133: + call void @sc_rc_release_dyn(ptr %t288) + br i1 %t292, label %if.t134, label %if.j135 +if.t134: + %t296 = load ptr, ptr %sc_l_p_receiver + %t297 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t296, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t298 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t297) + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t298) + ret ptr null +exc.k137: + %t302 = load ptr, ptr %sc_l_p_receiver + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t304 = call ptr @scr_dyn_bag_get(ptr %t298, ptr @sc_lit_4297539476301093, ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t303) + call void @sc_rc_release_dyn(ptr %t304) + ret ptr null +exc.k139: + call void @sc_rc_release_dyn(ptr %t298) + call void @sc_rc_release_dyn(ptr %t303) + ret ptr %t304 +if.j135: + %t309 = call ptr @scr_dyn_undefined() + %t308 = call ptr @scr_dyn_retain_v(ptr %t309) + ret ptr %t308 +if.j129: + %t310 = load ptr, ptr %sc_l_p_key + %t311 = call zeroext i1 @sc_streq_1959461887910059(ptr %t310) + br i1 %t311, label %if.t140, label %if.j141 +if.t140: + %t312 = load ptr, ptr %sc_l_p_receiver + %t313 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t312, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t314 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t313) + %t315 = load i32, ptr %exc.cell + %t316 = icmp ne i32 %t315, 0 + %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false) + br i1 %t317, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t314) + ret ptr null +exc.k143: + %t318 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t314, ptr @sc_lit_1959461887910059) + %t319 = load i32, ptr %exc.cell + %t320 = icmp ne i32 %t319, 0 + %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false) + br i1 %t321, label %exc.u144, label %exc.k145 +exc.u144: + call void @sc_rc_release_dyn(ptr %t314) + ret ptr null +exc.k145: + call void @sc_rc_release_dyn(ptr %t314) + br i1 %t318, label %if.t146, label %if.j147 +if.t146: + %t322 = load ptr, ptr %sc_l_p_receiver + %t323 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t322, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t324 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t323) + %t325 = load i32, ptr %exc.cell + %t326 = icmp ne i32 %t325, 0 + %t327 = call i1 @llvm.expect.i1(i1 %t326, i1 false) + br i1 %t327, label %exc.u148, label %exc.k149 +exc.u148: + call void @sc_rc_release_dyn(ptr %t324) + ret ptr null +exc.k149: + %t328 = load ptr, ptr %sc_l_p_receiver + %t329 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t328, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t330 = call ptr @scr_dyn_bag_get(ptr %t324, ptr @sc_lit_1959461887910059, ptr %t329) + %t331 = load i32, ptr %exc.cell + %t332 = icmp ne i32 %t331, 0 + %t333 = call i1 @llvm.expect.i1(i1 %t332, i1 false) + br i1 %t333, label %exc.u150, label %exc.k151 +exc.u150: + call void @sc_rc_release_dyn(ptr %t324) + call void @sc_rc_release_dyn(ptr %t329) + call void @sc_rc_release_dyn(ptr %t330) + ret ptr null +exc.k151: + call void @sc_rc_release_dyn(ptr %t324) + call void @sc_rc_release_dyn(ptr %t329) + ret ptr %t330 +if.j147: + %t335 = call ptr @scr_dyn_undefined() + %t334 = call ptr @scr_dyn_retain_v(ptr %t335) + ret ptr %t334 +if.j141: + %t336 = load ptr, ptr %sc_l_p_key + %t337 = call zeroext i1 @sc_streq_181663572509014(ptr %t336) + br i1 %t337, label %if.t152, label %if.j153 +if.t152: + %t338 = load ptr, ptr %sc_l_p_receiver + %t339 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t338, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t340 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t339) + %t341 = load i32, ptr %exc.cell + %t342 = icmp ne i32 %t341, 0 + %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false) + br i1 %t343, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t340) + ret ptr null +exc.k155: + %t344 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t340, ptr @sc_lit_181663572509014) + %t345 = load i32, ptr %exc.cell + %t346 = icmp ne i32 %t345, 0 + %t347 = call i1 @llvm.expect.i1(i1 %t346, i1 false) + br i1 %t347, label %exc.u156, label %exc.k157 +exc.u156: + call void @sc_rc_release_dyn(ptr %t340) + ret ptr null +exc.k157: + call void @sc_rc_release_dyn(ptr %t340) + br i1 %t344, label %if.t158, label %if.j159 +if.t158: + %t348 = load ptr, ptr %sc_l_p_receiver + %t349 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t348, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t350 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t349) + %t351 = load i32, ptr %exc.cell + %t352 = icmp ne i32 %t351, 0 + %t353 = call i1 @llvm.expect.i1(i1 %t352, i1 false) + br i1 %t353, label %exc.u160, label %exc.k161 +exc.u160: + call void @sc_rc_release_dyn(ptr %t350) + ret ptr null +exc.k161: + %t354 = load ptr, ptr %sc_l_p_receiver + %t355 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t354, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t356 = call ptr @scr_dyn_bag_get(ptr %t350, ptr @sc_lit_181663572509014, ptr %t355) + %t357 = load i32, ptr %exc.cell + %t358 = icmp ne i32 %t357, 0 + %t359 = call i1 @llvm.expect.i1(i1 %t358, i1 false) + br i1 %t359, label %exc.u162, label %exc.k163 +exc.u162: + call void @sc_rc_release_dyn(ptr %t350) + call void @sc_rc_release_dyn(ptr %t355) + call void @sc_rc_release_dyn(ptr %t356) + ret ptr null +exc.k163: + call void @sc_rc_release_dyn(ptr %t350) + call void @sc_rc_release_dyn(ptr %t355) + ret ptr %t356 +if.j159: + %t361 = call ptr @scr_dyn_undefined() + %t360 = call ptr @scr_dyn_retain_v(ptr %t361) + ret ptr %t360 +if.j153: + %t362 = load ptr, ptr %sc_l_p_key + %t363 = call zeroext i1 @sc_streq_992600386266231(ptr %t362) + br i1 %t363, label %if.t164, label %if.j165 +if.t164: + %t364 = load ptr, ptr %sc_l_p_receiver + %t365 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t364, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t366 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t365) + %t367 = load i32, ptr %exc.cell + %t368 = icmp ne i32 %t367, 0 + %t369 = call i1 @llvm.expect.i1(i1 %t368, i1 false) + br i1 %t369, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t366) + ret ptr null +exc.k167: + %t370 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t366, ptr @sc_lit_992600386266231) + %t371 = load i32, ptr %exc.cell + %t372 = icmp ne i32 %t371, 0 + %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false) + br i1 %t373, label %exc.u168, label %exc.k169 +exc.u168: + call void @sc_rc_release_dyn(ptr %t366) + ret ptr null +exc.k169: + call void @sc_rc_release_dyn(ptr %t366) + br i1 %t370, label %if.t170, label %if.j171 +if.t170: + %t374 = load ptr, ptr %sc_l_p_receiver + %t375 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t374, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t376 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t375) + %t377 = load i32, ptr %exc.cell + %t378 = icmp ne i32 %t377, 0 + %t379 = call i1 @llvm.expect.i1(i1 %t378, i1 false) + br i1 %t379, label %exc.u172, label %exc.k173 +exc.u172: + call void @sc_rc_release_dyn(ptr %t376) + ret ptr null +exc.k173: + %t380 = load ptr, ptr %sc_l_p_receiver + %t381 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t380, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t382 = call ptr @scr_dyn_bag_get(ptr %t376, ptr @sc_lit_992600386266231, ptr %t381) + %t383 = load i32, ptr %exc.cell + %t384 = icmp ne i32 %t383, 0 + %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false) + br i1 %t385, label %exc.u174, label %exc.k175 +exc.u174: + call void @sc_rc_release_dyn(ptr %t376) + call void @sc_rc_release_dyn(ptr %t381) + call void @sc_rc_release_dyn(ptr %t382) + ret ptr null +exc.k175: + call void @sc_rc_release_dyn(ptr %t376) + call void @sc_rc_release_dyn(ptr %t381) + ret ptr %t382 +if.j171: + %t387 = call ptr @scr_dyn_undefined() + %t386 = call ptr @scr_dyn_retain_v(ptr %t387) + ret ptr %t386 +if.j165: + %t388 = load ptr, ptr %sc_l_p_key + %t389 = call zeroext i1 @sc_streq_4198614539576238(ptr %t388) + br i1 %t389, label %if.t176, label %if.j177 +if.t176: + %t390 = load ptr, ptr %sc_l_p_receiver + %t391 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t390, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t392 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t391) + %t393 = load i32, ptr %exc.cell + %t394 = icmp ne i32 %t393, 0 + %t395 = call i1 @llvm.expect.i1(i1 %t394, i1 false) + br i1 %t395, label %exc.u178, label %exc.k179 +exc.u178: + call void @sc_rc_release_dyn(ptr %t392) + ret ptr null +exc.k179: + %t396 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t392, ptr @sc_lit_4198614539576238) + %t397 = load i32, ptr %exc.cell + %t398 = icmp ne i32 %t397, 0 + %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false) + br i1 %t399, label %exc.u180, label %exc.k181 +exc.u180: + call void @sc_rc_release_dyn(ptr %t392) + ret ptr null +exc.k181: + call void @sc_rc_release_dyn(ptr %t392) + br i1 %t396, label %if.t182, label %if.j183 +if.t182: + %t400 = load ptr, ptr %sc_l_p_receiver + %t401 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t400, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t402 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t401) + %t403 = load i32, ptr %exc.cell + %t404 = icmp ne i32 %t403, 0 + %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false) + br i1 %t405, label %exc.u184, label %exc.k185 +exc.u184: + call void @sc_rc_release_dyn(ptr %t402) + ret ptr null +exc.k185: + %t406 = load ptr, ptr %sc_l_p_receiver + %t407 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t406, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t408 = call ptr @scr_dyn_bag_get(ptr %t402, ptr @sc_lit_4198614539576238, ptr %t407) + %t409 = load i32, ptr %exc.cell + %t410 = icmp ne i32 %t409, 0 + %t411 = call i1 @llvm.expect.i1(i1 %t410, i1 false) + br i1 %t411, label %exc.u186, label %exc.k187 +exc.u186: + call void @sc_rc_release_dyn(ptr %t402) + call void @sc_rc_release_dyn(ptr %t407) + call void @sc_rc_release_dyn(ptr %t408) + ret ptr null +exc.k187: + call void @sc_rc_release_dyn(ptr %t402) + call void @sc_rc_release_dyn(ptr %t407) + ret ptr %t408 +if.j183: + %t413 = call ptr @scr_dyn_undefined() + %t412 = call ptr @scr_dyn_retain_v(ptr %t413) + ret ptr %t412 +if.j177: + %t414 = load ptr, ptr %sc_l_p_key + %t415 = call zeroext i1 @sc_streq_3908714124573206(ptr %t414) + br i1 %t415, label %if.t188, label %if.j189 +if.t188: + %t416 = load ptr, ptr %sc_l_p_receiver + %t417 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t416, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t418 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t417) + %t419 = load i32, ptr %exc.cell + %t420 = icmp ne i32 %t419, 0 + %t421 = call i1 @llvm.expect.i1(i1 %t420, i1 false) + br i1 %t421, label %exc.u190, label %exc.k191 +exc.u190: + call void @sc_rc_release_dyn(ptr %t418) + ret ptr null +exc.k191: + %t422 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t418, ptr @sc_lit_3908714124573206) + %t423 = load i32, ptr %exc.cell + %t424 = icmp ne i32 %t423, 0 + %t425 = call i1 @llvm.expect.i1(i1 %t424, i1 false) + br i1 %t425, label %exc.u192, label %exc.k193 +exc.u192: + call void @sc_rc_release_dyn(ptr %t418) + ret ptr null +exc.k193: + call void @sc_rc_release_dyn(ptr %t418) + br i1 %t422, label %if.t194, label %if.j195 +if.t194: + %t426 = load ptr, ptr %sc_l_p_receiver + %t427 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t426, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t428 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t427) + %t429 = load i32, ptr %exc.cell + %t430 = icmp ne i32 %t429, 0 + %t431 = call i1 @llvm.expect.i1(i1 %t430, i1 false) + br i1 %t431, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t428) + ret ptr null +exc.k197: + %t432 = load ptr, ptr %sc_l_p_receiver + %t433 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t432, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t434 = call ptr @scr_dyn_bag_get(ptr %t428, ptr @sc_lit_3908714124573206, ptr %t433) + %t435 = load i32, ptr %exc.cell + %t436 = icmp ne i32 %t435, 0 + %t437 = call i1 @llvm.expect.i1(i1 %t436, i1 false) + br i1 %t437, label %exc.u198, label %exc.k199 +exc.u198: + call void @sc_rc_release_dyn(ptr %t428) + call void @sc_rc_release_dyn(ptr %t433) + call void @sc_rc_release_dyn(ptr %t434) + ret ptr null +exc.k199: + call void @sc_rc_release_dyn(ptr %t428) + call void @sc_rc_release_dyn(ptr %t433) + ret ptr %t434 +if.j195: + %t439 = call ptr @scr_dyn_undefined() + %t438 = call ptr @scr_dyn_retain_v(ptr %t439) + ret ptr %t438 +if.j189: + %t440 = load ptr, ptr %sc_l_p_key + %t441 = call zeroext i1 @sc_streq_3108123016971750(ptr %t440) + br i1 %t441, label %if.t200, label %if.j201 +if.t200: + %t442 = load ptr, ptr %sc_l_p_receiver + %t443 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t442, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t444 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t443) + %t445 = load i32, ptr %exc.cell + %t446 = icmp ne i32 %t445, 0 + %t447 = call i1 @llvm.expect.i1(i1 %t446, i1 false) + br i1 %t447, label %exc.u202, label %exc.k203 +exc.u202: + call void @sc_rc_release_dyn(ptr %t444) + ret ptr null +exc.k203: + %t448 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t444, ptr @sc_lit_3108123016971750) + %t449 = load i32, ptr %exc.cell + %t450 = icmp ne i32 %t449, 0 + %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false) + br i1 %t451, label %exc.u204, label %exc.k205 +exc.u204: + call void @sc_rc_release_dyn(ptr %t444) + ret ptr null +exc.k205: + call void @sc_rc_release_dyn(ptr %t444) + br i1 %t448, label %if.t206, label %if.j207 +if.t206: + %t452 = load ptr, ptr %sc_l_p_receiver + %t453 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t452, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t454 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t453) + %t455 = load i32, ptr %exc.cell + %t456 = icmp ne i32 %t455, 0 + %t457 = call i1 @llvm.expect.i1(i1 %t456, i1 false) + br i1 %t457, label %exc.u208, label %exc.k209 +exc.u208: + call void @sc_rc_release_dyn(ptr %t454) + ret ptr null +exc.k209: + %t458 = load ptr, ptr %sc_l_p_receiver + %t459 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t458, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t460 = call ptr @scr_dyn_bag_get(ptr %t454, ptr @sc_lit_3108123016971750, ptr %t459) + %t461 = load i32, ptr %exc.cell + %t462 = icmp ne i32 %t461, 0 + %t463 = call i1 @llvm.expect.i1(i1 %t462, i1 false) + br i1 %t463, label %exc.u210, label %exc.k211 +exc.u210: + call void @sc_rc_release_dyn(ptr %t454) + call void @sc_rc_release_dyn(ptr %t459) + call void @sc_rc_release_dyn(ptr %t460) + ret ptr null +exc.k211: + call void @sc_rc_release_dyn(ptr %t454) + call void @sc_rc_release_dyn(ptr %t459) + ret ptr %t460 +if.j207: + %t465 = call ptr @scr_dyn_undefined() + %t464 = call ptr @scr_dyn_retain_v(ptr %t465) + ret ptr %t464 +if.j201: + %t466 = load ptr, ptr %sc_l_p_0 + %t467 = call ptr @sc_rc_retain_dyn(ptr %t466) + %t468 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t467) + %t469 = load i32, ptr %exc.cell + %t470 = icmp ne i32 %t469, 0 + %t471 = call i1 @llvm.expect.i1(i1 %t470, i1 false) + br i1 %t471, label %exc.u212, label %exc.k213 +exc.u212: + call void @sc_rc_release_dyn(ptr %t468) + ret ptr null +exc.k213: + %t472 = load ptr, ptr %sc_l_p_key + %t473 = call ptr @sc_rc_retain_str(ptr %t472) + %t474 = load ptr, ptr %sc_l_p_receiver + %t475 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t474, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t476 = call ptr @scr_dyn_bag_get(ptr %t468, ptr %t473, ptr %t475) + %t477 = load i32, ptr %exc.cell + %t478 = icmp ne i32 %t477, 0 + %t479 = call i1 @llvm.expect.i1(i1 %t478, i1 false) + br i1 %t479, label %exc.u214, label %exc.k215 +exc.u214: + call void @sc_rc_release_dyn(ptr %t468) + call void @scr_str_release(ptr %t473) + call void @sc_rc_release_dyn(ptr %t475) + call void @sc_rc_release_dyn(ptr %t476) + ret ptr null +exc.k215: + call void @sc_rc_release_dyn(ptr %t468) + call void @scr_str_release(ptr %t473) + call void @sc_rc_release_dyn(ptr %t475) + ret ptr %t476 +} +define internal ptr @sc_f__x25_dyn_class_keys_496(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_496(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m2_NodeResponseSink(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_497(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.497 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_127274431826284(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t6, i64 0, i32 3 + %t8 = load double, ptr %t7, !tbaa !52 + %t9 = call ptr @sc_td_2(double %t8) + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_p_key + %t11 = call zeroext i1 @sc_streq_3231205774586710(ptr %t10) + br i1 %t11, label %if.t4, label %if.j5 +if.t4: + %t12 = load ptr, ptr %sc_l_p_receiver + %t13 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t12, i64 0, i32 4 + %t14 = load ptr, ptr %t13, !tbaa !54 + %t15 = call ptr @scr_arr_retain_v(ptr %t14) + %t16 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t15, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t16, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t15) + ret ptr %t16 +if.j5: + %t17 = load ptr, ptr %sc_l_p_key + %t18 = call zeroext i1 @sc_streq_538032548850790(ptr %t17) + br i1 %t18, label %if.t6, label %if.j7 +if.t6: + %t19 = load ptr, ptr %sc_l_p_receiver + %t20 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t19, i64 0, i32 5 + %t21 = load ptr, ptr %t20, !tbaa !56 + %t22 = call ptr @scr_arr_retain_v(ptr %t21) + %t23 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t22, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t23, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t22) + ret ptr %t23 +if.j7: + %t24 = load ptr, ptr %sc_l_p_key + %t25 = call zeroext i1 @sc_streq_4231320391602270(ptr %t24) + br i1 %t25, label %if.t8, label %if.j9 +if.t8: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t26, i64 0, i32 6 + %t28 = load ptr, ptr %t27, !tbaa !58 + %t29 = call ptr @scr_arr_retain_v(ptr %t28) + %t30 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t29, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t30, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t29) + ret ptr %t30 +if.j9: + %t31 = load ptr, ptr %sc_l_p_key + %t32 = call zeroext i1 @sc_streq_2537232771826273(ptr %t31) + br i1 %t32, label %if.t10, label %if.j11 +if.t10: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t33, i64 0, i32 7 + %t35 = load ptr, ptr %t34, !tbaa !60 + %t36 = call ptr @scr_arr_retain_v(ptr %t35) + %t37 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t36, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t37, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t36) + ret ptr %t37 +if.j11: + %t38 = load ptr, ptr %sc_l_p_key + %t39 = call zeroext i1 @sc_streq_2163543391075186(ptr %t38) + br i1 %t39, label %if.t12, label %if.j13 +if.t12: + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t40, i64 0, i32 8 + %t42 = load i8, ptr %t41, !tbaa !42 + %t43 = trunc i8 %t42 to i1 + %t44 = call ptr @sc_td_3(i1 %t43) + ret ptr %t44 +if.j13: + %t45 = load ptr, ptr %sc_l_p_key + %t46 = call zeroext i1 @sc_streq_1579912071364319(ptr %t45) + br i1 %t46, label %if.t14, label %if.j15 +if.t14: + %t47 = load ptr, ptr %sc_l_p_receiver + %t48 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t47, i64 0, i32 9 + %t49 = load i8, ptr %t48, !tbaa !62 + %t50 = trunc i8 %t49 to i1 + %t51 = call ptr @sc_td_3(i1 %t50) + ret ptr %t51 +if.j15: + %t52 = load ptr, ptr %sc_l_p_key + %t53 = call zeroext i1 @sc_streq_1640919894513317(ptr %t52) + br i1 %t53, label %if.t16, label %if.j17 +if.t16: + %t54 = load ptr, ptr %sc_l_p_receiver + %t55 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t54, i64 0, i32 10 + %t56 = load ptr, ptr %t55, !tbaa !64 + %t57 = call ptr @sc_rretain_r1(ptr %t56) + %t58 = call ptr @sc_ldu_0(ptr %t57) + call void @sc_rrelease_r1(ptr %t57) + ret ptr %t58 +if.j17: + %t59 = load ptr, ptr %sc_l_p_key + %t60 = call zeroext i1 @sc_streq_4191962028163388(ptr %t59) + br i1 %t60, label %if.t18, label %if.j19 +if.t18: + %t61 = load ptr, ptr %sc_l_p_receiver + %t62 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t61, i64 0, i32 11 + %t63 = load i8, ptr %t62, !tbaa !66 + %t64 = trunc i8 %t63 to i1 + %t65 = call ptr @sc_td_3(i1 %t64) + ret ptr %t65 +if.j19: + %t66 = load ptr, ptr %sc_l_p_key + %t67 = call zeroext i1 @sc_streq_2098081682588801(ptr %t66) + br i1 %t67, label %if.t20, label %if.j21 +if.t20: + %t68 = load ptr, ptr %sc_l_p_receiver + %t69 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t68, i64 0, i32 12 + %t70 = load ptr, ptr %t69, !tbaa !68 + %t71 = call ptr @sc_rretain_r2(ptr %t70) + %t72 = call ptr @sc_ldu_1(ptr %t71) + call void @sc_rrelease_r2(ptr %t71) + ret ptr %t72 +if.j21: + %t73 = load ptr, ptr %sc_l_p_key + %t74 = call zeroext i1 @sc_streq_4448851817182856(ptr %t73) + br i1 %t74, label %if.t22, label %if.j23 +if.t22: + %t75 = load ptr, ptr %sc_l_p_receiver + %t76 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t75, i64 0, i32 13 + %t77 = load i8, ptr %t76, !tbaa !70 + %t78 = trunc i8 %t77 to i1 + %t79 = call ptr @sc_td_3(i1 %t78) + ret ptr %t79 +if.j23: + %t80 = load ptr, ptr %sc_l_p_key + %t81 = call zeroext i1 @sc_streq_3752021314181142(ptr %t80) + br i1 %t81, label %if.t24, label %if.j25 +if.t24: + %t82 = load ptr, ptr %sc_l_p_receiver + %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t84 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t83) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k27: + %t88 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t84, ptr @sc_lit_3752021314181142) + %t89 = load i32, ptr %exc.cell + %t90 = icmp ne i32 %t89, 0 + %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false) + br i1 %t91, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k29: + call void @sc_rc_release_dyn(ptr %t84) + br i1 %t88, label %if.t30, label %if.j31 +if.t30: + %t92 = load ptr, ptr %sc_l_p_receiver + %t93 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t92, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t94 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t93) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t94) + ret ptr null +exc.k33: + %t98 = load ptr, ptr %sc_l_p_receiver + %t99 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t98, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t100 = call ptr @scr_dyn_bag_get(ptr %t94, ptr @sc_lit_3752021314181142, ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t99) + call void @sc_rc_release_dyn(ptr %t100) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t94) + call void @sc_rc_release_dyn(ptr %t99) + ret ptr %t100 +if.j31: + %t105 = call ptr @scr_dyn_undefined() + %t104 = call ptr @scr_dyn_retain_v(ptr %t105) + ret ptr %t104 +if.j25: + %t106 = load ptr, ptr %sc_l_p_key + %t107 = call zeroext i1 @sc_streq_2364278031517622(ptr %t106) + br i1 %t107, label %if.t36, label %if.j37 +if.t36: + %t108 = load ptr, ptr %sc_l_p_receiver + %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t110 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t109) + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t110) + ret ptr null +exc.k39: + %t114 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t110, ptr @sc_lit_2364278031517622) + %t115 = load i32, ptr %exc.cell + %t116 = icmp ne i32 %t115, 0 + %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false) + br i1 %t117, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t110) + ret ptr null +exc.k41: + call void @sc_rc_release_dyn(ptr %t110) + br i1 %t114, label %if.t42, label %if.j43 +if.t42: + %t118 = load ptr, ptr %sc_l_p_receiver + %t119 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t118, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t120 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t119) + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t120) + ret ptr null +exc.k45: + %t124 = load ptr, ptr %sc_l_p_receiver + %t125 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t124, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t126 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2364278031517622, ptr %t125) + %t127 = load i32, ptr %exc.cell + %t128 = icmp ne i32 %t127, 0 + %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false) + br i1 %t129, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t125) + call void @sc_rc_release_dyn(ptr %t126) + ret ptr null +exc.k47: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t125) + ret ptr %t126 +if.j43: + %t131 = call ptr @scr_dyn_undefined() + %t130 = call ptr @scr_dyn_retain_v(ptr %t131) + ret ptr %t130 +if.j37: + %t132 = load ptr, ptr %sc_l_p_key + %t133 = call zeroext i1 @sc_streq_470306239805907(ptr %t132) + br i1 %t133, label %if.t48, label %if.j49 +if.t48: + %t134 = load ptr, ptr %sc_l_p_receiver + %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t136 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t135) + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t136) + ret ptr null +exc.k51: + %t140 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t136, ptr @sc_lit_470306239805907) + %t141 = load i32, ptr %exc.cell + %t142 = icmp ne i32 %t141, 0 + %t143 = call i1 @llvm.expect.i1(i1 %t142, i1 false) + br i1 %t143, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t136) + ret ptr null +exc.k53: + call void @sc_rc_release_dyn(ptr %t136) + br i1 %t140, label %if.t54, label %if.j55 +if.t54: + %t144 = load ptr, ptr %sc_l_p_receiver + %t145 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t144, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t146 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t145) + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t146) + ret ptr null +exc.k57: + %t150 = load ptr, ptr %sc_l_p_receiver + %t151 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t150, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t152 = call ptr @scr_dyn_bag_get(ptr %t146, ptr @sc_lit_470306239805907, ptr %t151) + %t153 = load i32, ptr %exc.cell + %t154 = icmp ne i32 %t153, 0 + %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false) + br i1 %t155, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t146) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t152) + ret ptr null +exc.k59: + call void @sc_rc_release_dyn(ptr %t146) + call void @sc_rc_release_dyn(ptr %t151) + ret ptr %t152 +if.j55: + %t157 = call ptr @scr_dyn_undefined() + %t156 = call ptr @scr_dyn_retain_v(ptr %t157) + ret ptr %t156 +if.j49: + %t158 = load ptr, ptr %sc_l_p_key + %t159 = call zeroext i1 @sc_streq_4133069531575059(ptr %t158) + br i1 %t159, label %if.t60, label %if.j61 +if.t60: + %t160 = load ptr, ptr %sc_l_p_receiver + %t161 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t160, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t162 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t161) + %t163 = load i32, ptr %exc.cell + %t164 = icmp ne i32 %t163, 0 + %t165 = call i1 @llvm.expect.i1(i1 %t164, i1 false) + br i1 %t165, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t162) + ret ptr null +exc.k63: + %t166 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t162, ptr @sc_lit_4133069531575059) + %t167 = load i32, ptr %exc.cell + %t168 = icmp ne i32 %t167, 0 + %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false) + br i1 %t169, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t162) + ret ptr null +exc.k65: + call void @sc_rc_release_dyn(ptr %t162) + br i1 %t166, label %if.t66, label %if.j67 +if.t66: + %t170 = load ptr, ptr %sc_l_p_receiver + %t171 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t170, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t172 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t171) + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t172) + ret ptr null +exc.k69: + %t176 = load ptr, ptr %sc_l_p_receiver + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t172, ptr @sc_lit_4133069531575059, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + ret ptr null +exc.k71: + call void @sc_rc_release_dyn(ptr %t172) + call void @sc_rc_release_dyn(ptr %t177) + ret ptr %t178 +if.j67: + %t183 = call ptr @scr_dyn_undefined() + %t182 = call ptr @scr_dyn_retain_v(ptr %t183) + ret ptr %t182 +if.j61: + %t184 = load ptr, ptr %sc_l_p_key + %t185 = call zeroext i1 @sc_streq_2253648670486996(ptr %t184) + br i1 %t185, label %if.t72, label %if.j73 +if.t72: + %t186 = load ptr, ptr %sc_l_p_receiver + %t187 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t186, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t188 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t187) + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t188) + ret ptr null +exc.k75: + %t192 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t188, ptr @sc_lit_2253648670486996) + %t193 = load i32, ptr %exc.cell + %t194 = icmp ne i32 %t193, 0 + %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false) + br i1 %t195, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t188) + ret ptr null +exc.k77: + call void @sc_rc_release_dyn(ptr %t188) + br i1 %t192, label %if.t78, label %if.j79 +if.t78: + %t196 = load ptr, ptr %sc_l_p_receiver + %t197 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t196, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t198 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t197) + %t199 = load i32, ptr %exc.cell + %t200 = icmp ne i32 %t199, 0 + %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false) + br i1 %t201, label %exc.u80, label %exc.k81 +exc.u80: + call void @sc_rc_release_dyn(ptr %t198) + ret ptr null +exc.k81: + %t202 = load ptr, ptr %sc_l_p_receiver + %t203 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t202, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t204 = call ptr @scr_dyn_bag_get(ptr %t198, ptr @sc_lit_2253648670486996, ptr %t203) + %t205 = load i32, ptr %exc.cell + %t206 = icmp ne i32 %t205, 0 + %t207 = call i1 @llvm.expect.i1(i1 %t206, i1 false) + br i1 %t207, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t203) + call void @sc_rc_release_dyn(ptr %t204) + ret ptr null +exc.k83: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_rc_release_dyn(ptr %t203) + ret ptr %t204 +if.j79: + %t209 = call ptr @scr_dyn_undefined() + %t208 = call ptr @scr_dyn_retain_v(ptr %t209) + ret ptr %t208 +if.j73: + %t210 = load ptr, ptr %sc_l_p_key + %t211 = call zeroext i1 @sc_streq_161925136240866(ptr %t210) + br i1 %t211, label %if.t84, label %if.j85 +if.t84: + %t212 = load ptr, ptr %sc_l_p_receiver + %t213 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t212, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t214 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t213) + %t215 = load i32, ptr %exc.cell + %t216 = icmp ne i32 %t215, 0 + %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false) + br i1 %t217, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t214) + ret ptr null +exc.k87: + %t218 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t214, ptr @sc_lit_161925136240866) + %t219 = load i32, ptr %exc.cell + %t220 = icmp ne i32 %t219, 0 + %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false) + br i1 %t221, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t214) + ret ptr null +exc.k89: + call void @sc_rc_release_dyn(ptr %t214) + br i1 %t218, label %if.t90, label %if.j91 +if.t90: + %t222 = load ptr, ptr %sc_l_p_receiver + %t223 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t222, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t224 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t223) + %t225 = load i32, ptr %exc.cell + %t226 = icmp ne i32 %t225, 0 + %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false) + br i1 %t227, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t224) + ret ptr null +exc.k93: + %t228 = load ptr, ptr %sc_l_p_receiver + %t229 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t228, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t230 = call ptr @scr_dyn_bag_get(ptr %t224, ptr @sc_lit_161925136240866, ptr %t229) + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t224) + call void @sc_rc_release_dyn(ptr %t229) + call void @sc_rc_release_dyn(ptr %t230) + ret ptr null +exc.k95: + call void @sc_rc_release_dyn(ptr %t224) + call void @sc_rc_release_dyn(ptr %t229) + ret ptr %t230 +if.j91: + %t235 = call ptr @scr_dyn_undefined() + %t234 = call ptr @scr_dyn_retain_v(ptr %t235) + ret ptr %t234 +if.j85: + %t236 = load ptr, ptr %sc_l_p_key + %t237 = call zeroext i1 @sc_streq_298897322184109(ptr %t236) + br i1 %t237, label %if.t96, label %if.j97 +if.t96: + %t238 = load ptr, ptr %sc_l_p_receiver + %t239 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t238, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t240 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t239) + %t241 = load i32, ptr %exc.cell + %t242 = icmp ne i32 %t241, 0 + %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false) + br i1 %t243, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t240) + ret ptr null +exc.k99: + %t244 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t240, ptr @sc_lit_298897322184109) + %t245 = load i32, ptr %exc.cell + %t246 = icmp ne i32 %t245, 0 + %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false) + br i1 %t247, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t240) + ret ptr null +exc.k101: + call void @sc_rc_release_dyn(ptr %t240) + br i1 %t244, label %if.t102, label %if.j103 +if.t102: + %t248 = load ptr, ptr %sc_l_p_receiver + %t249 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t248, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t250 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t249) + %t251 = load i32, ptr %exc.cell + %t252 = icmp ne i32 %t251, 0 + %t253 = call i1 @llvm.expect.i1(i1 %t252, i1 false) + br i1 %t253, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t250) + ret ptr null +exc.k105: + %t254 = load ptr, ptr %sc_l_p_receiver + %t255 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t254, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t256 = call ptr @scr_dyn_bag_get(ptr %t250, ptr @sc_lit_298897322184109, ptr %t255) + %t257 = load i32, ptr %exc.cell + %t258 = icmp ne i32 %t257, 0 + %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false) + br i1 %t259, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t250) + call void @sc_rc_release_dyn(ptr %t255) + call void @sc_rc_release_dyn(ptr %t256) + ret ptr null +exc.k107: + call void @sc_rc_release_dyn(ptr %t250) + call void @sc_rc_release_dyn(ptr %t255) + ret ptr %t256 +if.j103: + %t261 = call ptr @scr_dyn_undefined() + %t260 = call ptr @scr_dyn_retain_v(ptr %t261) + ret ptr %t260 +if.j97: + %t262 = load ptr, ptr %sc_l_p_key + %t263 = call zeroext i1 @sc_streq_4085448292571548(ptr %t262) + br i1 %t263, label %if.t108, label %if.j109 +if.t108: + %t264 = load ptr, ptr %sc_l_p_receiver + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t266 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t266) + ret ptr null +exc.k111: + %t270 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t266, ptr @sc_lit_4085448292571548) + %t271 = load i32, ptr %exc.cell + %t272 = icmp ne i32 %t271, 0 + %t273 = call i1 @llvm.expect.i1(i1 %t272, i1 false) + br i1 %t273, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t266) + ret ptr null +exc.k113: + call void @sc_rc_release_dyn(ptr %t266) + br i1 %t270, label %if.t114, label %if.j115 +if.t114: + %t274 = load ptr, ptr %sc_l_p_receiver + %t275 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t274, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t276 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t275) + %t277 = load i32, ptr %exc.cell + %t278 = icmp ne i32 %t277, 0 + %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false) + br i1 %t279, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t276) + ret ptr null +exc.k117: + %t280 = load ptr, ptr %sc_l_p_receiver + %t281 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t280, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t282 = call ptr @scr_dyn_bag_get(ptr %t276, ptr @sc_lit_4085448292571548, ptr %t281) + %t283 = load i32, ptr %exc.cell + %t284 = icmp ne i32 %t283, 0 + %t285 = call i1 @llvm.expect.i1(i1 %t284, i1 false) + br i1 %t285, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_rc_release_dyn(ptr %t281) + call void @sc_rc_release_dyn(ptr %t282) + ret ptr null +exc.k119: + call void @sc_rc_release_dyn(ptr %t276) + call void @sc_rc_release_dyn(ptr %t281) + ret ptr %t282 +if.j115: + %t287 = call ptr @scr_dyn_undefined() + %t286 = call ptr @scr_dyn_retain_v(ptr %t287) + ret ptr %t286 +if.j109: + %t288 = load ptr, ptr %sc_l_p_key + %t289 = call zeroext i1 @sc_streq_3561861343106386(ptr %t288) + br i1 %t289, label %if.t120, label %if.j121 +if.t120: + %t290 = load ptr, ptr %sc_l_p_receiver + %t291 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t290, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t292 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t291) + %t293 = load i32, ptr %exc.cell + %t294 = icmp ne i32 %t293, 0 + %t295 = call i1 @llvm.expect.i1(i1 %t294, i1 false) + br i1 %t295, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t292) + ret ptr null +exc.k123: + %t296 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t292, ptr @sc_lit_3561861343106386) + %t297 = load i32, ptr %exc.cell + %t298 = icmp ne i32 %t297, 0 + %t299 = call i1 @llvm.expect.i1(i1 %t298, i1 false) + br i1 %t299, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t292) + ret ptr null +exc.k125: + call void @sc_rc_release_dyn(ptr %t292) + br i1 %t296, label %if.t126, label %if.j127 +if.t126: + %t300 = load ptr, ptr %sc_l_p_receiver + %t301 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t300, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t302 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t301) + %t303 = load i32, ptr %exc.cell + %t304 = icmp ne i32 %t303, 0 + %t305 = call i1 @llvm.expect.i1(i1 %t304, i1 false) + br i1 %t305, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t302) + ret ptr null +exc.k129: + %t306 = load ptr, ptr %sc_l_p_receiver + %t307 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t306, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t308 = call ptr @scr_dyn_bag_get(ptr %t302, ptr @sc_lit_3561861343106386, ptr %t307) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t302) + call void @sc_rc_release_dyn(ptr %t307) + call void @sc_rc_release_dyn(ptr %t308) + ret ptr null +exc.k131: + call void @sc_rc_release_dyn(ptr %t302) + call void @sc_rc_release_dyn(ptr %t307) + ret ptr %t308 +if.j127: + %t313 = call ptr @scr_dyn_undefined() + %t312 = call ptr @scr_dyn_retain_v(ptr %t313) + ret ptr %t312 +if.j121: + %t314 = load ptr, ptr %sc_l_p_key + %t315 = call zeroext i1 @sc_streq_3108123016971750(ptr %t314) + br i1 %t315, label %if.t132, label %if.j133 +if.t132: + %t316 = load ptr, ptr %sc_l_p_receiver + %t317 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t316, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t318 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t317) + %t319 = load i32, ptr %exc.cell + %t320 = icmp ne i32 %t319, 0 + %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false) + br i1 %t321, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t318) + ret ptr null +exc.k135: + %t322 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t318, ptr @sc_lit_3108123016971750) + %t323 = load i32, ptr %exc.cell + %t324 = icmp ne i32 %t323, 0 + %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false) + br i1 %t325, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t318) + ret ptr null +exc.k137: + call void @sc_rc_release_dyn(ptr %t318) + br i1 %t322, label %if.t138, label %if.j139 +if.t138: + %t326 = load ptr, ptr %sc_l_p_receiver + %t327 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t326, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t328 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t327) + %t329 = load i32, ptr %exc.cell + %t330 = icmp ne i32 %t329, 0 + %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false) + br i1 %t331, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t328) + ret ptr null +exc.k141: + %t332 = load ptr, ptr %sc_l_p_receiver + %t333 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t332, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t334 = call ptr @scr_dyn_bag_get(ptr %t328, ptr @sc_lit_3108123016971750, ptr %t333) + %t335 = load i32, ptr %exc.cell + %t336 = icmp ne i32 %t335, 0 + %t337 = call i1 @llvm.expect.i1(i1 %t336, i1 false) + br i1 %t337, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_rc_release_dyn(ptr %t333) + call void @sc_rc_release_dyn(ptr %t334) + ret ptr null +exc.k143: + call void @sc_rc_release_dyn(ptr %t328) + call void @sc_rc_release_dyn(ptr %t333) + ret ptr %t334 +if.j139: + %t339 = call ptr @scr_dyn_undefined() + %t338 = call ptr @scr_dyn_retain_v(ptr %t339) + ret ptr %t338 +if.j133: + %t340 = load ptr, ptr %sc_l_p_key + %t341 = call zeroext i1 @sc_streq_2529432852777196(ptr %t340) + br i1 %t341, label %if.t144, label %if.j145 +if.t144: + %t342 = load ptr, ptr %sc_l_p_receiver + %t343 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t342, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t344 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t343) + %t345 = load i32, ptr %exc.cell + %t346 = icmp ne i32 %t345, 0 + %t347 = call i1 @llvm.expect.i1(i1 %t346, i1 false) + br i1 %t347, label %exc.u146, label %exc.k147 +exc.u146: + call void @sc_rc_release_dyn(ptr %t344) + ret ptr null +exc.k147: + %t348 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t344, ptr @sc_lit_2529432852777196) + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u148, label %exc.k149 +exc.u148: + call void @sc_rc_release_dyn(ptr %t344) + ret ptr null +exc.k149: + call void @sc_rc_release_dyn(ptr %t344) + br i1 %t348, label %if.t150, label %if.j151 +if.t150: + %t352 = load ptr, ptr %sc_l_p_receiver + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t354 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u152, label %exc.k153 +exc.u152: + call void @sc_rc_release_dyn(ptr %t354) + ret ptr null +exc.k153: + %t358 = load ptr, ptr %sc_l_p_receiver + %t359 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t358, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t360 = call ptr @scr_dyn_bag_get(ptr %t354, ptr @sc_lit_2529432852777196, ptr %t359) + %t361 = load i32, ptr %exc.cell + %t362 = icmp ne i32 %t361, 0 + %t363 = call i1 @llvm.expect.i1(i1 %t362, i1 false) + br i1 %t363, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t354) + call void @sc_rc_release_dyn(ptr %t359) + call void @sc_rc_release_dyn(ptr %t360) + ret ptr null +exc.k155: + call void @sc_rc_release_dyn(ptr %t354) + call void @sc_rc_release_dyn(ptr %t359) + ret ptr %t360 +if.j151: + %t365 = call ptr @scr_dyn_undefined() + %t364 = call ptr @scr_dyn_retain_v(ptr %t365) + ret ptr %t364 +if.j145: + %t366 = load ptr, ptr %sc_l_p_key + %t367 = call zeroext i1 @sc_streq_4297539476301093(ptr %t366) + br i1 %t367, label %if.t156, label %if.j157 +if.t156: + %t368 = load ptr, ptr %sc_l_p_receiver + %t369 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t368, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t370 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t369) + %t371 = load i32, ptr %exc.cell + %t372 = icmp ne i32 %t371, 0 + %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false) + br i1 %t373, label %exc.u158, label %exc.k159 +exc.u158: + call void @sc_rc_release_dyn(ptr %t370) + ret ptr null +exc.k159: + %t374 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t370, ptr @sc_lit_4297539476301093) + %t375 = load i32, ptr %exc.cell + %t376 = icmp ne i32 %t375, 0 + %t377 = call i1 @llvm.expect.i1(i1 %t376, i1 false) + br i1 %t377, label %exc.u160, label %exc.k161 +exc.u160: + call void @sc_rc_release_dyn(ptr %t370) + ret ptr null +exc.k161: + call void @sc_rc_release_dyn(ptr %t370) + br i1 %t374, label %if.t162, label %if.j163 +if.t162: + %t378 = load ptr, ptr %sc_l_p_receiver + %t379 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t378, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t380 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t379) + %t381 = load i32, ptr %exc.cell + %t382 = icmp ne i32 %t381, 0 + %t383 = call i1 @llvm.expect.i1(i1 %t382, i1 false) + br i1 %t383, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t380) + ret ptr null +exc.k165: + %t384 = load ptr, ptr %sc_l_p_receiver + %t385 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t384, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t386 = call ptr @scr_dyn_bag_get(ptr %t380, ptr @sc_lit_4297539476301093, ptr %t385) + %t387 = load i32, ptr %exc.cell + %t388 = icmp ne i32 %t387, 0 + %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false) + br i1 %t389, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t380) + call void @sc_rc_release_dyn(ptr %t385) + call void @sc_rc_release_dyn(ptr %t386) + ret ptr null +exc.k167: + call void @sc_rc_release_dyn(ptr %t380) + call void @sc_rc_release_dyn(ptr %t385) + ret ptr %t386 +if.j163: + %t391 = call ptr @scr_dyn_undefined() + %t390 = call ptr @scr_dyn_retain_v(ptr %t391) + ret ptr %t390 +if.j157: + %t392 = load ptr, ptr %sc_l_p_key + %t393 = call zeroext i1 @sc_streq_181663572509014(ptr %t392) + br i1 %t393, label %if.t168, label %if.j169 +if.t168: + %t394 = load ptr, ptr %sc_l_p_receiver + %t395 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t394, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t396 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t395) + %t397 = load i32, ptr %exc.cell + %t398 = icmp ne i32 %t397, 0 + %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false) + br i1 %t399, label %exc.u170, label %exc.k171 +exc.u170: + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +exc.k171: + %t400 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t396, ptr @sc_lit_181663572509014) + %t401 = load i32, ptr %exc.cell + %t402 = icmp ne i32 %t401, 0 + %t403 = call i1 @llvm.expect.i1(i1 %t402, i1 false) + br i1 %t403, label %exc.u172, label %exc.k173 +exc.u172: + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +exc.k173: + call void @sc_rc_release_dyn(ptr %t396) + br i1 %t400, label %if.t174, label %if.j175 +if.t174: + %t404 = load ptr, ptr %sc_l_p_receiver + %t405 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t404, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t406 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t405) + %t407 = load i32, ptr %exc.cell + %t408 = icmp ne i32 %t407, 0 + %t409 = call i1 @llvm.expect.i1(i1 %t408, i1 false) + br i1 %t409, label %exc.u176, label %exc.k177 +exc.u176: + call void @sc_rc_release_dyn(ptr %t406) + ret ptr null +exc.k177: + %t410 = load ptr, ptr %sc_l_p_receiver + %t411 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t410, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t412 = call ptr @scr_dyn_bag_get(ptr %t406, ptr @sc_lit_181663572509014, ptr %t411) + %t413 = load i32, ptr %exc.cell + %t414 = icmp ne i32 %t413, 0 + %t415 = call i1 @llvm.expect.i1(i1 %t414, i1 false) + br i1 %t415, label %exc.u178, label %exc.k179 +exc.u178: + call void @sc_rc_release_dyn(ptr %t406) + call void @sc_rc_release_dyn(ptr %t411) + call void @sc_rc_release_dyn(ptr %t412) + ret ptr null +exc.k179: + call void @sc_rc_release_dyn(ptr %t406) + call void @sc_rc_release_dyn(ptr %t411) + ret ptr %t412 +if.j175: + %t417 = call ptr @scr_dyn_undefined() + %t416 = call ptr @scr_dyn_retain_v(ptr %t417) + ret ptr %t416 +if.j169: + %t418 = load ptr, ptr %sc_l_p_key + %t419 = call zeroext i1 @sc_streq_992600386266231(ptr %t418) + br i1 %t419, label %if.t180, label %if.j181 +if.t180: + %t420 = load ptr, ptr %sc_l_p_receiver + %t421 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t420, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t422 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t421) + %t423 = load i32, ptr %exc.cell + %t424 = icmp ne i32 %t423, 0 + %t425 = call i1 @llvm.expect.i1(i1 %t424, i1 false) + br i1 %t425, label %exc.u182, label %exc.k183 +exc.u182: + call void @sc_rc_release_dyn(ptr %t422) + ret ptr null +exc.k183: + %t426 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t422, ptr @sc_lit_992600386266231) + %t427 = load i32, ptr %exc.cell + %t428 = icmp ne i32 %t427, 0 + %t429 = call i1 @llvm.expect.i1(i1 %t428, i1 false) + br i1 %t429, label %exc.u184, label %exc.k185 +exc.u184: + call void @sc_rc_release_dyn(ptr %t422) + ret ptr null +exc.k185: + call void @sc_rc_release_dyn(ptr %t422) + br i1 %t426, label %if.t186, label %if.j187 +if.t186: + %t430 = load ptr, ptr %sc_l_p_receiver + %t431 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t430, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t432 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t431) + %t433 = load i32, ptr %exc.cell + %t434 = icmp ne i32 %t433, 0 + %t435 = call i1 @llvm.expect.i1(i1 %t434, i1 false) + br i1 %t435, label %exc.u188, label %exc.k189 +exc.u188: + call void @sc_rc_release_dyn(ptr %t432) + ret ptr null +exc.k189: + %t436 = load ptr, ptr %sc_l_p_receiver + %t437 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t436, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t438 = call ptr @scr_dyn_bag_get(ptr %t432, ptr @sc_lit_992600386266231, ptr %t437) + %t439 = load i32, ptr %exc.cell + %t440 = icmp ne i32 %t439, 0 + %t441 = call i1 @llvm.expect.i1(i1 %t440, i1 false) + br i1 %t441, label %exc.u190, label %exc.k191 +exc.u190: + call void @sc_rc_release_dyn(ptr %t432) + call void @sc_rc_release_dyn(ptr %t437) + call void @sc_rc_release_dyn(ptr %t438) + ret ptr null +exc.k191: + call void @sc_rc_release_dyn(ptr %t432) + call void @sc_rc_release_dyn(ptr %t437) + ret ptr %t438 +if.j187: + %t443 = call ptr @scr_dyn_undefined() + %t442 = call ptr @scr_dyn_retain_v(ptr %t443) + ret ptr %t442 +if.j181: + %t444 = load ptr, ptr %sc_l_p_key + %t445 = call zeroext i1 @sc_streq_4198614539576238(ptr %t444) + br i1 %t445, label %if.t192, label %if.j193 +if.t192: + %t446 = load ptr, ptr %sc_l_p_receiver + %t447 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t446, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t448 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t447) + %t449 = load i32, ptr %exc.cell + %t450 = icmp ne i32 %t449, 0 + %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false) + br i1 %t451, label %exc.u194, label %exc.k195 +exc.u194: + call void @sc_rc_release_dyn(ptr %t448) + ret ptr null +exc.k195: + %t452 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t448, ptr @sc_lit_4198614539576238) + %t453 = load i32, ptr %exc.cell + %t454 = icmp ne i32 %t453, 0 + %t455 = call i1 @llvm.expect.i1(i1 %t454, i1 false) + br i1 %t455, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t448) + ret ptr null +exc.k197: + call void @sc_rc_release_dyn(ptr %t448) + br i1 %t452, label %if.t198, label %if.j199 +if.t198: + %t456 = load ptr, ptr %sc_l_p_receiver + %t457 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t456, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t458 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t457) + %t459 = load i32, ptr %exc.cell + %t460 = icmp ne i32 %t459, 0 + %t461 = call i1 @llvm.expect.i1(i1 %t460, i1 false) + br i1 %t461, label %exc.u200, label %exc.k201 +exc.u200: + call void @sc_rc_release_dyn(ptr %t458) + ret ptr null +exc.k201: + %t462 = load ptr, ptr %sc_l_p_receiver + %t463 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t462, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t464 = call ptr @scr_dyn_bag_get(ptr %t458, ptr @sc_lit_4198614539576238, ptr %t463) + %t465 = load i32, ptr %exc.cell + %t466 = icmp ne i32 %t465, 0 + %t467 = call i1 @llvm.expect.i1(i1 %t466, i1 false) + br i1 %t467, label %exc.u202, label %exc.k203 +exc.u202: + call void @sc_rc_release_dyn(ptr %t458) + call void @sc_rc_release_dyn(ptr %t463) + call void @sc_rc_release_dyn(ptr %t464) + ret ptr null +exc.k203: + call void @sc_rc_release_dyn(ptr %t458) + call void @sc_rc_release_dyn(ptr %t463) + ret ptr %t464 +if.j199: + %t469 = call ptr @scr_dyn_undefined() + %t468 = call ptr @scr_dyn_retain_v(ptr %t469) + ret ptr %t468 +if.j193: + %t470 = load ptr, ptr %sc_l_p_key + %t471 = call zeroext i1 @sc_streq_1959461887910059(ptr %t470) + br i1 %t471, label %if.t204, label %if.j205 +if.t204: + %t472 = load ptr, ptr %sc_l_p_receiver + %t473 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t472, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t474 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t473) + %t475 = load i32, ptr %exc.cell + %t476 = icmp ne i32 %t475, 0 + %t477 = call i1 @llvm.expect.i1(i1 %t476, i1 false) + br i1 %t477, label %exc.u206, label %exc.k207 +exc.u206: + call void @sc_rc_release_dyn(ptr %t474) + ret ptr null +exc.k207: + %t478 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t474, ptr @sc_lit_1959461887910059) + %t479 = load i32, ptr %exc.cell + %t480 = icmp ne i32 %t479, 0 + %t481 = call i1 @llvm.expect.i1(i1 %t480, i1 false) + br i1 %t481, label %exc.u208, label %exc.k209 +exc.u208: + call void @sc_rc_release_dyn(ptr %t474) + ret ptr null +exc.k209: + call void @sc_rc_release_dyn(ptr %t474) + br i1 %t478, label %if.t210, label %if.j211 +if.t210: + %t482 = load ptr, ptr %sc_l_p_receiver + %t483 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t482, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t484 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t483) + %t485 = load i32, ptr %exc.cell + %t486 = icmp ne i32 %t485, 0 + %t487 = call i1 @llvm.expect.i1(i1 %t486, i1 false) + br i1 %t487, label %exc.u212, label %exc.k213 +exc.u212: + call void @sc_rc_release_dyn(ptr %t484) + ret ptr null +exc.k213: + %t488 = load ptr, ptr %sc_l_p_receiver + %t489 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t488, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t490 = call ptr @scr_dyn_bag_get(ptr %t484, ptr @sc_lit_1959461887910059, ptr %t489) + %t491 = load i32, ptr %exc.cell + %t492 = icmp ne i32 %t491, 0 + %t493 = call i1 @llvm.expect.i1(i1 %t492, i1 false) + br i1 %t493, label %exc.u214, label %exc.k215 +exc.u214: + call void @sc_rc_release_dyn(ptr %t484) + call void @sc_rc_release_dyn(ptr %t489) + call void @sc_rc_release_dyn(ptr %t490) + ret ptr null +exc.k215: + call void @sc_rc_release_dyn(ptr %t484) + call void @sc_rc_release_dyn(ptr %t489) + ret ptr %t490 +if.j211: + %t495 = call ptr @scr_dyn_undefined() + %t494 = call ptr @scr_dyn_retain_v(ptr %t495) + ret ptr %t494 +if.j205: + %t496 = load ptr, ptr %sc_l_p_key + %t497 = call zeroext i1 @sc_streq_4028208071947570(ptr %t496) + br i1 %t497, label %if.t216, label %if.j217 +if.t216: + %t498 = load ptr, ptr %sc_l_p_receiver + %t499 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t498, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t500 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t499) + %t501 = load i32, ptr %exc.cell + %t502 = icmp ne i32 %t501, 0 + %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false) + br i1 %t503, label %exc.u218, label %exc.k219 +exc.u218: + call void @sc_rc_release_dyn(ptr %t500) + ret ptr null +exc.k219: + %t504 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t500, ptr @sc_lit_4028208071947570) + %t505 = load i32, ptr %exc.cell + %t506 = icmp ne i32 %t505, 0 + %t507 = call i1 @llvm.expect.i1(i1 %t506, i1 false) + br i1 %t507, label %exc.u220, label %exc.k221 +exc.u220: + call void @sc_rc_release_dyn(ptr %t500) + ret ptr null +exc.k221: + call void @sc_rc_release_dyn(ptr %t500) + br i1 %t504, label %if.t222, label %if.j223 +if.t222: + %t508 = load ptr, ptr %sc_l_p_receiver + %t509 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t508, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t510 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t509) + %t511 = load i32, ptr %exc.cell + %t512 = icmp ne i32 %t511, 0 + %t513 = call i1 @llvm.expect.i1(i1 %t512, i1 false) + br i1 %t513, label %exc.u224, label %exc.k225 +exc.u224: + call void @sc_rc_release_dyn(ptr %t510) + ret ptr null +exc.k225: + %t514 = load ptr, ptr %sc_l_p_receiver + %t515 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t514, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t516 = call ptr @scr_dyn_bag_get(ptr %t510, ptr @sc_lit_4028208071947570, ptr %t515) + %t517 = load i32, ptr %exc.cell + %t518 = icmp ne i32 %t517, 0 + %t519 = call i1 @llvm.expect.i1(i1 %t518, i1 false) + br i1 %t519, label %exc.u226, label %exc.k227 +exc.u226: + call void @sc_rc_release_dyn(ptr %t510) + call void @sc_rc_release_dyn(ptr %t515) + call void @sc_rc_release_dyn(ptr %t516) + ret ptr null +exc.k227: + call void @sc_rc_release_dyn(ptr %t510) + call void @sc_rc_release_dyn(ptr %t515) + ret ptr %t516 +if.j223: + %t521 = call ptr @scr_dyn_undefined() + %t520 = call ptr @scr_dyn_retain_v(ptr %t521) + ret ptr %t520 +if.j217: + %t522 = load ptr, ptr %sc_l_p_key + %t523 = call zeroext i1 @sc_streq_3908714124573206(ptr %t522) + br i1 %t523, label %if.t228, label %if.j229 +if.t228: + %t524 = load ptr, ptr %sc_l_p_receiver + %t525 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t524, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t526 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t525) + %t527 = load i32, ptr %exc.cell + %t528 = icmp ne i32 %t527, 0 + %t529 = call i1 @llvm.expect.i1(i1 %t528, i1 false) + br i1 %t529, label %exc.u230, label %exc.k231 +exc.u230: + call void @sc_rc_release_dyn(ptr %t526) + ret ptr null +exc.k231: + %t530 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t526, ptr @sc_lit_3908714124573206) + %t531 = load i32, ptr %exc.cell + %t532 = icmp ne i32 %t531, 0 + %t533 = call i1 @llvm.expect.i1(i1 %t532, i1 false) + br i1 %t533, label %exc.u232, label %exc.k233 +exc.u232: + call void @sc_rc_release_dyn(ptr %t526) + ret ptr null +exc.k233: + call void @sc_rc_release_dyn(ptr %t526) + br i1 %t530, label %if.t234, label %if.j235 +if.t234: + %t534 = load ptr, ptr %sc_l_p_receiver + %t535 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t534, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t536 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t535) + %t537 = load i32, ptr %exc.cell + %t538 = icmp ne i32 %t537, 0 + %t539 = call i1 @llvm.expect.i1(i1 %t538, i1 false) + br i1 %t539, label %exc.u236, label %exc.k237 +exc.u236: + call void @sc_rc_release_dyn(ptr %t536) + ret ptr null +exc.k237: + %t540 = load ptr, ptr %sc_l_p_receiver + %t541 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t540, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t542 = call ptr @scr_dyn_bag_get(ptr %t536, ptr @sc_lit_3908714124573206, ptr %t541) + %t543 = load i32, ptr %exc.cell + %t544 = icmp ne i32 %t543, 0 + %t545 = call i1 @llvm.expect.i1(i1 %t544, i1 false) + br i1 %t545, label %exc.u238, label %exc.k239 +exc.u238: + call void @sc_rc_release_dyn(ptr %t536) + call void @sc_rc_release_dyn(ptr %t541) + call void @sc_rc_release_dyn(ptr %t542) + ret ptr null +exc.k239: + call void @sc_rc_release_dyn(ptr %t536) + call void @sc_rc_release_dyn(ptr %t541) + ret ptr %t542 +if.j235: + %t547 = call ptr @scr_dyn_undefined() + %t546 = call ptr @scr_dyn_retain_v(ptr %t547) + ret ptr %t546 +if.j229: + %t548 = load ptr, ptr %sc_l_p_0 + %t549 = call ptr @sc_rc_retain_dyn(ptr %t548) + %t550 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t549) + %t551 = load i32, ptr %exc.cell + %t552 = icmp ne i32 %t551, 0 + %t553 = call i1 @llvm.expect.i1(i1 %t552, i1 false) + br i1 %t553, label %exc.u240, label %exc.k241 +exc.u240: + call void @sc_rc_release_dyn(ptr %t550) + ret ptr null +exc.k241: + %t554 = load ptr, ptr %sc_l_p_key + %t555 = call ptr @sc_rc_retain_str(ptr %t554) + %t556 = load ptr, ptr %sc_l_p_receiver + %t557 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t556, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t558 = call ptr @scr_dyn_bag_get(ptr %t550, ptr %t555, ptr %t557) + %t559 = load i32, ptr %exc.cell + %t560 = icmp ne i32 %t559, 0 + %t561 = call i1 @llvm.expect.i1(i1 %t560, i1 false) + br i1 %t561, label %exc.u242, label %exc.k243 +exc.u242: + call void @sc_rc_release_dyn(ptr %t550) + call void @scr_str_release(ptr %t555) + call void @sc_rc_release_dyn(ptr %t557) + call void @sc_rc_release_dyn(ptr %t558) + ret ptr null +exc.k243: + call void @sc_rc_release_dyn(ptr %t550) + call void @scr_str_release(ptr %t555) + call void @sc_rc_release_dyn(ptr %t557) + ret ptr %t558 +} +define internal ptr @sc_f__x25_dyn_class_keys_497(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_497(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_498(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.498 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_127274431826284(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t6, i64 0, i32 3 + %t8 = load double, ptr %t7, !tbaa !52 + %t9 = call ptr @sc_td_2(double %t8) + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_p_key + %t11 = call zeroext i1 @sc_streq_3231205774586710(ptr %t10) + br i1 %t11, label %if.t4, label %if.j5 +if.t4: + %t12 = load ptr, ptr %sc_l_p_receiver + %t13 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t12, i64 0, i32 4 + %t14 = load ptr, ptr %t13, !tbaa !54 + %t15 = call ptr @scr_arr_retain_v(ptr %t14) + %t16 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t15, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t16, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t15) + ret ptr %t16 +if.j5: + %t17 = load ptr, ptr %sc_l_p_key + %t18 = call zeroext i1 @sc_streq_538032548850790(ptr %t17) + br i1 %t18, label %if.t6, label %if.j7 +if.t6: + %t19 = load ptr, ptr %sc_l_p_receiver + %t20 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t19, i64 0, i32 5 + %t21 = load ptr, ptr %t20, !tbaa !56 + %t22 = call ptr @scr_arr_retain_v(ptr %t21) + %t23 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t22, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t23, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t22) + ret ptr %t23 +if.j7: + %t24 = load ptr, ptr %sc_l_p_key + %t25 = call zeroext i1 @sc_streq_4231320391602270(ptr %t24) + br i1 %t25, label %if.t8, label %if.j9 +if.t8: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t26, i64 0, i32 6 + %t28 = load ptr, ptr %t27, !tbaa !58 + %t29 = call ptr @scr_arr_retain_v(ptr %t28) + %t30 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t29, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t30, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t29) + ret ptr %t30 +if.j9: + %t31 = load ptr, ptr %sc_l_p_key + %t32 = call zeroext i1 @sc_streq_2537232771826273(ptr %t31) + br i1 %t32, label %if.t10, label %if.j11 +if.t10: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t33, i64 0, i32 7 + %t35 = load ptr, ptr %t34, !tbaa !60 + %t36 = call ptr @scr_arr_retain_v(ptr %t35) + %t37 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t36, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t37, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t36) + ret ptr %t37 +if.j11: + %t38 = load ptr, ptr %sc_l_p_key + %t39 = call zeroext i1 @sc_streq_2163543391075186(ptr %t38) + br i1 %t39, label %if.t12, label %if.j13 +if.t12: + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t40, i64 0, i32 8 + %t42 = load i8, ptr %t41, !tbaa !42 + %t43 = trunc i8 %t42 to i1 + %t44 = call ptr @sc_td_3(i1 %t43) + ret ptr %t44 +if.j13: + %t45 = load ptr, ptr %sc_l_p_key + %t46 = call zeroext i1 @sc_streq_1579912071364319(ptr %t45) + br i1 %t46, label %if.t14, label %if.j15 +if.t14: + %t47 = load ptr, ptr %sc_l_p_receiver + %t48 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t47, i64 0, i32 9 + %t49 = load i8, ptr %t48, !tbaa !62 + %t50 = trunc i8 %t49 to i1 + %t51 = call ptr @sc_td_3(i1 %t50) + ret ptr %t51 +if.j15: + %t52 = load ptr, ptr %sc_l_p_key + %t53 = call zeroext i1 @sc_streq_1640919894513317(ptr %t52) + br i1 %t53, label %if.t16, label %if.j17 +if.t16: + %t54 = load ptr, ptr %sc_l_p_receiver + %t55 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t54, i64 0, i32 10 + %t56 = load ptr, ptr %t55, !tbaa !64 + %t57 = call ptr @sc_rretain_r1(ptr %t56) + %t58 = call ptr @sc_ldu_0(ptr %t57) + call void @sc_rrelease_r1(ptr %t57) + ret ptr %t58 +if.j17: + %t59 = load ptr, ptr %sc_l_p_key + %t60 = call zeroext i1 @sc_streq_4191962028163388(ptr %t59) + br i1 %t60, label %if.t18, label %if.j19 +if.t18: + %t61 = load ptr, ptr %sc_l_p_receiver + %t62 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t61, i64 0, i32 11 + %t63 = load i8, ptr %t62, !tbaa !66 + %t64 = trunc i8 %t63 to i1 + %t65 = call ptr @sc_td_3(i1 %t64) + ret ptr %t65 +if.j19: + %t66 = load ptr, ptr %sc_l_p_key + %t67 = call zeroext i1 @sc_streq_2098081682588801(ptr %t66) + br i1 %t67, label %if.t20, label %if.j21 +if.t20: + %t68 = load ptr, ptr %sc_l_p_receiver + %t69 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t68, i64 0, i32 12 + %t70 = load ptr, ptr %t69, !tbaa !68 + %t71 = call ptr @sc_rretain_r2(ptr %t70) + %t72 = call ptr @sc_ldu_1(ptr %t71) + call void @sc_rrelease_r2(ptr %t71) + ret ptr %t72 +if.j21: + %t73 = load ptr, ptr %sc_l_p_key + %t74 = call zeroext i1 @sc_streq_4448851817182856(ptr %t73) + br i1 %t74, label %if.t22, label %if.j23 +if.t22: + %t75 = load ptr, ptr %sc_l_p_receiver + %t76 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t75, i64 0, i32 13 + %t77 = load i8, ptr %t76, !tbaa !70 + %t78 = trunc i8 %t77 to i1 + %t79 = call ptr @sc_td_3(i1 %t78) + ret ptr %t79 +if.j23: + %t80 = load ptr, ptr %sc_l_p_key + %t81 = call zeroext i1 @sc_streq_2171724267474130(ptr %t80) + br i1 %t81, label %if.t24, label %if.j25 +if.t24: + %t82 = load ptr, ptr %sc_l_p_receiver + %t83 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t82, i64 0, i32 14 + %t84 = load ptr, ptr %t83, !tbaa !88 + %t85 = call ptr @scr_http_res_retain_v(ptr %t84) + %t86 = call ptr @sc_td_7(ptr %t85) + call void @scr_http_res_release(ptr %t85) + ret ptr %t86 +if.j25: + %t87 = load ptr, ptr %sc_l_p_key + %t88 = call zeroext i1 @sc_streq_3752021314181142(ptr %t87) + br i1 %t88, label %if.t26, label %if.j27 +if.t26: + %t89 = load ptr, ptr %sc_l_p_receiver + %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t91 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t90) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t91) + ret ptr null +exc.k29: + %t95 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t91, ptr @sc_lit_3752021314181142) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t91) + ret ptr null +exc.k31: + call void @sc_rc_release_dyn(ptr %t91) + br i1 %t95, label %if.t32, label %if.j33 +if.t32: + %t99 = load ptr, ptr %sc_l_p_receiver + %t100 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t99, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t101 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t100) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t101) + ret ptr null +exc.k35: + %t105 = load ptr, ptr %sc_l_p_receiver + %t106 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t105, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t107 = call ptr @scr_dyn_bag_get(ptr %t101, ptr @sc_lit_3752021314181142, ptr %t106) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_rc_release_dyn(ptr %t107) + ret ptr null +exc.k37: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t106) + ret ptr %t107 +if.j33: + %t112 = call ptr @scr_dyn_undefined() + %t111 = call ptr @scr_dyn_retain_v(ptr %t112) + ret ptr %t111 +if.j27: + %t113 = load ptr, ptr %sc_l_p_key + %t114 = call zeroext i1 @sc_streq_2364278031517622(ptr %t113) + br i1 %t114, label %if.t38, label %if.j39 +if.t38: + %t115 = load ptr, ptr %sc_l_p_receiver + %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t117 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t116) + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t117) + ret ptr null +exc.k41: + %t121 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t117, ptr @sc_lit_2364278031517622) + %t122 = load i32, ptr %exc.cell + %t123 = icmp ne i32 %t122, 0 + %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false) + br i1 %t124, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t117) + ret ptr null +exc.k43: + call void @sc_rc_release_dyn(ptr %t117) + br i1 %t121, label %if.t44, label %if.j45 +if.t44: + %t125 = load ptr, ptr %sc_l_p_receiver + %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t127 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t126) + %t128 = load i32, ptr %exc.cell + %t129 = icmp ne i32 %t128, 0 + %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false) + br i1 %t130, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t127) + ret ptr null +exc.k47: + %t131 = load ptr, ptr %sc_l_p_receiver + %t132 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t131, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t133 = call ptr @scr_dyn_bag_get(ptr %t127, ptr @sc_lit_2364278031517622, ptr %t132) + %t134 = load i32, ptr %exc.cell + %t135 = icmp ne i32 %t134, 0 + %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false) + br i1 %t136, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_rc_release_dyn(ptr %t133) + ret ptr null +exc.k49: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t132) + ret ptr %t133 +if.j45: + %t138 = call ptr @scr_dyn_undefined() + %t137 = call ptr @scr_dyn_retain_v(ptr %t138) + ret ptr %t137 +if.j39: + %t139 = load ptr, ptr %sc_l_p_key + %t140 = call zeroext i1 @sc_streq_470306239805907(ptr %t139) + br i1 %t140, label %if.t50, label %if.j51 +if.t50: + %t141 = load ptr, ptr %sc_l_p_receiver + %t142 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t141, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t143 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t142) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t143) + ret ptr null +exc.k53: + %t147 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t143, ptr @sc_lit_470306239805907) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t143) + ret ptr null +exc.k55: + call void @sc_rc_release_dyn(ptr %t143) + br i1 %t147, label %if.t56, label %if.j57 +if.t56: + %t151 = load ptr, ptr %sc_l_p_receiver + %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t153 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t152) + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t153) + ret ptr null +exc.k59: + %t157 = load ptr, ptr %sc_l_p_receiver + %t158 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t157, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t159 = call ptr @scr_dyn_bag_get(ptr %t153, ptr @sc_lit_470306239805907, ptr %t158) + %t160 = load i32, ptr %exc.cell + %t161 = icmp ne i32 %t160, 0 + %t162 = call i1 @llvm.expect.i1(i1 %t161, i1 false) + br i1 %t162, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t153) + call void @sc_rc_release_dyn(ptr %t158) + call void @sc_rc_release_dyn(ptr %t159) + ret ptr null +exc.k61: + call void @sc_rc_release_dyn(ptr %t153) + call void @sc_rc_release_dyn(ptr %t158) + ret ptr %t159 +if.j57: + %t164 = call ptr @scr_dyn_undefined() + %t163 = call ptr @scr_dyn_retain_v(ptr %t164) + ret ptr %t163 +if.j51: + %t165 = load ptr, ptr %sc_l_p_key + %t166 = call zeroext i1 @sc_streq_4133069531575059(ptr %t165) + br i1 %t166, label %if.t62, label %if.j63 +if.t62: + %t167 = load ptr, ptr %sc_l_p_receiver + %t168 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t167, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t169 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t168) + %t170 = load i32, ptr %exc.cell + %t171 = icmp ne i32 %t170, 0 + %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false) + br i1 %t172, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t169) + ret ptr null +exc.k65: + %t173 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t169, ptr @sc_lit_4133069531575059) + %t174 = load i32, ptr %exc.cell + %t175 = icmp ne i32 %t174, 0 + %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false) + br i1 %t176, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t169) + ret ptr null +exc.k67: + call void @sc_rc_release_dyn(ptr %t169) + br i1 %t173, label %if.t68, label %if.j69 +if.t68: + %t177 = load ptr, ptr %sc_l_p_receiver + %t178 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t177, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t179 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t178) + %t180 = load i32, ptr %exc.cell + %t181 = icmp ne i32 %t180, 0 + %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false) + br i1 %t182, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t179) + ret ptr null +exc.k71: + %t183 = load ptr, ptr %sc_l_p_receiver + %t184 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t183, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t185 = call ptr @scr_dyn_bag_get(ptr %t179, ptr @sc_lit_4133069531575059, ptr %t184) + %t186 = load i32, ptr %exc.cell + %t187 = icmp ne i32 %t186, 0 + %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false) + br i1 %t188, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t179) + call void @sc_rc_release_dyn(ptr %t184) + call void @sc_rc_release_dyn(ptr %t185) + ret ptr null +exc.k73: + call void @sc_rc_release_dyn(ptr %t179) + call void @sc_rc_release_dyn(ptr %t184) + ret ptr %t185 +if.j69: + %t190 = call ptr @scr_dyn_undefined() + %t189 = call ptr @scr_dyn_retain_v(ptr %t190) + ret ptr %t189 +if.j63: + %t191 = load ptr, ptr %sc_l_p_key + %t192 = call zeroext i1 @sc_streq_2253648670486996(ptr %t191) + br i1 %t192, label %if.t74, label %if.j75 +if.t74: + %t193 = load ptr, ptr %sc_l_p_receiver + %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t195 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t194) + %t196 = load i32, ptr %exc.cell + %t197 = icmp ne i32 %t196, 0 + %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false) + br i1 %t198, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t195) + ret ptr null +exc.k77: + %t199 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t195, ptr @sc_lit_2253648670486996) + %t200 = load i32, ptr %exc.cell + %t201 = icmp ne i32 %t200, 0 + %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false) + br i1 %t202, label %exc.u78, label %exc.k79 +exc.u78: + call void @sc_rc_release_dyn(ptr %t195) + ret ptr null +exc.k79: + call void @sc_rc_release_dyn(ptr %t195) + br i1 %t199, label %if.t80, label %if.j81 +if.t80: + %t203 = load ptr, ptr %sc_l_p_receiver + %t204 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t203, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t205 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t204) + %t206 = load i32, ptr %exc.cell + %t207 = icmp ne i32 %t206, 0 + %t208 = call i1 @llvm.expect.i1(i1 %t207, i1 false) + br i1 %t208, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t205) + ret ptr null +exc.k83: + %t209 = load ptr, ptr %sc_l_p_receiver + %t210 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t209, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t211 = call ptr @scr_dyn_bag_get(ptr %t205, ptr @sc_lit_2253648670486996, ptr %t210) + %t212 = load i32, ptr %exc.cell + %t213 = icmp ne i32 %t212, 0 + %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false) + br i1 %t214, label %exc.u84, label %exc.k85 +exc.u84: + call void @sc_rc_release_dyn(ptr %t205) + call void @sc_rc_release_dyn(ptr %t210) + call void @sc_rc_release_dyn(ptr %t211) + ret ptr null +exc.k85: + call void @sc_rc_release_dyn(ptr %t205) + call void @sc_rc_release_dyn(ptr %t210) + ret ptr %t211 +if.j81: + %t216 = call ptr @scr_dyn_undefined() + %t215 = call ptr @scr_dyn_retain_v(ptr %t216) + ret ptr %t215 +if.j75: + %t217 = load ptr, ptr %sc_l_p_key + %t218 = call zeroext i1 @sc_streq_161925136240866(ptr %t217) + br i1 %t218, label %if.t86, label %if.j87 +if.t86: + %t219 = load ptr, ptr %sc_l_p_receiver + %t220 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t219, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t221 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t220) + %t222 = load i32, ptr %exc.cell + %t223 = icmp ne i32 %t222, 0 + %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false) + br i1 %t224, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t221) + ret ptr null +exc.k89: + %t225 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t221, ptr @sc_lit_161925136240866) + %t226 = load i32, ptr %exc.cell + %t227 = icmp ne i32 %t226, 0 + %t228 = call i1 @llvm.expect.i1(i1 %t227, i1 false) + br i1 %t228, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t221) + ret ptr null +exc.k91: + call void @sc_rc_release_dyn(ptr %t221) + br i1 %t225, label %if.t92, label %if.j93 +if.t92: + %t229 = load ptr, ptr %sc_l_p_receiver + %t230 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t229, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t231 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t230) + %t232 = load i32, ptr %exc.cell + %t233 = icmp ne i32 %t232, 0 + %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false) + br i1 %t234, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t231) + ret ptr null +exc.k95: + %t235 = load ptr, ptr %sc_l_p_receiver + %t236 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t235, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t237 = call ptr @scr_dyn_bag_get(ptr %t231, ptr @sc_lit_161925136240866, ptr %t236) + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u96, label %exc.k97 +exc.u96: + call void @sc_rc_release_dyn(ptr %t231) + call void @sc_rc_release_dyn(ptr %t236) + call void @sc_rc_release_dyn(ptr %t237) + ret ptr null +exc.k97: + call void @sc_rc_release_dyn(ptr %t231) + call void @sc_rc_release_dyn(ptr %t236) + ret ptr %t237 +if.j93: + %t242 = call ptr @scr_dyn_undefined() + %t241 = call ptr @scr_dyn_retain_v(ptr %t242) + ret ptr %t241 +if.j87: + %t243 = load ptr, ptr %sc_l_p_key + %t244 = call zeroext i1 @sc_streq_298897322184109(ptr %t243) + br i1 %t244, label %if.t98, label %if.j99 +if.t98: + %t245 = load ptr, ptr %sc_l_p_receiver + %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t247 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t246) + %t248 = load i32, ptr %exc.cell + %t249 = icmp ne i32 %t248, 0 + %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false) + br i1 %t250, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t247) + ret ptr null +exc.k101: + %t251 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t247, ptr @sc_lit_298897322184109) + %t252 = load i32, ptr %exc.cell + %t253 = icmp ne i32 %t252, 0 + %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false) + br i1 %t254, label %exc.u102, label %exc.k103 +exc.u102: + call void @sc_rc_release_dyn(ptr %t247) + ret ptr null +exc.k103: + call void @sc_rc_release_dyn(ptr %t247) + br i1 %t251, label %if.t104, label %if.j105 +if.t104: + %t255 = load ptr, ptr %sc_l_p_receiver + %t256 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t255, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t257 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t256) + %t258 = load i32, ptr %exc.cell + %t259 = icmp ne i32 %t258, 0 + %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false) + br i1 %t260, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t257) + ret ptr null +exc.k107: + %t261 = load ptr, ptr %sc_l_p_receiver + %t262 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t261, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t263 = call ptr @scr_dyn_bag_get(ptr %t257, ptr @sc_lit_298897322184109, ptr %t262) + %t264 = load i32, ptr %exc.cell + %t265 = icmp ne i32 %t264, 0 + %t266 = call i1 @llvm.expect.i1(i1 %t265, i1 false) + br i1 %t266, label %exc.u108, label %exc.k109 +exc.u108: + call void @sc_rc_release_dyn(ptr %t257) + call void @sc_rc_release_dyn(ptr %t262) + call void @sc_rc_release_dyn(ptr %t263) + ret ptr null +exc.k109: + call void @sc_rc_release_dyn(ptr %t257) + call void @sc_rc_release_dyn(ptr %t262) + ret ptr %t263 +if.j105: + %t268 = call ptr @scr_dyn_undefined() + %t267 = call ptr @scr_dyn_retain_v(ptr %t268) + ret ptr %t267 +if.j99: + %t269 = load ptr, ptr %sc_l_p_key + %t270 = call zeroext i1 @sc_streq_4085448292571548(ptr %t269) + br i1 %t270, label %if.t110, label %if.j111 +if.t110: + %t271 = load ptr, ptr %sc_l_p_receiver + %t272 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t271, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t273 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t272) + %t274 = load i32, ptr %exc.cell + %t275 = icmp ne i32 %t274, 0 + %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false) + br i1 %t276, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t273) + ret ptr null +exc.k113: + %t277 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t273, ptr @sc_lit_4085448292571548) + %t278 = load i32, ptr %exc.cell + %t279 = icmp ne i32 %t278, 0 + %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false) + br i1 %t280, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t273) + ret ptr null +exc.k115: + call void @sc_rc_release_dyn(ptr %t273) + br i1 %t277, label %if.t116, label %if.j117 +if.t116: + %t281 = load ptr, ptr %sc_l_p_receiver + %t282 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t281, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t283 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t282) + %t284 = load i32, ptr %exc.cell + %t285 = icmp ne i32 %t284, 0 + %t286 = call i1 @llvm.expect.i1(i1 %t285, i1 false) + br i1 %t286, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t283) + ret ptr null +exc.k119: + %t287 = load ptr, ptr %sc_l_p_receiver + %t288 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t287, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t289 = call ptr @scr_dyn_bag_get(ptr %t283, ptr @sc_lit_4085448292571548, ptr %t288) + %t290 = load i32, ptr %exc.cell + %t291 = icmp ne i32 %t290, 0 + %t292 = call i1 @llvm.expect.i1(i1 %t291, i1 false) + br i1 %t292, label %exc.u120, label %exc.k121 +exc.u120: + call void @sc_rc_release_dyn(ptr %t283) + call void @sc_rc_release_dyn(ptr %t288) + call void @sc_rc_release_dyn(ptr %t289) + ret ptr null +exc.k121: + call void @sc_rc_release_dyn(ptr %t283) + call void @sc_rc_release_dyn(ptr %t288) + ret ptr %t289 +if.j117: + %t294 = call ptr @scr_dyn_undefined() + %t293 = call ptr @scr_dyn_retain_v(ptr %t294) + ret ptr %t293 +if.j111: + %t295 = load ptr, ptr %sc_l_p_key + %t296 = call zeroext i1 @sc_streq_3561861343106386(ptr %t295) + br i1 %t296, label %if.t122, label %if.j123 +if.t122: + %t297 = load ptr, ptr %sc_l_p_receiver + %t298 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t297, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t299 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t298) + %t300 = load i32, ptr %exc.cell + %t301 = icmp ne i32 %t300, 0 + %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false) + br i1 %t302, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t299) + ret ptr null +exc.k125: + %t303 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t299, ptr @sc_lit_3561861343106386) + %t304 = load i32, ptr %exc.cell + %t305 = icmp ne i32 %t304, 0 + %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false) + br i1 %t306, label %exc.u126, label %exc.k127 +exc.u126: + call void @sc_rc_release_dyn(ptr %t299) + ret ptr null +exc.k127: + call void @sc_rc_release_dyn(ptr %t299) + br i1 %t303, label %if.t128, label %if.j129 +if.t128: + %t307 = load ptr, ptr %sc_l_p_receiver + %t308 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t307, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t309 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t308) + %t310 = load i32, ptr %exc.cell + %t311 = icmp ne i32 %t310, 0 + %t312 = call i1 @llvm.expect.i1(i1 %t311, i1 false) + br i1 %t312, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t309) + ret ptr null +exc.k131: + %t313 = load ptr, ptr %sc_l_p_receiver + %t314 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t313, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t315 = call ptr @scr_dyn_bag_get(ptr %t309, ptr @sc_lit_3561861343106386, ptr %t314) + %t316 = load i32, ptr %exc.cell + %t317 = icmp ne i32 %t316, 0 + %t318 = call i1 @llvm.expect.i1(i1 %t317, i1 false) + br i1 %t318, label %exc.u132, label %exc.k133 +exc.u132: + call void @sc_rc_release_dyn(ptr %t309) + call void @sc_rc_release_dyn(ptr %t314) + call void @sc_rc_release_dyn(ptr %t315) + ret ptr null +exc.k133: + call void @sc_rc_release_dyn(ptr %t309) + call void @sc_rc_release_dyn(ptr %t314) + ret ptr %t315 +if.j129: + %t320 = call ptr @scr_dyn_undefined() + %t319 = call ptr @scr_dyn_retain_v(ptr %t320) + ret ptr %t319 +if.j123: + %t321 = load ptr, ptr %sc_l_p_key + %t322 = call zeroext i1 @sc_streq_3108123016971750(ptr %t321) + br i1 %t322, label %if.t134, label %if.j135 +if.t134: + %t323 = load ptr, ptr %sc_l_p_receiver + %t324 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t323, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t325 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t324) + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t325) + ret ptr null +exc.k137: + %t329 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t325, ptr @sc_lit_3108123016971750) + %t330 = load i32, ptr %exc.cell + %t331 = icmp ne i32 %t330, 0 + %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false) + br i1 %t332, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t325) + ret ptr null +exc.k139: + call void @sc_rc_release_dyn(ptr %t325) + br i1 %t329, label %if.t140, label %if.j141 +if.t140: + %t333 = load ptr, ptr %sc_l_p_receiver + %t334 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t333, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t335 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t334) + %t336 = load i32, ptr %exc.cell + %t337 = icmp ne i32 %t336, 0 + %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false) + br i1 %t338, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t335) + ret ptr null +exc.k143: + %t339 = load ptr, ptr %sc_l_p_receiver + %t340 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t339, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t341 = call ptr @scr_dyn_bag_get(ptr %t335, ptr @sc_lit_3108123016971750, ptr %t340) + %t342 = load i32, ptr %exc.cell + %t343 = icmp ne i32 %t342, 0 + %t344 = call i1 @llvm.expect.i1(i1 %t343, i1 false) + br i1 %t344, label %exc.u144, label %exc.k145 +exc.u144: + call void @sc_rc_release_dyn(ptr %t335) + call void @sc_rc_release_dyn(ptr %t340) + call void @sc_rc_release_dyn(ptr %t341) + ret ptr null +exc.k145: + call void @sc_rc_release_dyn(ptr %t335) + call void @sc_rc_release_dyn(ptr %t340) + ret ptr %t341 +if.j141: + %t346 = call ptr @scr_dyn_undefined() + %t345 = call ptr @scr_dyn_retain_v(ptr %t346) + ret ptr %t345 +if.j135: + %t347 = load ptr, ptr %sc_l_p_key + %t348 = call zeroext i1 @sc_streq_2529432852777196(ptr %t347) + br i1 %t348, label %if.t146, label %if.j147 +if.t146: + %t349 = load ptr, ptr %sc_l_p_receiver + %t350 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t349, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t351 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t350) + %t352 = load i32, ptr %exc.cell + %t353 = icmp ne i32 %t352, 0 + %t354 = call i1 @llvm.expect.i1(i1 %t353, i1 false) + br i1 %t354, label %exc.u148, label %exc.k149 +exc.u148: + call void @sc_rc_release_dyn(ptr %t351) + ret ptr null +exc.k149: + %t355 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t351, ptr @sc_lit_2529432852777196) + %t356 = load i32, ptr %exc.cell + %t357 = icmp ne i32 %t356, 0 + %t358 = call i1 @llvm.expect.i1(i1 %t357, i1 false) + br i1 %t358, label %exc.u150, label %exc.k151 +exc.u150: + call void @sc_rc_release_dyn(ptr %t351) + ret ptr null +exc.k151: + call void @sc_rc_release_dyn(ptr %t351) + br i1 %t355, label %if.t152, label %if.j153 +if.t152: + %t359 = load ptr, ptr %sc_l_p_receiver + %t360 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t359, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t361 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t360) + %t362 = load i32, ptr %exc.cell + %t363 = icmp ne i32 %t362, 0 + %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false) + br i1 %t364, label %exc.u154, label %exc.k155 +exc.u154: + call void @sc_rc_release_dyn(ptr %t361) + ret ptr null +exc.k155: + %t365 = load ptr, ptr %sc_l_p_receiver + %t366 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t365, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t367 = call ptr @scr_dyn_bag_get(ptr %t361, ptr @sc_lit_2529432852777196, ptr %t366) + %t368 = load i32, ptr %exc.cell + %t369 = icmp ne i32 %t368, 0 + %t370 = call i1 @llvm.expect.i1(i1 %t369, i1 false) + br i1 %t370, label %exc.u156, label %exc.k157 +exc.u156: + call void @sc_rc_release_dyn(ptr %t361) + call void @sc_rc_release_dyn(ptr %t366) + call void @sc_rc_release_dyn(ptr %t367) + ret ptr null +exc.k157: + call void @sc_rc_release_dyn(ptr %t361) + call void @sc_rc_release_dyn(ptr %t366) + ret ptr %t367 +if.j153: + %t372 = call ptr @scr_dyn_undefined() + %t371 = call ptr @scr_dyn_retain_v(ptr %t372) + ret ptr %t371 +if.j147: + %t373 = load ptr, ptr %sc_l_p_key + %t374 = call zeroext i1 @sc_streq_4297539476301093(ptr %t373) + br i1 %t374, label %if.t158, label %if.j159 +if.t158: + %t375 = load ptr, ptr %sc_l_p_receiver + %t376 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t375, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t377 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t376) + %t378 = load i32, ptr %exc.cell + %t379 = icmp ne i32 %t378, 0 + %t380 = call i1 @llvm.expect.i1(i1 %t379, i1 false) + br i1 %t380, label %exc.u160, label %exc.k161 +exc.u160: + call void @sc_rc_release_dyn(ptr %t377) + ret ptr null +exc.k161: + %t381 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t377, ptr @sc_lit_4297539476301093) + %t382 = load i32, ptr %exc.cell + %t383 = icmp ne i32 %t382, 0 + %t384 = call i1 @llvm.expect.i1(i1 %t383, i1 false) + br i1 %t384, label %exc.u162, label %exc.k163 +exc.u162: + call void @sc_rc_release_dyn(ptr %t377) + ret ptr null +exc.k163: + call void @sc_rc_release_dyn(ptr %t377) + br i1 %t381, label %if.t164, label %if.j165 +if.t164: + %t385 = load ptr, ptr %sc_l_p_receiver + %t386 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t385, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t387 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u166, label %exc.k167 +exc.u166: + call void @sc_rc_release_dyn(ptr %t387) + ret ptr null +exc.k167: + %t391 = load ptr, ptr %sc_l_p_receiver + %t392 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t391, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t393 = call ptr @scr_dyn_bag_get(ptr %t387, ptr @sc_lit_4297539476301093, ptr %t392) + %t394 = load i32, ptr %exc.cell + %t395 = icmp ne i32 %t394, 0 + %t396 = call i1 @llvm.expect.i1(i1 %t395, i1 false) + br i1 %t396, label %exc.u168, label %exc.k169 +exc.u168: + call void @sc_rc_release_dyn(ptr %t387) + call void @sc_rc_release_dyn(ptr %t392) + call void @sc_rc_release_dyn(ptr %t393) + ret ptr null +exc.k169: + call void @sc_rc_release_dyn(ptr %t387) + call void @sc_rc_release_dyn(ptr %t392) + ret ptr %t393 +if.j165: + %t398 = call ptr @scr_dyn_undefined() + %t397 = call ptr @scr_dyn_retain_v(ptr %t398) + ret ptr %t397 +if.j159: + %t399 = load ptr, ptr %sc_l_p_key + %t400 = call zeroext i1 @sc_streq_1959461887910059(ptr %t399) + br i1 %t400, label %if.t170, label %if.j171 +if.t170: + %t401 = load ptr, ptr %sc_l_p_receiver + %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t403 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t402) + %t404 = load i32, ptr %exc.cell + %t405 = icmp ne i32 %t404, 0 + %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false) + br i1 %t406, label %exc.u172, label %exc.k173 +exc.u172: + call void @sc_rc_release_dyn(ptr %t403) + ret ptr null +exc.k173: + %t407 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t403, ptr @sc_lit_1959461887910059) + %t408 = load i32, ptr %exc.cell + %t409 = icmp ne i32 %t408, 0 + %t410 = call i1 @llvm.expect.i1(i1 %t409, i1 false) + br i1 %t410, label %exc.u174, label %exc.k175 +exc.u174: + call void @sc_rc_release_dyn(ptr %t403) + ret ptr null +exc.k175: + call void @sc_rc_release_dyn(ptr %t403) + br i1 %t407, label %if.t176, label %if.j177 +if.t176: + %t411 = load ptr, ptr %sc_l_p_receiver + %t412 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t411, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t413 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t412) + %t414 = load i32, ptr %exc.cell + %t415 = icmp ne i32 %t414, 0 + %t416 = call i1 @llvm.expect.i1(i1 %t415, i1 false) + br i1 %t416, label %exc.u178, label %exc.k179 +exc.u178: + call void @sc_rc_release_dyn(ptr %t413) + ret ptr null +exc.k179: + %t417 = load ptr, ptr %sc_l_p_receiver + %t418 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t417, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t419 = call ptr @scr_dyn_bag_get(ptr %t413, ptr @sc_lit_1959461887910059, ptr %t418) + %t420 = load i32, ptr %exc.cell + %t421 = icmp ne i32 %t420, 0 + %t422 = call i1 @llvm.expect.i1(i1 %t421, i1 false) + br i1 %t422, label %exc.u180, label %exc.k181 +exc.u180: + call void @sc_rc_release_dyn(ptr %t413) + call void @sc_rc_release_dyn(ptr %t418) + call void @sc_rc_release_dyn(ptr %t419) + ret ptr null +exc.k181: + call void @sc_rc_release_dyn(ptr %t413) + call void @sc_rc_release_dyn(ptr %t418) + ret ptr %t419 +if.j177: + %t424 = call ptr @scr_dyn_undefined() + %t423 = call ptr @scr_dyn_retain_v(ptr %t424) + ret ptr %t423 +if.j171: + %t425 = load ptr, ptr %sc_l_p_key + %t426 = call zeroext i1 @sc_streq_181663572509014(ptr %t425) + br i1 %t426, label %if.t182, label %if.j183 +if.t182: + %t427 = load ptr, ptr %sc_l_p_receiver + %t428 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t427, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t429 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t428) + %t430 = load i32, ptr %exc.cell + %t431 = icmp ne i32 %t430, 0 + %t432 = call i1 @llvm.expect.i1(i1 %t431, i1 false) + br i1 %t432, label %exc.u184, label %exc.k185 +exc.u184: + call void @sc_rc_release_dyn(ptr %t429) + ret ptr null +exc.k185: + %t433 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t429, ptr @sc_lit_181663572509014) + %t434 = load i32, ptr %exc.cell + %t435 = icmp ne i32 %t434, 0 + %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false) + br i1 %t436, label %exc.u186, label %exc.k187 +exc.u186: + call void @sc_rc_release_dyn(ptr %t429) + ret ptr null +exc.k187: + call void @sc_rc_release_dyn(ptr %t429) + br i1 %t433, label %if.t188, label %if.j189 +if.t188: + %t437 = load ptr, ptr %sc_l_p_receiver + %t438 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t437, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t439 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t438) + %t440 = load i32, ptr %exc.cell + %t441 = icmp ne i32 %t440, 0 + %t442 = call i1 @llvm.expect.i1(i1 %t441, i1 false) + br i1 %t442, label %exc.u190, label %exc.k191 +exc.u190: + call void @sc_rc_release_dyn(ptr %t439) + ret ptr null +exc.k191: + %t443 = load ptr, ptr %sc_l_p_receiver + %t444 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t443, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t445 = call ptr @scr_dyn_bag_get(ptr %t439, ptr @sc_lit_181663572509014, ptr %t444) + %t446 = load i32, ptr %exc.cell + %t447 = icmp ne i32 %t446, 0 + %t448 = call i1 @llvm.expect.i1(i1 %t447, i1 false) + br i1 %t448, label %exc.u192, label %exc.k193 +exc.u192: + call void @sc_rc_release_dyn(ptr %t439) + call void @sc_rc_release_dyn(ptr %t444) + call void @sc_rc_release_dyn(ptr %t445) + ret ptr null +exc.k193: + call void @sc_rc_release_dyn(ptr %t439) + call void @sc_rc_release_dyn(ptr %t444) + ret ptr %t445 +if.j189: + %t450 = call ptr @scr_dyn_undefined() + %t449 = call ptr @scr_dyn_retain_v(ptr %t450) + ret ptr %t449 +if.j183: + %t451 = load ptr, ptr %sc_l_p_key + %t452 = call zeroext i1 @sc_streq_992600386266231(ptr %t451) + br i1 %t452, label %if.t194, label %if.j195 +if.t194: + %t453 = load ptr, ptr %sc_l_p_receiver + %t454 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t453, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t455 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t454) + %t456 = load i32, ptr %exc.cell + %t457 = icmp ne i32 %t456, 0 + %t458 = call i1 @llvm.expect.i1(i1 %t457, i1 false) + br i1 %t458, label %exc.u196, label %exc.k197 +exc.u196: + call void @sc_rc_release_dyn(ptr %t455) + ret ptr null +exc.k197: + %t459 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t455, ptr @sc_lit_992600386266231) + %t460 = load i32, ptr %exc.cell + %t461 = icmp ne i32 %t460, 0 + %t462 = call i1 @llvm.expect.i1(i1 %t461, i1 false) + br i1 %t462, label %exc.u198, label %exc.k199 +exc.u198: + call void @sc_rc_release_dyn(ptr %t455) + ret ptr null +exc.k199: + call void @sc_rc_release_dyn(ptr %t455) + br i1 %t459, label %if.t200, label %if.j201 +if.t200: + %t463 = load ptr, ptr %sc_l_p_receiver + %t464 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t463, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t465 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t464) + %t466 = load i32, ptr %exc.cell + %t467 = icmp ne i32 %t466, 0 + %t468 = call i1 @llvm.expect.i1(i1 %t467, i1 false) + br i1 %t468, label %exc.u202, label %exc.k203 +exc.u202: + call void @sc_rc_release_dyn(ptr %t465) + ret ptr null +exc.k203: + %t469 = load ptr, ptr %sc_l_p_receiver + %t470 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t469, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t471 = call ptr @scr_dyn_bag_get(ptr %t465, ptr @sc_lit_992600386266231, ptr %t470) + %t472 = load i32, ptr %exc.cell + %t473 = icmp ne i32 %t472, 0 + %t474 = call i1 @llvm.expect.i1(i1 %t473, i1 false) + br i1 %t474, label %exc.u204, label %exc.k205 +exc.u204: + call void @sc_rc_release_dyn(ptr %t465) + call void @sc_rc_release_dyn(ptr %t470) + call void @sc_rc_release_dyn(ptr %t471) + ret ptr null +exc.k205: + call void @sc_rc_release_dyn(ptr %t465) + call void @sc_rc_release_dyn(ptr %t470) + ret ptr %t471 +if.j201: + %t476 = call ptr @scr_dyn_undefined() + %t475 = call ptr @scr_dyn_retain_v(ptr %t476) + ret ptr %t475 +if.j195: + %t477 = load ptr, ptr %sc_l_p_key + %t478 = call zeroext i1 @sc_streq_4198614539576238(ptr %t477) + br i1 %t478, label %if.t206, label %if.j207 +if.t206: + %t479 = load ptr, ptr %sc_l_p_receiver + %t480 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t479, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t481 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t480) + %t482 = load i32, ptr %exc.cell + %t483 = icmp ne i32 %t482, 0 + %t484 = call i1 @llvm.expect.i1(i1 %t483, i1 false) + br i1 %t484, label %exc.u208, label %exc.k209 +exc.u208: + call void @sc_rc_release_dyn(ptr %t481) + ret ptr null +exc.k209: + %t485 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t481, ptr @sc_lit_4198614539576238) + %t486 = load i32, ptr %exc.cell + %t487 = icmp ne i32 %t486, 0 + %t488 = call i1 @llvm.expect.i1(i1 %t487, i1 false) + br i1 %t488, label %exc.u210, label %exc.k211 +exc.u210: + call void @sc_rc_release_dyn(ptr %t481) + ret ptr null +exc.k211: + call void @sc_rc_release_dyn(ptr %t481) + br i1 %t485, label %if.t212, label %if.j213 +if.t212: + %t489 = load ptr, ptr %sc_l_p_receiver + %t490 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t489, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t491 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t490) + %t492 = load i32, ptr %exc.cell + %t493 = icmp ne i32 %t492, 0 + %t494 = call i1 @llvm.expect.i1(i1 %t493, i1 false) + br i1 %t494, label %exc.u214, label %exc.k215 +exc.u214: + call void @sc_rc_release_dyn(ptr %t491) + ret ptr null +exc.k215: + %t495 = load ptr, ptr %sc_l_p_receiver + %t496 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t495, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t497 = call ptr @scr_dyn_bag_get(ptr %t491, ptr @sc_lit_4198614539576238, ptr %t496) + %t498 = load i32, ptr %exc.cell + %t499 = icmp ne i32 %t498, 0 + %t500 = call i1 @llvm.expect.i1(i1 %t499, i1 false) + br i1 %t500, label %exc.u216, label %exc.k217 +exc.u216: + call void @sc_rc_release_dyn(ptr %t491) + call void @sc_rc_release_dyn(ptr %t496) + call void @sc_rc_release_dyn(ptr %t497) + ret ptr null +exc.k217: + call void @sc_rc_release_dyn(ptr %t491) + call void @sc_rc_release_dyn(ptr %t496) + ret ptr %t497 +if.j213: + %t502 = call ptr @scr_dyn_undefined() + %t501 = call ptr @scr_dyn_retain_v(ptr %t502) + ret ptr %t501 +if.j207: + %t503 = load ptr, ptr %sc_l_p_key + %t504 = call zeroext i1 @sc_streq_4028208071947570(ptr %t503) + br i1 %t504, label %if.t218, label %if.j219 +if.t218: + %t505 = load ptr, ptr %sc_l_p_receiver + %t506 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t505, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t507 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t506) + %t508 = load i32, ptr %exc.cell + %t509 = icmp ne i32 %t508, 0 + %t510 = call i1 @llvm.expect.i1(i1 %t509, i1 false) + br i1 %t510, label %exc.u220, label %exc.k221 +exc.u220: + call void @sc_rc_release_dyn(ptr %t507) + ret ptr null +exc.k221: + %t511 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t507, ptr @sc_lit_4028208071947570) + %t512 = load i32, ptr %exc.cell + %t513 = icmp ne i32 %t512, 0 + %t514 = call i1 @llvm.expect.i1(i1 %t513, i1 false) + br i1 %t514, label %exc.u222, label %exc.k223 +exc.u222: + call void @sc_rc_release_dyn(ptr %t507) + ret ptr null +exc.k223: + call void @sc_rc_release_dyn(ptr %t507) + br i1 %t511, label %if.t224, label %if.j225 +if.t224: + %t515 = load ptr, ptr %sc_l_p_receiver + %t516 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t515, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t517 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t516) + %t518 = load i32, ptr %exc.cell + %t519 = icmp ne i32 %t518, 0 + %t520 = call i1 @llvm.expect.i1(i1 %t519, i1 false) + br i1 %t520, label %exc.u226, label %exc.k227 +exc.u226: + call void @sc_rc_release_dyn(ptr %t517) + ret ptr null +exc.k227: + %t521 = load ptr, ptr %sc_l_p_receiver + %t522 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t521, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t523 = call ptr @scr_dyn_bag_get(ptr %t517, ptr @sc_lit_4028208071947570, ptr %t522) + %t524 = load i32, ptr %exc.cell + %t525 = icmp ne i32 %t524, 0 + %t526 = call i1 @llvm.expect.i1(i1 %t525, i1 false) + br i1 %t526, label %exc.u228, label %exc.k229 +exc.u228: + call void @sc_rc_release_dyn(ptr %t517) + call void @sc_rc_release_dyn(ptr %t522) + call void @sc_rc_release_dyn(ptr %t523) + ret ptr null +exc.k229: + call void @sc_rc_release_dyn(ptr %t517) + call void @sc_rc_release_dyn(ptr %t522) + ret ptr %t523 +if.j225: + %t528 = call ptr @scr_dyn_undefined() + %t527 = call ptr @scr_dyn_retain_v(ptr %t528) + ret ptr %t527 +if.j219: + %t529 = load ptr, ptr %sc_l_p_key + %t530 = call zeroext i1 @sc_streq_3908714124573206(ptr %t529) + br i1 %t530, label %if.t230, label %if.j231 +if.t230: + %t531 = load ptr, ptr %sc_l_p_receiver + %t532 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t531, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t533 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t532) + %t534 = load i32, ptr %exc.cell + %t535 = icmp ne i32 %t534, 0 + %t536 = call i1 @llvm.expect.i1(i1 %t535, i1 false) + br i1 %t536, label %exc.u232, label %exc.k233 +exc.u232: + call void @sc_rc_release_dyn(ptr %t533) + ret ptr null +exc.k233: + %t537 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t533, ptr @sc_lit_3908714124573206) + %t538 = load i32, ptr %exc.cell + %t539 = icmp ne i32 %t538, 0 + %t540 = call i1 @llvm.expect.i1(i1 %t539, i1 false) + br i1 %t540, label %exc.u234, label %exc.k235 +exc.u234: + call void @sc_rc_release_dyn(ptr %t533) + ret ptr null +exc.k235: + call void @sc_rc_release_dyn(ptr %t533) + br i1 %t537, label %if.t236, label %if.j237 +if.t236: + %t541 = load ptr, ptr %sc_l_p_receiver + %t542 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t541, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t543 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t542) + %t544 = load i32, ptr %exc.cell + %t545 = icmp ne i32 %t544, 0 + %t546 = call i1 @llvm.expect.i1(i1 %t545, i1 false) + br i1 %t546, label %exc.u238, label %exc.k239 +exc.u238: + call void @sc_rc_release_dyn(ptr %t543) + ret ptr null +exc.k239: + %t547 = load ptr, ptr %sc_l_p_receiver + %t548 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t547, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t549 = call ptr @scr_dyn_bag_get(ptr %t543, ptr @sc_lit_3908714124573206, ptr %t548) + %t550 = load i32, ptr %exc.cell + %t551 = icmp ne i32 %t550, 0 + %t552 = call i1 @llvm.expect.i1(i1 %t551, i1 false) + br i1 %t552, label %exc.u240, label %exc.k241 +exc.u240: + call void @sc_rc_release_dyn(ptr %t543) + call void @sc_rc_release_dyn(ptr %t548) + call void @sc_rc_release_dyn(ptr %t549) + ret ptr null +exc.k241: + call void @sc_rc_release_dyn(ptr %t543) + call void @sc_rc_release_dyn(ptr %t548) + ret ptr %t549 +if.j237: + %t554 = call ptr @scr_dyn_undefined() + %t553 = call ptr @scr_dyn_retain_v(ptr %t554) + ret ptr %t553 +if.j231: + %t555 = load ptr, ptr %sc_l_p_0 + %t556 = call ptr @sc_rc_retain_dyn(ptr %t555) + %t557 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t556) + %t558 = load i32, ptr %exc.cell + %t559 = icmp ne i32 %t558, 0 + %t560 = call i1 @llvm.expect.i1(i1 %t559, i1 false) + br i1 %t560, label %exc.u242, label %exc.k243 +exc.u242: + call void @sc_rc_release_dyn(ptr %t557) + ret ptr null +exc.k243: + %t561 = load ptr, ptr %sc_l_p_key + %t562 = call ptr @sc_rc_retain_str(ptr %t561) + %t563 = load ptr, ptr %sc_l_p_receiver + %t564 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t563, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t565 = call ptr @scr_dyn_bag_get(ptr %t557, ptr %t562, ptr %t564) + %t566 = load i32, ptr %exc.cell + %t567 = icmp ne i32 %t566, 0 + %t568 = call i1 @llvm.expect.i1(i1 %t567, i1 false) + br i1 %t568, label %exc.u244, label %exc.k245 +exc.u244: + call void @sc_rc_release_dyn(ptr %t557) + call void @scr_str_release(ptr %t562) + call void @sc_rc_release_dyn(ptr %t564) + call void @sc_rc_release_dyn(ptr %t565) + ret ptr null +exc.k245: + call void @sc_rc_release_dyn(ptr %t557) + call void @scr_str_release(ptr %t562) + call void @sc_rc_release_dyn(ptr %t564) + ret ptr %t565 +} +define internal ptr @sc_f__x25_dyn_class_keys_498(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_498(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m3_LiteResponse(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_499(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.499 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_3804612928743770(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t6, i64 0, i32 3 + %t8 = load ptr, ptr %t7, !tbaa !190 + %t9 = call ptr @sc_rretain_r12(ptr %t8) + %t10 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t9, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit) + call void @sc_rrelease_r12(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_1810373001322451(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t13, i64 0, i32 4 + %t15 = load ptr, ptr %t14, !tbaa !192 + %t16 = call ptr @scr_arr_retain_v(ptr %t15) + %t17 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t16, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t17, ptr @sc_ldr_45_materialize_ops) + call void @scr_arr_release(ptr %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_2227497482646049(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t20, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t22 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t21) + %t23 = load i32, ptr %exc.cell + %t24 = icmp ne i32 %t23, 0 + %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false) + br i1 %t25, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t22) + ret ptr null +exc.k9: + %t26 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t22, ptr @sc_lit_2227497482646049) + %t27 = load i32, ptr %exc.cell + %t28 = icmp ne i32 %t27, 0 + %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false) + br i1 %t29, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t22) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t22) + br i1 %t26, label %if.t12, label %if.j13 +if.t12: + %t30 = load ptr, ptr %sc_l_p_receiver + %t31 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t30, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t32 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t31) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + %t36 = load ptr, ptr %sc_l_p_receiver + %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t38 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_2227497482646049, ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t37) + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t37) + ret ptr %t38 +if.j13: + %t43 = call ptr @scr_dyn_undefined() + %t42 = call ptr @scr_dyn_retain_v(ptr %t43) + ret ptr %t42 +if.j7: + %t44 = load ptr, ptr %sc_l_p_key + %t45 = call zeroext i1 @sc_streq_228045523956680(ptr %t44) + br i1 %t45, label %if.t18, label %if.j19 +if.t18: + %t46 = load ptr, ptr %sc_l_p_receiver + %t47 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t46, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t48 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t47) + %t49 = load i32, ptr %exc.cell + %t50 = icmp ne i32 %t49, 0 + %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false) + br i1 %t51, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t48) + ret ptr null +exc.k21: + %t52 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t48, ptr @sc_lit_228045523956680) + %t53 = load i32, ptr %exc.cell + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t48) + ret ptr null +exc.k23: + call void @sc_rc_release_dyn(ptr %t48) + br i1 %t52, label %if.t24, label %if.j25 +if.t24: + %t56 = load ptr, ptr %sc_l_p_receiver + %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t58 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t57) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t58) + ret ptr null +exc.k27: + %t62 = load ptr, ptr %sc_l_p_receiver + %t63 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t62, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t64 = call ptr @scr_dyn_bag_get(ptr %t58, ptr @sc_lit_228045523956680, ptr %t63) + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t63) + call void @sc_rc_release_dyn(ptr %t64) + ret ptr null +exc.k29: + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t63) + ret ptr %t64 +if.j25: + %t69 = call ptr @scr_dyn_undefined() + %t68 = call ptr @scr_dyn_retain_v(ptr %t69) + ret ptr %t68 +if.j19: + %t70 = load ptr, ptr %sc_l_p_key + %t71 = call zeroext i1 @sc_streq_731773075116702(ptr %t70) + br i1 %t71, label %if.t30, label %if.j31 +if.t30: + %t72 = load ptr, ptr %sc_l_p_receiver + %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t74 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t73) + %t75 = load i32, ptr %exc.cell + %t76 = icmp ne i32 %t75, 0 + %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false) + br i1 %t77, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t74) + ret ptr null +exc.k33: + %t78 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t74, ptr @sc_lit_731773075116702) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t74) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t74) + br i1 %t78, label %if.t36, label %if.j37 +if.t36: + %t82 = load ptr, ptr %sc_l_p_receiver + %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t84 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t83) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k39: + %t88 = load ptr, ptr %sc_l_p_receiver + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t84, ptr @sc_lit_731773075116702, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + ret ptr null +exc.k41: + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t89) + ret ptr %t90 +if.j37: + %t95 = call ptr @scr_dyn_undefined() + %t94 = call ptr @scr_dyn_retain_v(ptr %t95) + ret ptr %t94 +if.j31: + %t96 = load ptr, ptr %sc_l_p_0 + %t97 = call ptr @sc_rc_retain_dyn(ptr %t96) + %t98 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t97) + %t99 = load i32, ptr %exc.cell + %t100 = icmp ne i32 %t99, 0 + %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false) + br i1 %t101, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t98) + ret ptr null +exc.k43: + %t102 = load ptr, ptr %sc_l_p_key + %t103 = call ptr @sc_rc_retain_str(ptr %t102) + %t104 = load ptr, ptr %sc_l_p_receiver + %t105 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t104, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + %t106 = call ptr @scr_dyn_bag_get(ptr %t98, ptr %t103, ptr %t105) + %t107 = load i32, ptr %exc.cell + %t108 = icmp ne i32 %t107, 0 + %t109 = call i1 @llvm.expect.i1(i1 %t108, i1 false) + br i1 %t109, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t98) + call void @scr_str_release(ptr %t103) + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t106) + ret ptr null +exc.k45: + call void @sc_rc_release_dyn(ptr %t98) + call void @scr_str_release(ptr %t103) + call void @sc_rc_release_dyn(ptr %t105) + ret ptr %t106 +} +define internal ptr @sc_f__x25_dyn_class_keys_499(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_499(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_500(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.500 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_1515898915129638(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !72 + %t9 = call ptr @scr_http_req_retain_v(ptr %t8) + %t10 = call ptr @sc_td_10(ptr %t9) + call void @scr_http_req_release(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_731773075116702(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t13, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t15 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t14) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t15) + ret ptr null +exc.k7: + %t19 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t15, ptr @sc_lit_731773075116702) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t15) + ret ptr null +exc.k9: + call void @sc_rc_release_dyn(ptr %t15) + br i1 %t19, label %if.t10, label %if.j11 +if.t10: + %t23 = load ptr, ptr %sc_l_p_receiver + %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t25 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k13: + %t29 = load ptr, ptr %sc_l_p_receiver + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t31 = call ptr @scr_dyn_bag_get(ptr %t25, ptr @sc_lit_731773075116702, ptr %t30) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + ret ptr null +exc.k15: + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t30) + ret ptr %t31 +if.j11: + %t36 = call ptr @scr_dyn_undefined() + %t35 = call ptr @scr_dyn_retain_v(ptr %t36) + ret ptr %t35 +if.j5: + %t37 = load ptr, ptr %sc_l_p_key + %t38 = call zeroext i1 @sc_streq_2556418033318189(ptr %t37) + br i1 %t38, label %if.t16, label %if.j17 +if.t16: + %t39 = load ptr, ptr %sc_l_p_receiver + %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t41 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t40) + %t42 = load i32, ptr %exc.cell + %t43 = icmp ne i32 %t42, 0 + %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false) + br i1 %t44, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t41) + ret ptr null +exc.k19: + %t45 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t41, ptr @sc_lit_2556418033318189) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t41) + ret ptr null +exc.k21: + call void @sc_rc_release_dyn(ptr %t41) + br i1 %t45, label %if.t22, label %if.j23 +if.t22: + %t49 = load ptr, ptr %sc_l_p_receiver + %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t51 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t50) + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t51) + ret ptr null +exc.k25: + %t55 = load ptr, ptr %sc_l_p_receiver + %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t57 = call ptr @scr_dyn_bag_get(ptr %t51, ptr @sc_lit_2556418033318189, ptr %t56) + %t58 = load i32, ptr %exc.cell + %t59 = icmp ne i32 %t58, 0 + %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false) + br i1 %t60, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t56) + call void @sc_rc_release_dyn(ptr %t57) + ret ptr null +exc.k27: + call void @sc_rc_release_dyn(ptr %t51) + call void @sc_rc_release_dyn(ptr %t56) + ret ptr %t57 +if.j23: + %t62 = call ptr @scr_dyn_undefined() + %t61 = call ptr @scr_dyn_retain_v(ptr %t62) + ret ptr %t61 +if.j17: + %t63 = load ptr, ptr %sc_l_p_key + %t64 = call zeroext i1 @sc_streq_2782259059515958(ptr %t63) + br i1 %t64, label %if.t28, label %if.j29 +if.t28: + %t65 = load ptr, ptr %sc_l_p_receiver + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t67) + ret ptr null +exc.k31: + %t71 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t67, ptr @sc_lit_2782259059515958) + %t72 = load i32, ptr %exc.cell + %t73 = icmp ne i32 %t72, 0 + %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false) + br i1 %t74, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t67) + ret ptr null +exc.k33: + call void @sc_rc_release_dyn(ptr %t67) + br i1 %t71, label %if.t34, label %if.j35 +if.t34: + %t75 = load ptr, ptr %sc_l_p_receiver + %t76 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t75, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t77 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t76) + %t78 = load i32, ptr %exc.cell + %t79 = icmp ne i32 %t78, 0 + %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false) + br i1 %t80, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t77) + ret ptr null +exc.k37: + %t81 = load ptr, ptr %sc_l_p_receiver + %t82 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t81, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t83 = call ptr @scr_dyn_bag_get(ptr %t77, ptr @sc_lit_2782259059515958, ptr %t82) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t82) + call void @sc_rc_release_dyn(ptr %t83) + ret ptr null +exc.k39: + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t82) + ret ptr %t83 +if.j35: + %t88 = call ptr @scr_dyn_undefined() + %t87 = call ptr @scr_dyn_retain_v(ptr %t88) + ret ptr %t87 +if.j29: + %t89 = load ptr, ptr %sc_l_p_key + %t90 = call zeroext i1 @sc_streq_145319249654683(ptr %t89) + br i1 %t90, label %if.t40, label %if.j41 +if.t40: + %t91 = load ptr, ptr %sc_l_p_receiver + %t92 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t91, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t93 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t92) + %t94 = load i32, ptr %exc.cell + %t95 = icmp ne i32 %t94, 0 + %t96 = call i1 @llvm.expect.i1(i1 %t95, i1 false) + br i1 %t96, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t93) + ret ptr null +exc.k43: + %t97 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t93, ptr @sc_lit_145319249654683) + %t98 = load i32, ptr %exc.cell + %t99 = icmp ne i32 %t98, 0 + %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false) + br i1 %t100, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t93) + ret ptr null +exc.k45: + call void @sc_rc_release_dyn(ptr %t93) + br i1 %t97, label %if.t46, label %if.j47 +if.t46: + %t101 = load ptr, ptr %sc_l_p_receiver + %t102 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t101, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t103 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t102) + %t104 = load i32, ptr %exc.cell + %t105 = icmp ne i32 %t104, 0 + %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false) + br i1 %t106, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t103) + ret ptr null +exc.k49: + %t107 = load ptr, ptr %sc_l_p_receiver + %t108 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t107, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t109 = call ptr @scr_dyn_bag_get(ptr %t103, ptr @sc_lit_145319249654683, ptr %t108) + %t110 = load i32, ptr %exc.cell + %t111 = icmp ne i32 %t110, 0 + %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false) + br i1 %t112, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_rc_release_dyn(ptr %t108) + call void @sc_rc_release_dyn(ptr %t109) + ret ptr null +exc.k51: + call void @sc_rc_release_dyn(ptr %t103) + call void @sc_rc_release_dyn(ptr %t108) + ret ptr %t109 +if.j47: + %t114 = call ptr @scr_dyn_undefined() + %t113 = call ptr @scr_dyn_retain_v(ptr %t114) + ret ptr %t113 +if.j41: + %t115 = load ptr, ptr %sc_l_p_0 + %t116 = call ptr @sc_rc_retain_dyn(ptr %t115) + %t117 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t116) + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t117) + ret ptr null +exc.k53: + %t121 = load ptr, ptr %sc_l_p_key + %t122 = call ptr @sc_rc_retain_str(ptr %t121) + %t123 = load ptr, ptr %sc_l_p_receiver + %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit) + %t125 = call ptr @scr_dyn_bag_get(ptr %t117, ptr %t122, ptr %t124) + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t117) + call void @scr_str_release(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + call void @sc_rc_release_dyn(ptr %t125) + ret ptr null +exc.k55: + call void @sc_rc_release_dyn(ptr %t117) + call void @scr_str_release(ptr %t122) + call void @sc_rc_release_dyn(ptr %t124) + ret ptr %t125 +} +define internal ptr @sc_f__x25_dyn_class_keys_500(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_500(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m3_LiteHeaders(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_error_name_read(ptr %p_sc_l_error_0) #0 { ; %error.name.read +entry: + %sc_l_error_0 = alloca ptr ; error + store ptr %p_sc_l_error_0, ptr %sc_l_error_0 + %t0 = load ptr, ptr %sc_l_error_0 + %t1 = getelementptr inbounds %ScrError, ptr %t0, i64 0, i32 9 + %t2 = load i8, ptr %t1, !tbaa !206 + %t3 = trunc i8 %t2 to i1 + br i1 %t3, label %if.t0, label %if.j1 +if.t0: + %t4 = load ptr, ptr %sc_l_error_0 + %t5 = getelementptr inbounds %ScrError, ptr %t4, i64 0, i32 2 + %t6 = load ptr, ptr %t5, !tbaa !10 + ret ptr %t6 +if.j1: + %t7 = load ptr, ptr %sc_l_error_0 + %t8 = getelementptr inbounds %ScrError, ptr %t7, i64 0, i32 2 + %t9 = load ptr, ptr %t8, !tbaa !10 + ret ptr %t9 +} +define internal ptr @sc_f__x25_error_name_read(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_error_name_read(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rc_retain_str(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_error_release(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_error_message_read(ptr %p_sc_l_error_0) #0 { ; %error.message.read +entry: + %sc_l_error_0 = alloca ptr ; error + store ptr %p_sc_l_error_0, ptr %sc_l_error_0 + %t0 = load ptr, ptr %sc_l_error_0 + %t1 = getelementptr inbounds %ScrError, ptr %t0, i64 0, i32 7 + %t2 = load i8, ptr %t1, !tbaa !210 + %t3 = trunc i8 %t2 to i1 + br i1 %t3, label %if.t0, label %if.j1 +if.t0: + %t4 = load ptr, ptr %sc_l_error_0 + %t5 = getelementptr inbounds %ScrError, ptr %t4, i64 0, i32 3 + %t6 = load ptr, ptr %t5, !tbaa !214 + ret ptr %t6 +if.j1: + %t7 = load ptr, ptr %sc_l_error_0 + %t8 = getelementptr inbounds %ScrError, ptr %t7, i64 0, i32 3 + %t9 = load ptr, ptr %t8, !tbaa !214 + ret ptr %t9 +} +define internal ptr @sc_f__x25_error_message_read(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_error_message_read(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rc_retain_str(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_error_release(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_bf__x25_error_toString_method(ptr %p_sc_l_error_0) #0 { ; %error.toString.method +entry: + %sc_l_error_0 = alloca ptr ; error + store ptr %p_sc_l_error_0, ptr %sc_l_error_0 + %t0 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString) + %t1 = call ptr @sc_dfb_56(ptr %t0, ptr null) + call void @scr_closure_release(ptr %t0) + ret ptr %t1 +} +define internal ptr @sc_f__x25_error_toString_method(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_error_toString_method(ptr %p0) + call void @scr_error_release(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_504(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.504 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_2298207874780604(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @sc_bf__x25_error_name_read(ptr %t6) + %t8 = call ptr @sc_rc_retain_str(ptr %t7) + %t9 = call ptr @sc_td_0(ptr %t8) + call void @scr_str_release(ptr %t8) + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_p_key + %t11 = call zeroext i1 @sc_streq_3013970235377041(ptr %t10) + br i1 %t11, label %if.t4, label %if.j5 +if.t4: + %t12 = load ptr, ptr %sc_l_p_receiver + %t13 = call ptr @sc_bf__x25_error_message_read(ptr %t12) + %t14 = call ptr @sc_rc_retain_str(ptr %t13) + %t15 = call ptr @sc_td_0(ptr %t14) + call void @scr_str_release(ptr %t14) + ret ptr %t15 +if.j5: + %t16 = load ptr, ptr %sc_l_p_key + %t17 = call zeroext i1 @sc_streq_1143527378875226(ptr %t16) + br i1 %t17, label %if.t6, label %if.j7 +if.t6: + %t18 = load ptr, ptr %sc_l_p_receiver + %t19 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t18, i64 0, i32 21 + %t20 = load ptr, ptr %t19, !tbaa !168 + %t21 = call ptr @sc_rc_retain_str(ptr %t20) + %t22 = call ptr @sc_td_0(ptr %t21) + call void @scr_str_release(ptr %t21) + ret ptr %t22 +if.j7: + %t23 = load ptr, ptr %sc_l_p_key + %t24 = call zeroext i1 @sc_streq_3302186402337583(ptr %t23) + br i1 %t24, label %if.t8, label %if.j9 +if.t8: + %t25 = load ptr, ptr %sc_l_p_receiver + %t26 = call ptr @sc_bf__x25_error_toString_method(ptr %t25) + ret ptr %t26 +if.j9: + %t27 = load ptr, ptr %sc_l_p_0 + %t28 = call ptr @sc_rc_retain_dyn(ptr %t27) + %t29 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t28) + %t30 = load i32, ptr %exc.cell + %t31 = icmp ne i32 %t30, 0 + %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false) + br i1 %t32, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t29) + ret ptr null +exc.k11: + %t33 = load ptr, ptr %sc_l_p_key + %t34 = call ptr @sc_rc_retain_str(ptr %t33) + %t35 = load ptr, ptr %sc_l_p_receiver + %t36 = call ptr @sc_td_15(ptr %t35) + %t37 = call ptr @scr_dyn_bag_get(ptr %t29, ptr %t34, ptr %t36) + %t38 = load i32, ptr %exc.cell + %t39 = icmp ne i32 %t38, 0 + %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false) + br i1 %t40, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_str_release(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t37) + ret ptr null +exc.k13: + call void @sc_rc_release_dyn(ptr %t29) + call void @scr_str_release(ptr %t34) + call void @sc_rc_release_dyn(ptr %t36) + ret ptr %t37 +} +define internal ptr @sc_f__x25_dyn_class_keys_504(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_504(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m5_MethodNotAllowedError(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_505(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.505 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_4331231100667432(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !108 + %t9 = call ptr @sc_rc_retain_str(ptr %t8) + %t10 = call ptr @sc_td_0(ptr %t9) + call void @scr_str_release(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_1497623537730125(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t13, i64 0, i32 2 + %t15 = load ptr, ptr %t14, !tbaa !110 + %t16 = call ptr @sc_rc_retain_str(ptr %t15) + %t17 = call ptr @sc_td_0(ptr %t16) + call void @scr_str_release(ptr %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_3626652862359804(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t20, i64 0, i32 3 + %t22 = load double, ptr %t21, !tbaa !112 + %t23 = call ptr @sc_td_2(double %t22) + ret ptr %t23 +if.j7: + %t24 = load ptr, ptr %sc_l_p_key + %t25 = call zeroext i1 @sc_streq_3767316427932713(ptr %t24) + br i1 %t25, label %if.t8, label %if.j9 +if.t8: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t26, i64 0, i32 4 + %t28 = load ptr, ptr %t27, !tbaa !114 + %t29 = call ptr @scr_bytes_retain_v(ptr %t28) + %t30 = call ptr @sc_td_1(ptr %t29) + call void @scr_bytes_release(ptr %t29) + ret ptr %t30 +if.j9: + %t31 = load ptr, ptr %sc_l_p_key + %t32 = call zeroext i1 @sc_streq_270650669493903(ptr %t31) + br i1 %t32, label %if.t10, label %if.j11 +if.t10: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t33, i64 0, i32 5 + %t35 = load ptr, ptr %t34, !tbaa !116 + %t36 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t35) + %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit) + call void @sc_release__x25_m4_MultipartStorage(ptr %t36) + ret ptr %t37 +if.j11: + %t38 = load ptr, ptr %sc_l_p_key + %t39 = call zeroext i1 @sc_streq_1904556107358822(ptr %t38) + br i1 %t39, label %if.t12, label %if.j13 +if.t12: + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t40, i64 0, i32 6 + %t42 = load double, ptr %t41, !tbaa !118 + %t43 = call ptr @sc_td_2(double %t42) + ret ptr %t43 +if.j13: + %t44 = load ptr, ptr %sc_l_p_key + %t45 = call zeroext i1 @sc_streq_3347257245794453(ptr %t44) + br i1 %t45, label %if.t14, label %if.j15 +if.t14: + %t46 = load ptr, ptr %sc_l_p_receiver + %t47 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t46, i64 0, i32 7 + %t48 = load double, ptr %t47, !tbaa !120 + %t49 = call ptr @sc_td_2(double %t48) + ret ptr %t49 +if.j15: + %t50 = load ptr, ptr %sc_l_p_key + %t51 = call zeroext i1 @sc_streq_51498970823486(ptr %t50) + br i1 %t51, label %if.t16, label %if.j17 +if.t16: + %t52 = load ptr, ptr %sc_l_p_receiver + %t53 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t52, i64 0, i32 8 + %t54 = load double, ptr %t53, !tbaa !122 + %t55 = call ptr @sc_td_2(double %t54) + ret ptr %t55 +if.j17: + %t56 = load ptr, ptr %sc_l_p_key + %t57 = call zeroext i1 @sc_streq_3871774119671975(ptr %t56) + br i1 %t57, label %if.t18, label %if.j19 +if.t18: + %t58 = load ptr, ptr %sc_l_p_receiver + %t59 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t58, i64 0, i32 9 + %t60 = load i8, ptr %t59, !tbaa !124 + %t61 = trunc i8 %t60 to i1 + %t62 = call ptr @sc_td_3(i1 %t61) + ret ptr %t62 +if.j19: + %t63 = load ptr, ptr %sc_l_p_key + %t64 = call zeroext i1 @sc_streq_1511541293423217(ptr %t63) + br i1 %t64, label %if.t20, label %if.j21 +if.t20: + %t65 = load ptr, ptr %sc_l_p_receiver + %t66 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t65, i64 0, i32 10 + %t67 = load i8, ptr %t66, !tbaa !126 + %t68 = trunc i8 %t67 to i1 + %t69 = call ptr @sc_td_3(i1 %t68) + ret ptr %t69 +if.j21: + %t70 = load ptr, ptr %sc_l_p_key + %t71 = call zeroext i1 @sc_streq_3537803200604019(ptr %t70) + br i1 %t71, label %if.t22, label %if.j23 +if.t22: + %t72 = load ptr, ptr %sc_l_p_receiver + %t73 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t72, i64 0, i32 11 + %t74 = load ptr, ptr %t73, !tbaa !100 + %t75 = call ptr @sc_rc_retain_str(ptr %t74) + %t76 = call ptr @sc_td_0(ptr %t75) + call void @scr_str_release(ptr %t75) + ret ptr %t76 +if.j23: + %t77 = load ptr, ptr %sc_l_p_key + %t78 = call zeroext i1 @sc_streq_2438149604853393(ptr %t77) + br i1 %t78, label %if.t24, label %if.j25 +if.t24: + %t79 = load ptr, ptr %sc_l_p_receiver + %t80 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t79, i64 0, i32 12 + %t81 = load ptr, ptr %t80, !tbaa !102 + %t82 = call ptr @sc_rc_retain_str(ptr %t81) + %t83 = call ptr @sc_td_0(ptr %t82) + call void @scr_str_release(ptr %t82) + ret ptr %t83 +if.j25: + %t84 = load ptr, ptr %sc_l_p_key + %t85 = call zeroext i1 @sc_streq_87265031005560(ptr %t84) + br i1 %t85, label %if.t26, label %if.j27 +if.t26: + %t86 = load ptr, ptr %sc_l_p_receiver + %t87 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t86, i64 0, i32 13 + %t88 = load ptr, ptr %t87, !tbaa !104 + %t89 = call ptr @sc_rc_retain_str(ptr %t88) + %t90 = call ptr @sc_td_0(ptr %t89) + call void @scr_str_release(ptr %t89) + ret ptr %t90 +if.j27: + %t91 = load ptr, ptr %sc_l_p_key + %t92 = call zeroext i1 @sc_streq_2620371357038102(ptr %t91) + br i1 %t92, label %if.t28, label %if.j29 +if.t28: + %t93 = load ptr, ptr %sc_l_p_receiver + %t94 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t93, i64 0, i32 14 + %t95 = load ptr, ptr %t94, !tbaa !128 + %t96 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t95) + %t97 = call ptr @sc_ldu_4(ptr %t96) + call void @sc_release__x25_m4_MultipartFileSink(ptr %t96) + ret ptr %t97 +if.j29: + %t98 = load ptr, ptr %sc_l_p_key + %t99 = call zeroext i1 @sc_streq_1445273163400741(ptr %t98) + br i1 %t99, label %if.t30, label %if.j31 +if.t30: + %t100 = load ptr, ptr %sc_l_p_receiver + %t101 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t100, i64 0, i32 15 + %t102 = load ptr, ptr %t101, !tbaa !130 + %t103 = call ptr @scr_arr_retain_v(ptr %t102) + %t104 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t103, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t104, ptr @sc_ldr_20_materialize_ops) + call void @scr_arr_release(ptr %t103) + ret ptr %t104 +if.j31: + %t105 = load ptr, ptr %sc_l_p_key + %t106 = call zeroext i1 @sc_streq_3078220272172636(ptr %t105) + br i1 %t106, label %if.t32, label %if.j33 +if.t32: + %t107 = load ptr, ptr %sc_l_p_receiver + %t108 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t107, i64 0, i32 16 + %t109 = load double, ptr %t108, !tbaa !132 + %t110 = call ptr @sc_td_2(double %t109) + ret ptr %t110 +if.j33: + %t111 = load ptr, ptr %sc_l_p_key + %t112 = call zeroext i1 @sc_streq_3003865410260240(ptr %t111) + br i1 %t112, label %if.t34, label %if.j35 +if.t34: + %t113 = load ptr, ptr %sc_l_p_receiver + %t114 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t113, i64 0, i32 17 + %t115 = load double, ptr %t114, !tbaa !134 + %t116 = call ptr @sc_td_2(double %t115) + ret ptr %t116 +if.j35: + %t117 = load ptr, ptr %sc_l_p_key + %t118 = call zeroext i1 @sc_streq_3833663445821831(ptr %t117) + br i1 %t118, label %if.t36, label %if.j37 +if.t36: + %t119 = load ptr, ptr %sc_l_p_receiver + %t120 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t119, i64 0, i32 18 + %t121 = load double, ptr %t120, !tbaa !26 + %t122 = call ptr @sc_td_2(double %t121) + ret ptr %t122 +if.j37: + %t123 = load ptr, ptr %sc_l_p_key + %t124 = call zeroext i1 @sc_streq_1081761464356753(ptr %t123) + br i1 %t124, label %if.t38, label %if.j39 +if.t38: + %t125 = load ptr, ptr %sc_l_p_receiver + %t126 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t125, i64 0, i32 19 + %t127 = load ptr, ptr %t126, !tbaa !28 + %t128 = call ptr @scr_arr_retain_v(ptr %t127) + %t129 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t128, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t129, ptr @sc_ldr_11_materialize_ops) + call void @scr_arr_release(ptr %t128) + ret ptr %t129 +if.j39: + %t130 = load ptr, ptr %sc_l_p_key + %t131 = call zeroext i1 @sc_streq_3375901898269401(ptr %t130) + br i1 %t131, label %if.t40, label %if.j41 +if.t40: + %t132 = load ptr, ptr %sc_l_p_receiver + %t133 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t132, i64 0, i32 20 + %t134 = load ptr, ptr %t133, !tbaa !30 + %t135 = call ptr @scr_arr_retain_v(ptr %t134) + %t136 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t135, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t136, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t135) + ret ptr %t136 +if.j41: + %t137 = load ptr, ptr %sc_l_p_key + %t138 = call zeroext i1 @sc_streq_3531366543973767(ptr %t137) + br i1 %t138, label %if.t42, label %if.j43 +if.t42: + %t139 = load ptr, ptr %sc_l_p_receiver + %t140 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t139, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t141 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t140) + %t142 = load i32, ptr %exc.cell + %t143 = icmp ne i32 %t142, 0 + %t144 = call i1 @llvm.expect.i1(i1 %t143, i1 false) + br i1 %t144, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t141) + ret ptr null +exc.k45: + %t145 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t141, ptr @sc_lit_3531366543973767) + %t146 = load i32, ptr %exc.cell + %t147 = icmp ne i32 %t146, 0 + %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false) + br i1 %t148, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t141) + ret ptr null +exc.k47: + call void @sc_rc_release_dyn(ptr %t141) + br i1 %t145, label %if.t48, label %if.j49 +if.t48: + %t149 = load ptr, ptr %sc_l_p_receiver + %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t151 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t150) + %t152 = load i32, ptr %exc.cell + %t153 = icmp ne i32 %t152, 0 + %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false) + br i1 %t154, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t151) + ret ptr null +exc.k51: + %t155 = load ptr, ptr %sc_l_p_receiver + %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t157 = call ptr @scr_dyn_bag_get(ptr %t151, ptr @sc_lit_3531366543973767, ptr %t156) + %t158 = load i32, ptr %exc.cell + %t159 = icmp ne i32 %t158, 0 + %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false) + br i1 %t160, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t156) + call void @sc_rc_release_dyn(ptr %t157) + ret ptr null +exc.k53: + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t156) + ret ptr %t157 +if.j49: + %t162 = call ptr @scr_dyn_undefined() + %t161 = call ptr @scr_dyn_retain_v(ptr %t162) + ret ptr %t161 +if.j43: + %t163 = load ptr, ptr %sc_l_p_key + %t164 = call zeroext i1 @sc_streq_1173128410961643(ptr %t163) + br i1 %t164, label %if.t54, label %if.j55 +if.t54: + %t165 = load ptr, ptr %sc_l_p_receiver + %t166 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t165, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t167 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t166) + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t167) + ret ptr null +exc.k57: + %t171 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t167, ptr @sc_lit_1173128410961643) + %t172 = load i32, ptr %exc.cell + %t173 = icmp ne i32 %t172, 0 + %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false) + br i1 %t174, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t167) + ret ptr null +exc.k59: + call void @sc_rc_release_dyn(ptr %t167) + br i1 %t171, label %if.t60, label %if.j61 +if.t60: + %t175 = load ptr, ptr %sc_l_p_receiver + %t176 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t175, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t177 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t176) + %t178 = load i32, ptr %exc.cell + %t179 = icmp ne i32 %t178, 0 + %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false) + br i1 %t180, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t177) + ret ptr null +exc.k63: + %t181 = load ptr, ptr %sc_l_p_receiver + %t182 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t181, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t183 = call ptr @scr_dyn_bag_get(ptr %t177, ptr @sc_lit_1173128410961643, ptr %t182) + %t184 = load i32, ptr %exc.cell + %t185 = icmp ne i32 %t184, 0 + %t186 = call i1 @llvm.expect.i1(i1 %t185, i1 false) + br i1 %t186, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t182) + call void @sc_rc_release_dyn(ptr %t183) + ret ptr null +exc.k65: + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t183 +if.j61: + %t188 = call ptr @scr_dyn_undefined() + %t187 = call ptr @scr_dyn_retain_v(ptr %t188) + ret ptr %t187 +if.j55: + %t189 = load ptr, ptr %sc_l_p_key + %t190 = call zeroext i1 @sc_streq_1900193337948069(ptr %t189) + br i1 %t190, label %if.t66, label %if.j67 +if.t66: + %t191 = load ptr, ptr %sc_l_p_receiver + %t192 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t191, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t193 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t192) + %t194 = load i32, ptr %exc.cell + %t195 = icmp ne i32 %t194, 0 + %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false) + br i1 %t196, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t193) + ret ptr null +exc.k69: + %t197 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t193, ptr @sc_lit_1900193337948069) + %t198 = load i32, ptr %exc.cell + %t199 = icmp ne i32 %t198, 0 + %t200 = call i1 @llvm.expect.i1(i1 %t199, i1 false) + br i1 %t200, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t193) + ret ptr null +exc.k71: + call void @sc_rc_release_dyn(ptr %t193) + br i1 %t197, label %if.t72, label %if.j73 +if.t72: + %t201 = load ptr, ptr %sc_l_p_receiver + %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t203 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t202) + %t204 = load i32, ptr %exc.cell + %t205 = icmp ne i32 %t204, 0 + %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false) + br i1 %t206, label %exc.u74, label %exc.k75 +exc.u74: + call void @sc_rc_release_dyn(ptr %t203) + ret ptr null +exc.k75: + %t207 = load ptr, ptr %sc_l_p_receiver + %t208 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t207, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t209 = call ptr @scr_dyn_bag_get(ptr %t203, ptr @sc_lit_1900193337948069, ptr %t208) + %t210 = load i32, ptr %exc.cell + %t211 = icmp ne i32 %t210, 0 + %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false) + br i1 %t212, label %exc.u76, label %exc.k77 +exc.u76: + call void @sc_rc_release_dyn(ptr %t203) + call void @sc_rc_release_dyn(ptr %t208) + call void @sc_rc_release_dyn(ptr %t209) + ret ptr null +exc.k77: + call void @sc_rc_release_dyn(ptr %t203) + call void @sc_rc_release_dyn(ptr %t208) + ret ptr %t209 +if.j73: + %t214 = call ptr @scr_dyn_undefined() + %t213 = call ptr @scr_dyn_retain_v(ptr %t214) + ret ptr %t213 +if.j67: + %t215 = load ptr, ptr %sc_l_p_key + %t216 = call zeroext i1 @sc_streq_3922224781708262(ptr %t215) + br i1 %t216, label %if.t78, label %if.j79 +if.t78: + %t217 = load ptr, ptr %sc_l_p_receiver + %t218 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t217, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t219 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t218) + %t220 = load i32, ptr %exc.cell + %t221 = icmp ne i32 %t220, 0 + %t222 = call i1 @llvm.expect.i1(i1 %t221, i1 false) + br i1 %t222, label %exc.u80, label %exc.k81 +exc.u80: + call void @sc_rc_release_dyn(ptr %t219) + ret ptr null +exc.k81: + %t223 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t219, ptr @sc_lit_3922224781708262) + %t224 = load i32, ptr %exc.cell + %t225 = icmp ne i32 %t224, 0 + %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false) + br i1 %t226, label %exc.u82, label %exc.k83 +exc.u82: + call void @sc_rc_release_dyn(ptr %t219) + ret ptr null +exc.k83: + call void @sc_rc_release_dyn(ptr %t219) + br i1 %t223, label %if.t84, label %if.j85 +if.t84: + %t227 = load ptr, ptr %sc_l_p_receiver + %t228 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t227, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t229 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t228) + %t230 = load i32, ptr %exc.cell + %t231 = icmp ne i32 %t230, 0 + %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false) + br i1 %t232, label %exc.u86, label %exc.k87 +exc.u86: + call void @sc_rc_release_dyn(ptr %t229) + ret ptr null +exc.k87: + %t233 = load ptr, ptr %sc_l_p_receiver + %t234 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t233, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t235 = call ptr @scr_dyn_bag_get(ptr %t229, ptr @sc_lit_3922224781708262, ptr %t234) + %t236 = load i32, ptr %exc.cell + %t237 = icmp ne i32 %t236, 0 + %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false) + br i1 %t238, label %exc.u88, label %exc.k89 +exc.u88: + call void @sc_rc_release_dyn(ptr %t229) + call void @sc_rc_release_dyn(ptr %t234) + call void @sc_rc_release_dyn(ptr %t235) + ret ptr null +exc.k89: + call void @sc_rc_release_dyn(ptr %t229) + call void @sc_rc_release_dyn(ptr %t234) + ret ptr %t235 +if.j85: + %t240 = call ptr @scr_dyn_undefined() + %t239 = call ptr @scr_dyn_retain_v(ptr %t240) + ret ptr %t239 +if.j79: + %t241 = load ptr, ptr %sc_l_p_key + %t242 = call zeroext i1 @sc_streq_1360183775732063(ptr %t241) + br i1 %t242, label %if.t90, label %if.j91 +if.t90: + %t243 = load ptr, ptr %sc_l_p_receiver + %t244 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t243, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t245 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t244) + %t246 = load i32, ptr %exc.cell + %t247 = icmp ne i32 %t246, 0 + %t248 = call i1 @llvm.expect.i1(i1 %t247, i1 false) + br i1 %t248, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t245) + ret ptr null +exc.k93: + %t249 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t245, ptr @sc_lit_1360183775732063) + %t250 = load i32, ptr %exc.cell + %t251 = icmp ne i32 %t250, 0 + %t252 = call i1 @llvm.expect.i1(i1 %t251, i1 false) + br i1 %t252, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t245) + ret ptr null +exc.k95: + call void @sc_rc_release_dyn(ptr %t245) + br i1 %t249, label %if.t96, label %if.j97 +if.t96: + %t253 = load ptr, ptr %sc_l_p_receiver + %t254 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t253, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t255 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t254) + %t256 = load i32, ptr %exc.cell + %t257 = icmp ne i32 %t256, 0 + %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false) + br i1 %t258, label %exc.u98, label %exc.k99 +exc.u98: + call void @sc_rc_release_dyn(ptr %t255) + ret ptr null +exc.k99: + %t259 = load ptr, ptr %sc_l_p_receiver + %t260 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t259, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t261 = call ptr @scr_dyn_bag_get(ptr %t255, ptr @sc_lit_1360183775732063, ptr %t260) + %t262 = load i32, ptr %exc.cell + %t263 = icmp ne i32 %t262, 0 + %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false) + br i1 %t264, label %exc.u100, label %exc.k101 +exc.u100: + call void @sc_rc_release_dyn(ptr %t255) + call void @sc_rc_release_dyn(ptr %t260) + call void @sc_rc_release_dyn(ptr %t261) + ret ptr null +exc.k101: + call void @sc_rc_release_dyn(ptr %t255) + call void @sc_rc_release_dyn(ptr %t260) + ret ptr %t261 +if.j97: + %t266 = call ptr @scr_dyn_undefined() + %t265 = call ptr @scr_dyn_retain_v(ptr %t266) + ret ptr %t265 +if.j91: + %t267 = load ptr, ptr %sc_l_p_key + %t268 = call zeroext i1 @sc_streq_142546227685363(ptr %t267) + br i1 %t268, label %if.t102, label %if.j103 +if.t102: + %t269 = load ptr, ptr %sc_l_p_receiver + %t270 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t269, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t271 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t270) + %t272 = load i32, ptr %exc.cell + %t273 = icmp ne i32 %t272, 0 + %t274 = call i1 @llvm.expect.i1(i1 %t273, i1 false) + br i1 %t274, label %exc.u104, label %exc.k105 +exc.u104: + call void @sc_rc_release_dyn(ptr %t271) + ret ptr null +exc.k105: + %t275 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t271, ptr @sc_lit_142546227685363) + %t276 = load i32, ptr %exc.cell + %t277 = icmp ne i32 %t276, 0 + %t278 = call i1 @llvm.expect.i1(i1 %t277, i1 false) + br i1 %t278, label %exc.u106, label %exc.k107 +exc.u106: + call void @sc_rc_release_dyn(ptr %t271) + ret ptr null +exc.k107: + call void @sc_rc_release_dyn(ptr %t271) + br i1 %t275, label %if.t108, label %if.j109 +if.t108: + %t279 = load ptr, ptr %sc_l_p_receiver + %t280 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t279, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t281 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t280) + %t282 = load i32, ptr %exc.cell + %t283 = icmp ne i32 %t282, 0 + %t284 = call i1 @llvm.expect.i1(i1 %t283, i1 false) + br i1 %t284, label %exc.u110, label %exc.k111 +exc.u110: + call void @sc_rc_release_dyn(ptr %t281) + ret ptr null +exc.k111: + %t285 = load ptr, ptr %sc_l_p_receiver + %t286 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t285, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t287 = call ptr @scr_dyn_bag_get(ptr %t281, ptr @sc_lit_142546227685363, ptr %t286) + %t288 = load i32, ptr %exc.cell + %t289 = icmp ne i32 %t288, 0 + %t290 = call i1 @llvm.expect.i1(i1 %t289, i1 false) + br i1 %t290, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t281) + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_rc_release_dyn(ptr %t287) + ret ptr null +exc.k113: + call void @sc_rc_release_dyn(ptr %t281) + call void @sc_rc_release_dyn(ptr %t286) + ret ptr %t287 +if.j109: + %t292 = call ptr @scr_dyn_undefined() + %t291 = call ptr @scr_dyn_retain_v(ptr %t292) + ret ptr %t291 +if.j103: + %t293 = load ptr, ptr %sc_l_p_key + %t294 = call zeroext i1 @sc_streq_2281930073577937(ptr %t293) + br i1 %t294, label %if.t114, label %if.j115 +if.t114: + %t295 = load ptr, ptr %sc_l_p_receiver + %t296 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t295, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t297 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t296) + %t298 = load i32, ptr %exc.cell + %t299 = icmp ne i32 %t298, 0 + %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false) + br i1 %t300, label %exc.u116, label %exc.k117 +exc.u116: + call void @sc_rc_release_dyn(ptr %t297) + ret ptr null +exc.k117: + %t301 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t297, ptr @sc_lit_2281930073577937) + %t302 = load i32, ptr %exc.cell + %t303 = icmp ne i32 %t302, 0 + %t304 = call i1 @llvm.expect.i1(i1 %t303, i1 false) + br i1 %t304, label %exc.u118, label %exc.k119 +exc.u118: + call void @sc_rc_release_dyn(ptr %t297) + ret ptr null +exc.k119: + call void @sc_rc_release_dyn(ptr %t297) + br i1 %t301, label %if.t120, label %if.j121 +if.t120: + %t305 = load ptr, ptr %sc_l_p_receiver + %t306 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t305, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t307 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t306) + %t308 = load i32, ptr %exc.cell + %t309 = icmp ne i32 %t308, 0 + %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false) + br i1 %t310, label %exc.u122, label %exc.k123 +exc.u122: + call void @sc_rc_release_dyn(ptr %t307) + ret ptr null +exc.k123: + %t311 = load ptr, ptr %sc_l_p_receiver + %t312 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t311, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t313 = call ptr @scr_dyn_bag_get(ptr %t307, ptr @sc_lit_2281930073577937, ptr %t312) + %t314 = load i32, ptr %exc.cell + %t315 = icmp ne i32 %t314, 0 + %t316 = call i1 @llvm.expect.i1(i1 %t315, i1 false) + br i1 %t316, label %exc.u124, label %exc.k125 +exc.u124: + call void @sc_rc_release_dyn(ptr %t307) + call void @sc_rc_release_dyn(ptr %t312) + call void @sc_rc_release_dyn(ptr %t313) + ret ptr null +exc.k125: + call void @sc_rc_release_dyn(ptr %t307) + call void @sc_rc_release_dyn(ptr %t312) + ret ptr %t313 +if.j121: + %t318 = call ptr @scr_dyn_undefined() + %t317 = call ptr @scr_dyn_retain_v(ptr %t318) + ret ptr %t317 +if.j115: + %t319 = load ptr, ptr %sc_l_p_key + %t320 = call zeroext i1 @sc_streq_1113582459875923(ptr %t319) + br i1 %t320, label %if.t126, label %if.j127 +if.t126: + %t321 = load ptr, ptr %sc_l_p_receiver + %t322 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t321, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t323 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t322) + %t324 = load i32, ptr %exc.cell + %t325 = icmp ne i32 %t324, 0 + %t326 = call i1 @llvm.expect.i1(i1 %t325, i1 false) + br i1 %t326, label %exc.u128, label %exc.k129 +exc.u128: + call void @sc_rc_release_dyn(ptr %t323) + ret ptr null +exc.k129: + %t327 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t323, ptr @sc_lit_1113582459875923) + %t328 = load i32, ptr %exc.cell + %t329 = icmp ne i32 %t328, 0 + %t330 = call i1 @llvm.expect.i1(i1 %t329, i1 false) + br i1 %t330, label %exc.u130, label %exc.k131 +exc.u130: + call void @sc_rc_release_dyn(ptr %t323) + ret ptr null +exc.k131: + call void @sc_rc_release_dyn(ptr %t323) + br i1 %t327, label %if.t132, label %if.j133 +if.t132: + %t331 = load ptr, ptr %sc_l_p_receiver + %t332 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t331, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t333 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t332) + %t334 = load i32, ptr %exc.cell + %t335 = icmp ne i32 %t334, 0 + %t336 = call i1 @llvm.expect.i1(i1 %t335, i1 false) + br i1 %t336, label %exc.u134, label %exc.k135 +exc.u134: + call void @sc_rc_release_dyn(ptr %t333) + ret ptr null +exc.k135: + %t337 = load ptr, ptr %sc_l_p_receiver + %t338 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t337, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t339 = call ptr @scr_dyn_bag_get(ptr %t333, ptr @sc_lit_1113582459875923, ptr %t338) + %t340 = load i32, ptr %exc.cell + %t341 = icmp ne i32 %t340, 0 + %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false) + br i1 %t342, label %exc.u136, label %exc.k137 +exc.u136: + call void @sc_rc_release_dyn(ptr %t333) + call void @sc_rc_release_dyn(ptr %t338) + call void @sc_rc_release_dyn(ptr %t339) + ret ptr null +exc.k137: + call void @sc_rc_release_dyn(ptr %t333) + call void @sc_rc_release_dyn(ptr %t338) + ret ptr %t339 +if.j133: + %t344 = call ptr @scr_dyn_undefined() + %t343 = call ptr @scr_dyn_retain_v(ptr %t344) + ret ptr %t343 +if.j127: + %t345 = load ptr, ptr %sc_l_p_0 + %t346 = call ptr @sc_rc_retain_dyn(ptr %t345) + %t347 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t346) + %t348 = load i32, ptr %exc.cell + %t349 = icmp ne i32 %t348, 0 + %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false) + br i1 %t350, label %exc.u138, label %exc.k139 +exc.u138: + call void @sc_rc_release_dyn(ptr %t347) + ret ptr null +exc.k139: + %t351 = load ptr, ptr %sc_l_p_key + %t352 = call ptr @sc_rc_retain_str(ptr %t351) + %t353 = load ptr, ptr %sc_l_p_receiver + %t354 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t353, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit) + %t355 = call ptr @scr_dyn_bag_get(ptr %t347, ptr %t352, ptr %t354) + %t356 = load i32, ptr %exc.cell + %t357 = icmp ne i32 %t356, 0 + %t358 = call i1 @llvm.expect.i1(i1 %t357, i1 false) + br i1 %t358, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t347) + call void @scr_str_release(ptr %t352) + call void @sc_rc_release_dyn(ptr %t354) + call void @sc_rc_release_dyn(ptr %t355) + ret ptr null +exc.k141: + call void @sc_rc_release_dyn(ptr %t347) + call void @scr_str_release(ptr %t352) + call void @sc_rc_release_dyn(ptr %t354) + ret ptr %t355 +} +define internal ptr @sc_f__x25_dyn_class_keys_505(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_505(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m4_MultipartParser(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_506(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.506 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_3392166625234189(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !90 + %t9 = call ptr @sc_rc_retain_str(ptr %t8) + %t10 = call ptr @sc_td_0(ptr %t9) + call void @scr_str_release(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_4388468866828680(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t13, i64 0, i32 2 + %t15 = load ptr, ptr %t14, !tbaa !12 + %t16 = call ptr @sc_rc_retain_str(ptr %t15) + %t17 = call ptr @sc_td_0(ptr %t16) + call void @scr_str_release(ptr %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_595629019077013(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t20, i64 0, i32 3 + %t22 = load ptr, ptr %t21, !tbaa !92 + %t23 = call ptr @sc_rc_retain_str(ptr %t22) + %t24 = call ptr @sc_td_0(ptr %t23) + call void @scr_str_release(ptr %t23) + ret ptr %t24 +if.j7: + %t25 = load ptr, ptr %sc_l_p_key + %t26 = call zeroext i1 @sc_streq_3603975379547098(ptr %t25) + br i1 %t26, label %if.t8, label %if.j9 +if.t8: + %t27 = load ptr, ptr %sc_l_p_receiver + %t28 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t27, i64 0, i32 4 + %t29 = load double, ptr %t28, !tbaa !94 + %t30 = call ptr @sc_td_2(double %t29) + ret ptr %t30 +if.j9: + %t31 = load ptr, ptr %sc_l_p_key + %t32 = call zeroext i1 @sc_streq_2826818497658723(ptr %t31) + br i1 %t32, label %if.t10, label %if.j11 +if.t10: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t33, i64 0, i32 5 + %t35 = load ptr, ptr %t34, !tbaa !96 + %t36 = call ptr @sc_nretain_string(ptr %t35) + %t37 = call ptr @sc_td_13(ptr %t36) + call void @scr_str_release(ptr %t36) + ret ptr %t37 +if.j11: + %t38 = load ptr, ptr %sc_l_p_key + %t39 = call zeroext i1 @sc_streq_693828840439997(ptr %t38) + br i1 %t39, label %if.t12, label %if.j13 +if.t12: + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t40, i64 0, i32 6 + %t42 = load ptr, ptr %t41, !tbaa !98 + %t43 = call ptr @scr_union_retain_v(ptr %t42) + %t44 = call ptr @sc_ldu_3(ptr %t43) + call void @scr_union_release(ptr %t43) + ret ptr %t44 +if.j13: + %t45 = load ptr, ptr %sc_l_p_0 + %t46 = call ptr @sc_rc_retain_dyn(ptr %t45) + %t47 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t46) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t47) + ret ptr null +exc.k15: + %t51 = load ptr, ptr %sc_l_p_key + %t52 = call ptr @sc_rc_retain_str(ptr %t51) + %t53 = load ptr, ptr %sc_l_p_receiver + %t54 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t53, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit) + call void @scr_dyn_typed_ref_bind_class(ptr %t54, ptr @sc_ldr_12_materialize_cops) + %t55 = call ptr @scr_dyn_bag_get(ptr %t47, ptr %t52, ptr %t54) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t47) + call void @scr_str_release(ptr %t52) + call void @sc_rc_release_dyn(ptr %t54) + call void @sc_rc_release_dyn(ptr %t55) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t47) + call void @scr_str_release(ptr %t52) + call void @sc_rc_release_dyn(ptr %t54) + ret ptr %t55 +} +define internal ptr @sc_f__x25_dyn_class_keys_506(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_506(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m4_UploadedFile(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_507(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.507 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_662344961506331(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !194 + %t9 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t8) + %t10 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t9, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + call void @sc_release__x25_m6_AssetSource(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_24845548896369(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t13, i64 0, i32 2 + %t15 = load i8, ptr %t14, !tbaa !196 + %t16 = trunc i8 %t15 to i1 + %t17 = call ptr @sc_td_3(i1 %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_365197477495960(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t20, i64 0, i32 3 + %t22 = load ptr, ptr %t21, !tbaa !198 + %t23 = call ptr @scr_arr_retain_v(ptr %t22) + %t24 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t23, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t24, ptr @sc_ldr_2_materialize_ops) + call void @scr_arr_release(ptr %t23) + ret ptr %t24 +if.j7: + %t25 = load ptr, ptr %sc_l_p_key + %t26 = call zeroext i1 @sc_streq_488203381972006(ptr %t25) + br i1 %t26, label %if.t8, label %if.j9 +if.t8: + %t27 = load ptr, ptr %sc_l_p_receiver + %t28 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t27, i64 0, i32 4 + %t29 = load ptr, ptr %t28, !tbaa !200 + %t30 = call ptr @sc_rc_retain_str(ptr %t29) + %t31 = call ptr @sc_td_0(ptr %t30) + call void @scr_str_release(ptr %t30) + ret ptr %t31 +if.j9: + %t32 = load ptr, ptr %sc_l_p_key + %t33 = call zeroext i1 @sc_streq_938646781597298(ptr %t32) + br i1 %t33, label %if.t10, label %if.j11 +if.t10: + %t34 = load ptr, ptr %sc_l_p_receiver + %t35 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t34, i64 0, i32 5 + %t36 = load ptr, ptr %t35, !tbaa !202 + %t37 = call ptr @sc_rc_retain_str(ptr %t36) + %t38 = call ptr @sc_td_0(ptr %t37) + call void @scr_str_release(ptr %t37) + ret ptr %t38 +if.j11: + %t39 = load ptr, ptr %sc_l_p_key + %t40 = call zeroext i1 @sc_streq_2232031524457002(ptr %t39) + br i1 %t40, label %if.t12, label %if.j13 +if.t12: + %t41 = load ptr, ptr %sc_l_p_receiver + %t42 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t41, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t43 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t42) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t43) + ret ptr null +exc.k15: + %t47 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t43, ptr @sc_lit_2232031524457002) + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t43) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t43) + br i1 %t47, label %if.t18, label %if.j19 +if.t18: + %t51 = load ptr, ptr %sc_l_p_receiver + %t52 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t51, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t53 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t52) + %t54 = load i32, ptr %exc.cell + %t55 = icmp ne i32 %t54, 0 + %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false) + br i1 %t56, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t53) + ret ptr null +exc.k21: + %t57 = load ptr, ptr %sc_l_p_receiver + %t58 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t57, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t59 = call ptr @scr_dyn_bag_get(ptr %t53, ptr @sc_lit_2232031524457002, ptr %t58) + %t60 = load i32, ptr %exc.cell + %t61 = icmp ne i32 %t60, 0 + %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false) + br i1 %t62, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t58) + call void @sc_rc_release_dyn(ptr %t59) + ret ptr null +exc.k23: + call void @sc_rc_release_dyn(ptr %t53) + call void @sc_rc_release_dyn(ptr %t58) + ret ptr %t59 +if.j19: + %t64 = call ptr @scr_dyn_undefined() + %t63 = call ptr @scr_dyn_retain_v(ptr %t64) + ret ptr %t63 +if.j13: + %t65 = load ptr, ptr %sc_l_p_key + %t66 = call zeroext i1 @sc_streq_3423954012803281(ptr %t65) + br i1 %t66, label %if.t24, label %if.j25 +if.t24: + %t67 = load ptr, ptr %sc_l_p_receiver + %t68 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t67, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t69 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t68) + %t70 = load i32, ptr %exc.cell + %t71 = icmp ne i32 %t70, 0 + %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false) + br i1 %t72, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t69) + ret ptr null +exc.k27: + %t73 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t69, ptr @sc_lit_3423954012803281) + %t74 = load i32, ptr %exc.cell + %t75 = icmp ne i32 %t74, 0 + %t76 = call i1 @llvm.expect.i1(i1 %t75, i1 false) + br i1 %t76, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t69) + ret ptr null +exc.k29: + call void @sc_rc_release_dyn(ptr %t69) + br i1 %t73, label %if.t30, label %if.j31 +if.t30: + %t77 = load ptr, ptr %sc_l_p_receiver + %t78 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t77, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t79 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t78) + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t79) + ret ptr null +exc.k33: + %t83 = load ptr, ptr %sc_l_p_receiver + %t84 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t83, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t85 = call ptr @scr_dyn_bag_get(ptr %t79, ptr @sc_lit_3423954012803281, ptr %t84) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t79) + call void @sc_rc_release_dyn(ptr %t84) + call void @sc_rc_release_dyn(ptr %t85) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t79) + call void @sc_rc_release_dyn(ptr %t84) + ret ptr %t85 +if.j31: + %t90 = call ptr @scr_dyn_undefined() + %t89 = call ptr @scr_dyn_retain_v(ptr %t90) + ret ptr %t89 +if.j25: + %t91 = load ptr, ptr %sc_l_p_key + %t92 = call zeroext i1 @sc_streq_700259281879664(ptr %t91) + br i1 %t92, label %if.t36, label %if.j37 +if.t36: + %t93 = load ptr, ptr %sc_l_p_receiver + %t94 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t93, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t95 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t94) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t95) + ret ptr null +exc.k39: + %t99 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t95, ptr @sc_lit_700259281879664) + %t100 = load i32, ptr %exc.cell + %t101 = icmp ne i32 %t100, 0 + %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false) + br i1 %t102, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t95) + ret ptr null +exc.k41: + call void @sc_rc_release_dyn(ptr %t95) + br i1 %t99, label %if.t42, label %if.j43 +if.t42: + %t103 = load ptr, ptr %sc_l_p_receiver + %t104 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t103, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t105 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t104) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t105) + ret ptr null +exc.k45: + %t109 = load ptr, ptr %sc_l_p_receiver + %t110 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t109, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t111 = call ptr @scr_dyn_bag_get(ptr %t105, ptr @sc_lit_700259281879664, ptr %t110) + %t112 = load i32, ptr %exc.cell + %t113 = icmp ne i32 %t112, 0 + %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false) + br i1 %t114, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_rc_release_dyn(ptr %t111) + ret ptr null +exc.k47: + call void @sc_rc_release_dyn(ptr %t105) + call void @sc_rc_release_dyn(ptr %t110) + ret ptr %t111 +if.j43: + %t116 = call ptr @scr_dyn_undefined() + %t115 = call ptr @scr_dyn_retain_v(ptr %t116) + ret ptr %t115 +if.j37: + %t117 = load ptr, ptr %sc_l_p_key + %t118 = call zeroext i1 @sc_streq_2478521587363481(ptr %t117) + br i1 %t118, label %if.t48, label %if.j49 +if.t48: + %t119 = load ptr, ptr %sc_l_p_receiver + %t120 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t119, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t121 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t120) + %t122 = load i32, ptr %exc.cell + %t123 = icmp ne i32 %t122, 0 + %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false) + br i1 %t124, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t121) + ret ptr null +exc.k51: + %t125 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t121, ptr @sc_lit_2478521587363481) + %t126 = load i32, ptr %exc.cell + %t127 = icmp ne i32 %t126, 0 + %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false) + br i1 %t128, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t121) + ret ptr null +exc.k53: + call void @sc_rc_release_dyn(ptr %t121) + br i1 %t125, label %if.t54, label %if.j55 +if.t54: + %t129 = load ptr, ptr %sc_l_p_receiver + %t130 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t129, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t131 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t130) + %t132 = load i32, ptr %exc.cell + %t133 = icmp ne i32 %t132, 0 + %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false) + br i1 %t134, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t131) + ret ptr null +exc.k57: + %t135 = load ptr, ptr %sc_l_p_receiver + %t136 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t135, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t137 = call ptr @scr_dyn_bag_get(ptr %t131, ptr @sc_lit_2478521587363481, ptr %t136) + %t138 = load i32, ptr %exc.cell + %t139 = icmp ne i32 %t138, 0 + %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false) + br i1 %t140, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t131) + call void @sc_rc_release_dyn(ptr %t136) + call void @sc_rc_release_dyn(ptr %t137) + ret ptr null +exc.k59: + call void @sc_rc_release_dyn(ptr %t131) + call void @sc_rc_release_dyn(ptr %t136) + ret ptr %t137 +if.j55: + %t142 = call ptr @scr_dyn_undefined() + %t141 = call ptr @scr_dyn_retain_v(ptr %t142) + ret ptr %t141 +if.j49: + %t143 = load ptr, ptr %sc_l_p_0 + %t144 = call ptr @sc_rc_retain_dyn(ptr %t143) + %t145 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t144) + %t146 = load i32, ptr %exc.cell + %t147 = icmp ne i32 %t146, 0 + %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false) + br i1 %t148, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t145) + ret ptr null +exc.k61: + %t149 = load ptr, ptr %sc_l_p_key + %t150 = call ptr @sc_rc_retain_str(ptr %t149) + %t151 = load ptr, ptr %sc_l_p_receiver + %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit) + %t153 = call ptr @scr_dyn_bag_get(ptr %t145, ptr %t150, ptr %t152) + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t145) + call void @scr_str_release(ptr %t150) + call void @sc_rc_release_dyn(ptr %t152) + call void @sc_rc_release_dyn(ptr %t153) + ret ptr null +exc.k63: + call void @sc_rc_release_dyn(ptr %t145) + call void @scr_str_release(ptr %t150) + call void @sc_rc_release_dyn(ptr %t152) + ret ptr %t153 +} +define internal ptr @sc_f__x25_dyn_class_keys_507(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_507(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m11_StaticServer(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_508(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.508 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_731773075116702(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k5: + %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_731773075116702) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + br i1 %t12, label %if.t8, label %if.j9 +if.t8: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t18) + ret ptr null +exc.k11: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_731773075116702, ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k13: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + ret ptr %t24 +if.j9: + %t29 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t29) + ret ptr %t28 +if.j3: + %t30 = load ptr, ptr %sc_l_p_0 + %t31 = call ptr @sc_rc_retain_dyn(ptr %t30) + %t32 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t31) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + %t36 = load ptr, ptr %sc_l_p_key + %t37 = call ptr @sc_rc_retain_str(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_receiver + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit) + %t40 = call ptr @scr_dyn_bag_get(ptr %t32, ptr %t37, ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_str_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_str_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + ret ptr %t40 +} +define internal ptr @sc_f__x25_dyn_class_keys_508(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_508(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m6_AssetSource(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_509(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.509 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_298897322184109(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k5: + %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_298897322184109) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + br i1 %t12, label %if.t8, label %if.j9 +if.t8: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t18) + ret ptr null +exc.k11: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_298897322184109, ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k13: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + ret ptr %t24 +if.j9: + %t29 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t29) + ret ptr %t28 +if.j3: + %t30 = load ptr, ptr %sc_l_p_key + %t31 = call zeroext i1 @sc_streq_952059176356082(ptr %t30) + br i1 %t31, label %if.t14, label %if.j15 +if.t14: + %t32 = load ptr, ptr %sc_l_p_receiver + %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t34 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t33) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k17: + %t38 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t34, ptr @sc_lit_952059176356082) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t34) + br i1 %t38, label %if.t20, label %if.j21 +if.t20: + %t42 = load ptr, ptr %sc_l_p_receiver + %t43 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t42, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t44 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t43) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +exc.k23: + %t48 = load ptr, ptr %sc_l_p_receiver + %t49 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t48, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t50 = call ptr @scr_dyn_bag_get(ptr %t44, ptr @sc_lit_952059176356082, ptr %t49) + %t51 = load i32, ptr %exc.cell + %t52 = icmp ne i32 %t51, 0 + %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false) + br i1 %t53, label %exc.u24, label %exc.k25 +exc.u24: + call void @sc_rc_release_dyn(ptr %t44) + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_rc_release_dyn(ptr %t50) + ret ptr null +exc.k25: + call void @sc_rc_release_dyn(ptr %t44) + call void @sc_rc_release_dyn(ptr %t49) + ret ptr %t50 +if.j21: + %t55 = call ptr @scr_dyn_undefined() + %t54 = call ptr @scr_dyn_retain_v(ptr %t55) + ret ptr %t54 +if.j15: + %t56 = load ptr, ptr %sc_l_p_key + %t57 = call zeroext i1 @sc_streq_1026109439396001(ptr %t56) + br i1 %t57, label %if.t26, label %if.j27 +if.t26: + %t58 = load ptr, ptr %sc_l_p_receiver + %t59 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t58, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t60 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t59) + %t61 = load i32, ptr %exc.cell + %t62 = icmp ne i32 %t61, 0 + %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false) + br i1 %t63, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t60) + ret ptr null +exc.k29: + %t64 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t60, ptr @sc_lit_1026109439396001) + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t60) + ret ptr null +exc.k31: + call void @sc_rc_release_dyn(ptr %t60) + br i1 %t64, label %if.t32, label %if.j33 +if.t32: + %t68 = load ptr, ptr %sc_l_p_receiver + %t69 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t68, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t70 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t69) + %t71 = load i32, ptr %exc.cell + %t72 = icmp ne i32 %t71, 0 + %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false) + br i1 %t73, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t70) + ret ptr null +exc.k35: + %t74 = load ptr, ptr %sc_l_p_receiver + %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t76 = call ptr @scr_dyn_bag_get(ptr %t70, ptr @sc_lit_1026109439396001, ptr %t75) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t75) + call void @sc_rc_release_dyn(ptr %t76) + ret ptr null +exc.k37: + call void @sc_rc_release_dyn(ptr %t70) + call void @sc_rc_release_dyn(ptr %t75) + ret ptr %t76 +if.j33: + %t81 = call ptr @scr_dyn_undefined() + %t80 = call ptr @scr_dyn_retain_v(ptr %t81) + ret ptr %t80 +if.j27: + %t82 = load ptr, ptr %sc_l_p_key + %t83 = call zeroext i1 @sc_streq_1048673592241930(ptr %t82) + br i1 %t83, label %if.t38, label %if.j39 +if.t38: + %t84 = load ptr, ptr %sc_l_p_receiver + %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t86 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t85) + %t87 = load i32, ptr %exc.cell + %t88 = icmp ne i32 %t87, 0 + %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false) + br i1 %t89, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t86) + ret ptr null +exc.k41: + %t90 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t86, ptr @sc_lit_1048673592241930) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t86) + ret ptr null +exc.k43: + call void @sc_rc_release_dyn(ptr %t86) + br i1 %t90, label %if.t44, label %if.j45 +if.t44: + %t94 = load ptr, ptr %sc_l_p_receiver + %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t94, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t96 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t95) + %t97 = load i32, ptr %exc.cell + %t98 = icmp ne i32 %t97, 0 + %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false) + br i1 %t99, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t96) + ret ptr null +exc.k47: + %t100 = load ptr, ptr %sc_l_p_receiver + %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t102 = call ptr @scr_dyn_bag_get(ptr %t96, ptr @sc_lit_1048673592241930, ptr %t101) + %t103 = load i32, ptr %exc.cell + %t104 = icmp ne i32 %t103, 0 + %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false) + br i1 %t105, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t102) + ret ptr null +exc.k49: + call void @sc_rc_release_dyn(ptr %t96) + call void @sc_rc_release_dyn(ptr %t101) + ret ptr %t102 +if.j45: + %t107 = call ptr @scr_dyn_undefined() + %t106 = call ptr @scr_dyn_retain_v(ptr %t107) + ret ptr %t106 +if.j39: + %t108 = load ptr, ptr %sc_l_p_0 + %t109 = call ptr @sc_rc_retain_dyn(ptr %t108) + %t110 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t109) + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + ret ptr null +exc.k51: + %t114 = load ptr, ptr %sc_l_p_key + %t115 = call ptr @sc_rc_retain_str(ptr %t114) + %t116 = load ptr, ptr %sc_l_p_receiver + %t117 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t116, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit) + %t118 = call ptr @scr_dyn_bag_get(ptr %t110, ptr %t115, ptr %t117) + %t119 = load i32, ptr %exc.cell + %t120 = icmp ne i32 %t119, 0 + %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false) + br i1 %t121, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t110) + call void @scr_str_release(ptr %t115) + call void @sc_rc_release_dyn(ptr %t117) + call void @sc_rc_release_dyn(ptr %t118) + ret ptr null +exc.k53: + call void @sc_rc_release_dyn(ptr %t110) + call void @scr_str_release(ptr %t115) + call void @sc_rc_release_dyn(ptr %t117) + ret ptr %t118 +} +define internal ptr @sc_f__x25_dyn_class_keys_509(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_509(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m4_MultipartFileSink(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_510(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.510 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_3537803200604019(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t6, i64 0, i32 3 + %t8 = load ptr, ptr %t7, !tbaa !100 + %t9 = call ptr @sc_rc_retain_str(ptr %t8) + %t10 = call ptr @sc_td_0(ptr %t9) + call void @scr_str_release(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_2438149604853393(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t13, i64 0, i32 4 + %t15 = load ptr, ptr %t14, !tbaa !102 + %t16 = call ptr @sc_rc_retain_str(ptr %t15) + %t17 = call ptr @sc_td_0(ptr %t16) + call void @scr_str_release(ptr %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_87265031005560(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t20, i64 0, i32 5 + %t22 = load ptr, ptr %t21, !tbaa !104 + %t23 = call ptr @sc_rc_retain_str(ptr %t22) + %t24 = call ptr @sc_td_0(ptr %t23) + call void @scr_str_release(ptr %t23) + ret ptr %t24 +if.j7: + %t25 = load ptr, ptr %sc_l_p_key + %t26 = call zeroext i1 @sc_streq_201462833315591(ptr %t25) + br i1 %t26, label %if.t8, label %if.j9 +if.t8: + %t27 = load ptr, ptr %sc_l_p_receiver + %t28 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t27, i64 0, i32 6 + %t29 = load ptr, ptr %t28, !tbaa !82 + %t30 = call ptr @scr_arr_retain_v(ptr %t29) + %t31 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t30, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t31, ptr @sc_ldr_20_materialize_ops) + call void @scr_arr_release(ptr %t30) + ret ptr %t31 +if.j9: + %t32 = load ptr, ptr %sc_l_p_key + %t33 = call zeroext i1 @sc_streq_1008105371634015(ptr %t32) + br i1 %t33, label %if.t10, label %if.j11 +if.t10: + %t34 = load ptr, ptr %sc_l_p_receiver + %t35 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t34, i64 0, i32 7 + %t36 = load double, ptr %t35, !tbaa !106 + %t37 = call ptr @sc_td_2(double %t36) + ret ptr %t37 +if.j11: + %t38 = load ptr, ptr %sc_l_p_key + %t39 = call zeroext i1 @sc_streq_298897322184109(ptr %t38) + br i1 %t39, label %if.t12, label %if.j13 +if.t12: + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t40, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t42 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t41) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.k15: + %t46 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t42, ptr @sc_lit_298897322184109) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t42) + br i1 %t46, label %if.t18, label %if.j19 +if.t18: + %t50 = load ptr, ptr %sc_l_p_receiver + %t51 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t50, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t52 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t51) + %t53 = load i32, ptr %exc.cell + %t54 = icmp ne i32 %t53, 0 + %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false) + br i1 %t55, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t52) + ret ptr null +exc.k21: + %t56 = load ptr, ptr %sc_l_p_receiver + %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t58 = call ptr @scr_dyn_bag_get(ptr %t52, ptr @sc_lit_298897322184109, ptr %t57) + %t59 = load i32, ptr %exc.cell + %t60 = icmp ne i32 %t59, 0 + %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false) + br i1 %t61, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t57) + call void @sc_rc_release_dyn(ptr %t58) + ret ptr null +exc.k23: + call void @sc_rc_release_dyn(ptr %t52) + call void @sc_rc_release_dyn(ptr %t57) + ret ptr %t58 +if.j19: + %t63 = call ptr @scr_dyn_undefined() + %t62 = call ptr @scr_dyn_retain_v(ptr %t63) + ret ptr %t62 +if.j13: + %t64 = load ptr, ptr %sc_l_p_key + %t65 = call zeroext i1 @sc_streq_1048673592241930(ptr %t64) + br i1 %t65, label %if.t24, label %if.j25 +if.t24: + %t66 = load ptr, ptr %sc_l_p_receiver + %t67 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t66, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t68 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t67) + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t68) + ret ptr null +exc.k27: + %t72 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t68, ptr @sc_lit_1048673592241930) + %t73 = load i32, ptr %exc.cell + %t74 = icmp ne i32 %t73, 0 + %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false) + br i1 %t75, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t68) + ret ptr null +exc.k29: + call void @sc_rc_release_dyn(ptr %t68) + br i1 %t72, label %if.t30, label %if.j31 +if.t30: + %t76 = load ptr, ptr %sc_l_p_receiver + %t77 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t76, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t78 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t77) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u32, label %exc.k33 +exc.u32: + call void @sc_rc_release_dyn(ptr %t78) + ret ptr null +exc.k33: + %t82 = load ptr, ptr %sc_l_p_receiver + %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t84 = call ptr @scr_dyn_bag_get(ptr %t78, ptr @sc_lit_1048673592241930, ptr %t83) + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t83) + call void @sc_rc_release_dyn(ptr %t84) + ret ptr null +exc.k35: + call void @sc_rc_release_dyn(ptr %t78) + call void @sc_rc_release_dyn(ptr %t83) + ret ptr %t84 +if.j31: + %t89 = call ptr @scr_dyn_undefined() + %t88 = call ptr @scr_dyn_retain_v(ptr %t89) + ret ptr %t88 +if.j25: + %t90 = load ptr, ptr %sc_l_p_key + %t91 = call zeroext i1 @sc_streq_952059176356082(ptr %t90) + br i1 %t91, label %if.t36, label %if.j37 +if.t36: + %t92 = load ptr, ptr %sc_l_p_receiver + %t93 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t92, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t94 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t93) + %t95 = load i32, ptr %exc.cell + %t96 = icmp ne i32 %t95, 0 + %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false) + br i1 %t97, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t94) + ret ptr null +exc.k39: + %t98 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t94, ptr @sc_lit_952059176356082) + %t99 = load i32, ptr %exc.cell + %t100 = icmp ne i32 %t99, 0 + %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false) + br i1 %t101, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t94) + ret ptr null +exc.k41: + call void @sc_rc_release_dyn(ptr %t94) + br i1 %t98, label %if.t42, label %if.j43 +if.t42: + %t102 = load ptr, ptr %sc_l_p_receiver + %t103 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t102, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t104 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t103) + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u44, label %exc.k45 +exc.u44: + call void @sc_rc_release_dyn(ptr %t104) + ret ptr null +exc.k45: + %t108 = load ptr, ptr %sc_l_p_receiver + %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t110 = call ptr @scr_dyn_bag_get(ptr %t104, ptr @sc_lit_952059176356082, ptr %t109) + %t111 = load i32, ptr %exc.cell + %t112 = icmp ne i32 %t111, 0 + %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false) + br i1 %t113, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t104) + call void @sc_rc_release_dyn(ptr %t109) + call void @sc_rc_release_dyn(ptr %t110) + ret ptr null +exc.k47: + call void @sc_rc_release_dyn(ptr %t104) + call void @sc_rc_release_dyn(ptr %t109) + ret ptr %t110 +if.j43: + %t115 = call ptr @scr_dyn_undefined() + %t114 = call ptr @scr_dyn_retain_v(ptr %t115) + ret ptr %t114 +if.j37: + %t116 = load ptr, ptr %sc_l_p_key + %t117 = call zeroext i1 @sc_streq_1026109439396001(ptr %t116) + br i1 %t117, label %if.t48, label %if.j49 +if.t48: + %t118 = load ptr, ptr %sc_l_p_receiver + %t119 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t118, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t120 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t119) + %t121 = load i32, ptr %exc.cell + %t122 = icmp ne i32 %t121, 0 + %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false) + br i1 %t123, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t120) + ret ptr null +exc.k51: + %t124 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t120, ptr @sc_lit_1026109439396001) + %t125 = load i32, ptr %exc.cell + %t126 = icmp ne i32 %t125, 0 + %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false) + br i1 %t127, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t120) + ret ptr null +exc.k53: + call void @sc_rc_release_dyn(ptr %t120) + br i1 %t124, label %if.t54, label %if.j55 +if.t54: + %t128 = load ptr, ptr %sc_l_p_receiver + %t129 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t128, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t130 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t129) + %t131 = load i32, ptr %exc.cell + %t132 = icmp ne i32 %t131, 0 + %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false) + br i1 %t133, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.k57: + %t134 = load ptr, ptr %sc_l_p_receiver + %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t136 = call ptr @scr_dyn_bag_get(ptr %t130, ptr @sc_lit_1026109439396001, ptr %t135) + %t137 = load i32, ptr %exc.cell + %t138 = icmp ne i32 %t137, 0 + %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false) + br i1 %t139, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t130) + call void @sc_rc_release_dyn(ptr %t135) + call void @sc_rc_release_dyn(ptr %t136) + ret ptr null +exc.k59: + call void @sc_rc_release_dyn(ptr %t130) + call void @sc_rc_release_dyn(ptr %t135) + ret ptr %t136 +if.j55: + %t141 = call ptr @scr_dyn_undefined() + %t140 = call ptr @scr_dyn_retain_v(ptr %t141) + ret ptr %t140 +if.j49: + %t142 = load ptr, ptr %sc_l_p_0 + %t143 = call ptr @sc_rc_retain_dyn(ptr %t142) + %t144 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t143) + %t145 = load i32, ptr %exc.cell + %t146 = icmp ne i32 %t145, 0 + %t147 = call i1 @llvm.expect.i1(i1 %t146, i1 false) + br i1 %t147, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t144) + ret ptr null +exc.k61: + %t148 = load ptr, ptr %sc_l_p_key + %t149 = call ptr @sc_rc_retain_str(ptr %t148) + %t150 = load ptr, ptr %sc_l_p_receiver + %t151 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t150, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + %t152 = call ptr @scr_dyn_bag_get(ptr %t144, ptr %t149, ptr %t151) + %t153 = load i32, ptr %exc.cell + %t154 = icmp ne i32 %t153, 0 + %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false) + br i1 %t155, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t144) + call void @scr_str_release(ptr %t149) + call void @sc_rc_release_dyn(ptr %t151) + call void @sc_rc_release_dyn(ptr %t152) + ret ptr null +exc.k63: + call void @sc_rc_release_dyn(ptr %t144) + call void @scr_str_release(ptr %t149) + call void @sc_rc_release_dyn(ptr %t151) + ret ptr %t152 +} +define internal ptr @sc_f__x25_dyn_class_keys_510(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_510(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m4_MemoryFileSink(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_511(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.511 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_2251933729900935(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t6, i64 0, i32 1 + %t8 = load double, ptr %t7, !tbaa !188 + %t9 = call ptr @sc_td_2(double %t8) + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_p_key + %t11 = call zeroext i1 @sc_streq_3862385552412238(ptr %t10) + br i1 %t11, label %if.t4, label %if.j5 +if.t4: + %t12 = load ptr, ptr %sc_l_p_receiver + %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t14 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t13) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + %t18 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t14, ptr @sc_lit_3862385552412238) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k9: + call void @sc_rc_release_dyn(ptr %t14) + br i1 %t18, label %if.t10, label %if.j11 +if.t10: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t24 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k13: + %t28 = load ptr, ptr %sc_l_p_receiver + %t29 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t28, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t30 = call ptr @scr_dyn_bag_get(ptr %t24, ptr @sc_lit_3862385552412238, ptr %t29) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t30) + ret ptr null +exc.k15: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t29) + ret ptr %t30 +if.j11: + %t35 = call ptr @scr_dyn_undefined() + %t34 = call ptr @scr_dyn_retain_v(ptr %t35) + ret ptr %t34 +if.j5: + %t36 = load ptr, ptr %sc_l_p_0 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k17: + %t42 = load ptr, ptr %sc_l_p_key + %t43 = call ptr @sc_rc_retain_str(ptr %t42) + %t44 = load ptr, ptr %sc_l_p_receiver + %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit) + %t46 = call ptr @scr_dyn_bag_get(ptr %t38, ptr %t43, ptr %t45) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t38) + call void @scr_str_release(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t46) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t38) + call void @scr_str_release(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + ret ptr %t46 +} +define internal ptr @sc_f__x25_dyn_class_keys_511(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_511(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m0_GenDispatch(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_512(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.512 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_2251933729900935(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t6, i64 0, i32 1 + %t8 = load double, ptr %t7, !tbaa !188 + %t9 = call ptr @sc_td_2(double %t8) + ret ptr %t9 +if.j3: + %t10 = load ptr, ptr %sc_l_p_key + %t11 = call zeroext i1 @sc_streq_437194258546139(ptr %t10) + br i1 %t11, label %if.t4, label %if.j5 +if.t4: + %t12 = load ptr, ptr %sc_l_p_receiver + %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t14 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t13) + %t15 = load i32, ptr %exc.cell + %t16 = icmp ne i32 %t15, 0 + %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false) + br i1 %t17, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k7: + %t18 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t14, ptr @sc_lit_437194258546139) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t14) + ret ptr null +exc.k9: + call void @sc_rc_release_dyn(ptr %t14) + br i1 %t18, label %if.t10, label %if.j11 +if.t10: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t24 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k13: + %t28 = load ptr, ptr %sc_l_p_receiver + %t29 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t28, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t30 = call ptr @scr_dyn_bag_get(ptr %t24, ptr @sc_lit_437194258546139, ptr %t29) + %t31 = load i32, ptr %exc.cell + %t32 = icmp ne i32 %t31, 0 + %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false) + br i1 %t33, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t29) + call void @sc_rc_release_dyn(ptr %t30) + ret ptr null +exc.k15: + call void @sc_rc_release_dyn(ptr %t24) + call void @sc_rc_release_dyn(ptr %t29) + ret ptr %t30 +if.j11: + %t35 = call ptr @scr_dyn_undefined() + %t34 = call ptr @scr_dyn_retain_v(ptr %t35) + ret ptr %t34 +if.j5: + %t36 = load ptr, ptr %sc_l_p_0 + %t37 = call ptr @sc_rc_retain_dyn(ptr %t36) + %t38 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t37) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k17: + %t42 = load ptr, ptr %sc_l_p_key + %t43 = call ptr @sc_rc_retain_str(ptr %t42) + %t44 = load ptr, ptr %sc_l_p_receiver + %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit) + %t46 = call ptr @scr_dyn_bag_get(ptr %t38, ptr %t43, ptr %t45) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t38) + call void @scr_str_release(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + call void @sc_rc_release_dyn(ptr %t46) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t38) + call void @scr_str_release(ptr %t43) + call void @sc_rc_release_dyn(ptr %t45) + ret ptr %t46 +} +define internal ptr @sc_f__x25_dyn_class_keys_512(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_512(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m0_GenFetch(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_513(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.513 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_2250671438728133(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7) + %t9 = load i32, ptr %exc.cell + %t10 = icmp ne i32 %t9, 0 + %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false) + br i1 %t11, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k5: + %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_2250671438728133) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t8) + ret ptr null +exc.k7: + call void @sc_rc_release_dyn(ptr %t8) + br i1 %t12, label %if.t8, label %if.j9 +if.t8: + %t16 = load ptr, ptr %sc_l_p_receiver + %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17) + %t19 = load i32, ptr %exc.cell + %t20 = icmp ne i32 %t19, 0 + %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false) + br i1 %t21, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t18) + ret ptr null +exc.k11: + %t22 = load ptr, ptr %sc_l_p_receiver + %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_2250671438728133, ptr %t23) + %t25 = load i32, ptr %exc.cell + %t26 = icmp ne i32 %t25, 0 + %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false) + br i1 %t27, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + call void @sc_rc_release_dyn(ptr %t24) + ret ptr null +exc.k13: + call void @sc_rc_release_dyn(ptr %t18) + call void @sc_rc_release_dyn(ptr %t23) + ret ptr %t24 +if.j9: + %t29 = call ptr @scr_dyn_undefined() + %t28 = call ptr @scr_dyn_retain_v(ptr %t29) + ret ptr %t28 +if.j3: + %t30 = load ptr, ptr %sc_l_p_0 + %t31 = call ptr @sc_rc_retain_dyn(ptr %t30) + %t32 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t31) + %t33 = load i32, ptr %exc.cell + %t34 = icmp ne i32 %t33, 0 + %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false) + br i1 %t35, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t32) + ret ptr null +exc.k15: + %t36 = load ptr, ptr %sc_l_p_key + %t37 = call ptr @sc_rc_retain_str(ptr %t36) + %t38 = load ptr, ptr %sc_l_p_receiver + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit) + %t40 = call ptr @scr_dyn_bag_get(ptr %t32, ptr %t37, ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_str_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + call void @sc_rc_release_dyn(ptr %t40) + ret ptr null +exc.k17: + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_str_release(ptr %t37) + call void @sc_rc_release_dyn(ptr %t39) + ret ptr %t40 +} +define internal ptr @sc_f__x25_dyn_class_keys_513(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_513(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m1_UpgradeDispatch(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_keys_514(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.514 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_1609576561362083(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !76 + %t9 = call ptr @sc_rc_retain_str(ptr %t8) + %t10 = call ptr @sc_td_0(ptr %t9) + call void @scr_str_release(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_719487464480143(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t13, i64 0, i32 2 + %t15 = load ptr, ptr %t14, !tbaa !78 + %t16 = call ptr @sc_rc_retain_str(ptr %t15) + %t17 = call ptr @sc_td_0(ptr %t16) + call void @scr_str_release(ptr %t16) + ret ptr %t17 +if.j5: + %t18 = load ptr, ptr %sc_l_p_key + %t19 = call zeroext i1 @sc_streq_977412068193087(ptr %t18) + br i1 %t19, label %if.t6, label %if.j7 +if.t6: + %t20 = load ptr, ptr %sc_l_p_receiver + %t21 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t20, i64 0, i32 3 + %t22 = load ptr, ptr %t21, !tbaa !74 + %t23 = call ptr @sc_rc_retain_dyn(ptr %t22) + ret ptr %t23 +if.j7: + %t24 = load ptr, ptr %sc_l_p_key + %t25 = call zeroext i1 @sc_streq_1515898915129638(ptr %t24) + br i1 %t25, label %if.t8, label %if.j9 +if.t8: + %t26 = load ptr, ptr %sc_l_p_receiver + %t27 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t26, i64 0, i32 4 + %t28 = load ptr, ptr %t27, !tbaa !72 + %t29 = call ptr @scr_http_req_retain_v(ptr %t28) + %t30 = call ptr @sc_td_10(ptr %t29) + call void @scr_http_req_release(ptr %t29) + ret ptr %t30 +if.j9: + %t31 = load ptr, ptr %sc_l_p_key + %t32 = call zeroext i1 @sc_streq_2951457732402023(ptr %t31) + br i1 %t32, label %if.t10, label %if.j11 +if.t10: + %t33 = load ptr, ptr %sc_l_p_receiver + %t34 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t33, i64 0, i32 5 + %t35 = load ptr, ptr %t34, !tbaa !86 + %t36 = call ptr @sc_rretain_r0(ptr %t35) + %t37 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t36, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + call void @sc_rrelease_r0(ptr %t36) + ret ptr %t37 +if.j11: + %t38 = load ptr, ptr %sc_l_p_key + %t39 = call zeroext i1 @sc_streq_4297677228401092(ptr %t38) + br i1 %t39, label %if.t12, label %if.j13 +if.t12: + %t40 = load ptr, ptr %sc_l_p_receiver + %t41 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t40, i64 0, i32 6 + %t42 = load ptr, ptr %t41, !tbaa !80 + %t43 = call ptr @sc_nretain_string(ptr %t42) + %t44 = call ptr @sc_td_13(ptr %t43) + call void @scr_str_release(ptr %t43) + ret ptr %t44 +if.j13: + %t45 = load ptr, ptr %sc_l_p_key + %t46 = call zeroext i1 @sc_streq_201462833315591(ptr %t45) + br i1 %t46, label %if.t14, label %if.j15 +if.t14: + %t47 = load ptr, ptr %sc_l_p_receiver + %t48 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t47, i64 0, i32 7 + %t49 = load ptr, ptr %t48, !tbaa !82 + %t50 = call ptr @scr_arr_retain_v(ptr %t49) + %t51 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t50, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit) + call void @scr_dyn_typed_ref_bind_array(ptr %t51, ptr @sc_ldr_20_materialize_ops) + call void @scr_arr_release(ptr %t50) + ret ptr %t51 +if.j15: + %t52 = load ptr, ptr %sc_l_p_key + %t53 = call zeroext i1 @sc_streq_1347488745603967(ptr %t52) + br i1 %t53, label %if.t16, label %if.j17 +if.t16: + %t54 = load ptr, ptr %sc_l_p_receiver + %t55 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t54, i64 0, i32 8 + %t56 = load double, ptr %t55, !tbaa !84 + %t57 = call ptr @sc_td_2(double %t56) + ret ptr %t57 +if.j17: + %t58 = load ptr, ptr %sc_l_p_key + %t59 = call zeroext i1 @sc_streq_616655122974952(ptr %t58) + br i1 %t59, label %if.t18, label %if.j19 +if.t18: + %t60 = load ptr, ptr %sc_l_p_receiver + %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t62 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t61) + %t63 = load i32, ptr %exc.cell + %t64 = icmp ne i32 %t63, 0 + %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false) + br i1 %t65, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t62) + ret ptr null +exc.k21: + %t66 = call zeroext i1 @scr_dyn_has_own(ptr %t62, ptr @sc_lit_616655122974952) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t62) + ret ptr null +exc.k23: + call void @sc_rc_release_dyn(ptr %t62) + br i1 %t66, label %if.t24, label %if.j25 +if.t24: + %t70 = load ptr, ptr %sc_l_p_receiver + %t71 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t70, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t72 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t71) + %t73 = load i32, ptr %exc.cell + %t74 = icmp ne i32 %t73, 0 + %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false) + br i1 %t75, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t72) + ret ptr null +exc.k27: + %t76 = load ptr, ptr %sc_l_p_receiver + %t77 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t76, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t78 = call ptr @scr_dyn_bag_get(ptr %t72, ptr @sc_lit_616655122974952, ptr %t77) + %t79 = load i32, ptr %exc.cell + %t80 = icmp ne i32 %t79, 0 + %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false) + br i1 %t81, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t77) + call void @sc_rc_release_dyn(ptr %t78) + ret ptr null +exc.k29: + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_rc_release_dyn(ptr %t77) + ret ptr %t78 +if.j25: + %t82 = load ptr, ptr %sc_l_p_receiver + %t83 = call ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %t82) + %t84 = load i32, ptr %exc.cell + %t85 = icmp ne i32 %t84, 0 + %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false) + br i1 %t86, label %exc.u30, label %exc.k31 +exc.u30: + call void @sc_rc_release_dyn(ptr %t83) + ret ptr null +exc.k31: + ret ptr %t83 +if.j19: + %t87 = load ptr, ptr %sc_l_p_key + %t88 = call zeroext i1 @sc_streq_2677147133778287(ptr %t87) + br i1 %t88, label %if.t32, label %if.j33 +if.t32: + %t89 = load ptr, ptr %sc_l_p_receiver + %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t91 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t90) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t91) + ret ptr null +exc.k35: + %t95 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t91, ptr @sc_lit_2677147133778287) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t91) + ret ptr null +exc.k37: + call void @sc_rc_release_dyn(ptr %t91) + br i1 %t95, label %if.t38, label %if.j39 +if.t38: + %t99 = load ptr, ptr %sc_l_p_receiver + %t100 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t99, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t101 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t100) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t101) + ret ptr null +exc.k41: + %t105 = load ptr, ptr %sc_l_p_receiver + %t106 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t105, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t107 = call ptr @scr_dyn_bag_get(ptr %t101, ptr @sc_lit_2677147133778287, ptr %t106) + %t108 = load i32, ptr %exc.cell + %t109 = icmp ne i32 %t108, 0 + %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false) + br i1 %t110, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t106) + call void @sc_rc_release_dyn(ptr %t107) + ret ptr null +exc.k43: + call void @sc_rc_release_dyn(ptr %t101) + call void @sc_rc_release_dyn(ptr %t106) + ret ptr %t107 +if.j39: + %t112 = call ptr @scr_dyn_undefined() + %t111 = call ptr @scr_dyn_retain_v(ptr %t112) + ret ptr %t111 +if.j33: + %t113 = load ptr, ptr %sc_l_p_key + %t114 = call zeroext i1 @sc_streq_1207708014012541(ptr %t113) + br i1 %t114, label %if.t44, label %if.j45 +if.t44: + %t115 = load ptr, ptr %sc_l_p_receiver + %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t117 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t116) + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t117) + ret ptr null +exc.k47: + %t121 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t117, ptr @sc_lit_1207708014012541) + %t122 = load i32, ptr %exc.cell + %t123 = icmp ne i32 %t122, 0 + %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false) + br i1 %t124, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t117) + ret ptr null +exc.k49: + call void @sc_rc_release_dyn(ptr %t117) + br i1 %t121, label %if.t50, label %if.j51 +if.t50: + %t125 = load ptr, ptr %sc_l_p_receiver + %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t127 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t126) + %t128 = load i32, ptr %exc.cell + %t129 = icmp ne i32 %t128, 0 + %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false) + br i1 %t130, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t127) + ret ptr null +exc.k53: + %t131 = load ptr, ptr %sc_l_p_receiver + %t132 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t131, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t133 = call ptr @scr_dyn_bag_get(ptr %t127, ptr @sc_lit_1207708014012541, ptr %t132) + %t134 = load i32, ptr %exc.cell + %t135 = icmp ne i32 %t134, 0 + %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false) + br i1 %t136, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t132) + call void @sc_rc_release_dyn(ptr %t133) + ret ptr null +exc.k55: + call void @sc_rc_release_dyn(ptr %t127) + call void @sc_rc_release_dyn(ptr %t132) + ret ptr %t133 +if.j51: + %t138 = call ptr @scr_dyn_undefined() + %t137 = call ptr @scr_dyn_retain_v(ptr %t138) + ret ptr %t137 +if.j45: + %t139 = load ptr, ptr %sc_l_p_key + %t140 = call zeroext i1 @sc_streq_551454763233869(ptr %t139) + br i1 %t140, label %if.t56, label %if.j57 +if.t56: + %t141 = load ptr, ptr %sc_l_p_receiver + %t142 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t141, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t143 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t142) + %t144 = load i32, ptr %exc.cell + %t145 = icmp ne i32 %t144, 0 + %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false) + br i1 %t146, label %exc.u58, label %exc.k59 +exc.u58: + call void @sc_rc_release_dyn(ptr %t143) + ret ptr null +exc.k59: + %t147 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t143, ptr @sc_lit_551454763233869) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t143) + ret ptr null +exc.k61: + call void @sc_rc_release_dyn(ptr %t143) + br i1 %t147, label %if.t62, label %if.j63 +if.t62: + %t151 = load ptr, ptr %sc_l_p_receiver + %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t153 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t152) + %t154 = load i32, ptr %exc.cell + %t155 = icmp ne i32 %t154, 0 + %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false) + br i1 %t156, label %exc.u64, label %exc.k65 +exc.u64: + call void @sc_rc_release_dyn(ptr %t153) + ret ptr null +exc.k65: + %t157 = load ptr, ptr %sc_l_p_receiver + %t158 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t157, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t159 = call ptr @scr_dyn_bag_get(ptr %t153, ptr @sc_lit_551454763233869, ptr %t158) + %t160 = load i32, ptr %exc.cell + %t161 = icmp ne i32 %t160, 0 + %t162 = call i1 @llvm.expect.i1(i1 %t161, i1 false) + br i1 %t162, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t153) + call void @sc_rc_release_dyn(ptr %t158) + call void @sc_rc_release_dyn(ptr %t159) + ret ptr null +exc.k67: + call void @sc_rc_release_dyn(ptr %t153) + call void @sc_rc_release_dyn(ptr %t158) + ret ptr %t159 +if.j63: + %t164 = call ptr @scr_dyn_undefined() + %t163 = call ptr @scr_dyn_retain_v(ptr %t164) + ret ptr %t163 +if.j57: + %t165 = load ptr, ptr %sc_l_p_0 + %t166 = call ptr @sc_rc_retain_dyn(ptr %t165) + %t167 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t166) + %t168 = load i32, ptr %exc.cell + %t169 = icmp ne i32 %t168, 0 + %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false) + br i1 %t170, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t167) + ret ptr null +exc.k69: + %t171 = load ptr, ptr %sc_l_p_key + %t172 = call ptr @sc_rc_retain_str(ptr %t171) + %t173 = load ptr, ptr %sc_l_p_receiver + %t174 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t173, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit) + %t175 = call ptr @scr_dyn_bag_get(ptr %t167, ptr %t172, ptr %t174) + %t176 = load i32, ptr %exc.cell + %t177 = icmp ne i32 %t176, 0 + %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false) + br i1 %t178, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t167) + call void @scr_str_release(ptr %t172) + call void @sc_rc_release_dyn(ptr %t174) + call void @sc_rc_release_dyn(ptr %t175) + ret ptr null +exc.k71: + call void @sc_rc_release_dyn(ptr %t167) + call void @scr_str_release(ptr %t172) + call void @sc_rc_release_dyn(ptr %t174) + ret ptr %t175 +} +define internal ptr @sc_f__x25_dyn_class_keys_514(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_514(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m3_LiteRequest(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_normalize(ptr %p_sc_l_value) #0 { ; %dyn.class.normalize +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s58 = alloca i1 + %s69 = alloca ptr + %s93 = alloca ptr + %s111 = alloca ptr + %s135 = alloca ptr + %s153 = alloca ptr + %s177 = alloca ptr + %s195 = alloca i1 + %s206 = alloca ptr + %s230 = alloca ptr + %s248 = alloca i1 + %s259 = alloca ptr + %s283 = alloca ptr + %s301 = alloca i1 + %s312 = alloca ptr + %s336 = alloca ptr + %s354 = alloca ptr + %s378 = alloca ptr + %s396 = alloca i1 + %s407 = alloca ptr + %s431 = alloca ptr + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_3635319175845957 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_3635319175845957) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_value + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_3635319175845957 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_24(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 26 + %t37 = icmp ule i64 %t35, 26 + %t38 = and i1 %t36, %t37 ; instanceof %m4.MemoryStorage + call void @sc_release__x25_m4_MultipartStorage(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_value + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_3635319175845957 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_24(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit) + call void @sc_release__x25_m4_MemoryStorage(ptr %t55) + ret ptr %t56 +if.j16: + br label %if.j7 +if.j7: + %t57 = load ptr, ptr %sc_l_value + store i1 false, ptr %s58 + %t59 = icmp ne ptr %t57, null + br i1 %t59, label %brand.inspect24, label %brand.done26 +brand.inspect24: + %t60 = getelementptr inbounds i8, ptr %t57, i64 8 ; ->kind + %t61 = load i32, ptr %t60 + %t62 = icmp eq i32 %t61, 12 + br i1 %t62, label %brand.capsule25, label %brand.done26 +brand.capsule25: + %t63 = getelementptr inbounds i8, ptr %t57, i64 40 ; ->v.typed_ref.type_key + %t64 = load ptr, ptr %t63 + %t65 = icmp eq ptr %t64, @sc_cs_629517122853751 + store i1 true, ptr %s58 + br i1 %t65, label %brand.done26, label %brand.compare27 +brand.compare27: + %t66 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t57, ptr @sc_lit_629517122853751) + store i1 %t66, ptr %s58 + br label %brand.done26 +brand.done26: + %t67 = load i1, ptr %s58 + br i1 %t67, label %if.t28, label %if.j29 +if.t28: + %t68 = load ptr, ptr %sc_l_value + %t70 = icmp ne ptr %t68, null + br i1 %t70, label %dc.inspect30, label %dc.checked33 +dc.inspect30: + %t75 = getelementptr inbounds i8, ptr %t68, i64 8 ; ->kind + %t76 = load i32, ptr %t75 + %t71 = icmp eq i32 %t76, 12 + br i1 %t71, label %dc.capsule31, label %dc.checked33 +dc.capsule31: + %t72 = getelementptr inbounds i8, ptr %t68, i64 40 ; ->v.typed_ref.type_key + %t73 = load ptr, ptr %t72 + %t74 = icmp eq ptr %t73, @sc_cs_629517122853751 + br i1 %t74, label %dc.exact32, label %dc.checked33 +dc.exact32: + %t77 = getelementptr inbounds i8, ptr %t68, i64 16 ; ->v.typed_ref.ptr + %t78 = load ptr, ptr %t77 + %t79 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t78) + store ptr %t79, ptr %s69 + br label %dc.done34 +dc.checked33: + %t80 = call ptr @sc_dc_29(ptr %t68, ptr null) + store ptr %t80, ptr %s69 + %t81 = load i32, ptr %exc.cell + %t82 = icmp ne i32 %t81, 0 + %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false) + br i1 %t83, label %exc.u35, label %exc.k36 +exc.u35: + ret ptr null +exc.k36: + br label %dc.done34 +dc.done34: + %t84 = load ptr, ptr %s69 + %t85 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t84, i64 0, i32 1 + %t86 = load ptr, ptr %t85 + %t87 = getelementptr inbounds %ScrVt, ptr %t86, i64 0, i32 0 + %t88 = load i64, ptr %t87 + %t89 = icmp uge i64 %t88, 18 + %t90 = icmp ule i64 %t88, 18 + %t91 = and i1 %t89, %t90 ; instanceof %m3.LiteResponse + call void @sc_release__x25_m2_ResponseSink(ptr %t84) + br i1 %t91, label %if.t37, label %if.j38 +if.t37: + %t92 = load ptr, ptr %sc_l_value + %t94 = icmp ne ptr %t92, null + br i1 %t94, label %dc.inspect39, label %dc.checked42 +dc.inspect39: + %t99 = getelementptr inbounds i8, ptr %t92, i64 8 ; ->kind + %t100 = load i32, ptr %t99 + %t95 = icmp eq i32 %t100, 12 + br i1 %t95, label %dc.capsule40, label %dc.checked42 +dc.capsule40: + %t96 = getelementptr inbounds i8, ptr %t92, i64 40 ; ->v.typed_ref.type_key + %t97 = load ptr, ptr %t96 + %t98 = icmp eq ptr %t97, @sc_cs_629517122853751 + br i1 %t98, label %dc.exact41, label %dc.checked42 +dc.exact41: + %t101 = getelementptr inbounds i8, ptr %t92, i64 16 ; ->v.typed_ref.ptr + %t102 = load ptr, ptr %t101 + %t103 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t102) + store ptr %t103, ptr %s93 + br label %dc.done43 +dc.checked42: + %t104 = call ptr @sc_dc_29(ptr %t92, ptr null) + store ptr %t104, ptr %s93 + %t105 = load i32, ptr %exc.cell + %t106 = icmp ne i32 %t105, 0 + %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false) + br i1 %t107, label %exc.u44, label %exc.k45 +exc.u44: + ret ptr null +exc.k45: + br label %dc.done43 +dc.done43: + %t108 = load ptr, ptr %s93 + %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @sc_release__x25_m3_LiteResponse(ptr %t108) + ret ptr %t109 +if.j38: + %t110 = load ptr, ptr %sc_l_value + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect46, label %dc.checked49 +dc.inspect46: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule47, label %dc.checked49 +dc.capsule47: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_629517122853751 + br i1 %t116, label %dc.exact48, label %dc.checked49 +dc.exact48: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done50 +dc.checked49: + %t122 = call ptr @sc_dc_29(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u51, label %exc.k52 +exc.u51: + ret ptr null +exc.k52: + br label %dc.done50 +dc.done50: + %t126 = load ptr, ptr %s111 + %t127 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t126, i64 0, i32 1 + %t128 = load ptr, ptr %t127 + %t129 = getelementptr inbounds %ScrVt, ptr %t128, i64 0, i32 0 + %t130 = load i64, ptr %t129 + %t131 = icmp uge i64 %t130, 17 + %t132 = icmp ule i64 %t130, 18 + %t133 = and i1 %t131, %t132 ; instanceof %m2.FetchResponseSink + call void @sc_release__x25_m2_ResponseSink(ptr %t126) + br i1 %t133, label %if.t53, label %if.j54 +if.t53: + %t134 = load ptr, ptr %sc_l_value + %t136 = icmp ne ptr %t134, null + br i1 %t136, label %dc.inspect55, label %dc.checked58 +dc.inspect55: + %t141 = getelementptr inbounds i8, ptr %t134, i64 8 ; ->kind + %t142 = load i32, ptr %t141 + %t137 = icmp eq i32 %t142, 12 + br i1 %t137, label %dc.capsule56, label %dc.checked58 +dc.capsule56: + %t138 = getelementptr inbounds i8, ptr %t134, i64 40 ; ->v.typed_ref.type_key + %t139 = load ptr, ptr %t138 + %t140 = icmp eq ptr %t139, @sc_cs_629517122853751 + br i1 %t140, label %dc.exact57, label %dc.checked58 +dc.exact57: + %t143 = getelementptr inbounds i8, ptr %t134, i64 16 ; ->v.typed_ref.ptr + %t144 = load ptr, ptr %t143 + %t145 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t144) + store ptr %t145, ptr %s135 + br label %dc.done59 +dc.checked58: + %t146 = call ptr @sc_dc_29(ptr %t134, ptr null) + store ptr %t146, ptr %s135 + %t147 = load i32, ptr %exc.cell + %t148 = icmp ne i32 %t147, 0 + %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false) + br i1 %t149, label %exc.u60, label %exc.k61 +exc.u60: + ret ptr null +exc.k61: + br label %dc.done59 +dc.done59: + %t150 = load ptr, ptr %s135 + %t151 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t150, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t150) + ret ptr %t151 +if.j54: + %t152 = load ptr, ptr %sc_l_value + %t154 = icmp ne ptr %t152, null + br i1 %t154, label %dc.inspect62, label %dc.checked65 +dc.inspect62: + %t159 = getelementptr inbounds i8, ptr %t152, i64 8 ; ->kind + %t160 = load i32, ptr %t159 + %t155 = icmp eq i32 %t160, 12 + br i1 %t155, label %dc.capsule63, label %dc.checked65 +dc.capsule63: + %t156 = getelementptr inbounds i8, ptr %t152, i64 40 ; ->v.typed_ref.type_key + %t157 = load ptr, ptr %t156 + %t158 = icmp eq ptr %t157, @sc_cs_629517122853751 + br i1 %t158, label %dc.exact64, label %dc.checked65 +dc.exact64: + %t161 = getelementptr inbounds i8, ptr %t152, i64 16 ; ->v.typed_ref.ptr + %t162 = load ptr, ptr %t161 + %t163 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t162) + store ptr %t163, ptr %s153 + br label %dc.done66 +dc.checked65: + %t164 = call ptr @sc_dc_29(ptr %t152, ptr null) + store ptr %t164, ptr %s153 + %t165 = load i32, ptr %exc.cell + %t166 = icmp ne i32 %t165, 0 + %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false) + br i1 %t167, label %exc.u67, label %exc.k68 +exc.u67: + ret ptr null +exc.k68: + br label %dc.done66 +dc.done66: + %t168 = load ptr, ptr %s153 + %t169 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t168, i64 0, i32 1 + %t170 = load ptr, ptr %t169 + %t171 = getelementptr inbounds %ScrVt, ptr %t170, i64 0, i32 0 + %t172 = load i64, ptr %t171 + %t173 = icmp uge i64 %t172, 16 + %t174 = icmp ule i64 %t172, 16 + %t175 = and i1 %t173, %t174 ; instanceof %m2.NodeResponseSink + call void @sc_release__x25_m2_ResponseSink(ptr %t168) + br i1 %t175, label %if.t69, label %if.j70 +if.t69: + %t176 = load ptr, ptr %sc_l_value + %t178 = icmp ne ptr %t176, null + br i1 %t178, label %dc.inspect71, label %dc.checked74 +dc.inspect71: + %t183 = getelementptr inbounds i8, ptr %t176, i64 8 ; ->kind + %t184 = load i32, ptr %t183 + %t179 = icmp eq i32 %t184, 12 + br i1 %t179, label %dc.capsule72, label %dc.checked74 +dc.capsule72: + %t180 = getelementptr inbounds i8, ptr %t176, i64 40 ; ->v.typed_ref.type_key + %t181 = load ptr, ptr %t180 + %t182 = icmp eq ptr %t181, @sc_cs_629517122853751 + br i1 %t182, label %dc.exact73, label %dc.checked74 +dc.exact73: + %t185 = getelementptr inbounds i8, ptr %t176, i64 16 ; ->v.typed_ref.ptr + %t186 = load ptr, ptr %t185 + %t187 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t186) + store ptr %t187, ptr %s177 + br label %dc.done75 +dc.checked74: + %t188 = call ptr @sc_dc_29(ptr %t176, ptr null) + store ptr %t188, ptr %s177 + %t189 = load i32, ptr %exc.cell + %t190 = icmp ne i32 %t189, 0 + %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false) + br i1 %t191, label %exc.u76, label %exc.k77 +exc.u76: + ret ptr null +exc.k77: + br label %dc.done75 +dc.done75: + %t192 = load ptr, ptr %s177 + %t193 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t192, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t192) + ret ptr %t193 +if.j70: + br label %if.j29 +if.j29: + %t194 = load ptr, ptr %sc_l_value + store i1 false, ptr %s195 + %t196 = icmp ne ptr %t194, null + br i1 %t196, label %brand.inspect78, label %brand.done80 +brand.inspect78: + %t197 = getelementptr inbounds i8, ptr %t194, i64 8 ; ->kind + %t198 = load i32, ptr %t197 + %t199 = icmp eq i32 %t198, 12 + br i1 %t199, label %brand.capsule79, label %brand.done80 +brand.capsule79: + %t200 = getelementptr inbounds i8, ptr %t194, i64 40 ; ->v.typed_ref.type_key + %t201 = load ptr, ptr %t200 + %t202 = icmp eq ptr %t201, @sc_cs_2519527309428716 + store i1 true, ptr %s195 + br i1 %t202, label %brand.done80, label %brand.compare81 +brand.compare81: + %t203 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t194, ptr @sc_lit_2519527309428716) + store i1 %t203, ptr %s195 + br label %brand.done80 +brand.done80: + %t204 = load i1, ptr %s195 + br i1 %t204, label %if.t82, label %if.j83 +if.t82: + %t205 = load ptr, ptr %sc_l_value + %t207 = icmp ne ptr %t205, null + br i1 %t207, label %dc.inspect84, label %dc.checked87 +dc.inspect84: + %t212 = getelementptr inbounds i8, ptr %t205, i64 8 ; ->kind + %t213 = load i32, ptr %t212 + %t208 = icmp eq i32 %t213, 12 + br i1 %t208, label %dc.capsule85, label %dc.checked87 +dc.capsule85: + %t209 = getelementptr inbounds i8, ptr %t205, i64 40 ; ->v.typed_ref.type_key + %t210 = load ptr, ptr %t209 + %t211 = icmp eq ptr %t210, @sc_cs_2519527309428716 + br i1 %t211, label %dc.exact86, label %dc.checked87 +dc.exact86: + %t214 = getelementptr inbounds i8, ptr %t205, i64 16 ; ->v.typed_ref.ptr + %t215 = load ptr, ptr %t214 + %t216 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t215) + store ptr %t216, ptr %s206 + br label %dc.done88 +dc.checked87: + %t217 = call ptr @sc_dc_108(ptr %t205, ptr null) + store ptr %t217, ptr %s206 + %t218 = load i32, ptr %exc.cell + %t219 = icmp ne i32 %t218, 0 + %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false) + br i1 %t220, label %exc.u89, label %exc.k90 +exc.u89: + ret ptr null +exc.k90: + br label %dc.done88 +dc.done88: + %t221 = load ptr, ptr %s206 + %t222 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t221, i64 0, i32 1 + %t223 = load ptr, ptr %t222 + %t224 = getelementptr inbounds %ScrVt, ptr %t223, i64 0, i32 0 + %t225 = load i64, ptr %t224 + %t226 = icmp uge i64 %t225, 38 + %t227 = icmp ule i64 %t225, 38 + %t228 = and i1 %t226, %t227 ; instanceof %m14.BakedAssets + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t221) + br i1 %t228, label %if.t91, label %if.j92 +if.t91: + %t229 = load ptr, ptr %sc_l_value + %t231 = icmp ne ptr %t229, null + br i1 %t231, label %dc.inspect93, label %dc.checked96 +dc.inspect93: + %t236 = getelementptr inbounds i8, ptr %t229, i64 8 ; ->kind + %t237 = load i32, ptr %t236 + %t232 = icmp eq i32 %t237, 12 + br i1 %t232, label %dc.capsule94, label %dc.checked96 +dc.capsule94: + %t233 = getelementptr inbounds i8, ptr %t229, i64 40 ; ->v.typed_ref.type_key + %t234 = load ptr, ptr %t233 + %t235 = icmp eq ptr %t234, @sc_cs_2519527309428716 + br i1 %t235, label %dc.exact95, label %dc.checked96 +dc.exact95: + %t238 = getelementptr inbounds i8, ptr %t229, i64 16 ; ->v.typed_ref.ptr + %t239 = load ptr, ptr %t238 + %t240 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t239) + store ptr %t240, ptr %s230 + br label %dc.done97 +dc.checked96: + %t241 = call ptr @sc_dc_108(ptr %t229, ptr null) + store ptr %t241, ptr %s230 + %t242 = load i32, ptr %exc.cell + %t243 = icmp ne i32 %t242, 0 + %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false) + br i1 %t244, label %exc.u98, label %exc.k99 +exc.u98: + ret ptr null +exc.k99: + br label %dc.done97 +dc.done97: + %t245 = load ptr, ptr %s230 + %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + call void @sc_release__x25_m14_BakedAssets(ptr %t245) + ret ptr %t246 +if.j92: + br label %if.j83 +if.j83: + %t247 = load ptr, ptr %sc_l_value + store i1 false, ptr %s248 + %t249 = icmp ne ptr %t247, null + br i1 %t249, label %brand.inspect100, label %brand.done102 +brand.inspect100: + %t250 = getelementptr inbounds i8, ptr %t247, i64 8 ; ->kind + %t251 = load i32, ptr %t250 + %t252 = icmp eq i32 %t251, 12 + br i1 %t252, label %brand.capsule101, label %brand.done102 +brand.capsule101: + %t253 = getelementptr inbounds i8, ptr %t247, i64 40 ; ->v.typed_ref.type_key + %t254 = load ptr, ptr %t253 + %t255 = icmp eq ptr %t254, @sc_cs_2434838942941195 + store i1 true, ptr %s248 + br i1 %t255, label %brand.done102, label %brand.compare103 +brand.compare103: + %t256 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t247, ptr @sc_lit_2434838942941195) + store i1 %t256, ptr %s248 + br label %brand.done102 +brand.done102: + %t257 = load i1, ptr %s248 + br i1 %t257, label %if.t104, label %if.j105 +if.t104: + %t258 = load ptr, ptr %sc_l_value + %t260 = icmp ne ptr %t258, null + br i1 %t260, label %dc.inspect106, label %dc.checked109 +dc.inspect106: + %t265 = getelementptr inbounds i8, ptr %t258, i64 8 ; ->kind + %t266 = load i32, ptr %t265 + %t261 = icmp eq i32 %t266, 12 + br i1 %t261, label %dc.capsule107, label %dc.checked109 +dc.capsule107: + %t262 = getelementptr inbounds i8, ptr %t258, i64 40 ; ->v.typed_ref.type_key + %t263 = load ptr, ptr %t262 + %t264 = icmp eq ptr %t263, @sc_cs_2434838942941195 + br i1 %t264, label %dc.exact108, label %dc.checked109 +dc.exact108: + %t267 = getelementptr inbounds i8, ptr %t258, i64 16 ; ->v.typed_ref.ptr + %t268 = load ptr, ptr %t267 + %t269 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t268) + store ptr %t269, ptr %s259 + br label %dc.done110 +dc.checked109: + %t270 = call ptr @sc_dc_52(ptr %t258, ptr null) + store ptr %t270, ptr %s259 + %t271 = load i32, ptr %exc.cell + %t272 = icmp ne i32 %t271, 0 + %t273 = call i1 @llvm.expect.i1(i1 %t272, i1 false) + br i1 %t273, label %exc.u111, label %exc.k112 +exc.u111: + ret ptr null +exc.k112: + br label %dc.done110 +dc.done110: + %t274 = load ptr, ptr %s259 + %t275 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t274, i64 0, i32 1 + %t276 = load ptr, ptr %t275 + %t277 = getelementptr inbounds %ScrVt, ptr %t276, i64 0, i32 0 + %t278 = load i64, ptr %t277 + %t279 = icmp uge i64 %t278, 18 + %t280 = icmp ule i64 %t278, 18 + %t281 = and i1 %t279, %t280 ; instanceof %m3.LiteResponse + call void @sc_release__x25_m2_FetchResponseSink(ptr %t274) + br i1 %t281, label %if.t113, label %if.j114 +if.t113: + %t282 = load ptr, ptr %sc_l_value + %t284 = icmp ne ptr %t282, null + br i1 %t284, label %dc.inspect115, label %dc.checked118 +dc.inspect115: + %t289 = getelementptr inbounds i8, ptr %t282, i64 8 ; ->kind + %t290 = load i32, ptr %t289 + %t285 = icmp eq i32 %t290, 12 + br i1 %t285, label %dc.capsule116, label %dc.checked118 +dc.capsule116: + %t286 = getelementptr inbounds i8, ptr %t282, i64 40 ; ->v.typed_ref.type_key + %t287 = load ptr, ptr %t286 + %t288 = icmp eq ptr %t287, @sc_cs_2434838942941195 + br i1 %t288, label %dc.exact117, label %dc.checked118 +dc.exact117: + %t291 = getelementptr inbounds i8, ptr %t282, i64 16 ; ->v.typed_ref.ptr + %t292 = load ptr, ptr %t291 + %t293 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t292) + store ptr %t293, ptr %s283 + br label %dc.done119 +dc.checked118: + %t294 = call ptr @sc_dc_52(ptr %t282, ptr null) + store ptr %t294, ptr %s283 + %t295 = load i32, ptr %exc.cell + %t296 = icmp ne i32 %t295, 0 + %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false) + br i1 %t297, label %exc.u120, label %exc.k121 +exc.u120: + ret ptr null +exc.k121: + br label %dc.done119 +dc.done119: + %t298 = load ptr, ptr %s283 + %t299 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t298, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + call void @sc_release__x25_m3_LiteResponse(ptr %t298) + ret ptr %t299 +if.j114: + br label %if.j105 +if.j105: + %t300 = load ptr, ptr %sc_l_value + store i1 false, ptr %s301 + %t302 = icmp ne ptr %t300, null + br i1 %t302, label %brand.inspect122, label %brand.done124 +brand.inspect122: + %t303 = getelementptr inbounds i8, ptr %t300, i64 8 ; ->kind + %t304 = load i32, ptr %t303 + %t305 = icmp eq i32 %t304, 12 + br i1 %t305, label %brand.capsule123, label %brand.done124 +brand.capsule123: + %t306 = getelementptr inbounds i8, ptr %t300, i64 40 ; ->v.typed_ref.type_key + %t307 = load ptr, ptr %t306 + %t308 = icmp eq ptr %t307, @sc_cs_3314970835853795 + store i1 true, ptr %s301 + br i1 %t308, label %brand.done124, label %brand.compare125 +brand.compare125: + %t309 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t300, ptr @sc_lit_3314970835853795) + store i1 %t309, ptr %s301 + br label %brand.done124 +brand.done124: + %t310 = load i1, ptr %s301 + br i1 %t310, label %if.t126, label %if.j127 +if.t126: + %t311 = load ptr, ptr %sc_l_value + %t313 = icmp ne ptr %t311, null + br i1 %t313, label %dc.inspect128, label %dc.checked131 +dc.inspect128: + %t318 = getelementptr inbounds i8, ptr %t311, i64 8 ; ->kind + %t319 = load i32, ptr %t318 + %t314 = icmp eq i32 %t319, 12 + br i1 %t314, label %dc.capsule129, label %dc.checked131 +dc.capsule129: + %t315 = getelementptr inbounds i8, ptr %t311, i64 40 ; ->v.typed_ref.type_key + %t316 = load ptr, ptr %t315 + %t317 = icmp eq ptr %t316, @sc_cs_3314970835853795 + br i1 %t317, label %dc.exact130, label %dc.checked131 +dc.exact130: + %t320 = getelementptr inbounds i8, ptr %t311, i64 16 ; ->v.typed_ref.ptr + %t321 = load ptr, ptr %t320 + %t322 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t321) + store ptr %t322, ptr %s312 + br label %dc.done132 +dc.checked131: + %t323 = call ptr @sc_dc_79(ptr %t311, ptr null) + store ptr %t323, ptr %s312 + %t324 = load i32, ptr %exc.cell + %t325 = icmp ne i32 %t324, 0 + %t326 = call i1 @llvm.expect.i1(i1 %t325, i1 false) + br i1 %t326, label %exc.u133, label %exc.k134 +exc.u133: + ret ptr null +exc.k134: + br label %dc.done132 +dc.done132: + %t327 = load ptr, ptr %s312 + %t328 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t327, i64 0, i32 1 + %t329 = load ptr, ptr %t328 + %t330 = getelementptr inbounds %ScrVt, ptr %t329, i64 0, i32 0 + %t331 = load i64, ptr %t330 + %t332 = icmp uge i64 %t331, 38 + %t333 = icmp ule i64 %t331, 38 + %t334 = and i1 %t332, %t333 ; instanceof %m14.BakedAssets + call void @sc_release__x25_m6_AssetSource(ptr %t327) + br i1 %t334, label %if.t135, label %if.j136 +if.t135: + %t335 = load ptr, ptr %sc_l_value + %t337 = icmp ne ptr %t335, null + br i1 %t337, label %dc.inspect137, label %dc.checked140 +dc.inspect137: + %t342 = getelementptr inbounds i8, ptr %t335, i64 8 ; ->kind + %t343 = load i32, ptr %t342 + %t338 = icmp eq i32 %t343, 12 + br i1 %t338, label %dc.capsule138, label %dc.checked140 +dc.capsule138: + %t339 = getelementptr inbounds i8, ptr %t335, i64 40 ; ->v.typed_ref.type_key + %t340 = load ptr, ptr %t339 + %t341 = icmp eq ptr %t340, @sc_cs_3314970835853795 + br i1 %t341, label %dc.exact139, label %dc.checked140 +dc.exact139: + %t344 = getelementptr inbounds i8, ptr %t335, i64 16 ; ->v.typed_ref.ptr + %t345 = load ptr, ptr %t344 + %t346 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t345) + store ptr %t346, ptr %s336 + br label %dc.done141 +dc.checked140: + %t347 = call ptr @sc_dc_79(ptr %t335, ptr null) + store ptr %t347, ptr %s336 + %t348 = load i32, ptr %exc.cell + %t349 = icmp ne i32 %t348, 0 + %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false) + br i1 %t350, label %exc.u142, label %exc.k143 +exc.u142: + ret ptr null +exc.k143: + br label %dc.done141 +dc.done141: + %t351 = load ptr, ptr %s336 + %t352 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t351, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit) + call void @sc_release__x25_m14_BakedAssets(ptr %t351) + ret ptr %t352 +if.j136: + %t353 = load ptr, ptr %sc_l_value + %t355 = icmp ne ptr %t353, null + br i1 %t355, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t360 = getelementptr inbounds i8, ptr %t353, i64 8 ; ->kind + %t361 = load i32, ptr %t360 + %t356 = icmp eq i32 %t361, 12 + br i1 %t356, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t357 = getelementptr inbounds i8, ptr %t353, i64 40 ; ->v.typed_ref.type_key + %t358 = load ptr, ptr %t357 + %t359 = icmp eq ptr %t358, @sc_cs_3314970835853795 + br i1 %t359, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t362 = getelementptr inbounds i8, ptr %t353, i64 16 ; ->v.typed_ref.ptr + %t363 = load ptr, ptr %t362 + %t364 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t363) + store ptr %t364, ptr %s354 + br label %dc.done148 +dc.checked147: + %t365 = call ptr @sc_dc_79(ptr %t353, ptr null) + store ptr %t365, ptr %s354 + %t366 = load i32, ptr %exc.cell + %t367 = icmp ne i32 %t366, 0 + %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false) + br i1 %t368, label %exc.u149, label %exc.k150 +exc.u149: + ret ptr null +exc.k150: + br label %dc.done148 +dc.done148: + %t369 = load ptr, ptr %s354 + %t370 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t369, i64 0, i32 1 + %t371 = load ptr, ptr %t370 + %t372 = getelementptr inbounds %ScrVt, ptr %t371, i64 0, i32 0 + %t373 = load i64, ptr %t372 + %t374 = icmp uge i64 %t373, 37 + %t375 = icmp ule i64 %t373, 38 + %t376 = and i1 %t374, %t375 ; instanceof %m9.EmbeddedAssets + call void @sc_release__x25_m6_AssetSource(ptr %t369) + br i1 %t376, label %if.t151, label %if.j152 +if.t151: + %t377 = load ptr, ptr %sc_l_value + %t379 = icmp ne ptr %t377, null + br i1 %t379, label %dc.inspect153, label %dc.checked156 +dc.inspect153: + %t384 = getelementptr inbounds i8, ptr %t377, i64 8 ; ->kind + %t385 = load i32, ptr %t384 + %t380 = icmp eq i32 %t385, 12 + br i1 %t380, label %dc.capsule154, label %dc.checked156 +dc.capsule154: + %t381 = getelementptr inbounds i8, ptr %t377, i64 40 ; ->v.typed_ref.type_key + %t382 = load ptr, ptr %t381 + %t383 = icmp eq ptr %t382, @sc_cs_3314970835853795 + br i1 %t383, label %dc.exact155, label %dc.checked156 +dc.exact155: + %t386 = getelementptr inbounds i8, ptr %t377, i64 16 ; ->v.typed_ref.ptr + %t387 = load ptr, ptr %t386 + %t388 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t387) + store ptr %t388, ptr %s378 + br label %dc.done157 +dc.checked156: + %t389 = call ptr @sc_dc_79(ptr %t377, ptr null) + store ptr %t389, ptr %s378 + %t390 = load i32, ptr %exc.cell + %t391 = icmp ne i32 %t390, 0 + %t392 = call i1 @llvm.expect.i1(i1 %t391, i1 false) + br i1 %t392, label %exc.u158, label %exc.k159 +exc.u158: + ret ptr null +exc.k159: + br label %dc.done157 +dc.done157: + %t393 = load ptr, ptr %s378 + %t394 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t393, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit) + call void @sc_release__x25_m9_EmbeddedAssets(ptr %t393) + ret ptr %t394 +if.j152: + br label %if.j127 +if.j127: + %t395 = load ptr, ptr %sc_l_value + store i1 false, ptr %s396 + %t397 = icmp ne ptr %t395, null + br i1 %t397, label %brand.inspect160, label %brand.done162 +brand.inspect160: + %t398 = getelementptr inbounds i8, ptr %t395, i64 8 ; ->kind + %t399 = load i32, ptr %t398 + %t400 = icmp eq i32 %t399, 12 + br i1 %t400, label %brand.capsule161, label %brand.done162 +brand.capsule161: + %t401 = getelementptr inbounds i8, ptr %t395, i64 40 ; ->v.typed_ref.type_key + %t402 = load ptr, ptr %t401 + %t403 = icmp eq ptr %t402, @sc_cs_2072202777142634 + store i1 true, ptr %s396 + br i1 %t403, label %brand.done162, label %brand.compare163 +brand.compare163: + %t404 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t395, ptr @sc_lit_2072202777142634) + store i1 %t404, ptr %s396 + br label %brand.done162 +brand.done162: + %t405 = load i1, ptr %s396 + br i1 %t405, label %if.t164, label %if.j165 +if.t164: + %t406 = load ptr, ptr %sc_l_value + %t408 = icmp ne ptr %t406, null + br i1 %t408, label %dc.inspect166, label %dc.checked169 +dc.inspect166: + %t413 = getelementptr inbounds i8, ptr %t406, i64 8 ; ->kind + %t414 = load i32, ptr %t413 + %t409 = icmp eq i32 %t414, 12 + br i1 %t409, label %dc.capsule167, label %dc.checked169 +dc.capsule167: + %t410 = getelementptr inbounds i8, ptr %t406, i64 40 ; ->v.typed_ref.type_key + %t411 = load ptr, ptr %t410 + %t412 = icmp eq ptr %t411, @sc_cs_2072202777142634 + br i1 %t412, label %dc.exact168, label %dc.checked169 +dc.exact168: + %t415 = getelementptr inbounds i8, ptr %t406, i64 16 ; ->v.typed_ref.ptr + %t416 = load ptr, ptr %t415 + %t417 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t416) + store ptr %t417, ptr %s407 + br label %dc.done170 +dc.checked169: + %t418 = call ptr @sc_dc_26(ptr %t406, ptr null) + store ptr %t418, ptr %s407 + %t419 = load i32, ptr %exc.cell + %t420 = icmp ne i32 %t419, 0 + %t421 = call i1 @llvm.expect.i1(i1 %t420, i1 false) + br i1 %t421, label %exc.u171, label %exc.k172 +exc.u171: + ret ptr null +exc.k172: + br label %dc.done170 +dc.done170: + %t422 = load ptr, ptr %s407 + %t423 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t422, i64 0, i32 1 + %t424 = load ptr, ptr %t423 + %t425 = getelementptr inbounds %ScrVt, ptr %t424, i64 0, i32 0 + %t426 = load i64, ptr %t425 + %t427 = icmp uge i64 %t426, 23 + %t428 = icmp ule i64 %t426, 23 + %t429 = and i1 %t427, %t428 ; instanceof %m4.MemoryFileSink + call void @sc_release__x25_m4_MultipartFileSink(ptr %t422) + br i1 %t429, label %if.t173, label %if.j174 +if.t173: + %t430 = load ptr, ptr %sc_l_value + %t432 = icmp ne ptr %t430, null + br i1 %t432, label %dc.inspect175, label %dc.checked178 +dc.inspect175: + %t437 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind + %t438 = load i32, ptr %t437 + %t433 = icmp eq i32 %t438, 12 + br i1 %t433, label %dc.capsule176, label %dc.checked178 +dc.capsule176: + %t434 = getelementptr inbounds i8, ptr %t430, i64 40 ; ->v.typed_ref.type_key + %t435 = load ptr, ptr %t434 + %t436 = icmp eq ptr %t435, @sc_cs_2072202777142634 + br i1 %t436, label %dc.exact177, label %dc.checked178 +dc.exact177: + %t439 = getelementptr inbounds i8, ptr %t430, i64 16 ; ->v.typed_ref.ptr + %t440 = load ptr, ptr %t439 + %t441 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t440) + store ptr %t441, ptr %s431 + br label %dc.done179 +dc.checked178: + %t442 = call ptr @sc_dc_26(ptr %t430, ptr null) + store ptr %t442, ptr %s431 + %t443 = load i32, ptr %exc.cell + %t444 = icmp ne i32 %t443, 0 + %t445 = call i1 @llvm.expect.i1(i1 %t444, i1 false) + br i1 %t445, label %exc.u180, label %exc.k181 +exc.u180: + ret ptr null +exc.k181: + br label %dc.done179 +dc.done179: + %t446 = load ptr, ptr %s431 + %t447 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t446, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit) + call void @sc_release__x25_m4_MemoryFileSink(ptr %t446) + ret ptr %t447 +if.j174: + br label %if.j165 +if.j165: + %t448 = load ptr, ptr %sc_l_value + %t449 = call ptr @sc_rc_retain_dyn(ptr %t448) + ret ptr %t449 +} +define internal ptr @sc_f__x25_dyn_class_normalize(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_normalize(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_env_pairs_5(ptr %p_sc_l_s_0) #0 { ; %env.pairs.5 +entry: + %sc_l_s_0 = alloca ptr ; s + %sc_l_out_0 = alloca ptr ; out + %sc_l_ks_0 = alloca ptr ; ks + %sc_l_i_0 = alloca i32 ; i + %sc_l_k_0 = alloca ptr ; k + %sc_l_raw_0 = alloca ptr ; raw + %s10 = alloca i64 ; integer induction i + %s17 = alloca ptr + %s48 = alloca ptr + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_ks_0 + store ptr null, ptr %sc_l_k_0 + store ptr null, ptr %sc_l_raw_0 + store ptr %p_sc_l_s_0, ptr %sc_l_s_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_arr_new_small(i32 2) + store ptr %t4, ptr %sc_l_out_0 + %t5 = load ptr, ptr %sc_l_s_0 + %t6 = call ptr @sc_rretain_r0(ptr %t5) + %t7 = getelementptr inbounds %sc_rs_r0, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_map_keys_js_order(ptr %t8) + store ptr %t9, ptr %sc_l_ks_0 + call void @sc_rrelease_r0(ptr %t6) + %t11 = fptosi double 0x0000000000000000 to i64 + store i64 %t11, ptr %s10 + br label %loop.c3 +loop.c3: + %t12 = load ptr, ptr %sc_l_ks_0 + %t13 = getelementptr inbounds %ScrArr, ptr %t12, i64 0, i32 1 + %t14 = load i64, ptr %t13, !tbaa !2 + %t15 = load i64, ptr %s10 + %t16 = icmp ult i64 %t15, %t14 + br i1 %t16, label %loop.b4, label %loop.e2 +loop.b4: + %t18 = load ptr, ptr %sc_l_ks_0 + %t19 = load i64, ptr %s10 + %t20 = load i64, ptr %s10 + %t21 = sitofp i64 %t20 to double + %t22 = trunc i64 %t20 to i32 + %t23 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2 + %t24 = load i64, ptr %t23, !tbaa !2 + %t25 = icmp ult i64 %t19, %t24 + br i1 %t25, label %local.array.range8, label %borrow.array.slow6 +local.array.range8: + br label %local.array.dense9 +local.array.dense9: + %t26 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6 + %t27 = load i32, ptr %t26, !tbaa !2 + %t29 = zext i32 %t27 to i64 + %t28 = icmp ult i64 %t19, %t29 + br i1 %t28, label %local.array.value11, label %local.array.len10 +local.array.len10: + %t30 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1 + %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296} + %t32 = icmp ult i64 %t19, %t31 + br i1 %t32, label %local.array.state12, label %borrow.array.slow6 +local.array.state12: + %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9 + %t34 = load ptr, ptr %t33, !tbaa !2 + %t35 = getelementptr inbounds i8, ptr %t34, i64 %t19 + %t36 = load i8, ptr %t35, !tbaa !4 + %t37 = icmp eq i8 %t36, 1 + br i1 %t37, label %local.array.value11, label %borrow.array.slow6 +local.array.value11: + %t38 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8 + %t39 = load ptr, ptr %t38, !tbaa !2 + %t40 = getelementptr inbounds i64, ptr %t39, i64 %t19 + %t41 = load ptr, ptr %t40, !tbaa !6 + store ptr %t41, ptr %s17 + br label %borrow.array.join7 +borrow.array.slow6: + %t42 = call ptr @scr_arr_borrow_ref(ptr %t18, double %t21) + store ptr %t42, ptr %s17 + br label %borrow.array.join7 +borrow.array.join7: + %t43 = load ptr, ptr %s17 + store ptr %t43, ptr %sc_l_k_0 + %t44 = load ptr, ptr %sc_l_s_0 + %t45 = call ptr @sc_rretain_r0(ptr %t44) + %t46 = load ptr, ptr %sc_l_k_0 + %t47 = call ptr @sc_rc_retain_str(ptr %t46) + %t49 = getelementptr inbounds %sc_rs_r0, ptr %t45, i64 0, i32 1 + %t50 = load ptr, ptr %t49 + %t51 = call ptr @scr_map_get_str_ref(ptr %t50, ptr %t47) + %t52 = icmp eq ptr %t51, null + br i1 %t52, label %rkg.n15, label %rkg.h14 +rkg.h14: + store ptr %t51, ptr %s48 + br label %rkg.j13 +rkg.n15: + call void @sc_bad_key() + unreachable +rkg.j13: + %t53 = load ptr, ptr %s48 + store ptr %t53, ptr %sc_l_raw_0 + call void @sc_rrelease_r0(ptr %t45) + call void @scr_str_release(ptr %t47) + %t54 = load ptr, ptr %sc_l_out_0 + %t55 = load ptr, ptr %sc_l_k_0 + %t56 = call ptr @sc_rc_retain_str(ptr %t55) + %t57 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 1 + %t58 = load i64, ptr %t57, !tbaa !2 + %t61 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 2 + %t59 = load i64, ptr %t61, !tbaa !2 + %t60 = icmp ult i64 %t58, %t59 + br i1 %t60, label %arr.push.dense16, label %arr.push.slow17 +arr.push.dense16: + %t62 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 8 + %t64 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 9 + %t63 = load ptr, ptr %t62, !tbaa !2 + %t65 = load ptr, ptr %t64, !tbaa !2 + %t66 = getelementptr inbounds i8, ptr %t65, i64 %t58 + %t67 = getelementptr inbounds i64, ptr %t63, i64 %t58 + store ptr %t56, ptr %t67, !tbaa !6 + store i8 1, ptr %t66, !tbaa !4 + %t68 = add nuw i64 %t58, 1 + store i64 %t68, ptr %t57, !tbaa !2 + %t70 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 6 + %t71 = load i32, ptr %t70, !tbaa !2 + %t75 = zext i32 %t71 to i64 + %t72 = icmp eq i64 %t75, %t58 + %t73 = add i32 %t71, 1 + %t74 = select i1 %t72, i32 %t73, i32 %t71 + store i32 %t74, ptr %t70, !tbaa !2 + %t69 = sitofp i64 %t68 to double + br label %arr.push.join18 +arr.push.slow17: + %t76 = call double @scr_arr_push_ref(ptr %t54, ptr %t56) cold + br label %arr.push.join18 +arr.push.join18: + %t77 = phi double [ %t69, %arr.push.dense16 ], [ %t76, %arr.push.slow17 ] + %t78 = load ptr, ptr %sc_l_out_0 + %t79 = load ptr, ptr %sc_l_raw_0 + %t80 = call ptr @sc_rc_retain_str(ptr %t79) + %t81 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 1 + %t82 = load i64, ptr %t81, !tbaa !2 + %t85 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 2 + %t83 = load i64, ptr %t85, !tbaa !2 + %t84 = icmp ult i64 %t82, %t83 + br i1 %t84, label %arr.push.dense19, label %arr.push.slow20 +arr.push.dense19: + %t86 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 8 + %t88 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 9 + %t87 = load ptr, ptr %t86, !tbaa !2 + %t89 = load ptr, ptr %t88, !tbaa !2 + %t90 = getelementptr inbounds i8, ptr %t89, i64 %t82 + %t91 = getelementptr inbounds i64, ptr %t87, i64 %t82 + store ptr %t80, ptr %t91, !tbaa !6 + store i8 1, ptr %t90, !tbaa !4 + %t92 = add nuw i64 %t82, 1 + store i64 %t92, ptr %t81, !tbaa !2 + %t94 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 6 + %t95 = load i32, ptr %t94, !tbaa !2 + %t99 = zext i32 %t95 to i64 + %t96 = icmp eq i64 %t99, %t82 + %t97 = add i32 %t95, 1 + %t98 = select i1 %t96, i32 %t97, i32 %t95 + store i32 %t98, ptr %t94, !tbaa !2 + %t93 = sitofp i64 %t92 to double + br label %arr.push.join21 +arr.push.slow20: + %t100 = call double @scr_arr_push_ref(ptr %t78, ptr %t80) cold + br label %arr.push.join21 +arr.push.join21: + %t101 = phi double [ %t93, %arr.push.dense19 ], [ %t100, %arr.push.slow20 ] + %t102 = load ptr, ptr %sc_l_raw_0 + call void @scr_str_release(ptr %t102) + br label %loop.u5 +loop.u5: + %t103 = load i64, ptr %s10 + %t104 = add nuw i64 %t103, 1 + store i64 %t104, ptr %s10 + br label %loop.c3 +loop.e2: + %t105 = load ptr, ptr %sc_l_out_0 + %t106 = load ptr, ptr %sc_l_ks_0 + call void @scr_arr_release(ptr %t106) + ret ptr %t105 +} +define internal ptr @sc_f__x25_env_pairs_5(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_env_pairs_5(ptr %p0) + call void @sc_rrelease_r0(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_obj_keys_19(ptr %p_sc_l_r_0) #0 { ; %obj.keys.19 +entry: + %sc_l_r_0 = alloca ptr ; r + %sc_l_out_0 = alloca ptr ; out + %sc_l_ks_0 = alloca ptr ; ks + %sc_l_i_0 = alloca i32 ; i + %sc_l_k_0 = alloca ptr ; k + %s10 = alloca i64 ; integer induction i + %s17 = alloca ptr + store ptr null, ptr %sc_l_out_0 + store ptr null, ptr %sc_l_ks_0 + store ptr null, ptr %sc_l_k_0 + store ptr %p_sc_l_r_0, ptr %sc_l_r_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_arr_new_small(i32 2) + store ptr %t4, ptr %sc_l_out_0 + %t5 = load ptr, ptr %sc_l_r_0 + %t6 = call ptr @sc_rretain_r0(ptr %t5) + %t7 = getelementptr inbounds %sc_rs_r0, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7 + %t9 = call ptr @scr_map_keys_js_order(ptr %t8) + store ptr %t9, ptr %sc_l_ks_0 + call void @sc_rrelease_r0(ptr %t6) + %t11 = fptosi double 0x0000000000000000 to i64 + store i64 %t11, ptr %s10 + br label %loop.c3 +loop.c3: + %t12 = load ptr, ptr %sc_l_ks_0 + %t13 = getelementptr inbounds %ScrArr, ptr %t12, i64 0, i32 1 + %t14 = load i64, ptr %t13, !tbaa !2 + %t15 = load i64, ptr %s10 + %t16 = icmp ult i64 %t15, %t14 + br i1 %t16, label %loop.b4, label %loop.e2 +loop.b4: + %t18 = load ptr, ptr %sc_l_ks_0 + %t19 = load i64, ptr %s10 + %t20 = load i64, ptr %s10 + %t21 = sitofp i64 %t20 to double + %t22 = trunc i64 %t20 to i32 + %t23 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2 + %t24 = load i64, ptr %t23, !tbaa !2 + %t25 = icmp ult i64 %t19, %t24 + br i1 %t25, label %local.array.range8, label %borrow.array.slow6 +local.array.range8: + br label %local.array.dense9 +local.array.dense9: + %t26 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6 + %t27 = load i32, ptr %t26, !tbaa !2 + %t29 = zext i32 %t27 to i64 + %t28 = icmp ult i64 %t19, %t29 + br i1 %t28, label %local.array.value11, label %local.array.len10 +local.array.len10: + %t30 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1 + %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296} + %t32 = icmp ult i64 %t19, %t31 + br i1 %t32, label %local.array.state12, label %borrow.array.slow6 +local.array.state12: + %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9 + %t34 = load ptr, ptr %t33, !tbaa !2 + %t35 = getelementptr inbounds i8, ptr %t34, i64 %t19 + %t36 = load i8, ptr %t35, !tbaa !4 + %t37 = icmp eq i8 %t36, 1 + br i1 %t37, label %local.array.value11, label %borrow.array.slow6 +local.array.value11: + %t38 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8 + %t39 = load ptr, ptr %t38, !tbaa !2 + %t40 = getelementptr inbounds i64, ptr %t39, i64 %t19 + %t41 = load ptr, ptr %t40, !tbaa !6 + store ptr %t41, ptr %s17 + br label %borrow.array.join7 +borrow.array.slow6: + %t42 = call ptr @scr_arr_borrow_ref(ptr %t18, double %t21) + store ptr %t42, ptr %s17 + br label %borrow.array.join7 +borrow.array.join7: + %t43 = load ptr, ptr %s17 + store ptr %t43, ptr %sc_l_k_0 + %t44 = load ptr, ptr %sc_l_out_0 + %t45 = load ptr, ptr %sc_l_k_0 + %t46 = call ptr @sc_rc_retain_str(ptr %t45) + %t47 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 1 + %t48 = load i64, ptr %t47, !tbaa !2 + %t51 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 2 + %t49 = load i64, ptr %t51, !tbaa !2 + %t50 = icmp ult i64 %t48, %t49 + br i1 %t50, label %arr.push.dense13, label %arr.push.slow14 +arr.push.dense13: + %t52 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 8 + %t54 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 9 + %t53 = load ptr, ptr %t52, !tbaa !2 + %t55 = load ptr, ptr %t54, !tbaa !2 + %t56 = getelementptr inbounds i8, ptr %t55, i64 %t48 + %t57 = getelementptr inbounds i64, ptr %t53, i64 %t48 + store ptr %t46, ptr %t57, !tbaa !6 + store i8 1, ptr %t56, !tbaa !4 + %t58 = add nuw i64 %t48, 1 + store i64 %t58, ptr %t47, !tbaa !2 + %t60 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 6 + %t61 = load i32, ptr %t60, !tbaa !2 + %t65 = zext i32 %t61 to i64 + %t62 = icmp eq i64 %t65, %t48 + %t63 = add i32 %t61, 1 + %t64 = select i1 %t62, i32 %t63, i32 %t61 + store i32 %t64, ptr %t60, !tbaa !2 + %t59 = sitofp i64 %t58 to double + br label %arr.push.join15 +arr.push.slow14: + %t66 = call double @scr_arr_push_ref(ptr %t44, ptr %t46) cold + br label %arr.push.join15 +arr.push.join15: + %t67 = phi double [ %t59, %arr.push.dense13 ], [ %t66, %arr.push.slow14 ] + br label %loop.u5 +loop.u5: + %t68 = load i64, ptr %s10 + %t69 = add nuw i64 %t68, 1 + store i64 %t69, ptr %s10 + br label %loop.c3 +loop.e2: + %t70 = load ptr, ptr %sc_l_out_0 + %t71 = load ptr, ptr %sc_l_ks_0 + call void @scr_arr_release(ptr %t71) + ret ptr %t70 +} +define internal ptr @sc_f__x25_obj_keys_19(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_obj_keys_19(ptr %p0) + call void @sc_rrelease_r0(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_Error(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%Error +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_1875086966829314 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_1875086966829314) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_1875086966829314 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_106(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_dc_124(ptr %t32, ptr null) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @scr_error_release(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_Error(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_Error(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_Error_toString() #0 { ; %method.value:%%Error.toString +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_Error(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @scr_error_release(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @scr_error_to_string(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @scr_error_release(ptr %t5) + call void @scr_str_release(ptr %t9) + ret ptr null +exc.k5: + call void @scr_error_release(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m3.LiteHeaders +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %p0) + call void @sc_release__x25_m3_LiteHeaders(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MemoryFileSink +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %p0) + call void @sc_release__x25_m4_MemoryFileSink(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MemoryStorage +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %p0) + call void @sc_release__x25_m4_MemoryStorage(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_65(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.65 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s20 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + %t11 = call ptr @sc_rc_retain_dyn(ptr %t10) + %t12 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t11) + %t13 = load i32, ptr %exc.cell + %t14 = icmp ne i32 %t13, 0 + %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false) + br i1 %t15, label %exc.u5, label %exc.k6 +exc.u5: + call void @sc_rc_release_dyn(ptr %t12) + br label %exc.cleanup2 +exc.k6: + %t16 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t12) + call void @sc_rc_release_dyn(ptr %t12) + store ptr %t16, ptr %sc_l_bag_0 + %t17 = load ptr, ptr %sc_l_bag_0 + %t18 = load ptr, ptr %sc_l_p_0 + %t19 = call zeroext i1 @scr_dyn_strict_eq(ptr %t17, ptr %t18) + br i1 %t19, label %tern.t7, label %tern.f8 +tern.t7: + %t21 = load ptr, ptr %sc_l_bag_0 + %t24 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind + %t25 = load i32, ptr %t24 + %t23 = icmp eq i32 %t25, 5 + br i1 %t23, label %dkg.ic10, label %dkg.any11 +dkg.ic10: + %t26 = call ptr @scr_dyn_obj_read_ic(ptr %t21, ptr @sc_lit_2207081674697931, ptr @sc_dyn_read_ic_78) + br label %dkg.j12 +dkg.any11: + %t27 = call ptr @sc_dyn_key_get(ptr %t21, ptr @sc_lit_2207081674697931, i1 false) + br label %dkg.j12 +dkg.j12: + %t22 = phi ptr [ %t26, %dkg.ic10 ], [ %t27, %dkg.any11 ] + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup15 +exc.k14: + store ptr %t22, ptr %s20 + br label %tern.j9 +tern.f8: + %t31 = load ptr, ptr %sc_l_bag_0 + %t32 = call ptr @sc_rc_retain_dyn(ptr %t31) + %t33 = load ptr, ptr %sc_l_p_0 + %t34 = call ptr @sc_rc_retain_dyn(ptr %t33) + %t35 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_2207081674697931, ptr %t34) + %t36 = load i32, ptr %exc.cell + %t37 = icmp ne i32 %t36, 0 + %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false) + br i1 %t38, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t35) + br label %exc.cleanup15 +exc.k17: + store ptr %t35, ptr %s20 + call void @sc_rc_release_dyn(ptr %t32) + call void @sc_rc_release_dyn(ptr %t34) + br label %tern.j9 +tern.j9: + %t39 = load ptr, ptr %s20 + %t40 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t40) + %t41 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t41) + ret ptr %t39 +exc.cleanup2: + %t42 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.cleanup15: + %t43 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t43) + %t44 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t44) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_66(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.66 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s108 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_660811353369478 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_660811353369478 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_28(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_308138762104264) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m5_ReqViewCore(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_660811353369478 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_28(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_660811353369478 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_28(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_308138762104264, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m5_ReqViewCore(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m5_ReqViewCore(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + %t99 = call ptr @sc_rc_retain_dyn(ptr %t98) + %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99) + %t101 = load i32, ptr %exc.cell + %t102 = icmp ne i32 %t101, 0 + %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false) + br i1 %t103, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t100) + br label %exc.cleanup2 +exc.k43: + %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100) + call void @sc_rc_release_dyn(ptr %t100) + store ptr %t104, ptr %sc_l_bag_0 + %t105 = load ptr, ptr %sc_l_bag_0 + %t106 = load ptr, ptr %sc_l_p_0 + %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106) + br i1 %t107, label %tern.t44, label %tern.f45 +tern.t44: + %t109 = load ptr, ptr %sc_l_bag_0 + %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind + %t113 = load i32, ptr %t112 + %t111 = icmp eq i32 %t113, 5 + br i1 %t111, label %dkg.ic47, label %dkg.any48 +dkg.ic47: + %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_308138762104264, ptr @sc_dyn_read_ic_79) + br label %dkg.j49 +dkg.any48: + %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_308138762104264, i1 false) + br label %dkg.j49 +dkg.j49: + %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ] + %t116 = load i32, ptr %exc.cell + %t117 = icmp ne i32 %t116, 0 + %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false) + br i1 %t118, label %exc.u50, label %exc.k51 +exc.u50: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup52 +exc.k51: + store ptr %t110, ptr %s108 + br label %tern.j46 +tern.f45: + %t119 = load ptr, ptr %sc_l_bag_0 + %t120 = call ptr @sc_rc_retain_dyn(ptr %t119) + %t121 = load ptr, ptr %sc_l_p_0 + %t122 = call ptr @sc_rc_retain_dyn(ptr %t121) + %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_308138762104264, ptr %t122) + %t124 = load i32, ptr %exc.cell + %t125 = icmp ne i32 %t124, 0 + %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false) + br i1 %t126, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + call void @sc_rc_release_dyn(ptr %t123) + br label %exc.cleanup52 +exc.k54: + store ptr %t123, ptr %s108 + call void @sc_rc_release_dyn(ptr %t120) + call void @sc_rc_release_dyn(ptr %t122) + br label %tern.j46 +tern.j46: + %t127 = load ptr, ptr %s108 + %t128 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t128) + %t129 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t129) + ret ptr %t127 +exc.cleanup2: + %t130 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t130) + ret ptr null +exc.cleanup52: + %t131 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t131) + %t132 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t132) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryStorage(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MemoryStorage +entry: + %sc_l_value = alloca ptr ; value + %s1 = alloca i1 + %s12 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s36 = alloca ptr + %s53 = alloca ptr + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = load ptr, ptr %sc_l_value + store i1 false, ptr %s1 + %t2 = icmp ne ptr %t0, null + br i1 %t2, label %brand.inspect0, label %brand.done2 +brand.inspect0: + %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind + %t4 = load i32, ptr %t3 + %t5 = icmp eq i32 %t4, 12 + br i1 %t5, label %brand.capsule1, label %brand.done2 +brand.capsule1: + %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key + %t7 = load ptr, ptr %t6 + %t8 = icmp eq ptr %t7, @sc_cs_3635319175845957 + store i1 true, ptr %s1 + br i1 %t8, label %brand.done2, label %brand.compare3 +brand.compare3: + %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3635319175845957) + store i1 %t9, ptr %s1 + br label %brand.done2 +brand.done2: + %t10 = load i1, ptr %s1 + br i1 %t10, label %if.t4, label %if.j5 +if.t4: + %t11 = load ptr, ptr %sc_l_value + %t13 = icmp ne ptr %t11, null + br i1 %t13, label %dc.inspect6, label %dc.checked9 +dc.inspect6: + %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind + %t19 = load i32, ptr %t18 + %t14 = icmp eq i32 %t19, 12 + br i1 %t14, label %dc.capsule7, label %dc.checked9 +dc.capsule7: + %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key + %t16 = load ptr, ptr %t15 + %t17 = icmp eq ptr %t16, @sc_cs_3635319175845957 + br i1 %t17, label %dc.exact8, label %dc.checked9 +dc.exact8: + %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr + %t21 = load ptr, ptr %t20 + %t22 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t21) + store ptr %t22, ptr %s12 + br label %dc.done10 +dc.checked9: + %t23 = call ptr @sc_dc_24(ptr %t11, ptr null) + store ptr %t23, ptr %s12 + %t24 = load i32, ptr %exc.cell + %t25 = icmp ne i32 %t24, 0 + %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false) + br i1 %t26, label %exc.u11, label %exc.k12 +exc.u11: + ret ptr null +exc.k12: + br label %dc.done10 +dc.done10: + %t27 = load ptr, ptr %s12 + %t28 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t27, i64 0, i32 1 + %t29 = load ptr, ptr %t28 + %t30 = getelementptr inbounds %ScrVt, ptr %t29, i64 0, i32 0 + %t31 = load i64, ptr %t30 + %t32 = icmp uge i64 %t31, 26 + %t33 = icmp ule i64 %t31, 26 + %t34 = and i1 %t32, %t33 ; instanceof %m4.MemoryStorage + call void @sc_release__x25_m4_MultipartStorage(ptr %t27) + br i1 %t34, label %if.t13, label %if.j14 +if.t13: + %t35 = load ptr, ptr %sc_l_value + %t37 = icmp ne ptr %t35, null + br i1 %t37, label %dc.inspect15, label %dc.checked18 +dc.inspect15: + %t42 = getelementptr inbounds i8, ptr %t35, i64 8 ; ->kind + %t43 = load i32, ptr %t42 + %t38 = icmp eq i32 %t43, 12 + br i1 %t38, label %dc.capsule16, label %dc.checked18 +dc.capsule16: + %t39 = getelementptr inbounds i8, ptr %t35, i64 40 ; ->v.typed_ref.type_key + %t40 = load ptr, ptr %t39 + %t41 = icmp eq ptr %t40, @sc_cs_3635319175845957 + br i1 %t41, label %dc.exact17, label %dc.checked18 +dc.exact17: + %t44 = getelementptr inbounds i8, ptr %t35, i64 16 ; ->v.typed_ref.ptr + %t45 = load ptr, ptr %t44 + %t46 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t45) + store ptr %t46, ptr %s36 + br label %dc.done19 +dc.checked18: + %t47 = call ptr @sc_dc_24(ptr %t35, ptr null) + store ptr %t47, ptr %s36 + %t48 = load i32, ptr %exc.cell + %t49 = icmp ne i32 %t48, 0 + %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false) + br i1 %t50, label %exc.u20, label %exc.k21 +exc.u20: + ret ptr null +exc.k21: + br label %dc.done19 +dc.done19: + %t51 = load ptr, ptr %s36 + ret ptr %t51 +if.j14: + br label %if.j5 +if.j5: + %t52 = load ptr, ptr %sc_l_value + %t54 = icmp ne ptr %t52, null + br i1 %t54, label %dc.inspect22, label %dc.checked25 +dc.inspect22: + %t59 = getelementptr inbounds i8, ptr %t52, i64 8 ; ->kind + %t60 = load i32, ptr %t59 + %t55 = icmp eq i32 %t60, 12 + br i1 %t55, label %dc.capsule23, label %dc.checked25 +dc.capsule23: + %t56 = getelementptr inbounds i8, ptr %t52, i64 40 ; ->v.typed_ref.type_key + %t57 = load ptr, ptr %t56 + %t58 = icmp eq ptr %t57, @sc_cs_3456310594719780 + br i1 %t58, label %dc.exact24, label %dc.checked25 +dc.exact24: + %t61 = getelementptr inbounds i8, ptr %t52, i64 16 ; ->v.typed_ref.ptr + %t62 = load ptr, ptr %t61 + %t63 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t62) + store ptr %t63, ptr %s53 + br label %dc.done26 +dc.checked25: + %t64 = call ptr @sc_dc_99(ptr %t52, ptr null) + store ptr %t64, ptr %s53 + %t65 = load i32, ptr %exc.cell + %t66 = icmp ne i32 %t65, 0 + %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false) + br i1 %t67, label %exc.u27, label %exc.k28 +exc.u27: + ret ptr null +exc.k28: + br label %dc.done26 +dc.done26: + %t68 = load ptr, ptr %s53 + ret ptr %t68 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MemoryStorage(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryStorage(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_NodeResponseSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m2.NodeResponseSink +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca ptr + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_629517122853751 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_value + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_629517122853751 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_29(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 16 + %t37 = icmp ule i64 %t35, 16 + %t38 = and i1 %t36, %t37 ; instanceof %m2.NodeResponseSink + call void @sc_release__x25_m2_ResponseSink(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_value + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_629517122853751 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_29(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_value + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t64 = load i32, ptr %t63 + %t59 = icmp eq i32 %t64, 12 + br i1 %t59, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t61 = load ptr, ptr %t60 + %t62 = icmp eq ptr %t61, @sc_cs_3326437563644705 + br i1 %t62, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr + %t66 = load ptr, ptr %t65 + %t67 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t66) + store ptr %t67, ptr %s57 + br label %dc.done28 +dc.checked27: + %t68 = call ptr @sc_dc_102(ptr %t56, ptr null) + store ptr %t68, ptr %s57 + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u29, label %exc.k30 +exc.u29: + ret ptr null +exc.k30: + br label %dc.done28 +dc.done28: + %t72 = load ptr, ptr %s57 + ret ptr %t72 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m2_NodeResponseSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_NodeResponseSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryFileSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MemoryFileSink +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s40 = alloca ptr + %s57 = alloca ptr + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_2072202777142634 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_2072202777142634) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_value + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_2072202777142634 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_26(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t31, i64 0, i32 1 + %t33 = load ptr, ptr %t32 + %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0 + %t35 = load i64, ptr %t34 + %t36 = icmp uge i64 %t35, 23 + %t37 = icmp ule i64 %t35, 23 + %t38 = and i1 %t36, %t37 ; instanceof %m4.MemoryFileSink + call void @sc_release__x25_m4_MultipartFileSink(ptr %t31) + br i1 %t38, label %if.t15, label %if.j16 +if.t15: + %t39 = load ptr, ptr %sc_l_value + %t41 = icmp ne ptr %t39, null + br i1 %t41, label %dc.inspect17, label %dc.checked20 +dc.inspect17: + %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind + %t47 = load i32, ptr %t46 + %t42 = icmp eq i32 %t47, 12 + br i1 %t42, label %dc.capsule18, label %dc.checked20 +dc.capsule18: + %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key + %t44 = load ptr, ptr %t43 + %t45 = icmp eq ptr %t44, @sc_cs_2072202777142634 + br i1 %t45, label %dc.exact19, label %dc.checked20 +dc.exact19: + %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr + %t49 = load ptr, ptr %t48 + %t50 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t49) + store ptr %t50, ptr %s40 + br label %dc.done21 +dc.checked20: + %t51 = call ptr @sc_dc_26(ptr %t39, ptr null) + store ptr %t51, ptr %s40 + %t52 = load i32, ptr %exc.cell + %t53 = icmp ne i32 %t52, 0 + %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false) + br i1 %t54, label %exc.u22, label %exc.k23 +exc.u22: + ret ptr null +exc.k23: + br label %dc.done21 +dc.done21: + %t55 = load ptr, ptr %s40 + ret ptr %t55 +if.j16: + br label %if.j7 +if.j7: + %t56 = load ptr, ptr %sc_l_value + %t58 = icmp ne ptr %t56, null + br i1 %t58, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind + %t64 = load i32, ptr %t63 + %t59 = icmp eq i32 %t64, 12 + br i1 %t59, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key + %t61 = load ptr, ptr %t60 + %t62 = icmp eq ptr %t61, @sc_cs_3728566007289652 + br i1 %t62, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr + %t66 = load ptr, ptr %t65 + %t67 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t66) + store ptr %t67, ptr %s57 + br label %dc.done28 +dc.checked27: + %t68 = call ptr @sc_dc_100(ptr %t56, ptr null) + store ptr %t68, ptr %s57 + %t69 = load i32, ptr %exc.cell + %t70 = icmp ne i32 %t69, 0 + %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false) + br i1 %t71, label %exc.u29, label %exc.k30 +exc.u29: + ret ptr null +exc.k30: + br label %dc.done28 +dc.done28: + %t72 = load ptr, ptr %s57 + ret ptr %t72 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MemoryFileSink(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryFileSink(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteHeaders(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m3.LiteHeaders +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_67546268704151 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_107(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m3_LiteHeaders(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteHeaders(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m5.CtxResCore +entry: + %sc_l_this_0 = alloca ptr ; this + %s5 = alloca i1 + %s16 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this_0, ptr %sc_l_this_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_this_0 + store i1 false, ptr %s5 + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %brand.inspect2, label %brand.done4 +brand.inspect2: + %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t8 = load i32, ptr %t7 + %t9 = icmp eq i32 %t8, 12 + br i1 %t9, label %brand.capsule3, label %brand.done4 +brand.capsule3: + %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t11 = load ptr, ptr %t10 + %t12 = icmp eq ptr %t11, @sc_cs_1746033898805369 + store i1 true, ptr %s5 + br i1 %t12, label %brand.done4, label %brand.compare5 +brand.compare5: + %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_1746033898805369) + store i1 %t13, ptr %s5 + br label %brand.done4 +brand.done4: + %t14 = load i1, ptr %s5 + br i1 %t14, label %if.t6, label %if.j7 +if.t6: + %t15 = load ptr, ptr %sc_l_this_0 + %t17 = icmp ne ptr %t15, null + br i1 %t17, label %dc.inspect8, label %dc.checked11 +dc.inspect8: + %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind + %t23 = load i32, ptr %t22 + %t18 = icmp eq i32 %t23, 12 + br i1 %t18, label %dc.capsule9, label %dc.checked11 +dc.capsule9: + %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key + %t20 = load ptr, ptr %t19 + %t21 = icmp eq ptr %t20, @sc_cs_1746033898805369 + br i1 %t21, label %dc.exact10, label %dc.checked11 +dc.exact10: + %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr + %t25 = load ptr, ptr %t24 + %t26 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t25) + store ptr %t26, ptr %s16 + br label %dc.done12 +dc.checked11: + %t27 = call ptr @sc_dc_30(ptr %t15, ptr null) + store ptr %t27, ptr %s16 + %t28 = load i32, ptr %exc.cell + %t29 = icmp ne i32 %t28, 0 + %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false) + br i1 %t30, label %exc.u13, label %exc.k14 +exc.u13: + ret ptr null +exc.k14: + br label %dc.done12 +dc.done12: + %t31 = load ptr, ptr %s16 + ret ptr %t31 +if.j7: + %t32 = load ptr, ptr %sc_l_this_0 + %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxResCore(ptr %t32) + %t34 = load i32, ptr %exc.cell + %t35 = icmp ne i32 %t34, 0 + %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false) + br i1 %t36, label %exc.u15, label %exc.k16 +exc.u15: + call void @sc_release__x25_m5_CtxResCore(ptr %t33) + ret ptr null +exc.k16: + ret ptr %t33 +} +define internal ptr @sc_f__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes() #0 { ; %method.value:%%m5.CtxResCore.nodeRes +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxResCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = call ptr @sc_bf__x25__x25_m5_CtxResCore_nodeRes(ptr %t5) + %t10 = load i32, ptr %exc.cell + %t11 = icmp ne i32 %t10, 0 + %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false) + br i1 %t12, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxResCore(ptr %t5) + call void @scr_union_release(ptr %t9) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_CtxResCore(ptr %t5) + ret ptr %t9 +} + +define internal ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore() #0 { ; %prototype.data.%m5.CtxResCore +entry: + %exc.cell = load ptr, ptr @scr_exc_active + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore_ready + %t5 = xor i1 %t4, true + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = call ptr @scr_dyn_new_obj() + %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + call void @sc_rc_release_dyn(ptr %t7) + store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + store i1 true, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore_ready + %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + %t9 = call ptr @sc_rc_retain_dyn(ptr %t8) + %t10 = call ptr @sc_td_0(ptr @sc_lit_3908714124573206) + %t11 = call ptr @scr_dyn_new_obj() + %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes) + %t13 = call ptr @sc_dfb_55(ptr %t12, ptr null) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13) + %t14 = load i32, ptr %exc.cell + %t15 = icmp ne i32 %t14, 0 + %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false) + br i1 %t16, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + ret ptr null +exc.k5: + %t17 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17) + %t18 = load i32, ptr %exc.cell + %t19 = icmp ne i32 %t18, 0 + %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false) + br i1 %t20, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + ret ptr null +exc.k7: + %t21 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21) + %t22 = load i32, ptr %exc.cell + %t23 = icmp ne i32 %t22, 0 + %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false) + br i1 %t24, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + ret ptr null +exc.k9: + %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u10, label %exc.k11 +exc.u10: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k11: + call void @sc_rc_release_dyn(ptr %t9) + call void @sc_rc_release_dyn(ptr %t10) + call void @sc_rc_release_dyn(ptr %t11) + call void @scr_closure_release(ptr %t12) + call void @sc_rc_release_dyn(ptr %t13) + call void @sc_rc_release_dyn(ptr %t17) + call void @sc_rc_release_dyn(ptr %t21) + call void @sc_rc_release_dyn(ptr %t25) + %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + %t30 = call ptr @sc_rc_retain_dyn(ptr %t29) + %t31 = call ptr @sc_td_0(ptr @sc_lit_528144782449140) + %t32 = call ptr @scr_dyn_new_obj() + %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header) + %t34 = call ptr @sc_dfb_53(ptr %t33, ptr null) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34) + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + ret ptr null +exc.k13: + %t38 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38) + %t39 = load i32, ptr %exc.cell + %t40 = icmp ne i32 %t39, 0 + %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false) + br i1 %t41, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + ret ptr null +exc.k15: + %t42 = call ptr @sc_td_3(i1 true) + call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42) + %t43 = load i32, ptr %exc.cell + %t44 = icmp ne i32 %t43, 0 + %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false) + br i1 %t45, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + ret ptr null +exc.k17: + %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32) + %t47 = load i32, ptr %exc.cell + %t48 = icmp ne i32 %t47, 0 + %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false) + br i1 %t49, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + ret ptr null +exc.k19: + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + call void @sc_rc_release_dyn(ptr %t32) + call void @scr_closure_release(ptr %t33) + call void @sc_rc_release_dyn(ptr %t34) + call void @sc_rc_release_dyn(ptr %t38) + call void @sc_rc_release_dyn(ptr %t42) + call void @sc_rc_release_dyn(ptr %t46) + br label %if.j3 +if.j3: + %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + %t51 = call ptr @sc_rc_retain_dyn(ptr %t50) + ret ptr %t51 +} + +define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxResCore.header +entry: + %sc_l_p_0 = alloca ptr ; p0 + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_dyn_this_get() + %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u2, label %exc.k3 +exc.u2: + call void @sc_rc_release_dyn(ptr %t4) + call void @sc_release__x25_m5_CtxResCore(ptr %t5) + ret ptr null +exc.k3: + call void @sc_rc_release_dyn(ptr %t4) + %t9 = load ptr, ptr %sc_l_p_0 + %t10 = call ptr @sc_bf__x25__x25_m5_CtxResCore_header(ptr %t5, ptr %t9) + %t11 = load i32, ptr %exc.cell + %t12 = icmp ne i32 %t11, 0 + %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false) + br i1 %t13, label %exc.u4, label %exc.k5 +exc.u4: + call void @sc_release__x25_m5_CtxResCore(ptr %t5) + call void @scr_str_release(ptr %t10) + ret ptr null +exc.k5: + call void @sc_release__x25_m5_CtxResCore(ptr %t5) + ret ptr %t10 +} +define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %p0) + call void @scr_str_release(ptr %p0) + ret ptr %result +} + +define internal void @sc_bf__x25_dyn_class_keys_533(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.533 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_1 = alloca ptr ; stored + %sc_l_p_receiver = alloca ptr ; receiver + %sc_l_key_string = alloca ptr ; key + %s8 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_1, ptr %sc_l_p_1 + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + store ptr %p_sc_l_key_string, ptr %sc_l_key_string + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret void +stack.ok1: + %t4 = load ptr, ptr %sc_l_key_string + %t5 = call zeroext i1 @sc_streq_2620371357038102(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = load ptr, ptr %sc_l_p_1 + %t9 = icmp ne ptr %t7, null + br i1 %t9, label %dc.inspect4, label %dc.checked7 +dc.inspect4: + %t14 = getelementptr inbounds i8, ptr %t7, i64 8 ; ->kind + %t15 = load i32, ptr %t14 + %t10 = icmp eq i32 %t15, 12 + br i1 %t10, label %dc.capsule5, label %dc.checked7 +dc.capsule5: + %t11 = getelementptr inbounds i8, ptr %t7, i64 40 ; ->v.typed_ref.type_key + %t12 = load ptr, ptr %t11 + %t13 = icmp eq ptr %t12, @sc_cs_629517122853751 + br i1 %t13, label %dc.exact6, label %dc.checked7 +dc.exact6: + %t16 = getelementptr inbounds i8, ptr %t7, i64 16 ; ->v.typed_ref.ptr + %t17 = load ptr, ptr %t16 + %t18 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t17) + store ptr %t18, ptr %s8 + br label %dc.done8 +dc.checked7: + %t19 = call ptr @sc_dc_29(ptr %t7, ptr null) + store ptr %t19, ptr %s8 + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u9, label %exc.k10 +exc.u9: + ret void +exc.k10: + br label %dc.done8 +dc.done8: + %t23 = load ptr, ptr %s8 + %t24 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t6, i64 0, i32 1 + %t25 = load ptr, ptr %t24 + store ptr %t23, ptr %t24, !tbaa !128 + call void @sc_release__x25_m2_ResponseSink(ptr %t25) + ret void +if.j3: + %t26 = load ptr, ptr %sc_l_key_string + %t27 = call zeroext i1 @sc_streq_127274431826284(ptr %t26) + br i1 %t27, label %if.t11, label %if.j12 +if.t11: + %t28 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3979096087517462) + call void @scr_throw_obj(ptr %t28, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret void +if.j12: + %t29 = load ptr, ptr %sc_l_key_string + %t30 = call zeroext i1 @sc_streq_3196313521755681(ptr %t29) + br i1 %t30, label %if.t13, label %if.j14 +if.t13: + %t31 = call ptr @scr_error_new(i32 1, ptr @sc_lit_4228407369832655) + call void @scr_throw_obj(ptr %t31, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret void +if.j14: + %t32 = load ptr, ptr %sc_l_key_string + %t33 = call zeroext i1 @sc_streq_528144782449140(ptr %t32) + br i1 %t33, label %if.t15, label %if.j16 +if.t15: + %t34 = load ptr, ptr %sc_l_p_receiver + %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t36 = call ptr @sc_f__x25_dyn_class_properties(ptr %t35) + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u17, label %exc.k18 +exc.u17: + call void @sc_rc_release_dyn(ptr %t36) + ret void +exc.k18: + %t40 = load ptr, ptr %sc_l_p_1 + %t41 = call ptr @sc_rc_retain_dyn(ptr %t40) + %t42 = load ptr, ptr %sc_l_p_receiver + %t43 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t42, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + call void @scr_dyn_bag_set(ptr %t36, ptr @sc_lit_528144782449140, ptr %t41, ptr %t43) + %t44 = load i32, ptr %exc.cell + %t45 = icmp ne i32 %t44, 0 + %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false) + br i1 %t46, label %exc.u19, label %exc.k20 +exc.u19: + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t43) + ret void +exc.k20: + call void @sc_rc_release_dyn(ptr %t36) + call void @sc_rc_release_dyn(ptr %t41) + call void @sc_rc_release_dyn(ptr %t43) + ret void +if.j16: + %t47 = load ptr, ptr %sc_l_key_string + %t48 = call zeroext i1 @sc_streq_977412068193087(ptr %t47) + br i1 %t48, label %if.t21, label %if.j22 +if.t21: + %t49 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2679078544804610) + call void @scr_throw_obj(ptr %t49, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace) + ret void +if.j22: + %t50 = load ptr, ptr %sc_l_key_string + %t51 = call zeroext i1 @sc_streq_3908714124573206(ptr %t50) + br i1 %t51, label %if.t23, label %if.j24 +if.t23: + %t52 = load ptr, ptr %sc_l_p_receiver + %t53 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t52, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t54 = call ptr @sc_f__x25_dyn_class_properties(ptr %t53) + %t55 = load i32, ptr %exc.cell + %t56 = icmp ne i32 %t55, 0 + %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false) + br i1 %t57, label %exc.u25, label %exc.k26 +exc.u25: + call void @sc_rc_release_dyn(ptr %t54) + ret void +exc.k26: + %t58 = load ptr, ptr %sc_l_p_1 + %t59 = call ptr @sc_rc_retain_dyn(ptr %t58) + %t60 = load ptr, ptr %sc_l_p_receiver + %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + call void @scr_dyn_bag_set(ptr %t54, ptr @sc_lit_3908714124573206, ptr %t59, ptr %t61) + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u27, label %exc.k28 +exc.u27: + call void @sc_rc_release_dyn(ptr %t54) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t61) + ret void +exc.k28: + call void @sc_rc_release_dyn(ptr %t54) + call void @sc_rc_release_dyn(ptr %t59) + call void @sc_rc_release_dyn(ptr %t61) + ret void +if.j24: + %t65 = load ptr, ptr %sc_l_p_0 + %t66 = call ptr @sc_rc_retain_dyn(ptr %t65) + %t67 = call ptr @sc_f__x25_dyn_class_properties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t67) + ret void +exc.k30: + %t71 = load ptr, ptr %sc_l_key_string + %t72 = call ptr @sc_rc_retain_str(ptr %t71) + %t73 = load ptr, ptr %sc_l_p_1 + %t74 = call ptr @sc_rc_retain_dyn(ptr %t73) + %t75 = load ptr, ptr %sc_l_p_receiver + %t76 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t75, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + call void @scr_dyn_bag_set(ptr %t67, ptr %t72, ptr %t74, ptr %t76) + %t77 = load i32, ptr %exc.cell + %t78 = icmp ne i32 %t77, 0 + %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false) + br i1 %t79, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t67) + call void @scr_str_release(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t76) + ret void +exc.k32: + call void @sc_rc_release_dyn(ptr %t67) + call void @scr_str_release(ptr %t72) + call void @sc_rc_release_dyn(ptr %t74) + call void @sc_rc_release_dyn(ptr %t76) + ret void +} +define internal void @sc_f__x25_dyn_class_keys_533(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 { +entry: + call void @sc_bf__x25_dyn_class_keys_533(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) + call void @sc_rc_release_dyn(ptr %p0) + call void @sc_rc_release_dyn(ptr %p1) + call void @sc_rc_release_dyn(ptr %p2) + call void @sc_release__x25_m5_CtxResCore(ptr %p3) + call void @scr_str_release(ptr %p4) + ret void +} + +define internal ptr @sc_bf__x25_dyn_class_keys_534(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.534 +entry: + %sc_l_p_0 = alloca ptr ; value + %sc_l_p_key = alloca ptr ; key + %sc_l_p_receiver = alloca ptr ; receiver + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + store ptr %p_sc_l_p_key, ptr %sc_l_p_key + store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_key + %t5 = call zeroext i1 @sc_streq_2620371357038102(ptr %t4) + br i1 %t5, label %if.t2, label %if.j3 +if.t2: + %t6 = load ptr, ptr %sc_l_p_receiver + %t7 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t6, i64 0, i32 1 + %t8 = load ptr, ptr %t7, !tbaa !128 + %t9 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t8) + %t10 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t9, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + call void @sc_release__x25_m2_ResponseSink(ptr %t9) + ret ptr %t10 +if.j3: + %t11 = load ptr, ptr %sc_l_p_key + %t12 = call zeroext i1 @sc_streq_127274431826284(ptr %t11) + br i1 %t12, label %if.t4, label %if.j5 +if.t4: + %t13 = load ptr, ptr %sc_l_p_receiver + %t14 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t13, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t15 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t14) + %t16 = load i32, ptr %exc.cell + %t17 = icmp ne i32 %t16, 0 + %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false) + br i1 %t18, label %exc.u6, label %exc.k7 +exc.u6: + call void @sc_rc_release_dyn(ptr %t15) + ret ptr null +exc.k7: + %t19 = call zeroext i1 @scr_dyn_has_own(ptr %t15, ptr @sc_lit_127274431826284) + %t20 = load i32, ptr %exc.cell + %t21 = icmp ne i32 %t20, 0 + %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false) + br i1 %t22, label %exc.u8, label %exc.k9 +exc.u8: + call void @sc_rc_release_dyn(ptr %t15) + ret ptr null +exc.k9: + call void @sc_rc_release_dyn(ptr %t15) + br i1 %t19, label %if.t10, label %if.j11 +if.t10: + %t23 = load ptr, ptr %sc_l_p_receiver + %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t25 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t24) + %t26 = load i32, ptr %exc.cell + %t27 = icmp ne i32 %t26, 0 + %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false) + br i1 %t28, label %exc.u12, label %exc.k13 +exc.u12: + call void @sc_rc_release_dyn(ptr %t25) + ret ptr null +exc.k13: + %t29 = load ptr, ptr %sc_l_p_receiver + %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t31 = call ptr @scr_dyn_bag_get(ptr %t25, ptr @sc_lit_127274431826284, ptr %t30) + %t32 = load i32, ptr %exc.cell + %t33 = icmp ne i32 %t32, 0 + %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false) + br i1 %t34, label %exc.u14, label %exc.k15 +exc.u14: + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t30) + call void @sc_rc_release_dyn(ptr %t31) + ret ptr null +exc.k15: + call void @sc_rc_release_dyn(ptr %t25) + call void @sc_rc_release_dyn(ptr %t30) + ret ptr %t31 +if.j11: + %t35 = load ptr, ptr %sc_l_p_receiver + %t36 = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_status(ptr %t35) + %t37 = load i32, ptr %exc.cell + %t38 = icmp ne i32 %t37, 0 + %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false) + br i1 %t39, label %exc.u16, label %exc.k17 +exc.u16: + ret ptr null +exc.k17: + %t40 = call ptr @sc_td_2(double %t36) + ret ptr %t40 +if.j5: + %t41 = load ptr, ptr %sc_l_p_key + %t42 = call zeroext i1 @sc_streq_3196313521755681(ptr %t41) + br i1 %t42, label %if.t18, label %if.j19 +if.t18: + %t43 = load ptr, ptr %sc_l_p_receiver + %t44 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t43, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t45 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t44) + %t46 = load i32, ptr %exc.cell + %t47 = icmp ne i32 %t46, 0 + %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false) + br i1 %t48, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t45) + ret ptr null +exc.k21: + %t49 = call zeroext i1 @scr_dyn_has_own(ptr %t45, ptr @sc_lit_3196313521755681) + %t50 = load i32, ptr %exc.cell + %t51 = icmp ne i32 %t50, 0 + %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false) + br i1 %t52, label %exc.u22, label %exc.k23 +exc.u22: + call void @sc_rc_release_dyn(ptr %t45) + ret ptr null +exc.k23: + call void @sc_rc_release_dyn(ptr %t45) + br i1 %t49, label %if.t24, label %if.j25 +if.t24: + %t53 = load ptr, ptr %sc_l_p_receiver + %t54 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t53, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t55 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t54) + %t56 = load i32, ptr %exc.cell + %t57 = icmp ne i32 %t56, 0 + %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false) + br i1 %t58, label %exc.u26, label %exc.k27 +exc.u26: + call void @sc_rc_release_dyn(ptr %t55) + ret ptr null +exc.k27: + %t59 = load ptr, ptr %sc_l_p_receiver + %t60 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t59, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t61 = call ptr @scr_dyn_bag_get(ptr %t55, ptr @sc_lit_3196313521755681, ptr %t60) + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u28, label %exc.k29 +exc.u28: + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t60) + call void @sc_rc_release_dyn(ptr %t61) + ret ptr null +exc.k29: + call void @sc_rc_release_dyn(ptr %t55) + call void @sc_rc_release_dyn(ptr %t60) + ret ptr %t61 +if.j25: + %t65 = load ptr, ptr %sc_l_p_receiver + %t66 = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_statusCode(ptr %t65) + %t67 = load i32, ptr %exc.cell + %t68 = icmp ne i32 %t67, 0 + %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false) + br i1 %t69, label %exc.u30, label %exc.k31 +exc.u30: + ret ptr null +exc.k31: + %t70 = call ptr @sc_td_2(double %t66) + ret ptr %t70 +if.j19: + %t71 = load ptr, ptr %sc_l_p_key + %t72 = call zeroext i1 @sc_streq_528144782449140(ptr %t71) + br i1 %t72, label %if.t32, label %if.j33 +if.t32: + %t73 = load ptr, ptr %sc_l_p_receiver + %t74 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t73, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t75 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t74) + %t76 = load i32, ptr %exc.cell + %t77 = icmp ne i32 %t76, 0 + %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false) + br i1 %t78, label %exc.u34, label %exc.k35 +exc.u34: + call void @sc_rc_release_dyn(ptr %t75) + ret ptr null +exc.k35: + %t79 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t75, ptr @sc_lit_528144782449140) + %t80 = load i32, ptr %exc.cell + %t81 = icmp ne i32 %t80, 0 + %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false) + br i1 %t82, label %exc.u36, label %exc.k37 +exc.u36: + call void @sc_rc_release_dyn(ptr %t75) + ret ptr null +exc.k37: + call void @sc_rc_release_dyn(ptr %t75) + br i1 %t79, label %if.t38, label %if.j39 +if.t38: + %t83 = load ptr, ptr %sc_l_p_receiver + %t84 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t83, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t85 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t84) + %t86 = load i32, ptr %exc.cell + %t87 = icmp ne i32 %t86, 0 + %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false) + br i1 %t88, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t85) + ret ptr null +exc.k41: + %t89 = load ptr, ptr %sc_l_p_receiver + %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t91 = call ptr @scr_dyn_bag_get(ptr %t85, ptr @sc_lit_528144782449140, ptr %t90) + %t92 = load i32, ptr %exc.cell + %t93 = icmp ne i32 %t92, 0 + %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false) + br i1 %t94, label %exc.u42, label %exc.k43 +exc.u42: + call void @sc_rc_release_dyn(ptr %t85) + call void @sc_rc_release_dyn(ptr %t90) + call void @sc_rc_release_dyn(ptr %t91) + ret ptr null +exc.k43: + call void @sc_rc_release_dyn(ptr %t85) + call void @sc_rc_release_dyn(ptr %t90) + ret ptr %t91 +if.j39: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + ret ptr %t95 +if.j33: + %t97 = load ptr, ptr %sc_l_p_key + %t98 = call zeroext i1 @sc_streq_977412068193087(ptr %t97) + br i1 %t98, label %if.t44, label %if.j45 +if.t44: + %t99 = load ptr, ptr %sc_l_p_receiver + %t100 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t99, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t101 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t100) + %t102 = load i32, ptr %exc.cell + %t103 = icmp ne i32 %t102, 0 + %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false) + br i1 %t104, label %exc.u46, label %exc.k47 +exc.u46: + call void @sc_rc_release_dyn(ptr %t101) + ret ptr null +exc.k47: + %t105 = call zeroext i1 @scr_dyn_has_own(ptr %t101, ptr @sc_lit_977412068193087) + %t106 = load i32, ptr %exc.cell + %t107 = icmp ne i32 %t106, 0 + %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false) + br i1 %t108, label %exc.u48, label %exc.k49 +exc.u48: + call void @sc_rc_release_dyn(ptr %t101) + ret ptr null +exc.k49: + call void @sc_rc_release_dyn(ptr %t101) + br i1 %t105, label %if.t50, label %if.j51 +if.t50: + %t109 = load ptr, ptr %sc_l_p_receiver + %t110 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t109, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t111 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t110) + %t112 = load i32, ptr %exc.cell + %t113 = icmp ne i32 %t112, 0 + %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false) + br i1 %t114, label %exc.u52, label %exc.k53 +exc.u52: + call void @sc_rc_release_dyn(ptr %t111) + ret ptr null +exc.k53: + %t115 = load ptr, ptr %sc_l_p_receiver + %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t117 = call ptr @scr_dyn_bag_get(ptr %t111, ptr @sc_lit_977412068193087, ptr %t116) + %t118 = load i32, ptr %exc.cell + %t119 = icmp ne i32 %t118, 0 + %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false) + br i1 %t120, label %exc.u54, label %exc.k55 +exc.u54: + call void @sc_rc_release_dyn(ptr %t111) + call void @sc_rc_release_dyn(ptr %t116) + call void @sc_rc_release_dyn(ptr %t117) + ret ptr null +exc.k55: + call void @sc_rc_release_dyn(ptr %t111) + call void @sc_rc_release_dyn(ptr %t116) + ret ptr %t117 +if.j51: + %t121 = load ptr, ptr %sc_l_p_receiver + %t122 = call ptr @sc_bf__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %t121) + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u56, label %exc.k57 +exc.u56: + call void @sc_rrelease_r0(ptr %t122) + ret ptr null +exc.k57: + %t126 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t122, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit) + call void @sc_rrelease_r0(ptr %t122) + ret ptr %t126 +if.j45: + %t127 = load ptr, ptr %sc_l_p_key + %t128 = call zeroext i1 @sc_streq_3908714124573206(ptr %t127) + br i1 %t128, label %if.t58, label %if.j59 +if.t58: + %t129 = load ptr, ptr %sc_l_p_receiver + %t130 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t129, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t131 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t130) + %t132 = load i32, ptr %exc.cell + %t133 = icmp ne i32 %t132, 0 + %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false) + br i1 %t134, label %exc.u60, label %exc.k61 +exc.u60: + call void @sc_rc_release_dyn(ptr %t131) + ret ptr null +exc.k61: + %t135 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t131, ptr @sc_lit_3908714124573206) + %t136 = load i32, ptr %exc.cell + %t137 = icmp ne i32 %t136, 0 + %t138 = call i1 @llvm.expect.i1(i1 %t137, i1 false) + br i1 %t138, label %exc.u62, label %exc.k63 +exc.u62: + call void @sc_rc_release_dyn(ptr %t131) + ret ptr null +exc.k63: + call void @sc_rc_release_dyn(ptr %t131) + br i1 %t135, label %if.t64, label %if.j65 +if.t64: + %t139 = load ptr, ptr %sc_l_p_receiver + %t140 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t139, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t141 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t140) + %t142 = load i32, ptr %exc.cell + %t143 = icmp ne i32 %t142, 0 + %t144 = call i1 @llvm.expect.i1(i1 %t143, i1 false) + br i1 %t144, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t141) + ret ptr null +exc.k67: + %t145 = load ptr, ptr %sc_l_p_receiver + %t146 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t145, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t147 = call ptr @scr_dyn_bag_get(ptr %t141, ptr @sc_lit_3908714124573206, ptr %t146) + %t148 = load i32, ptr %exc.cell + %t149 = icmp ne i32 %t148, 0 + %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false) + br i1 %t150, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t141) + call void @sc_rc_release_dyn(ptr %t146) + call void @sc_rc_release_dyn(ptr %t147) + ret ptr null +exc.k69: + call void @sc_rc_release_dyn(ptr %t141) + call void @sc_rc_release_dyn(ptr %t146) + ret ptr %t147 +if.j65: + %t152 = call ptr @scr_dyn_undefined() + %t151 = call ptr @scr_dyn_retain_v(ptr %t152) + ret ptr %t151 +if.j59: + %t153 = load ptr, ptr %sc_l_p_0 + %t154 = call ptr @sc_rc_retain_dyn(ptr %t153) + %t155 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u70, label %exc.k71 +exc.u70: + call void @sc_rc_release_dyn(ptr %t155) + ret ptr null +exc.k71: + %t159 = load ptr, ptr %sc_l_p_key + %t160 = call ptr @sc_rc_retain_str(ptr %t159) + %t161 = load ptr, ptr %sc_l_p_receiver + %t162 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t161, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit) + %t163 = call ptr @scr_dyn_bag_get(ptr %t155, ptr %t160, ptr %t162) + %t164 = load i32, ptr %exc.cell + %t165 = icmp ne i32 %t164, 0 + %t166 = call i1 @llvm.expect.i1(i1 %t165, i1 false) + br i1 %t166, label %exc.u72, label %exc.k73 +exc.u72: + call void @sc_rc_release_dyn(ptr %t155) + call void @scr_str_release(ptr %t160) + call void @sc_rc_release_dyn(ptr %t162) + call void @sc_rc_release_dyn(ptr %t163) + ret ptr null +exc.k73: + call void @sc_rc_release_dyn(ptr %t155) + call void @scr_str_release(ptr %t160) + call void @sc_rc_release_dyn(ptr %t162) + ret ptr %t163 +} +define internal ptr @sc_f__x25_dyn_class_keys_534(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_keys_534(ptr %p0, ptr %p1, ptr %p2) + call void @sc_rc_release_dyn(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_release__x25_m5_CtxResCore(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m5.CtxResCore +entry: + %sc_l_this = alloca ptr ; this + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_this, ptr %sc_l_this + %t0 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore() + %t1 = load i32, ptr %exc.cell + %t2 = icmp ne i32 %t1, 0 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_rc_release_dyn(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %p0) + call void @sc_release__x25_m5_CtxResCore(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_f__x25_dyn_class_property_67(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.67 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_181663572509014) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_181663572509014, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_181663572509014) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_181663572509014, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_181663572509014) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_181663572509014, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_181663572509014) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_181663572509014, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_181663572509014, ptr @sc_dyn_read_ic_80) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_181663572509014, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_181663572509014, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_f__x25_dyn_class_property_68(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.68 +entry: + %sc_l_p_0 = alloca ptr ; p0 + %sc_l_bag_0 = alloca ptr ; bag + %exc.cell = load ptr, ptr @scr_exc_active + %s11 = alloca i1 + %s23 = alloca ptr + %s50 = alloca ptr + %s73 = alloca ptr + %s99 = alloca i1 + %s111 = alloca ptr + %s138 = alloca ptr + %s161 = alloca ptr + %s187 = alloca i1 + %s199 = alloca ptr + %s226 = alloca ptr + %s249 = alloca ptr + %s275 = alloca i1 + %s287 = alloca ptr + %s314 = alloca ptr + %s337 = alloca ptr + %s372 = alloca ptr + store ptr null, ptr %sc_l_bag_0 + store ptr %p_sc_l_p_0, ptr %sc_l_p_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + br label %exc.cleanup2 +stack.ok1: + %t4 = load ptr, ptr %sc_l_p_0 + %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4) + %t6 = load i32, ptr %exc.cell + %t7 = icmp ne i32 %t6, 0 + %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false) + br i1 %t8, label %exc.u3, label %exc.k4 +exc.u3: + call void @sc_rc_release_dyn(ptr %t5) + br label %exc.cleanup2 +exc.k4: + %t9 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t9) + store ptr %t5, ptr %sc_l_p_0 + %t10 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s11 + %t12 = icmp ne ptr %t10, null + br i1 %t12, label %brand.inspect5, label %brand.done7 +brand.inspect5: + %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind + %t14 = load i32, ptr %t13 + %t15 = icmp eq i32 %t14, 12 + br i1 %t15, label %brand.capsule6, label %brand.done7 +brand.capsule6: + %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key + %t17 = load ptr, ptr %t16 + %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818 + store i1 true, ptr %s11 + br i1 %t18, label %brand.done7, label %brand.compare8 +brand.compare8: + %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818) + store i1 %t19, ptr %s11 + br label %brand.done7 +brand.done7: + %t20 = load i1, ptr %s11 + br i1 %t20, label %if.t9, label %if.j10 +if.t9: + %t21 = load ptr, ptr %sc_l_p_0 + %t22 = call ptr @sc_rc_retain_dyn(ptr %t21) + %t24 = icmp ne ptr %t22, null + br i1 %t24, label %dc.inspect11, label %dc.checked14 +dc.inspect11: + %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind + %t30 = load i32, ptr %t29 + %t25 = icmp eq i32 %t30, 12 + br i1 %t25, label %dc.capsule12, label %dc.checked14 +dc.capsule12: + %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key + %t27 = load ptr, ptr %t26 + %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818 + br i1 %t28, label %dc.exact13, label %dc.checked14 +dc.exact13: + %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr + %t32 = load ptr, ptr %t31 + %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32) + store ptr %t33, ptr %s23 + br label %dc.done15 +dc.checked14: + %t34 = call ptr @sc_dc_104(ptr %t22, ptr null) + store ptr %t34, ptr %s23 + %t35 = load i32, ptr %exc.cell + %t36 = icmp ne i32 %t35, 0 + %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false) + br i1 %t37, label %exc.u16, label %exc.k17 +exc.u16: + call void @sc_rc_release_dyn(ptr %t22) + br label %exc.cleanup2 +exc.k17: + br label %dc.done15 +dc.done15: + %t38 = load ptr, ptr %s23 + %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39) + %t41 = load i32, ptr %exc.cell + %t42 = icmp ne i32 %t41, 0 + %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false) + br i1 %t43, label %exc.u18, label %exc.k19 +exc.u18: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k19: + %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4198614539576238) + %t45 = load i32, ptr %exc.cell + %t46 = icmp ne i32 %t45, 0 + %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false) + br i1 %t47, label %exc.u20, label %exc.k21 +exc.u20: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br label %exc.cleanup2 +exc.k21: + call void @sc_rc_release_dyn(ptr %t22) + call void @sc_release__x25_m3_LiteResponse(ptr %t38) + call void @sc_rc_release_dyn(ptr %t40) + br i1 %t44, label %if.t22, label %if.j23 +if.t22: + %t48 = load ptr, ptr %sc_l_p_0 + %t49 = call ptr @sc_rc_retain_dyn(ptr %t48) + %t51 = icmp ne ptr %t49, null + br i1 %t51, label %dc.inspect24, label %dc.checked27 +dc.inspect24: + %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind + %t57 = load i32, ptr %t56 + %t52 = icmp eq i32 %t57, 12 + br i1 %t52, label %dc.capsule25, label %dc.checked27 +dc.capsule25: + %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key + %t54 = load ptr, ptr %t53 + %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818 + br i1 %t55, label %dc.exact26, label %dc.checked27 +dc.exact26: + %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr + %t59 = load ptr, ptr %t58 + %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59) + store ptr %t60, ptr %s50 + br label %dc.done28 +dc.checked27: + %t61 = call ptr @sc_dc_104(ptr %t49, ptr null) + store ptr %t61, ptr %s50 + %t62 = load i32, ptr %exc.cell + %t63 = icmp ne i32 %t62, 0 + %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false) + br i1 %t64, label %exc.u29, label %exc.k30 +exc.u29: + call void @sc_rc_release_dyn(ptr %t49) + br label %exc.cleanup2 +exc.k30: + br label %dc.done28 +dc.done28: + %t65 = load ptr, ptr %s50 + %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66) + %t68 = load i32, ptr %exc.cell + %t69 = icmp ne i32 %t68, 0 + %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false) + br i1 %t70, label %exc.u31, label %exc.k32 +exc.u31: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + br label %exc.cleanup2 +exc.k32: + %t71 = load ptr, ptr %sc_l_p_0 + %t72 = call ptr @sc_rc_retain_dyn(ptr %t71) + %t74 = icmp ne ptr %t72, null + br i1 %t74, label %dc.inspect33, label %dc.checked36 +dc.inspect33: + %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind + %t80 = load i32, ptr %t79 + %t75 = icmp eq i32 %t80, 12 + br i1 %t75, label %dc.capsule34, label %dc.checked36 +dc.capsule34: + %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key + %t77 = load ptr, ptr %t76 + %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818 + br i1 %t78, label %dc.exact35, label %dc.checked36 +dc.exact35: + %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr + %t82 = load ptr, ptr %t81 + %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82) + store ptr %t83, ptr %s73 + br label %dc.done37 +dc.checked36: + %t84 = call ptr @sc_dc_104(ptr %t72, ptr null) + store ptr %t84, ptr %s73 + %t85 = load i32, ptr %exc.cell + %t86 = icmp ne i32 %t85, 0 + %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false) + br i1 %t87, label %exc.u38, label %exc.k39 +exc.u38: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + br label %exc.cleanup2 +exc.k39: + br label %dc.done37 +dc.done37: + %t88 = load ptr, ptr %s73 + %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit) + %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4198614539576238, ptr %t89) + %t91 = load i32, ptr %exc.cell + %t92 = icmp ne i32 %t91, 0 + %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false) + br i1 %t93, label %exc.u40, label %exc.k41 +exc.u40: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + call void @sc_rc_release_dyn(ptr %t90) + br label %exc.cleanup2 +exc.k41: + call void @sc_rc_release_dyn(ptr %t49) + call void @sc_release__x25_m3_LiteResponse(ptr %t65) + call void @sc_rc_release_dyn(ptr %t67) + call void @sc_rc_release_dyn(ptr %t72) + call void @sc_release__x25_m3_LiteResponse(ptr %t88) + call void @sc_rc_release_dyn(ptr %t89) + %t94 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t94) + ret ptr %t90 +if.j23: + %t96 = call ptr @scr_dyn_undefined() + %t95 = call ptr @scr_dyn_retain_v(ptr %t96) + %t97 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t97) + ret ptr %t95 +if.j10: + %t98 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s99 + %t100 = icmp ne ptr %t98, null + br i1 %t100, label %brand.inspect42, label %brand.done44 +brand.inspect42: + %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind + %t102 = load i32, ptr %t101 + %t103 = icmp eq i32 %t102, 12 + br i1 %t103, label %brand.capsule43, label %brand.done44 +brand.capsule43: + %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key + %t105 = load ptr, ptr %t104 + %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195 + store i1 true, ptr %s99 + br i1 %t106, label %brand.done44, label %brand.compare45 +brand.compare45: + %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195) + store i1 %t107, ptr %s99 + br label %brand.done44 +brand.done44: + %t108 = load i1, ptr %s99 + br i1 %t108, label %if.t46, label %if.j47 +if.t46: + %t109 = load ptr, ptr %sc_l_p_0 + %t110 = call ptr @sc_rc_retain_dyn(ptr %t109) + %t112 = icmp ne ptr %t110, null + br i1 %t112, label %dc.inspect48, label %dc.checked51 +dc.inspect48: + %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind + %t118 = load i32, ptr %t117 + %t113 = icmp eq i32 %t118, 12 + br i1 %t113, label %dc.capsule49, label %dc.checked51 +dc.capsule49: + %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key + %t115 = load ptr, ptr %t114 + %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195 + br i1 %t116, label %dc.exact50, label %dc.checked51 +dc.exact50: + %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr + %t120 = load ptr, ptr %t119 + %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120) + store ptr %t121, ptr %s111 + br label %dc.done52 +dc.checked51: + %t122 = call ptr @sc_dc_52(ptr %t110, ptr null) + store ptr %t122, ptr %s111 + %t123 = load i32, ptr %exc.cell + %t124 = icmp ne i32 %t123, 0 + %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false) + br i1 %t125, label %exc.u53, label %exc.k54 +exc.u53: + call void @sc_rc_release_dyn(ptr %t110) + br label %exc.cleanup2 +exc.k54: + br label %dc.done52 +dc.done52: + %t126 = load ptr, ptr %s111 + %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127) + %t129 = load i32, ptr %exc.cell + %t130 = icmp ne i32 %t129, 0 + %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false) + br i1 %t131, label %exc.u55, label %exc.k56 +exc.u55: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k56: + %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4198614539576238) + %t133 = load i32, ptr %exc.cell + %t134 = icmp ne i32 %t133, 0 + %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false) + br i1 %t135, label %exc.u57, label %exc.k58 +exc.u57: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br label %exc.cleanup2 +exc.k58: + call void @sc_rc_release_dyn(ptr %t110) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t126) + call void @sc_rc_release_dyn(ptr %t128) + br i1 %t132, label %if.t59, label %if.j60 +if.t59: + %t136 = load ptr, ptr %sc_l_p_0 + %t137 = call ptr @sc_rc_retain_dyn(ptr %t136) + %t139 = icmp ne ptr %t137, null + br i1 %t139, label %dc.inspect61, label %dc.checked64 +dc.inspect61: + %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind + %t145 = load i32, ptr %t144 + %t140 = icmp eq i32 %t145, 12 + br i1 %t140, label %dc.capsule62, label %dc.checked64 +dc.capsule62: + %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key + %t142 = load ptr, ptr %t141 + %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195 + br i1 %t143, label %dc.exact63, label %dc.checked64 +dc.exact63: + %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr + %t147 = load ptr, ptr %t146 + %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147) + store ptr %t148, ptr %s138 + br label %dc.done65 +dc.checked64: + %t149 = call ptr @sc_dc_52(ptr %t137, ptr null) + store ptr %t149, ptr %s138 + %t150 = load i32, ptr %exc.cell + %t151 = icmp ne i32 %t150, 0 + %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false) + br i1 %t152, label %exc.u66, label %exc.k67 +exc.u66: + call void @sc_rc_release_dyn(ptr %t137) + br label %exc.cleanup2 +exc.k67: + br label %dc.done65 +dc.done65: + %t153 = load ptr, ptr %s138 + %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154) + %t156 = load i32, ptr %exc.cell + %t157 = icmp ne i32 %t156, 0 + %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false) + br i1 %t158, label %exc.u68, label %exc.k69 +exc.u68: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + br label %exc.cleanup2 +exc.k69: + %t159 = load ptr, ptr %sc_l_p_0 + %t160 = call ptr @sc_rc_retain_dyn(ptr %t159) + %t162 = icmp ne ptr %t160, null + br i1 %t162, label %dc.inspect70, label %dc.checked73 +dc.inspect70: + %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind + %t168 = load i32, ptr %t167 + %t163 = icmp eq i32 %t168, 12 + br i1 %t163, label %dc.capsule71, label %dc.checked73 +dc.capsule71: + %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key + %t165 = load ptr, ptr %t164 + %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195 + br i1 %t166, label %dc.exact72, label %dc.checked73 +dc.exact72: + %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr + %t170 = load ptr, ptr %t169 + %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170) + store ptr %t171, ptr %s161 + br label %dc.done74 +dc.checked73: + %t172 = call ptr @sc_dc_52(ptr %t160, ptr null) + store ptr %t172, ptr %s161 + %t173 = load i32, ptr %exc.cell + %t174 = icmp ne i32 %t173, 0 + %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false) + br i1 %t175, label %exc.u75, label %exc.k76 +exc.u75: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + br label %exc.cleanup2 +exc.k76: + br label %dc.done74 +dc.done74: + %t176 = load ptr, ptr %s161 + %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit) + %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4198614539576238, ptr %t177) + %t179 = load i32, ptr %exc.cell + %t180 = icmp ne i32 %t179, 0 + %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false) + br i1 %t181, label %exc.u77, label %exc.k78 +exc.u77: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + call void @sc_rc_release_dyn(ptr %t178) + br label %exc.cleanup2 +exc.k78: + call void @sc_rc_release_dyn(ptr %t137) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t153) + call void @sc_rc_release_dyn(ptr %t155) + call void @sc_rc_release_dyn(ptr %t160) + call void @sc_release__x25_m2_FetchResponseSink(ptr %t176) + call void @sc_rc_release_dyn(ptr %t177) + %t182 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t182) + ret ptr %t178 +if.j60: + %t184 = call ptr @scr_dyn_undefined() + %t183 = call ptr @scr_dyn_retain_v(ptr %t184) + %t185 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t185) + ret ptr %t183 +if.j47: + %t186 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s187 + %t188 = icmp ne ptr %t186, null + br i1 %t188, label %brand.inspect79, label %brand.done81 +brand.inspect79: + %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind + %t190 = load i32, ptr %t189 + %t191 = icmp eq i32 %t190, 12 + br i1 %t191, label %brand.capsule80, label %brand.done81 +brand.capsule80: + %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key + %t193 = load ptr, ptr %t192 + %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705 + store i1 true, ptr %s187 + br i1 %t194, label %brand.done81, label %brand.compare82 +brand.compare82: + %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705) + store i1 %t195, ptr %s187 + br label %brand.done81 +brand.done81: + %t196 = load i1, ptr %s187 + br i1 %t196, label %if.t83, label %if.j84 +if.t83: + %t197 = load ptr, ptr %sc_l_p_0 + %t198 = call ptr @sc_rc_retain_dyn(ptr %t197) + %t200 = icmp ne ptr %t198, null + br i1 %t200, label %dc.inspect85, label %dc.checked88 +dc.inspect85: + %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind + %t206 = load i32, ptr %t205 + %t201 = icmp eq i32 %t206, 12 + br i1 %t201, label %dc.capsule86, label %dc.checked88 +dc.capsule86: + %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key + %t203 = load ptr, ptr %t202 + %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705 + br i1 %t204, label %dc.exact87, label %dc.checked88 +dc.exact87: + %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr + %t208 = load ptr, ptr %t207 + %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208) + store ptr %t209, ptr %s199 + br label %dc.done89 +dc.checked88: + %t210 = call ptr @sc_dc_102(ptr %t198, ptr null) + store ptr %t210, ptr %s199 + %t211 = load i32, ptr %exc.cell + %t212 = icmp ne i32 %t211, 0 + %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false) + br i1 %t213, label %exc.u90, label %exc.k91 +exc.u90: + call void @sc_rc_release_dyn(ptr %t198) + br label %exc.cleanup2 +exc.k91: + br label %dc.done89 +dc.done89: + %t214 = load ptr, ptr %s199 + %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215) + %t217 = load i32, ptr %exc.cell + %t218 = icmp ne i32 %t217, 0 + %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false) + br i1 %t219, label %exc.u92, label %exc.k93 +exc.u92: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k93: + %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_4198614539576238) + %t221 = load i32, ptr %exc.cell + %t222 = icmp ne i32 %t221, 0 + %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false) + br i1 %t223, label %exc.u94, label %exc.k95 +exc.u94: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br label %exc.cleanup2 +exc.k95: + call void @sc_rc_release_dyn(ptr %t198) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t214) + call void @sc_rc_release_dyn(ptr %t216) + br i1 %t220, label %if.t96, label %if.j97 +if.t96: + %t224 = load ptr, ptr %sc_l_p_0 + %t225 = call ptr @sc_rc_retain_dyn(ptr %t224) + %t227 = icmp ne ptr %t225, null + br i1 %t227, label %dc.inspect98, label %dc.checked101 +dc.inspect98: + %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind + %t233 = load i32, ptr %t232 + %t228 = icmp eq i32 %t233, 12 + br i1 %t228, label %dc.capsule99, label %dc.checked101 +dc.capsule99: + %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key + %t230 = load ptr, ptr %t229 + %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705 + br i1 %t231, label %dc.exact100, label %dc.checked101 +dc.exact100: + %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr + %t235 = load ptr, ptr %t234 + %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235) + store ptr %t236, ptr %s226 + br label %dc.done102 +dc.checked101: + %t237 = call ptr @sc_dc_102(ptr %t225, ptr null) + store ptr %t237, ptr %s226 + %t238 = load i32, ptr %exc.cell + %t239 = icmp ne i32 %t238, 0 + %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false) + br i1 %t240, label %exc.u103, label %exc.k104 +exc.u103: + call void @sc_rc_release_dyn(ptr %t225) + br label %exc.cleanup2 +exc.k104: + br label %dc.done102 +dc.done102: + %t241 = load ptr, ptr %s226 + %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242) + %t244 = load i32, ptr %exc.cell + %t245 = icmp ne i32 %t244, 0 + %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false) + br i1 %t246, label %exc.u105, label %exc.k106 +exc.u105: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + br label %exc.cleanup2 +exc.k106: + %t247 = load ptr, ptr %sc_l_p_0 + %t248 = call ptr @sc_rc_retain_dyn(ptr %t247) + %t250 = icmp ne ptr %t248, null + br i1 %t250, label %dc.inspect107, label %dc.checked110 +dc.inspect107: + %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind + %t256 = load i32, ptr %t255 + %t251 = icmp eq i32 %t256, 12 + br i1 %t251, label %dc.capsule108, label %dc.checked110 +dc.capsule108: + %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key + %t253 = load ptr, ptr %t252 + %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705 + br i1 %t254, label %dc.exact109, label %dc.checked110 +dc.exact109: + %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr + %t258 = load ptr, ptr %t257 + %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258) + store ptr %t259, ptr %s249 + br label %dc.done111 +dc.checked110: + %t260 = call ptr @sc_dc_102(ptr %t248, ptr null) + store ptr %t260, ptr %s249 + %t261 = load i32, ptr %exc.cell + %t262 = icmp ne i32 %t261, 0 + %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false) + br i1 %t263, label %exc.u112, label %exc.k113 +exc.u112: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + br label %exc.cleanup2 +exc.k113: + br label %dc.done111 +dc.done111: + %t264 = load ptr, ptr %s249 + %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit) + %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_4198614539576238, ptr %t265) + %t267 = load i32, ptr %exc.cell + %t268 = icmp ne i32 %t267, 0 + %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false) + br i1 %t269, label %exc.u114, label %exc.k115 +exc.u114: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + call void @sc_rc_release_dyn(ptr %t266) + br label %exc.cleanup2 +exc.k115: + call void @sc_rc_release_dyn(ptr %t225) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t241) + call void @sc_rc_release_dyn(ptr %t243) + call void @sc_rc_release_dyn(ptr %t248) + call void @sc_release__x25_m2_NodeResponseSink(ptr %t264) + call void @sc_rc_release_dyn(ptr %t265) + %t270 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t270) + ret ptr %t266 +if.j97: + %t272 = call ptr @scr_dyn_undefined() + %t271 = call ptr @scr_dyn_retain_v(ptr %t272) + %t273 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t273) + ret ptr %t271 +if.j84: + %t274 = load ptr, ptr %sc_l_p_0 + store i1 false, ptr %s275 + %t276 = icmp ne ptr %t274, null + br i1 %t276, label %brand.inspect116, label %brand.done118 +brand.inspect116: + %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind + %t278 = load i32, ptr %t277 + %t279 = icmp eq i32 %t278, 12 + br i1 %t279, label %brand.capsule117, label %brand.done118 +brand.capsule117: + %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key + %t281 = load ptr, ptr %t280 + %t282 = icmp eq ptr %t281, @sc_cs_629517122853751 + store i1 true, ptr %s275 + br i1 %t282, label %brand.done118, label %brand.compare119 +brand.compare119: + %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751) + store i1 %t283, ptr %s275 + br label %brand.done118 +brand.done118: + %t284 = load i1, ptr %s275 + br i1 %t284, label %if.t120, label %if.j121 +if.t120: + %t285 = load ptr, ptr %sc_l_p_0 + %t286 = call ptr @sc_rc_retain_dyn(ptr %t285) + %t288 = icmp ne ptr %t286, null + br i1 %t288, label %dc.inspect122, label %dc.checked125 +dc.inspect122: + %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind + %t294 = load i32, ptr %t293 + %t289 = icmp eq i32 %t294, 12 + br i1 %t289, label %dc.capsule123, label %dc.checked125 +dc.capsule123: + %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key + %t291 = load ptr, ptr %t290 + %t292 = icmp eq ptr %t291, @sc_cs_629517122853751 + br i1 %t292, label %dc.exact124, label %dc.checked125 +dc.exact124: + %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr + %t296 = load ptr, ptr %t295 + %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296) + store ptr %t297, ptr %s287 + br label %dc.done126 +dc.checked125: + %t298 = call ptr @sc_dc_29(ptr %t286, ptr null) + store ptr %t298, ptr %s287 + %t299 = load i32, ptr %exc.cell + %t300 = icmp ne i32 %t299, 0 + %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false) + br i1 %t301, label %exc.u127, label %exc.k128 +exc.u127: + call void @sc_rc_release_dyn(ptr %t286) + br label %exc.cleanup2 +exc.k128: + br label %dc.done126 +dc.done126: + %t302 = load ptr, ptr %s287 + %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303) + %t305 = load i32, ptr %exc.cell + %t306 = icmp ne i32 %t305, 0 + %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false) + br i1 %t307, label %exc.u129, label %exc.k130 +exc.u129: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k130: + %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_4198614539576238) + %t309 = load i32, ptr %exc.cell + %t310 = icmp ne i32 %t309, 0 + %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false) + br i1 %t311, label %exc.u131, label %exc.k132 +exc.u131: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br label %exc.cleanup2 +exc.k132: + call void @sc_rc_release_dyn(ptr %t286) + call void @sc_release__x25_m2_ResponseSink(ptr %t302) + call void @sc_rc_release_dyn(ptr %t304) + br i1 %t308, label %if.t133, label %if.j134 +if.t133: + %t312 = load ptr, ptr %sc_l_p_0 + %t313 = call ptr @sc_rc_retain_dyn(ptr %t312) + %t315 = icmp ne ptr %t313, null + br i1 %t315, label %dc.inspect135, label %dc.checked138 +dc.inspect135: + %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind + %t321 = load i32, ptr %t320 + %t316 = icmp eq i32 %t321, 12 + br i1 %t316, label %dc.capsule136, label %dc.checked138 +dc.capsule136: + %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key + %t318 = load ptr, ptr %t317 + %t319 = icmp eq ptr %t318, @sc_cs_629517122853751 + br i1 %t319, label %dc.exact137, label %dc.checked138 +dc.exact137: + %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr + %t323 = load ptr, ptr %t322 + %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323) + store ptr %t324, ptr %s314 + br label %dc.done139 +dc.checked138: + %t325 = call ptr @sc_dc_29(ptr %t313, ptr null) + store ptr %t325, ptr %s314 + %t326 = load i32, ptr %exc.cell + %t327 = icmp ne i32 %t326, 0 + %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false) + br i1 %t328, label %exc.u140, label %exc.k141 +exc.u140: + call void @sc_rc_release_dyn(ptr %t313) + br label %exc.cleanup2 +exc.k141: + br label %dc.done139 +dc.done139: + %t329 = load ptr, ptr %s314 + %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330) + %t332 = load i32, ptr %exc.cell + %t333 = icmp ne i32 %t332, 0 + %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false) + br i1 %t334, label %exc.u142, label %exc.k143 +exc.u142: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + br label %exc.cleanup2 +exc.k143: + %t335 = load ptr, ptr %sc_l_p_0 + %t336 = call ptr @sc_rc_retain_dyn(ptr %t335) + %t338 = icmp ne ptr %t336, null + br i1 %t338, label %dc.inspect144, label %dc.checked147 +dc.inspect144: + %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind + %t344 = load i32, ptr %t343 + %t339 = icmp eq i32 %t344, 12 + br i1 %t339, label %dc.capsule145, label %dc.checked147 +dc.capsule145: + %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key + %t341 = load ptr, ptr %t340 + %t342 = icmp eq ptr %t341, @sc_cs_629517122853751 + br i1 %t342, label %dc.exact146, label %dc.checked147 +dc.exact146: + %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr + %t346 = load ptr, ptr %t345 + %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346) + store ptr %t347, ptr %s337 + br label %dc.done148 +dc.checked147: + %t348 = call ptr @sc_dc_29(ptr %t336, ptr null) + store ptr %t348, ptr %s337 + %t349 = load i32, ptr %exc.cell + %t350 = icmp ne i32 %t349, 0 + %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false) + br i1 %t351, label %exc.u149, label %exc.k150 +exc.u149: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + br label %exc.cleanup2 +exc.k150: + br label %dc.done148 +dc.done148: + %t352 = load ptr, ptr %s337 + %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit) + %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_4198614539576238, ptr %t353) + %t355 = load i32, ptr %exc.cell + %t356 = icmp ne i32 %t355, 0 + %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false) + br i1 %t357, label %exc.u151, label %exc.k152 +exc.u151: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + call void @sc_rc_release_dyn(ptr %t354) + br label %exc.cleanup2 +exc.k152: + call void @sc_rc_release_dyn(ptr %t313) + call void @sc_release__x25_m2_ResponseSink(ptr %t329) + call void @sc_rc_release_dyn(ptr %t331) + call void @sc_rc_release_dyn(ptr %t336) + call void @sc_release__x25_m2_ResponseSink(ptr %t352) + call void @sc_rc_release_dyn(ptr %t353) + %t358 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t358) + ret ptr %t354 +if.j134: + %t360 = call ptr @scr_dyn_undefined() + %t359 = call ptr @scr_dyn_retain_v(ptr %t360) + %t361 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t361) + ret ptr %t359 +if.j121: + %t362 = load ptr, ptr %sc_l_p_0 + %t363 = call ptr @sc_rc_retain_dyn(ptr %t362) + %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363) + %t365 = load i32, ptr %exc.cell + %t366 = icmp ne i32 %t365, 0 + %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false) + br i1 %t367, label %exc.u153, label %exc.k154 +exc.u153: + call void @sc_rc_release_dyn(ptr %t364) + br label %exc.cleanup2 +exc.k154: + %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364) + call void @sc_rc_release_dyn(ptr %t364) + store ptr %t368, ptr %sc_l_bag_0 + %t369 = load ptr, ptr %sc_l_bag_0 + %t370 = load ptr, ptr %sc_l_p_0 + %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370) + br i1 %t371, label %tern.t155, label %tern.f156 +tern.t155: + %t373 = load ptr, ptr %sc_l_bag_0 + %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind + %t377 = load i32, ptr %t376 + %t375 = icmp eq i32 %t377, 5 + br i1 %t375, label %dkg.ic158, label %dkg.any159 +dkg.ic158: + %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_4198614539576238, ptr @sc_dyn_read_ic_81) + br label %dkg.j160 +dkg.any159: + %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_4198614539576238, i1 false) + br label %dkg.j160 +dkg.j160: + %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ] + %t380 = load i32, ptr %exc.cell + %t381 = icmp ne i32 %t380, 0 + %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false) + br i1 %t382, label %exc.u161, label %exc.k162 +exc.u161: + call void @sc_rc_release_dyn(ptr %t374) + br label %exc.cleanup163 +exc.k162: + store ptr %t374, ptr %s372 + br label %tern.j157 +tern.f156: + %t383 = load ptr, ptr %sc_l_bag_0 + %t384 = call ptr @sc_rc_retain_dyn(ptr %t383) + %t385 = load ptr, ptr %sc_l_p_0 + %t386 = call ptr @sc_rc_retain_dyn(ptr %t385) + %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_4198614539576238, ptr %t386) + %t388 = load i32, ptr %exc.cell + %t389 = icmp ne i32 %t388, 0 + %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false) + br i1 %t390, label %exc.u164, label %exc.k165 +exc.u164: + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + call void @sc_rc_release_dyn(ptr %t387) + br label %exc.cleanup163 +exc.k165: + store ptr %t387, ptr %s372 + call void @sc_rc_release_dyn(ptr %t384) + call void @sc_rc_release_dyn(ptr %t386) + br label %tern.j157 +tern.j157: + %t391 = load ptr, ptr %s372 + %t392 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t392) + %t393 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t393) + ret ptr %t391 +exc.cleanup2: + %t394 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t394) + ret ptr null +exc.cleanup163: + %t395 = load ptr, ptr %sc_l_p_0 + call void @sc_rc_release_dyn(ptr %t395) + %t396 = load ptr, ptr %sc_l_bag_0 + call void @sc_rc_release_dyn(ptr %t396) + ret ptr null +} + +define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxResCore(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m5.CtxResCore +entry: + %sc_l_value = alloca ptr ; value + %s5 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_value, ptr %sc_l_value + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = load ptr, ptr %sc_l_value + %t6 = icmp ne ptr %t4, null + br i1 %t6, label %dc.inspect2, label %dc.checked5 +dc.inspect2: + %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind + %t12 = load i32, ptr %t11 + %t7 = icmp eq i32 %t12, 12 + br i1 %t7, label %dc.capsule3, label %dc.checked5 +dc.capsule3: + %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key + %t9 = load ptr, ptr %t8 + %t10 = icmp eq ptr %t9, @sc_cs_1746033898805369 + br i1 %t10, label %dc.exact4, label %dc.checked5 +dc.exact4: + %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr + %t14 = load ptr, ptr %t13 + %t15 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t14) + store ptr %t15, ptr %s5 + br label %dc.done6 +dc.checked5: + %t16 = call ptr @sc_dc_30(ptr %t4, ptr null) + store ptr %t16, ptr %s5 + %t17 = load i32, ptr %exc.cell + %t18 = icmp ne i32 %t17, 0 + %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false) + br i1 %t19, label %exc.u7, label %exc.k8 +exc.u7: + ret ptr null +exc.k8: + br label %dc.done6 +dc.done6: + %t20 = load ptr, ptr %s5 + ret ptr %t20 +} +define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m5_CtxResCore(ptr %p0) #0 { +entry: + %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxResCore(ptr %p0) + call void @sc_rc_release_dyn(ptr %p0) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m6_AssetSource_get(ptr %p_sc_l_path_0) #0 { ; %method.receiverless:%%m6.AssetSource.get +entry: + %sc_l_path_0 = alloca ptr ; path + store ptr %p_sc_l_path_0, ptr %sc_l_path_0 + ret ptr @sc_nullable_null +} +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m6_AssetSource_get(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m6_AssetSource_get(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_rretain_r11(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_str_release(ptr %p0) + ret ptr %t3 +} + +define internal i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p_sc_l__req_0, ptr %p_sc_l__res_0) #0 { ; %method.receiverless:%%m0.GenDispatch.dispatch +entry: + %sc_l__req_0 = alloca ptr ; _req + %sc_l__res_0 = alloca ptr ; _res + store ptr %p_sc_l__req_0, ptr %sc_l__req_0 + store ptr %p_sc_l__res_0, ptr %sc_l__res_0 + ret i1 false +} +define internal i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1) #0 { +entry: + %result = call i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1) + call void @scr_http_req_release(ptr %p0) + call void @scr_http_res_release(ptr %p1) + ret i1 %result +} + +define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p_sc_l__method_0, ptr %p_sc_l__url_0, ptr %p_sc_l__headers_0, ptr %p_sc_l__webReq_0, ptr %p_sc_l__body_0, ptr %p_sc_l__bodyU8_0, ptr %p_sc_l__sink_0) #0 { ; %method.receiverless:%%m0.GenFetch.dispatchFetch +entry: + %sc_l__method_0 = alloca ptr ; _method + %sc_l__url_0 = alloca ptr ; _url + %sc_l__headers_0 = alloca ptr ; _headers + %sc_l__webReq_0 = alloca ptr ; _webReq + %sc_l__body_0 = alloca ptr ; _body + %sc_l__bodyU8_0 = alloca ptr ; _bodyU8 + %sc_l__sink_0 = alloca ptr ; _sink + store ptr %p_sc_l__method_0, ptr %sc_l__method_0 + store ptr %p_sc_l__url_0, ptr %sc_l__url_0 + store ptr %p_sc_l__headers_0, ptr %sc_l__headers_0 + store ptr %p_sc_l__webReq_0, ptr %sc_l__webReq_0 + store ptr %p_sc_l__body_0, ptr %sc_l__body_0 + store ptr %p_sc_l__bodyU8_0, ptr %sc_l__bodyU8_0 + store ptr %p_sc_l__sink_0, ptr %sc_l__sink_0 + %t0 = call ptr @llvm.stacksave.p0() + %t1 = load ptr, ptr @scr_stack_guard + %t2 = icmp ult ptr %t0, %t1 + %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false) + br i1 %t3, label %stack.over0, label %stack.ok1 +stack.over0: + call void @scr_stack_overflow() + ret ptr null +stack.ok1: + %t4 = call ptr @scr_promise_new() + %t5 = call ptr @scr_make_resolve(ptr %t4, i32 1) + %t6 = call ptr @scr_closure_new(ptr @sc_f__x25_fn33, i64 0) + %t7 = getelementptr inbounds %ScrClosure, ptr %t6, i64 0, i32 4 + store i32 4, ptr %t7 + %t8 = getelementptr inbounds %ScrClosure, ptr %t6, i64 0, i32 7 + store ptr @sc_bf__x25_fn33, ptr %t8 + call void @scr_promise_run_executor(ptr %t4, ptr %t6, ptr %t5) + call void @scr_closure_release(ptr %t6) + ret ptr %t4 +} +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @sc_rrelease_r0(ptr %p2) + call void @sc_rc_release_dyn(ptr %p3) + call void @scr_str_release(ptr %p4) + call void @scr_union_release(ptr %p5) + call void @sc_release__x25_m2_FetchResponseSink(ptr %p6) + ret ptr %result +} + +define internal i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p_sc_l__req_0, ptr %p_sc_l__socket_0, ptr %p_sc_l__head_0) #0 { ; %method.receiverless:%%m1.UpgradeDispatch.upgrade +entry: + %sc_l__req_0 = alloca ptr ; _req + %sc_l__socket_0 = alloca ptr ; _socket + %sc_l__head_0 = alloca ptr ; _head + store ptr %p_sc_l__req_0, ptr %sc_l__req_0 + store ptr %p_sc_l__socket_0, ptr %sc_l__socket_0 + store ptr %p_sc_l__head_0, ptr %sc_l__head_0 + ret i1 false +} +define internal i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2) + call void @scr_http_req_release(ptr %p0) + call void @scr_net_sock_release(ptr %p1) + call void @scr_bytes_release(ptr %p2) + ret i1 %result +} + +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setStatus(double %p_sc_l__n_0) #0 { ; %method.receiverless:%%m2.ResponseSink.setStatus +entry: + %sc_l__n_0 = alloca double ; _n + store double %p_sc_l__n_0, ptr %sc_l__n_0 + ret void +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p_sc_l__k_0, ptr %p_sc_l__v_0) #0 { ; %method.receiverless:%%m2.ResponseSink.setHeader +entry: + %sc_l__k_0 = alloca ptr ; _k + %sc_l__v_0 = alloca ptr ; _v + store ptr %p_sc_l__k_0, ptr %sc_l__k_0 + store ptr %p_sc_l__v_0, ptr %sc_l__v_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p_sc_l__k_0, ptr %p_sc_l__v_0) #0 { ; %method.receiverless:%%m2.ResponseSink.appendHeader +entry: + %sc_l__k_0 = alloca ptr ; _k + %sc_l__v_0 = alloca ptr ; _v + store ptr %p_sc_l__k_0, ptr %sc_l__k_0 + store ptr %p_sc_l__v_0, ptr %sc_l__v_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p_sc_l__s_0) #0 { ; %method.receiverless:%%m2.ResponseSink.writeBody +entry: + %sc_l__s_0 = alloca ptr ; _s + store ptr %p_sc_l__s_0, ptr %sc_l__s_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p_sc_l__b_0, ptr %p_sc_l__ct_0) #0 { ; %method.receiverless:%%m2.ResponseSink.bodyBytes +entry: + %sc_l__b_0 = alloca ptr ; _b + %sc_l__ct_0 = alloca ptr ; _ct + store ptr %p_sc_l__b_0, ptr %sc_l__b_0 + store ptr %p_sc_l__ct_0, ptr %sc_l__ct_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1) + call void @scr_bytes_release(ptr %p0) + call void @scr_str_release(ptr %p1) + ret void +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p_sc_l__url_0, double %p_sc_l__code_0) #0 { ; %method.receiverless:%%m2.ResponseSink.redirect +entry: + %sc_l__url_0 = alloca ptr ; _url + %sc_l__code_0 = alloca double ; _code + store ptr %p_sc_l__url_0, ptr %sc_l__url_0 + store double %p_sc_l__code_0, ptr %sc_l__code_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p0, double %p1) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p0, double %p1) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_write(ptr %p_sc_l__chunk_0) #0 { ; %method.receiverless:%%m2.ResponseSink.write +entry: + %sc_l__chunk_0 = alloca ptr ; _chunk + store ptr %p_sc_l__chunk_0, ptr %sc_l__chunk_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_write(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_write(ptr %p0) + call void @scr_str_release(ptr %p0) + ret void +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeHead(double %p_sc_l__status_0, ptr %p_sc_l__flatPairs_0) #0 { ; %method.receiverless:%%m2.ResponseSink.writeHead +entry: + %sc_l__status_0 = alloca double ; _status + %sc_l__flatPairs_0 = alloca ptr ; _flatPairs + store double %p_sc_l__status_0, ptr %sc_l__status_0 + store ptr %p_sc_l__flatPairs_0, ptr %sc_l__flatPairs_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeHead(double %p0, ptr %p1) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeHead(double %p0, ptr %p1) + call void @scr_arr_release(ptr %p1) + ret void +} + +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_endStream() #0 { ; %method.receiverless:%%m2.ResponseSink.endStream +entry: + ret void +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p_sc_l__view_0) #0 { ; %method.receiverless:%%m2.ResponseSink.adopt +entry: + %sc_l__view_0 = alloca ptr ; _view + store ptr %p_sc_l__view_0, ptr %sc_l__view_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p0) + call void @sc_rrelease_r1(ptr %p0) + ret void +} + +define internal i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_isSent() #0 { ; %method.receiverless:%%m2.ResponseSink.isSent +entry: + ret i1 false +} + +define internal i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_isHeadersSent() #0 { ; %method.receiverless:%%m2.ResponseSink.isHeadersSent +entry: + ret i1 false +} + +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_destroy() #0 { ; %method.receiverless:%%m2.ResponseSink.destroy +entry: + ret void +} + +define internal i32 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_statusOf.i32() #0 { ; %method.receiverless:%%m2.ResponseSink.statusOf +entry: + ret i32 200 +} +define internal double @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_statusOf() #0 { +entry: + %r = call i32 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_statusOf.i32() + %d = sitofp i32 %r to double + ret double %d +} + +define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p_sc_l__k_0) #0 { ; %method.receiverless:%%m2.ResponseSink.headerOf +entry: + %sc_l__k_0 = alloca ptr ; _k + store ptr %p_sc_l__k_0, ptr %sc_l__k_0 + ret ptr @sc_nullable_null +} +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p0) #0 { +entry: + %s0 = alloca ptr + %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p0) + store ptr null, ptr %s0 + %t1 = icmp ne ptr %result, null + br i1 %t1, label %result.own0, label %result.done1 +result.own0: + %t2 = call ptr @sc_nretain_string(ptr %result) + store ptr %t2, ptr %s0 + br label %result.done1 +result.done1: + %t3 = load ptr, ptr %s0 + call void @scr_str_release(ptr %p0) + ret ptr %t3 +} + +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headersMap() #0 { ; %method.receiverless:%%m2.ResponseSink.headersMap +entry: + %t0 = call ptr @sc_rnew_r0() + ret ptr %t0 +} + +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_nodeRes() #0 { ; %method.receiverless:%%m2.ResponseSink.nodeRes +entry: + ret ptr @sc_unit_0 +} + +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_FetchResponseSink_destroy() #0 { ; %method.receiverless:%%m2.FetchResponseSink.destroy +entry: + ret void +} + +define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m11_StaticServer_pick(ptr %p_sc_l_a_0, ptr %p_sc_l_ae_0) #0 { ; %method.receiverless:%%m11.StaticServer.pick +entry: + %sc_l_a_0 = alloca ptr ; a + %sc_l_ae_0 = alloca ptr ; ae + %sc_l_order_0 = alloca ptr ; order + %sc_l_i_0 = alloca i32 ; i + %sc_l__x25_arrayLit_0 = alloca ptr ; %arrayLit + %sc_l__x25_arrayValue_0 = alloca ptr ; %arrayValue + %sc_l_j_0 = alloca i32 ; j + %t1 = alloca [2 x i64] + %s7 = alloca i64 ; integer induction i + %s60 = alloca ptr + %exc.cell = load ptr, ptr @scr_exc_active + %s115 = alloca ptr + %s157 = alloca ptr + %s187 = alloca i1 + %s197 = alloca ptr + store ptr null, ptr %sc_l_order_0 + store ptr null, ptr %sc_l__x25_arrayLit_0 + store ptr null, ptr %sc_l__x25_arrayValue_0 + store ptr %p_sc_l_a_0, ptr %sc_l_a_0 + store ptr %p_sc_l_ae_0, ptr %sc_l_ae_0 + %t0 = call ptr @scr_arr_new(i32 2, i64 2) + %t2 = ptrtoint ptr @sc_lit_2398049524360159 to i64 + %t3 = getelementptr inbounds i64, ptr %t1, i64 0 + store i64 %t2, ptr %t3 + %t4 = ptrtoint ptr @sc_lit_3533245170682650 to i64 + %t5 = getelementptr inbounds i64, ptr %t1, i64 1 + store i64 %t4, ptr %t5 + %t6 = call double @scr_arr_push_many(ptr %t0, i64 2, ptr %t1) + store ptr %t0, ptr %sc_l_order_0 + %t8 = fptosi double 0x0000000000000000 to i64 + store i64 %t8, ptr %s7 + br label %loop.c1 +loop.c1: + %t9 = load ptr, ptr %sc_l_order_0 + %t10 = getelementptr inbounds %ScrArr, ptr %t9, i64 0, i32 1 + %t11 = load i64, ptr %t10, !tbaa !2 + %t12 = load i64, ptr %s7 + %t13 = icmp ult i64 %t12, %t11 + br i1 %t13, label %loop.b2, label %loop.e0 +loop.b2: + %t14 = load ptr, ptr %sc_l_ae_0 + %t15 = call ptr @scr_arr_new(i32 2, i64 1) + store ptr %t15, ptr %sc_l__x25_arrayLit_0 + %t16 = load ptr, ptr %sc_l_order_0 + %t17 = load i64, ptr %s7 + %t18 = load i64, ptr %s7 + %t19 = sitofp i64 %t18 to double + %t20 = trunc i64 %t18 to i32 + %t21 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 2 + %t22 = load i64, ptr %t21, !tbaa !2 + %t23 = icmp ult i64 %t17, %t22 + br i1 %t23, label %local.array.range7, label %local.array.slow4 +local.array.range7: + br label %local.array.dense8 +local.array.dense8: + %t24 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 6 + %t25 = load i32, ptr %t24, !tbaa !2 + %t27 = zext i32 %t25 to i64 + %t26 = icmp ult i64 %t17, %t27 + br i1 %t26, label %local.array.value10, label %local.array.len9 +local.array.len9: + %t28 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1 + %t29 = load i64, ptr %t28, !tbaa !2, !range !{i64 0, i64 4294967296} + %t30 = icmp ult i64 %t17, %t29 + br i1 %t30, label %local.array.state11, label %local.array.missing5 +local.array.state11: + %t31 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 9 + %t32 = load ptr, ptr %t31, !tbaa !2 + %t33 = getelementptr inbounds i8, ptr %t32, i64 %t17 + %t34 = load i8, ptr %t33, !tbaa !4 + %t35 = icmp eq i8 %t34, 1 + br i1 %t35, label %local.array.value10, label %local.array.missing5 +local.array.value10: + %t36 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 8 + %t37 = load ptr, ptr %t36, !tbaa !2 + %t38 = getelementptr inbounds i64, ptr %t37, i64 %t17 + %t39 = load ptr, ptr %t38, !tbaa !6 + %t40 = call ptr @sc_rc_retain_str(ptr %t39) + store ptr %t40, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join6 +local.array.slow4: + %t41 = call ptr @scr_arr_peek_ref(ptr %t16, double %t19) + %t42 = icmp ne ptr %t41, null + br i1 %t42, label %local.array.slow.value12, label %local.array.missing5 +local.array.slow.value12: + %t43 = call ptr @sc_rc_retain_str(ptr %t41) + store ptr %t43, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join6 +local.array.missing5: + store ptr null, ptr %sc_l__x25_arrayValue_0 + br label %local.array.join6 +local.array.join6: + %t44 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t46 = icmp eq ptr %t44, null + br i1 %t46, label %if.t13, label %if.f15 +if.t13: + %t47 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t48 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t49 = getelementptr inbounds %ScrArr, ptr %t48, i32 0, i32 1 + %t50 = load i64, ptr %t49, !tbaa !2, !range !{i64 0, i64 4294967296} + %t51 = sitofp i64 %t50 to double + call void @scr_arr_set_undefined(ptr %t47, double %t51) + br label %if.j14 +if.f15: + %t52 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t53 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t54 = getelementptr inbounds %ScrArr, ptr %t53, i32 0, i32 1 + %t55 = load i64, ptr %t54, !tbaa !2, !range !{i64 0, i64 4294967296} + %t56 = sitofp i64 %t55 to double + %t57 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t59 = icmp ne ptr %t57, null + br i1 %t59, label %tern.t16, label %tern.f17 +tern.t16: + %t61 = load ptr, ptr %sc_l__x25_arrayValue_0 + %t62 = call ptr @sc_rc_retain_str(ptr %t61) + store ptr %t62, ptr %s60 + br label %tern.j18 +tern.f17: + call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407) + br label %exc.cleanup19 +exc.dead20: + store ptr null, ptr %s60 + br label %tern.j18 +tern.j18: + %t63 = load ptr, ptr %s60 + %t64 = fptosi double %t56 to i64 + %t69 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 8 + %t70 = load ptr, ptr %t69, !tbaa !2 + %t73 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 6 + %t74 = load i32, ptr %t73, !tbaa !2 + %t75 = zext i32 %t74 to i64 + %t76 = icmp ult i64 %t64, %t75 + br i1 %t76, label %arr.set.filled23, label %arr.check24 +arr.check24: + %t65 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 1 + %t66 = load i64, ptr %t65, !tbaa !2, !range !{i64 0, i64 4294967296} + %t67 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 2 + %t68 = load i64, ptr %t67, !tbaa !2 + %t71 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 9 + %t72 = load ptr, ptr %t71, !tbaa !2 + %t77 = icmp ult i64 %t64, %t68 + br i1 %t77, label %arr.dense25, label %arr.set.slow21 +arr.dense25: + %t78 = getelementptr inbounds i8, ptr %t72, i64 %t64 + %t79 = getelementptr inbounds i64, ptr %t70, i64 %t64 + %t80 = load i8, ptr %t78, !tbaa !4 + %t81 = load ptr, ptr %t79, !tbaa !6 + store ptr %t63, ptr %t79, !tbaa !6 + store i8 1, ptr %t78, !tbaa !4 + %t82 = zext i32 %t74 to i64 + %t83 = icmp eq i64 %t64, %t82 + br i1 %t83, label %arr.set.bump26, label %arr.set.state27 +arr.set.bump26: + %t84 = trunc i64 %t64 to i32 + %t85 = add i32 %t84, 1 + %t86 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 6 + store i32 %t85, ptr %t86, !tbaa !2 + br label %arr.set.state27 +arr.set.state27: + %t87 = icmp uge i64 %t64, %t66 + br i1 %t87, label %arr.set.grow28, label %arr.set.stored29 +arr.set.grow28: + %t88 = add i64 %t64, 1 + %t89 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 1 + store i64 %t88, ptr %t89, !tbaa !2 + br label %arr.set.stored29 +arr.set.stored29: + %t90 = icmp eq i8 %t80, 1 + br i1 %t90, label %arr.set.release30, label %arr.set.join22 +arr.set.release30: + call void @scr_str_release(ptr %t81) + br label %arr.set.join22 +arr.set.filled23: + %t91 = getelementptr inbounds i64, ptr %t70, i64 %t64 + %t92 = load ptr, ptr %t91, !tbaa !6 + store ptr %t63, ptr %t91, !tbaa !6 + call void @scr_str_release(ptr %t92) + br label %arr.set.join22 +arr.set.slow21: + call void @scr_arr_set_ref(ptr %t52, double %t56, ptr %t63) cold + br label %arr.set.join22 +arr.set.join22: + br label %if.j14 +if.j14: + %t93 = load ptr, ptr %sc_l__x25_arrayLit_0 + %t94 = call ptr @scr_arr_retain_v(ptr %t93) + %t95 = call i1 @sc_bf__x25_m11_acceptable(ptr %t14, ptr %t94) + %t96 = load i32, ptr %exc.cell + %t97 = icmp ne i32 %t96, 0 + %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false) + br i1 %t98, label %exc.u31, label %exc.k32 +exc.u31: + call void @scr_arr_release(ptr %t94) + %t99 = load ptr, ptr %sc_l__x25_arrayLit_0 + call void @scr_arr_release(ptr %t99) + %t100 = load ptr, ptr %sc_l__x25_arrayValue_0 + call void @scr_str_release(ptr %t100) + br label %exc.cleanup33 +exc.k32: + call void @scr_arr_release(ptr %t94) + %t101 = load ptr, ptr %sc_l__x25_arrayLit_0 + call void @scr_arr_release(ptr %t101) + %t102 = load ptr, ptr %sc_l__x25_arrayValue_0 + call void @scr_str_release(ptr %t102) + %t103 = xor i1 %t95, true + br i1 %t103, label %if.t34, label %if.j35 +if.t34: + br label %loop.u3 +if.j35: + store i32 0, ptr %sc_l_j_0 + br label %loop.c37 +loop.c37: + %t104 = load i32, ptr %sc_l_j_0 + %t105 = uitofp i32 %t104 to double + %t106 = load ptr, ptr %sc_l_a_0 + %t107 = getelementptr inbounds %sc_rs_r11, ptr %t106, i64 0, i32 2 + %t108 = load ptr, ptr %t107 + %t109 = getelementptr inbounds %ScrArr, ptr %t108, i32 0, i32 1 + %t110 = load i64, ptr %t109, !tbaa !2, !range !{i64 0, i64 4294967296} + %t111 = sitofp i64 %t110 to double + %t113 = fptosi double %t111 to i64 + %t114 = zext i32 %t104 to i64 + %t112 = icmp slt i64 %t114, %t113 + br i1 %t112, label %loop.b38, label %loop.e36 +loop.b38: + %t116 = load ptr, ptr %sc_l_a_0 + %t117 = getelementptr inbounds %sc_rs_r11, ptr %t116, i64 0, i32 2 + %t118 = load ptr, ptr %t117 + %t119 = load i32, ptr %sc_l_j_0 + %t120 = uitofp i32 %t119 to double + %t121 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 2 + %t122 = load i64, ptr %t121, !tbaa !2 + %t123 = fptosi double %t120 to i64 + %t124 = freeze i64 %t123 + %t125 = sitofp i64 %t124 to double + %t126 = fcmp oeq double %t125, %t120 + %t127 = icmp ult i64 %t124, %t122 + %t128 = and i1 %t126, %t127 + br i1 %t128, label %local.array.range43, label %local.array.slow40 +local.array.range43: + br label %local.array.dense44 +local.array.dense44: + %t129 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 6 + %t130 = load i32, ptr %t129, !tbaa !2 + %t132 = zext i32 %t130 to i64 + %t131 = icmp ult i64 %t124, %t132 + br i1 %t131, label %local.array.value46, label %local.array.len45 +local.array.len45: + %t133 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 1 + %t134 = load i64, ptr %t133, !tbaa !2, !range !{i64 0, i64 4294967296} + %t135 = icmp ult i64 %t124, %t134 + br i1 %t135, label %local.array.state47, label %local.array.missing41 +local.array.state47: + %t136 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 9 + %t137 = load ptr, ptr %t136, !tbaa !2 + %t138 = getelementptr inbounds i8, ptr %t137, i64 %t124 + %t139 = load i8, ptr %t138, !tbaa !4 + %t140 = icmp eq i8 %t139, 1 + br i1 %t140, label %local.array.value46, label %local.array.missing41 +local.array.value46: + %t141 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 8 + %t142 = load ptr, ptr %t141, !tbaa !2 + %t143 = getelementptr inbounds i64, ptr %t142, i64 %t124 + %t144 = load ptr, ptr %t143, !tbaa !6 + store ptr %t144, ptr %s115 + br label %local.array.join42 +local.array.slow40: + %t145 = call ptr @scr_arr_peek_ref(ptr %t118, double %t120) + %t146 = icmp ne ptr %t145, null + br i1 %t146, label %local.array.slow.value48, label %local.array.missing41 +local.array.slow.value48: + store ptr %t145, ptr %s115 + br label %local.array.join42 +local.array.missing41: + store ptr null, ptr %s115 + br label %local.array.join42 +local.array.join42: + %t147 = load ptr, ptr %s115 + %t149 = icmp eq ptr %t147, null + %t148 = select i1 %t149, i32 1, i32 0 + %t150 = icmp eq i32 %t148, 0 + br i1 %t150, label %narrow.present49, label %narrow.other50 +narrow.other50: + call ptr @sc_bf__x25_union_narrow_11(ptr %t147) + %t151 = load i32, ptr %exc.cell + %t152 = icmp ne i32 %t151, 0 + %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false) + br i1 %t153, label %exc.u51, label %exc.k52 +exc.u51: + br label %exc.cleanup33 +exc.k52: + unreachable +narrow.present49: + %t154 = getelementptr inbounds %sc_rs_r10, ptr %t147, i64 0, i32 2 + %t155 = load ptr, ptr %t154 + %t156 = call ptr @sc_rc_retain_str(ptr %t155) + %t158 = load ptr, ptr %sc_l_order_0 + %t159 = load i64, ptr %s7 + %t160 = load i64, ptr %s7 + %t161 = sitofp i64 %t160 to double + %t162 = trunc i64 %t160 to i32 + %t163 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 2 + %t164 = load i64, ptr %t163, !tbaa !2 + %t165 = icmp ult i64 %t159, %t164 + br i1 %t165, label %local.array.range56, label %local.array.slow53 +local.array.range56: + br label %local.array.dense57 +local.array.dense57: + %t166 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 6 + %t167 = load i32, ptr %t166, !tbaa !2 + %t169 = zext i32 %t167 to i64 + %t168 = icmp ult i64 %t159, %t169 + br i1 %t168, label %local.array.value59, label %local.array.len58 +local.array.len58: + %t170 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 1 + %t171 = load i64, ptr %t170, !tbaa !2, !range !{i64 0, i64 4294967296} + %t172 = icmp ult i64 %t159, %t171 + br i1 %t172, label %local.array.state60, label %local.array.missing54 +local.array.state60: + %t173 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 9 + %t174 = load ptr, ptr %t173, !tbaa !2 + %t175 = getelementptr inbounds i8, ptr %t174, i64 %t159 + %t176 = load i8, ptr %t175, !tbaa !4 + %t177 = icmp eq i8 %t176, 1 + br i1 %t177, label %local.array.value59, label %local.array.missing54 +local.array.value59: + %t178 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 8 + %t179 = load ptr, ptr %t178, !tbaa !2 + %t180 = getelementptr inbounds i64, ptr %t179, i64 %t159 + %t181 = load ptr, ptr %t180, !tbaa !6 + %t182 = call ptr @sc_rc_retain_str(ptr %t181) + store ptr %t182, ptr %s157 + br label %local.array.join55 +local.array.slow53: + %t183 = call ptr @scr_arr_peek_ref(ptr %t158, double %t161) + %t184 = icmp ne ptr %t183, null + br i1 %t184, label %local.array.slow.value61, label %local.array.missing54 +local.array.slow.value61: + %t185 = call ptr @sc_rc_retain_str(ptr %t183) + store ptr %t185, ptr %s157 + br label %local.array.join55 +local.array.missing54: + store ptr null, ptr %s157 + br label %local.array.join55 +local.array.join55: + %t186 = load ptr, ptr %s157 + %t188 = icmp eq ptr %t156, %t186 + %t190 = icmp ne ptr %t156, null + %t191 = icmp ne ptr %t186, null + %t189 = and i1 %t190, %t191 + store i1 %t188, ptr %s187 + %t192 = xor i1 %t188, true + %t193 = and i1 %t192, %t189 + br i1 %t193, label %ues.b62, label %ues.j63 +ues.b62: + %t194 = call zeroext i1 @sc_str_eq(ptr %t156, ptr %t186) + store i1 %t194, ptr %s187 + br label %ues.j63 +ues.j63: + %t195 = load i1, ptr %s187 + call void @scr_str_release(ptr %t156) + %t196 = load ptr, ptr %s157 + call void @scr_str_release(ptr %t196) + br i1 %t195, label %if.t64, label %if.j65 +if.t64: + %t198 = load ptr, ptr %sc_l_a_0 + %t199 = getelementptr inbounds %sc_rs_r11, ptr %t198, i64 0, i32 2 + %t200 = load ptr, ptr %t199 + %t201 = load i32, ptr %sc_l_j_0 + %t202 = uitofp i32 %t201 to double + %t203 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 2 + %t204 = load i64, ptr %t203, !tbaa !2 + %t205 = fptosi double %t202 to i64 + %t206 = freeze i64 %t205 + %t207 = sitofp i64 %t206 to double + %t208 = fcmp oeq double %t207, %t202 + %t209 = icmp ult i64 %t206, %t204 + %t210 = and i1 %t208, %t209 + br i1 %t210, label %local.array.range69, label %local.array.slow66 +local.array.range69: + br label %local.array.dense70 +local.array.dense70: + %t211 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 6 + %t212 = load i32, ptr %t211, !tbaa !2 + %t214 = zext i32 %t212 to i64 + %t213 = icmp ult i64 %t206, %t214 + br i1 %t213, label %local.array.value72, label %local.array.len71 +local.array.len71: + %t215 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 1 + %t216 = load i64, ptr %t215, !tbaa !2, !range !{i64 0, i64 4294967296} + %t217 = icmp ult i64 %t206, %t216 + br i1 %t217, label %local.array.state73, label %local.array.missing67 +local.array.state73: + %t218 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 9 + %t219 = load ptr, ptr %t218, !tbaa !2 + %t220 = getelementptr inbounds i8, ptr %t219, i64 %t206 + %t221 = load i8, ptr %t220, !tbaa !4 + %t222 = icmp eq i8 %t221, 1 + br i1 %t222, label %local.array.value72, label %local.array.missing67 +local.array.value72: + %t223 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 8 + %t224 = load ptr, ptr %t223, !tbaa !2 + %t225 = getelementptr inbounds i64, ptr %t224, i64 %t206 + %t226 = load ptr, ptr %t225, !tbaa !6 + store ptr %t226, ptr %s197 + br label %local.array.join68 +local.array.slow66: + %t227 = call ptr @scr_arr_peek_ref(ptr %t200, double %t202) + %t228 = icmp ne ptr %t227, null + br i1 %t228, label %local.array.slow.value74, label %local.array.missing67 +local.array.slow.value74: + store ptr %t227, ptr %s197 + br label %local.array.join68 +local.array.missing67: + store ptr null, ptr %s197 + br label %local.array.join68 +local.array.join68: + %t229 = load ptr, ptr %s197 + %t230 = call ptr @sc_bf__x25_union_retag_13(ptr %t229) + %t231 = load i32, ptr %exc.cell + %t232 = icmp ne i32 %t231, 0 + %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false) + br i1 %t233, label %exc.u75, label %exc.k76 +exc.u75: + br label %exc.cleanup33 +exc.k76: + %t234 = call ptr @sc_rretain_r10(ptr %t230) + %t235 = load ptr, ptr %sc_l_order_0 + call void @scr_arr_release(ptr %t235) + ret ptr %t234 +if.j65: + br label %loop.u39 +loop.u39: + %t236 = load i32, ptr %sc_l_j_0 + %t237 = uitofp i32 %t236 to double + %t239 = zext i32 %t236 to i64 + %t240 = add nsw i64 %t239, 1 + %t242 = trunc i64 %t240 to i32 + %t241 = sitofp i64 %t240 to double + %t243 = trunc i64 %t240 to i32 + store i32 %t243, ptr %sc_l_j_0 + br label %loop.c37 +loop.e36: + br label %loop.u3 +loop.u3: + %t244 = load i64, ptr %s7 + %t245 = add nuw i64 %t244, 1 + store i64 %t245, ptr %s7 + br label %loop.c1 +loop.e0: + %t246 = load ptr, ptr %sc_l_order_0 + call void @scr_arr_release(ptr %t246) + ret ptr @sc_nullable_null +exc.cleanup19: + %t247 = load ptr, ptr %sc_l__x25_arrayLit_0 + call void @scr_arr_release(ptr %t247) + %t248 = load ptr, ptr %sc_l__x25_arrayValue_0 + call void @scr_str_release(ptr %t248) + %t249 = load ptr, ptr %sc_l_order_0 + call void @scr_arr_release(ptr %t249) + ret ptr null +exc.cleanup33: + %t250 = load ptr, ptr %sc_l_order_0 + call void @scr_arr_release(ptr %t250) + ret ptr null +} +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1) + call void @sc_rrelease_r11(ptr %p0) + call void @scr_str_release(ptr %p1) + ret ptr %result +} + +define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p_sc_l__b_0) #0 { ; %method.receiverless:%%m4.MultipartFileSink.write +entry: + %sc_l__b_0 = alloca ptr ; _b + store ptr %p_sc_l__b_0, ptr %sc_l__b_0 + ret void +} +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p0) #0 { +entry: + call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p0) + call void @scr_bytes_release(ptr %p0) + ret void +} + +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_end() #0 { ; %method.receiverless:%%m4.MultipartFileSink.end +entry: + ret void +} + +define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_abort() #0 { ; %method.receiverless:%%m4.MultipartFileSink.abort +entry: + ret void +} + +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_file() #0 { ; %method.receiverless:%%m4.MultipartFileSink.file +entry: + ret ptr null +} + +define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p_sc_l__field_0, ptr %p_sc_l__filename_0, ptr %p_sc_l__mime_0) #0 { ; %method.receiverless:%%m4.MultipartStorage.begin +entry: + %sc_l__field_0 = alloca ptr ; _field + %sc_l__filename_0 = alloca ptr ; _filename + %sc_l__mime_0 = alloca ptr ; _mime + store ptr %p_sc_l__field_0, ptr %sc_l__field_0 + store ptr %p_sc_l__filename_0, ptr %sc_l__filename_0 + store ptr %p_sc_l__mime_0, ptr %sc_l__mime_0 + %t0 = call ptr @sc_new__x25_m4_MultipartFileSink() + call void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %t0) + ret ptr %t0 +} +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret ptr %result +} + +define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p_sc_l_field_0, ptr %p_sc_l_filename_0, ptr %p_sc_l_mime_0) #0 { ; %method.receiverless:%%m4.MemoryStorage.begin +entry: + %sc_l_field_0 = alloca ptr ; field + %sc_l_filename_0 = alloca ptr ; filename + %sc_l_mime_0 = alloca ptr ; mime + %exc.cell = load ptr, ptr @scr_exc_active + store ptr %p_sc_l_field_0, ptr %sc_l_field_0 + store ptr %p_sc_l_filename_0, ptr %sc_l_filename_0 + store ptr %p_sc_l_mime_0, ptr %sc_l_mime_0 + %t0 = call ptr @sc_new__x25_m4_MemoryFileSink() + %t1 = load ptr, ptr %sc_l_field_0 + %t2 = load ptr, ptr %sc_l_filename_0 + %t3 = load ptr, ptr %sc_l_mime_0 + call void @sc_bf__x25__x25_m4_MemoryFileSink_constructor(ptr %t0, ptr %t1, ptr %t2, ptr %t3) + %t4 = load i32, ptr %exc.cell + %t5 = icmp ne i32 %t4, 0 + %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false) + br i1 %t6, label %exc.u0, label %exc.k1 +exc.u0: + call void @sc_release__x25_m4_MemoryFileSink(ptr %t0) + ret ptr null +exc.k1: + ret ptr %t0 +} +define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2) #0 { +entry: + %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2) + call void @scr_str_release(ptr %p0) + call void @scr_str_release(ptr %p1) + call void @scr_str_release(ptr %p2) + ret ptr %result +} + +declare void @scr_error_set_traced() + +declare void @scr_exc_print_uncaught() +declare zeroext i1 @scr_exc_handle_uncaught(i1 zeroext) + +define i32 @main(i32 %argc, ptr %argv) #0 { +entry: + call void @scr_runtime_abi_v22() + call void @scr_init() + call void @scr_stack_guard_init() + call void @scr_error_install_name_reader(ptr @sc_f__x25_error_name_read) + call void @scr_error_install_message_reader(ptr @sc_f__x25_error_message_read) + call void @scr_error_register_dyn(ptr @sc_vtable__x25_m5_MethodNotAllowedError, ptr @sc_error_view_2) + store i64 0, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 0, i32 0) + store i64 11, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 0, i32 1) ; Error + store i64 1, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 1, i32 0) + store i64 1, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 1, i32 1) ; TypeError + store i64 2, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 2, i32 0) + store i64 2, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 2, i32 1) ; RangeError + store i64 3, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 3, i32 0) + store i64 3, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 3, i32 1) ; SyntaxError + store i64 4, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 4, i32 0) + store i64 4, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 4, i32 1) ; DOMException + store i64 5, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 5, i32 0) + store i64 5, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 5, i32 1) ; ReferenceError + store i64 6, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 6, i32 0) + store i64 6, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 6, i32 1) ; EvalError + store i64 7, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 7, i32 0) + store i64 7, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 7, i32 1) ; URIError + store i64 8, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 8, i32 0) + store i64 8, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 8, i32 1) ; AggregateError + store i64 9, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 9, i32 0) + store i64 9, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 9, i32 1) ; AssertionError + store i64 10, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 10, i32 0) + store i64 10, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 10, i32 1) ; SuppressedError + call void @scr_error_set_traced() + call void @scr_fetch_install() + call void @scr_net_install() + call void @scr_net_dyn_install() + call void @scr_http_dyn_install() + call void @scr_lib_init(i32 %argc, ptr %argv) + call void @sc_f__x25_main() + %exc = call zeroext i1 @scr_exc_pending() + br i1 %exc, label %uncaught, label %ok +uncaught: + %handled = call zeroext i1 @scr_exc_handle_uncaught(i1 false) + br i1 %handled, label %ok, label %fatal +fatal: + call void @scr_exc_print_uncaught() + %gu.frees = call zeroext i1 @scr_exit_frees() + br i1 %gu.frees, label %gu.release, label %gu.kept +gu.release: + %gu1 = load ptr, ptr @sc_g_m4_EMPTY_U8 + call void @scr_bytes_release(ptr %gu1) ; EMPTY_U8 + %gu10 = load ptr, ptr @sc_g_m5_EMPTY_S + call void @scr_arr_release(ptr %gu10) ; EMPTY_S + %gu11 = load ptr, ptr @sc_g_m5_EMPTY_N + call void @scr_arr_release(ptr %gu11) ; EMPTY_N + %gu12 = load ptr, ptr @sc_g_m5_Ctx + call void @scr_classobj_release_v(ptr %gu12) ; Ctx + %gu13 = load ptr, ptr @sc_g_m5_ReqView + call void @scr_classobj_release_v(ptr %gu13) ; ReqView + %gu14 = load ptr, ptr @sc_g_m5_CtxRes + call void @scr_classobj_release_v(ptr %gu14) ; CtxRes + %gu15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + call void @sc_release__x25_m4_MemoryStorage(ptr %gu15) ; MP_SHARED_MEM + %gu16 = load ptr, ptr @sc_g_m7_TYPES + call void @sc_rrelease_r0(ptr %gu16) ; TYPES + %gu17 = load ptr, ptr @sc_g_m10_DAYS + call void @scr_str_release(ptr %gu17) ; DAYS + %gu18 = load ptr, ptr @sc_g_m10_MONTHS + call void @scr_str_release(ptr %gu18) ; MONTHS + %gu19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC + call void @scr_str_release(ptr %gu19) ; IMMUTABLE_CC + %gu20 = load ptr, ptr @sc_g_m14_RECORDS + call void @scr_arr_release(ptr %gu20) ; RECORDS + %gu37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + call void @sc_rc_release_dyn(ptr %gu37) ; App.prototype + %gu39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + call void @sc_rc_release_dyn(ptr %gu39) ; CtxCore.prototype + %gu41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + call void @sc_rc_release_dyn(ptr %gu41) ; AssetSource.prototype + %gu43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + call void @sc_rc_release_dyn(ptr %gu43) ; EmbeddedAssets.prototype + %gu45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets + call void @sc_rc_release_dyn(ptr %gu45) ; BakedAssets.prototype + %gu47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + call void @sc_rc_release_dyn(ptr %gu47) ; GenDispatch.prototype + %gu49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + call void @sc_rc_release_dyn(ptr %gu49) ; GenFetch.prototype + %gu51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + call void @sc_rc_release_dyn(ptr %gu51) ; UpgradeDispatch.prototype + %gu53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + call void @sc_rc_release_dyn(ptr %gu53) ; LiteRequest.prototype + %gu55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + call void @sc_rc_release_dyn(ptr %gu55) ; ResponseSink.prototype + %gu57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + call void @sc_rc_release_dyn(ptr %gu57) ; FetchResponseSink.prototype + %gu59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + call void @sc_rc_release_dyn(ptr %gu59) ; ReqViewCore.prototype + %gu61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + call void @sc_rc_release_dyn(ptr %gu61) ; StaticServer.prototype + %gu63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + call void @sc_rc_release_dyn(ptr %gu63) ; MultipartParser.prototype + %gu65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + call void @sc_rc_release_dyn(ptr %gu65) ; LiteResponse.prototype + %gu67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + call void @sc_rc_release_dyn(ptr %gu67) ; MultipartFileSink.prototype + %gu69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + call void @sc_rc_release_dyn(ptr %gu69) ; MultipartStorage.prototype + %gu71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + call void @sc_rc_release_dyn(ptr %gu71) ; MemoryStorage.prototype + %gu73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + call void @sc_rc_release_dyn(ptr %gu73) ; NodeResponseSink.prototype + %gu75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + call void @sc_rc_release_dyn(ptr %gu75) ; MemoryFileSink.prototype + %gu77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + call void @sc_rc_release_dyn(ptr %gu77) ; LiteHeaders.prototype + %gu79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + call void @sc_rc_release_dyn(ptr %gu79) ; CtxResCore.prototype + %gufp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + call void @scr_box_release(ptr %gufp0) ; %m5.defaultNotFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + %gufp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + call void @scr_box_release(ptr %gufp1) ; %method.value:%%m5.App.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + %gufp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + call void @scr_box_release(ptr %gufp2) ; %method.value:%%m5.App.post.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + %gufp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + call void @scr_box_release(ptr %gufp3) ; %method.value:%%m5.App.put.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + %gufp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + call void @scr_box_release(ptr %gufp4) ; %method.value:%%m5.App.delete.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + %gufp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + call void @scr_box_release(ptr %gufp5) ; %method.value:%%m5.App.patch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + %gufp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + call void @scr_box_release(ptr %gufp6) ; %method.value:%%m5.App.head.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + %gufp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + call void @scr_box_release(ptr %gufp7) ; %method.value:%%m5.App.options.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + %gufp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + call void @scr_box_release(ptr %gufp8) ; %method.value:%%m5.App.all.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + %gufp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + call void @scr_box_release(ptr %gufp9) ; %method.value:%%m5.App.on.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + %gufp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + call void @scr_box_release(ptr %gufp10) ; %method.value:%%m5.App.use.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + %gufp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + call void @scr_box_release(ptr %gufp11) ; %method.value:%%m5.App.notFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + %gufp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + call void @scr_box_release(ptr %gufp12) ; %method.value:%%m5.App.onError.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + %gufp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + call void @scr_box_release(ptr %gufp13) ; %method.value:%%m5.App.route.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + %gufp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gufp14) ; %method.value:%%m5.App.withDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + %gufp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gufp15) ; %method.value:%%m5.App.withFetchDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + %gufp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + call void @scr_box_release(ptr %gufp16) ; %method.value:%%m5.App.withUpgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + %gufp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + call void @scr_box_release(ptr %gufp17) ; %method.value:%%m5.App.upgradeHandler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + %gufp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + call void @scr_box_release(ptr %gufp18) ; %method.value:%%m5.App.handler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + %gufp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + call void @scr_box_release(ptr %gufp19) ; %method.value:%%m5.App.fetchBridge.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + %gufp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + call void @scr_box_release(ptr %gufp20) ; %method.value:%%m5.App.serve.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + %gufp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + call void @scr_box_release(ptr %gufp21) ; %method.value:%%m5.App.serveFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + %gufp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + call void @scr_box_release(ptr %gufp22) ; %method.value:%%m5.App._regFn.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + %gufp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + call void @scr_box_release(ptr %gufp23) ; %method.value:%%m5.App._add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + %gufp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + call void @scr_box_release(ptr %gufp24) ; %method.value:%%m5.App.fetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + %gufp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + call void @scr_box_release(ptr %gufp25) ; %method.value:%%m5.App.fetchShim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + %gufp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + call void @scr_box_release(ptr %gufp26) ; %method.value:%%m5.App._dispatchPrim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + %gufp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gufp27) ; %method.value:%%m5.App._dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + %gufp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gufp28) ; %method.value:%%m5.CtxCore.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + %gufp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + call void @scr_box_release(ptr %gufp29) ; %method.value:%%m5.CtxCore.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + %gufp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gufp30) ; %method.value:%%m5.CtxCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + %gufp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + call void @scr_box_release(ptr %gufp31) ; %method.value:%%m5.CtxCore.status.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + %gufp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + call void @scr_box_release(ptr %gufp32) ; %method.value:%%m5.CtxCore.set.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + %gufp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + call void @scr_box_release(ptr %gufp33) ; %method.value:%%m5.CtxCore.json.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + %gufp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + call void @scr_box_release(ptr %gufp34) ; %method.value:%%m5.CtxCore.html.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + %gufp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + call void @scr_box_release(ptr %gufp35) ; %method.value:%%m5.CtxCore.bytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + %gufp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + call void @scr_box_release(ptr %gufp36) ; %method.value:%%m5.CtxCore._send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + %gufp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + call void @scr_box_release(ptr %gufp37) ; %method.value:%%m6.AssetSource.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + %gufp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + call void @scr_box_release(ptr %gufp38) ; %method.value:%%m9.EmbeddedAssets.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + %gufp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + call void @scr_box_release(ptr %gufp39) ; %method.value:%%m9.EmbeddedAssets.add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + %gufp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + call void @scr_box_release(ptr %gufp40) ; %method.value:%%m9.EmbeddedAssets.load.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + %gufp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gufp41) ; %method.value:%%m0.GenDispatch.dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + %gufp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + call void @scr_box_release(ptr %gufp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + %gufp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + call void @scr_box_release(ptr %gufp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + %gufp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + call void @scr_box_release(ptr %gufp44) ; %method.value:%%m3.LiteRequest.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + %gufp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + call void @scr_box_release(ptr %gufp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + %gufp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + call void @scr_box_release(ptr %gufp46) ; %method.value:%%m3.LiteRequest.request.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + %gufp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gufp47) ; %method.value:%%m2.ResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + %gufp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gufp48) ; %method.value:%%m2.ResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + %gufp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gufp49) ; %method.value:%%m2.ResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + %gufp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gufp50) ; %method.value:%%m2.ResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + %gufp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gufp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + %gufp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gufp52) ; %method.value:%%m2.ResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + %gufp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gufp53) ; %method.value:%%m2.ResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + %gufp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gufp54) ; %method.value:%%m2.ResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + %gufp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gufp55) ; %method.value:%%m2.ResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + %gufp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gufp56) ; %method.value:%%m2.ResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + %gufp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gufp57) ; %method.value:%%m2.ResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + %gufp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gufp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + %gufp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gufp59) ; %method.value:%%m2.ResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + %gufp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gufp60) ; %method.value:%%m2.ResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + %gufp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gufp61) ; %method.value:%%m2.ResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + %gufp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gufp62) ; %method.value:%%m2.ResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + %gufp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gufp63) ; %method.value:%%m2.ResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + %gufp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gufp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + %gufp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gufp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + %gufp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gufp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + %gufp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gufp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + %gufp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gufp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + %gufp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gufp69) ; %method.value:%%m2.FetchResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + %gufp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gufp70) ; %method.value:%%m2.FetchResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + %gufp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gufp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + %gufp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gufp72) ; %method.value:%%m2.FetchResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + %gufp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gufp73) ; %method.value:%%m2.FetchResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + %gufp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gufp74) ; %method.value:%%m2.FetchResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + %gufp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gufp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + %gufp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gufp76) ; %method.value:%%m2.FetchResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + %gufp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gufp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + %gufp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gufp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + %gufp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gufp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + %gufp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + call void @scr_box_release(ptr %gufp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + %gufp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + call void @scr_box_release(ptr %gufp81) ; %method.value:%%m5.ReqViewCore.body.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + %gufp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + call void @scr_box_release(ptr %gufp82) ; %method.value:%%m5.ReqViewCore.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + %gufp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + call void @scr_box_release(ptr %gufp83) ; %method.value:%%m5.ReqViewCore.rawReq.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + %gufp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + call void @scr_box_release(ptr %gufp84) ; %method.value:%%m5.ReqViewCore._setWeb.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + %gufp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + call void @scr_box_release(ptr %gufp85) ; %method.value:%%m5.ReqViewCore.param.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + %gufp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + call void @scr_box_release(ptr %gufp86) ; %method.value:%%m5.ReqViewCore._seedPm.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + %gufp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + call void @scr_box_release(ptr %gufp87) ; %method.value:%%m5.ReqViewCore._pmNow.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + %gufp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + call void @scr_box_release(ptr %gufp88) ; %method.value:%%m5.ReqViewCore.query.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + %gufp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + call void @scr_box_release(ptr %gufp89) ; %method.value:%%m5.ReqViewCore.queryAll.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + %gufp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + call void @scr_box_release(ptr %gufp90) ; %method.value:%%m5.ReqViewCore.queries.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + %gufp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gufp91) ; %method.value:%%m5.ReqViewCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + %gufp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + call void @scr_box_release(ptr %gufp92) ; %method.value:%%m5.ReqViewCore._setBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + %gufp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + call void @scr_box_release(ptr %gufp93) ; %method.value:%%m5.ReqViewCore.files.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + %gufp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + call void @scr_box_release(ptr %gufp94) ; %method.value:%%m5.ReqViewCore.field.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + %gufp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + call void @scr_box_release(ptr %gufp95) ; %method.value:%%m5.ReqViewCore.fields.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + %gufp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + call void @scr_box_release(ptr %gufp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + %gufp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + call void @scr_box_release(ptr %gufp97) ; %method.value:%%m5.ReqViewCore._parsed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + %gufp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + call void @scr_box_release(ptr %gufp98) ; %method.value:%%m11.StaticServer.isApi.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + %gufp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + call void @scr_box_release(ptr %gufp99) ; %method.value:%%m11.StaticServer.handle.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + %gufp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + call void @scr_box_release(ptr %gufp100) ; %method.value:%%m11.StaticServer.send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + %gufp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + call void @scr_box_release(ptr %gufp101) ; %method.value:%%m11.StaticServer.pick.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + %gufp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + call void @scr_box_release(ptr %gufp102) ; %method.value:%%m4.MultipartParser.feed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + %gufp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + call void @scr_box_release(ptr %gufp103) ; %method.value:%%m4.MultipartParser.finish.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + %gufp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + call void @scr_box_release(ptr %gufp104) ; %method.value:%%m4.MultipartParser._malformed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + %gufp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + call void @scr_box_release(ptr %gufp105) ; %method.value:%%m4.MultipartParser._limit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + %gufp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + call void @scr_box_release(ptr %gufp106) ; %method.value:%%m4.MultipartParser._abortPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + %gufp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + call void @scr_box_release(ptr %gufp107) ; %method.value:%%m4.MultipartParser._startPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + %gufp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + call void @scr_box_release(ptr %gufp108) ; %method.value:%%m4.MultipartParser._emit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + %gufp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + call void @scr_box_release(ptr %gufp109) ; %method.value:%%m4.MultipartParser._endPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + %gufp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gufp110) ; %method.value:%%m3.LiteResponse.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + %gufp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gufp111) ; %method.value:%%m3.LiteResponse.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + %gufp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gufp112) ; %method.value:%%m3.LiteResponse.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + %gufp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gufp113) ; %method.value:%%m3.LiteResponse.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + %gufp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gufp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + %gufp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gufp115) ; %method.value:%%m3.LiteResponse.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + %gufp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + call void @scr_box_release(ptr %gufp116) ; %method.value:%%m3.LiteResponse.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + %gufp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gufp117) ; %method.value:%%m3.LiteResponse.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + %gufp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gufp118) ; %method.value:%%m3.LiteResponse.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + %gufp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gufp119) ; %method.value:%%m3.LiteResponse.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + %gufp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gufp120) ; %method.value:%%m3.LiteResponse.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + %gufp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gufp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + %gufp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gufp122) ; %method.value:%%m3.LiteResponse.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + %gufp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gufp123) ; %method.value:%%m4.MultipartFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + %gufp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + call void @scr_box_release(ptr %gufp124) ; %method.value:%%m4.MultipartFileSink.end.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + %gufp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + call void @scr_box_release(ptr %gufp125) ; %method.value:%%m4.MultipartFileSink.abort.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + %gufp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %gufp126) ; %method.value:%%m4.MultipartFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + %gufp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %gufp127) ; %method.value:%%m4.MultipartStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + %gufp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %gufp128) ; %method.value:%%m4.MemoryStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + %gufp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gufp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + %gufp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gufp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + %gufp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gufp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + %gufp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gufp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + %gufp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gufp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + %gufp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gufp134) ; %method.value:%%m2.NodeResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + %gufp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gufp135) ; %method.value:%%m2.NodeResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + %gufp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gufp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + %gufp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gufp137) ; %method.value:%%m2.NodeResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + %gufp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gufp138) ; %method.value:%%m2.NodeResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + %gufp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gufp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + %gufp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gufp140) ; %method.value:%%m2.NodeResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + %gufp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gufp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + %gufp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gufp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + %gufp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gufp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + %gufp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gufp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + %gufp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gufp145) ; %method.value:%%m4.MemoryFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + %gufp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %gufp146) ; %method.value:%%m4.MemoryFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + %gufp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + call void @scr_box_release(ptr %gufp147) ; %method.value:%%m3.LiteHeaders.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + %gufp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + call void @scr_box_release(ptr %gufp148) ; %method.value:%%m3.LiteHeaders.has.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + %gufp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + call void @scr_box_release(ptr %gufp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + %gufp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + call void @scr_box_release(ptr %gufp150) ; %method.value:%%m3.LiteHeaders.forEach.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + %gufp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + call void @scr_box_release(ptr %gufp151) ; %method.value:%%Error.toString.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + %gufp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gufp152) ; %method.value:%%m5.CtxResCore.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + %gufp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gufp153) ; %method.value:%%m5.CtxResCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + br label %gu.kept +gu.kept: + %failure_code_0 = call i32 @scr_exit_code_hint_get() + ret i32 %failure_code_0 +ok: + %loop_rejection = call zeroext i1 @scr_loop_run(ptr null) + %lexc = call zeroext i1 @scr_exc_pending() + br i1 %lexc, label %luncaught, label %lok +luncaught: + call void @scr_exc_print_uncaught() + %gl.frees = call zeroext i1 @scr_exit_frees() + br i1 %gl.frees, label %gl.release, label %gl.kept +gl.release: + %gl1 = load ptr, ptr @sc_g_m4_EMPTY_U8 + call void @scr_bytes_release(ptr %gl1) ; EMPTY_U8 + %gl10 = load ptr, ptr @sc_g_m5_EMPTY_S + call void @scr_arr_release(ptr %gl10) ; EMPTY_S + %gl11 = load ptr, ptr @sc_g_m5_EMPTY_N + call void @scr_arr_release(ptr %gl11) ; EMPTY_N + %gl12 = load ptr, ptr @sc_g_m5_Ctx + call void @scr_classobj_release_v(ptr %gl12) ; Ctx + %gl13 = load ptr, ptr @sc_g_m5_ReqView + call void @scr_classobj_release_v(ptr %gl13) ; ReqView + %gl14 = load ptr, ptr @sc_g_m5_CtxRes + call void @scr_classobj_release_v(ptr %gl14) ; CtxRes + %gl15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + call void @sc_release__x25_m4_MemoryStorage(ptr %gl15) ; MP_SHARED_MEM + %gl16 = load ptr, ptr @sc_g_m7_TYPES + call void @sc_rrelease_r0(ptr %gl16) ; TYPES + %gl17 = load ptr, ptr @sc_g_m10_DAYS + call void @scr_str_release(ptr %gl17) ; DAYS + %gl18 = load ptr, ptr @sc_g_m10_MONTHS + call void @scr_str_release(ptr %gl18) ; MONTHS + %gl19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC + call void @scr_str_release(ptr %gl19) ; IMMUTABLE_CC + %gl20 = load ptr, ptr @sc_g_m14_RECORDS + call void @scr_arr_release(ptr %gl20) ; RECORDS + %gl37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + call void @sc_rc_release_dyn(ptr %gl37) ; App.prototype + %gl39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + call void @sc_rc_release_dyn(ptr %gl39) ; CtxCore.prototype + %gl41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + call void @sc_rc_release_dyn(ptr %gl41) ; AssetSource.prototype + %gl43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + call void @sc_rc_release_dyn(ptr %gl43) ; EmbeddedAssets.prototype + %gl45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets + call void @sc_rc_release_dyn(ptr %gl45) ; BakedAssets.prototype + %gl47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + call void @sc_rc_release_dyn(ptr %gl47) ; GenDispatch.prototype + %gl49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + call void @sc_rc_release_dyn(ptr %gl49) ; GenFetch.prototype + %gl51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + call void @sc_rc_release_dyn(ptr %gl51) ; UpgradeDispatch.prototype + %gl53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + call void @sc_rc_release_dyn(ptr %gl53) ; LiteRequest.prototype + %gl55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + call void @sc_rc_release_dyn(ptr %gl55) ; ResponseSink.prototype + %gl57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + call void @sc_rc_release_dyn(ptr %gl57) ; FetchResponseSink.prototype + %gl59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + call void @sc_rc_release_dyn(ptr %gl59) ; ReqViewCore.prototype + %gl61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + call void @sc_rc_release_dyn(ptr %gl61) ; StaticServer.prototype + %gl63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + call void @sc_rc_release_dyn(ptr %gl63) ; MultipartParser.prototype + %gl65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + call void @sc_rc_release_dyn(ptr %gl65) ; LiteResponse.prototype + %gl67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + call void @sc_rc_release_dyn(ptr %gl67) ; MultipartFileSink.prototype + %gl69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + call void @sc_rc_release_dyn(ptr %gl69) ; MultipartStorage.prototype + %gl71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + call void @sc_rc_release_dyn(ptr %gl71) ; MemoryStorage.prototype + %gl73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + call void @sc_rc_release_dyn(ptr %gl73) ; NodeResponseSink.prototype + %gl75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + call void @sc_rc_release_dyn(ptr %gl75) ; MemoryFileSink.prototype + %gl77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + call void @sc_rc_release_dyn(ptr %gl77) ; LiteHeaders.prototype + %gl79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + call void @sc_rc_release_dyn(ptr %gl79) ; CtxResCore.prototype + %glfp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + call void @scr_box_release(ptr %glfp0) ; %m5.defaultNotFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + %glfp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + call void @scr_box_release(ptr %glfp1) ; %method.value:%%m5.App.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + %glfp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + call void @scr_box_release(ptr %glfp2) ; %method.value:%%m5.App.post.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + %glfp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + call void @scr_box_release(ptr %glfp3) ; %method.value:%%m5.App.put.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + %glfp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + call void @scr_box_release(ptr %glfp4) ; %method.value:%%m5.App.delete.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + %glfp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + call void @scr_box_release(ptr %glfp5) ; %method.value:%%m5.App.patch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + %glfp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + call void @scr_box_release(ptr %glfp6) ; %method.value:%%m5.App.head.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + %glfp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + call void @scr_box_release(ptr %glfp7) ; %method.value:%%m5.App.options.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + %glfp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + call void @scr_box_release(ptr %glfp8) ; %method.value:%%m5.App.all.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + %glfp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + call void @scr_box_release(ptr %glfp9) ; %method.value:%%m5.App.on.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + %glfp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + call void @scr_box_release(ptr %glfp10) ; %method.value:%%m5.App.use.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + %glfp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + call void @scr_box_release(ptr %glfp11) ; %method.value:%%m5.App.notFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + %glfp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + call void @scr_box_release(ptr %glfp12) ; %method.value:%%m5.App.onError.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + %glfp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + call void @scr_box_release(ptr %glfp13) ; %method.value:%%m5.App.route.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + %glfp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %glfp14) ; %method.value:%%m5.App.withDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + %glfp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %glfp15) ; %method.value:%%m5.App.withFetchDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + %glfp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + call void @scr_box_release(ptr %glfp16) ; %method.value:%%m5.App.withUpgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + %glfp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + call void @scr_box_release(ptr %glfp17) ; %method.value:%%m5.App.upgradeHandler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + %glfp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + call void @scr_box_release(ptr %glfp18) ; %method.value:%%m5.App.handler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + %glfp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + call void @scr_box_release(ptr %glfp19) ; %method.value:%%m5.App.fetchBridge.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + %glfp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + call void @scr_box_release(ptr %glfp20) ; %method.value:%%m5.App.serve.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + %glfp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + call void @scr_box_release(ptr %glfp21) ; %method.value:%%m5.App.serveFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + %glfp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + call void @scr_box_release(ptr %glfp22) ; %method.value:%%m5.App._regFn.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + %glfp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + call void @scr_box_release(ptr %glfp23) ; %method.value:%%m5.App._add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + %glfp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + call void @scr_box_release(ptr %glfp24) ; %method.value:%%m5.App.fetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + %glfp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + call void @scr_box_release(ptr %glfp25) ; %method.value:%%m5.App.fetchShim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + %glfp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + call void @scr_box_release(ptr %glfp26) ; %method.value:%%m5.App._dispatchPrim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + %glfp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %glfp27) ; %method.value:%%m5.App._dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + %glfp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %glfp28) ; %method.value:%%m5.CtxCore.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + %glfp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + call void @scr_box_release(ptr %glfp29) ; %method.value:%%m5.CtxCore.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + %glfp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %glfp30) ; %method.value:%%m5.CtxCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + %glfp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + call void @scr_box_release(ptr %glfp31) ; %method.value:%%m5.CtxCore.status.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + %glfp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + call void @scr_box_release(ptr %glfp32) ; %method.value:%%m5.CtxCore.set.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + %glfp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + call void @scr_box_release(ptr %glfp33) ; %method.value:%%m5.CtxCore.json.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + %glfp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + call void @scr_box_release(ptr %glfp34) ; %method.value:%%m5.CtxCore.html.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + %glfp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + call void @scr_box_release(ptr %glfp35) ; %method.value:%%m5.CtxCore.bytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + %glfp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + call void @scr_box_release(ptr %glfp36) ; %method.value:%%m5.CtxCore._send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + %glfp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + call void @scr_box_release(ptr %glfp37) ; %method.value:%%m6.AssetSource.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + %glfp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + call void @scr_box_release(ptr %glfp38) ; %method.value:%%m9.EmbeddedAssets.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + %glfp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + call void @scr_box_release(ptr %glfp39) ; %method.value:%%m9.EmbeddedAssets.add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + %glfp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + call void @scr_box_release(ptr %glfp40) ; %method.value:%%m9.EmbeddedAssets.load.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + %glfp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %glfp41) ; %method.value:%%m0.GenDispatch.dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + %glfp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + call void @scr_box_release(ptr %glfp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + %glfp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + call void @scr_box_release(ptr %glfp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + %glfp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + call void @scr_box_release(ptr %glfp44) ; %method.value:%%m3.LiteRequest.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + %glfp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + call void @scr_box_release(ptr %glfp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + %glfp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + call void @scr_box_release(ptr %glfp46) ; %method.value:%%m3.LiteRequest.request.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + %glfp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %glfp47) ; %method.value:%%m2.ResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + %glfp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %glfp48) ; %method.value:%%m2.ResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + %glfp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %glfp49) ; %method.value:%%m2.ResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + %glfp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %glfp50) ; %method.value:%%m2.ResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + %glfp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %glfp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + %glfp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %glfp52) ; %method.value:%%m2.ResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + %glfp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %glfp53) ; %method.value:%%m2.ResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + %glfp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %glfp54) ; %method.value:%%m2.ResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + %glfp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %glfp55) ; %method.value:%%m2.ResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + %glfp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %glfp56) ; %method.value:%%m2.ResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + %glfp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %glfp57) ; %method.value:%%m2.ResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + %glfp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %glfp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + %glfp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %glfp59) ; %method.value:%%m2.ResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + %glfp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %glfp60) ; %method.value:%%m2.ResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + %glfp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %glfp61) ; %method.value:%%m2.ResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + %glfp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %glfp62) ; %method.value:%%m2.ResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + %glfp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %glfp63) ; %method.value:%%m2.ResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + %glfp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %glfp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + %glfp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %glfp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + %glfp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %glfp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + %glfp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %glfp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + %glfp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %glfp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + %glfp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %glfp69) ; %method.value:%%m2.FetchResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + %glfp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %glfp70) ; %method.value:%%m2.FetchResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + %glfp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %glfp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + %glfp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %glfp72) ; %method.value:%%m2.FetchResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + %glfp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %glfp73) ; %method.value:%%m2.FetchResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + %glfp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %glfp74) ; %method.value:%%m2.FetchResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + %glfp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %glfp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + %glfp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %glfp76) ; %method.value:%%m2.FetchResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + %glfp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %glfp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + %glfp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %glfp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + %glfp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %glfp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + %glfp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + call void @scr_box_release(ptr %glfp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + %glfp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + call void @scr_box_release(ptr %glfp81) ; %method.value:%%m5.ReqViewCore.body.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + %glfp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + call void @scr_box_release(ptr %glfp82) ; %method.value:%%m5.ReqViewCore.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + %glfp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + call void @scr_box_release(ptr %glfp83) ; %method.value:%%m5.ReqViewCore.rawReq.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + %glfp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + call void @scr_box_release(ptr %glfp84) ; %method.value:%%m5.ReqViewCore._setWeb.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + %glfp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + call void @scr_box_release(ptr %glfp85) ; %method.value:%%m5.ReqViewCore.param.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + %glfp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + call void @scr_box_release(ptr %glfp86) ; %method.value:%%m5.ReqViewCore._seedPm.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + %glfp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + call void @scr_box_release(ptr %glfp87) ; %method.value:%%m5.ReqViewCore._pmNow.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + %glfp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + call void @scr_box_release(ptr %glfp88) ; %method.value:%%m5.ReqViewCore.query.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + %glfp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + call void @scr_box_release(ptr %glfp89) ; %method.value:%%m5.ReqViewCore.queryAll.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + %glfp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + call void @scr_box_release(ptr %glfp90) ; %method.value:%%m5.ReqViewCore.queries.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + %glfp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %glfp91) ; %method.value:%%m5.ReqViewCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + %glfp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + call void @scr_box_release(ptr %glfp92) ; %method.value:%%m5.ReqViewCore._setBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + %glfp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + call void @scr_box_release(ptr %glfp93) ; %method.value:%%m5.ReqViewCore.files.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + %glfp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + call void @scr_box_release(ptr %glfp94) ; %method.value:%%m5.ReqViewCore.field.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + %glfp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + call void @scr_box_release(ptr %glfp95) ; %method.value:%%m5.ReqViewCore.fields.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + %glfp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + call void @scr_box_release(ptr %glfp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + %glfp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + call void @scr_box_release(ptr %glfp97) ; %method.value:%%m5.ReqViewCore._parsed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + %glfp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + call void @scr_box_release(ptr %glfp98) ; %method.value:%%m11.StaticServer.isApi.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + %glfp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + call void @scr_box_release(ptr %glfp99) ; %method.value:%%m11.StaticServer.handle.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + %glfp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + call void @scr_box_release(ptr %glfp100) ; %method.value:%%m11.StaticServer.send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + %glfp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + call void @scr_box_release(ptr %glfp101) ; %method.value:%%m11.StaticServer.pick.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + %glfp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + call void @scr_box_release(ptr %glfp102) ; %method.value:%%m4.MultipartParser.feed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + %glfp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + call void @scr_box_release(ptr %glfp103) ; %method.value:%%m4.MultipartParser.finish.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + %glfp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + call void @scr_box_release(ptr %glfp104) ; %method.value:%%m4.MultipartParser._malformed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + %glfp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + call void @scr_box_release(ptr %glfp105) ; %method.value:%%m4.MultipartParser._limit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + %glfp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + call void @scr_box_release(ptr %glfp106) ; %method.value:%%m4.MultipartParser._abortPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + %glfp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + call void @scr_box_release(ptr %glfp107) ; %method.value:%%m4.MultipartParser._startPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + %glfp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + call void @scr_box_release(ptr %glfp108) ; %method.value:%%m4.MultipartParser._emit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + %glfp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + call void @scr_box_release(ptr %glfp109) ; %method.value:%%m4.MultipartParser._endPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + %glfp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %glfp110) ; %method.value:%%m3.LiteResponse.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + %glfp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %glfp111) ; %method.value:%%m3.LiteResponse.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + %glfp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %glfp112) ; %method.value:%%m3.LiteResponse.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + %glfp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %glfp113) ; %method.value:%%m3.LiteResponse.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + %glfp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %glfp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + %glfp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %glfp115) ; %method.value:%%m3.LiteResponse.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + %glfp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + call void @scr_box_release(ptr %glfp116) ; %method.value:%%m3.LiteResponse.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + %glfp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %glfp117) ; %method.value:%%m3.LiteResponse.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + %glfp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %glfp118) ; %method.value:%%m3.LiteResponse.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + %glfp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %glfp119) ; %method.value:%%m3.LiteResponse.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + %glfp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %glfp120) ; %method.value:%%m3.LiteResponse.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + %glfp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %glfp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + %glfp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %glfp122) ; %method.value:%%m3.LiteResponse.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + %glfp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %glfp123) ; %method.value:%%m4.MultipartFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + %glfp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + call void @scr_box_release(ptr %glfp124) ; %method.value:%%m4.MultipartFileSink.end.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + %glfp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + call void @scr_box_release(ptr %glfp125) ; %method.value:%%m4.MultipartFileSink.abort.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + %glfp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %glfp126) ; %method.value:%%m4.MultipartFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + %glfp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %glfp127) ; %method.value:%%m4.MultipartStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + %glfp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %glfp128) ; %method.value:%%m4.MemoryStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + %glfp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %glfp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + %glfp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %glfp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + %glfp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %glfp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + %glfp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %glfp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + %glfp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %glfp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + %glfp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %glfp134) ; %method.value:%%m2.NodeResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + %glfp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %glfp135) ; %method.value:%%m2.NodeResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + %glfp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %glfp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + %glfp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %glfp137) ; %method.value:%%m2.NodeResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + %glfp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %glfp138) ; %method.value:%%m2.NodeResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + %glfp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %glfp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + %glfp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %glfp140) ; %method.value:%%m2.NodeResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + %glfp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %glfp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + %glfp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %glfp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + %glfp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %glfp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + %glfp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %glfp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + %glfp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %glfp145) ; %method.value:%%m4.MemoryFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + %glfp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %glfp146) ; %method.value:%%m4.MemoryFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + %glfp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + call void @scr_box_release(ptr %glfp147) ; %method.value:%%m3.LiteHeaders.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + %glfp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + call void @scr_box_release(ptr %glfp148) ; %method.value:%%m3.LiteHeaders.has.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + %glfp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + call void @scr_box_release(ptr %glfp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + %glfp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + call void @scr_box_release(ptr %glfp150) ; %method.value:%%m3.LiteHeaders.forEach.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + %glfp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + call void @scr_box_release(ptr %glfp151) ; %method.value:%%Error.toString.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + %glfp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %glfp152) ; %method.value:%%m5.CtxResCore.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + %glfp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %glfp153) ; %method.value:%%m5.CtxResCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + br label %gl.kept +gl.kept: + %failure_code_1 = call i32 @scr_exit_code_hint_get() + ret i32 %failure_code_1 +lok: + br i1 %loop_rejection, label %lreported, label %lclean +lreported: + call void @scr_discard_unhandled_rejections() + %gq.frees = call zeroext i1 @scr_exit_frees() + br i1 %gq.frees, label %gq.release, label %gq.kept +gq.release: + %gq1 = load ptr, ptr @sc_g_m4_EMPTY_U8 + call void @scr_bytes_release(ptr %gq1) ; EMPTY_U8 + %gq10 = load ptr, ptr @sc_g_m5_EMPTY_S + call void @scr_arr_release(ptr %gq10) ; EMPTY_S + %gq11 = load ptr, ptr @sc_g_m5_EMPTY_N + call void @scr_arr_release(ptr %gq11) ; EMPTY_N + %gq12 = load ptr, ptr @sc_g_m5_Ctx + call void @scr_classobj_release_v(ptr %gq12) ; Ctx + %gq13 = load ptr, ptr @sc_g_m5_ReqView + call void @scr_classobj_release_v(ptr %gq13) ; ReqView + %gq14 = load ptr, ptr @sc_g_m5_CtxRes + call void @scr_classobj_release_v(ptr %gq14) ; CtxRes + %gq15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + call void @sc_release__x25_m4_MemoryStorage(ptr %gq15) ; MP_SHARED_MEM + %gq16 = load ptr, ptr @sc_g_m7_TYPES + call void @sc_rrelease_r0(ptr %gq16) ; TYPES + %gq17 = load ptr, ptr @sc_g_m10_DAYS + call void @scr_str_release(ptr %gq17) ; DAYS + %gq18 = load ptr, ptr @sc_g_m10_MONTHS + call void @scr_str_release(ptr %gq18) ; MONTHS + %gq19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC + call void @scr_str_release(ptr %gq19) ; IMMUTABLE_CC + %gq20 = load ptr, ptr @sc_g_m14_RECORDS + call void @scr_arr_release(ptr %gq20) ; RECORDS + %gq37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + call void @sc_rc_release_dyn(ptr %gq37) ; App.prototype + %gq39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + call void @sc_rc_release_dyn(ptr %gq39) ; CtxCore.prototype + %gq41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + call void @sc_rc_release_dyn(ptr %gq41) ; AssetSource.prototype + %gq43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + call void @sc_rc_release_dyn(ptr %gq43) ; EmbeddedAssets.prototype + %gq45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets + call void @sc_rc_release_dyn(ptr %gq45) ; BakedAssets.prototype + %gq47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + call void @sc_rc_release_dyn(ptr %gq47) ; GenDispatch.prototype + %gq49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + call void @sc_rc_release_dyn(ptr %gq49) ; GenFetch.prototype + %gq51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + call void @sc_rc_release_dyn(ptr %gq51) ; UpgradeDispatch.prototype + %gq53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + call void @sc_rc_release_dyn(ptr %gq53) ; LiteRequest.prototype + %gq55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + call void @sc_rc_release_dyn(ptr %gq55) ; ResponseSink.prototype + %gq57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + call void @sc_rc_release_dyn(ptr %gq57) ; FetchResponseSink.prototype + %gq59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + call void @sc_rc_release_dyn(ptr %gq59) ; ReqViewCore.prototype + %gq61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + call void @sc_rc_release_dyn(ptr %gq61) ; StaticServer.prototype + %gq63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + call void @sc_rc_release_dyn(ptr %gq63) ; MultipartParser.prototype + %gq65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + call void @sc_rc_release_dyn(ptr %gq65) ; LiteResponse.prototype + %gq67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + call void @sc_rc_release_dyn(ptr %gq67) ; MultipartFileSink.prototype + %gq69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + call void @sc_rc_release_dyn(ptr %gq69) ; MultipartStorage.prototype + %gq71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + call void @sc_rc_release_dyn(ptr %gq71) ; MemoryStorage.prototype + %gq73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + call void @sc_rc_release_dyn(ptr %gq73) ; NodeResponseSink.prototype + %gq75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + call void @sc_rc_release_dyn(ptr %gq75) ; MemoryFileSink.prototype + %gq77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + call void @sc_rc_release_dyn(ptr %gq77) ; LiteHeaders.prototype + %gq79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + call void @sc_rc_release_dyn(ptr %gq79) ; CtxResCore.prototype + %gqfp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp0) ; %m5.defaultNotFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + %gqfp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp1) ; %method.value:%%m5.App.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + %gqfp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp2) ; %method.value:%%m5.App.post.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + %gqfp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp3) ; %method.value:%%m5.App.put.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + %gqfp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp4) ; %method.value:%%m5.App.delete.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + %gqfp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp5) ; %method.value:%%m5.App.patch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + %gqfp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp6) ; %method.value:%%m5.App.head.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + %gqfp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp7) ; %method.value:%%m5.App.options.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + %gqfp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp8) ; %method.value:%%m5.App.all.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + %gqfp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp9) ; %method.value:%%m5.App.on.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + %gqfp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp10) ; %method.value:%%m5.App.use.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + %gqfp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp11) ; %method.value:%%m5.App.notFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + %gqfp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp12) ; %method.value:%%m5.App.onError.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + %gqfp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp13) ; %method.value:%%m5.App.route.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + %gqfp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp14) ; %method.value:%%m5.App.withDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + %gqfp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp15) ; %method.value:%%m5.App.withFetchDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + %gqfp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp16) ; %method.value:%%m5.App.withUpgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + %gqfp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp17) ; %method.value:%%m5.App.upgradeHandler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + %gqfp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp18) ; %method.value:%%m5.App.handler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + %gqfp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp19) ; %method.value:%%m5.App.fetchBridge.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + %gqfp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp20) ; %method.value:%%m5.App.serve.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + %gqfp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp21) ; %method.value:%%m5.App.serveFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + %gqfp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp22) ; %method.value:%%m5.App._regFn.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + %gqfp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp23) ; %method.value:%%m5.App._add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + %gqfp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp24) ; %method.value:%%m5.App.fetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + %gqfp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp25) ; %method.value:%%m5.App.fetchShim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + %gqfp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp26) ; %method.value:%%m5.App._dispatchPrim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + %gqfp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp27) ; %method.value:%%m5.App._dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + %gqfp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp28) ; %method.value:%%m5.CtxCore.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + %gqfp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp29) ; %method.value:%%m5.CtxCore.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + %gqfp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp30) ; %method.value:%%m5.CtxCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + %gqfp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp31) ; %method.value:%%m5.CtxCore.status.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + %gqfp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp32) ; %method.value:%%m5.CtxCore.set.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + %gqfp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp33) ; %method.value:%%m5.CtxCore.json.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + %gqfp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp34) ; %method.value:%%m5.CtxCore.html.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + %gqfp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp35) ; %method.value:%%m5.CtxCore.bytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + %gqfp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp36) ; %method.value:%%m5.CtxCore._send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + %gqfp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp37) ; %method.value:%%m6.AssetSource.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + %gqfp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp38) ; %method.value:%%m9.EmbeddedAssets.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + %gqfp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp39) ; %method.value:%%m9.EmbeddedAssets.add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + %gqfp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp40) ; %method.value:%%m9.EmbeddedAssets.load.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + %gqfp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp41) ; %method.value:%%m0.GenDispatch.dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + %gqfp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + %gqfp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + %gqfp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp44) ; %method.value:%%m3.LiteRequest.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + %gqfp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + %gqfp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp46) ; %method.value:%%m3.LiteRequest.request.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + %gqfp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp47) ; %method.value:%%m2.ResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + %gqfp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp48) ; %method.value:%%m2.ResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + %gqfp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp49) ; %method.value:%%m2.ResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + %gqfp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp50) ; %method.value:%%m2.ResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + %gqfp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + %gqfp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp52) ; %method.value:%%m2.ResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + %gqfp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp53) ; %method.value:%%m2.ResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + %gqfp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp54) ; %method.value:%%m2.ResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + %gqfp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp55) ; %method.value:%%m2.ResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + %gqfp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp56) ; %method.value:%%m2.ResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + %gqfp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp57) ; %method.value:%%m2.ResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + %gqfp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + %gqfp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp59) ; %method.value:%%m2.ResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + %gqfp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp60) ; %method.value:%%m2.ResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + %gqfp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp61) ; %method.value:%%m2.ResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + %gqfp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp62) ; %method.value:%%m2.ResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + %gqfp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp63) ; %method.value:%%m2.ResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + %gqfp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + %gqfp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + %gqfp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + %gqfp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + %gqfp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + %gqfp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp69) ; %method.value:%%m2.FetchResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + %gqfp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp70) ; %method.value:%%m2.FetchResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + %gqfp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + %gqfp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp72) ; %method.value:%%m2.FetchResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + %gqfp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp73) ; %method.value:%%m2.FetchResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + %gqfp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp74) ; %method.value:%%m2.FetchResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + %gqfp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + %gqfp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp76) ; %method.value:%%m2.FetchResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + %gqfp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + %gqfp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + %gqfp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + %gqfp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + %gqfp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp81) ; %method.value:%%m5.ReqViewCore.body.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + %gqfp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp82) ; %method.value:%%m5.ReqViewCore.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + %gqfp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp83) ; %method.value:%%m5.ReqViewCore.rawReq.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + %gqfp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp84) ; %method.value:%%m5.ReqViewCore._setWeb.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + %gqfp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp85) ; %method.value:%%m5.ReqViewCore.param.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + %gqfp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp86) ; %method.value:%%m5.ReqViewCore._seedPm.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + %gqfp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp87) ; %method.value:%%m5.ReqViewCore._pmNow.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + %gqfp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp88) ; %method.value:%%m5.ReqViewCore.query.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + %gqfp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp89) ; %method.value:%%m5.ReqViewCore.queryAll.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + %gqfp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp90) ; %method.value:%%m5.ReqViewCore.queries.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + %gqfp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp91) ; %method.value:%%m5.ReqViewCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + %gqfp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp92) ; %method.value:%%m5.ReqViewCore._setBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + %gqfp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp93) ; %method.value:%%m5.ReqViewCore.files.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + %gqfp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp94) ; %method.value:%%m5.ReqViewCore.field.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + %gqfp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp95) ; %method.value:%%m5.ReqViewCore.fields.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + %gqfp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + %gqfp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp97) ; %method.value:%%m5.ReqViewCore._parsed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + %gqfp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp98) ; %method.value:%%m11.StaticServer.isApi.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + %gqfp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp99) ; %method.value:%%m11.StaticServer.handle.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + %gqfp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp100) ; %method.value:%%m11.StaticServer.send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + %gqfp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp101) ; %method.value:%%m11.StaticServer.pick.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + %gqfp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp102) ; %method.value:%%m4.MultipartParser.feed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + %gqfp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp103) ; %method.value:%%m4.MultipartParser.finish.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + %gqfp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp104) ; %method.value:%%m4.MultipartParser._malformed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + %gqfp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp105) ; %method.value:%%m4.MultipartParser._limit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + %gqfp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp106) ; %method.value:%%m4.MultipartParser._abortPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + %gqfp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp107) ; %method.value:%%m4.MultipartParser._startPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + %gqfp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp108) ; %method.value:%%m4.MultipartParser._emit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + %gqfp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp109) ; %method.value:%%m4.MultipartParser._endPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + %gqfp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp110) ; %method.value:%%m3.LiteResponse.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + %gqfp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp111) ; %method.value:%%m3.LiteResponse.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + %gqfp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp112) ; %method.value:%%m3.LiteResponse.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + %gqfp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp113) ; %method.value:%%m3.LiteResponse.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + %gqfp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + %gqfp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp115) ; %method.value:%%m3.LiteResponse.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + %gqfp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp116) ; %method.value:%%m3.LiteResponse.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + %gqfp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp117) ; %method.value:%%m3.LiteResponse.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + %gqfp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp118) ; %method.value:%%m3.LiteResponse.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + %gqfp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp119) ; %method.value:%%m3.LiteResponse.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + %gqfp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp120) ; %method.value:%%m3.LiteResponse.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + %gqfp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + %gqfp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp122) ; %method.value:%%m3.LiteResponse.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + %gqfp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp123) ; %method.value:%%m4.MultipartFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + %gqfp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp124) ; %method.value:%%m4.MultipartFileSink.end.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + %gqfp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp125) ; %method.value:%%m4.MultipartFileSink.abort.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + %gqfp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp126) ; %method.value:%%m4.MultipartFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + %gqfp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp127) ; %method.value:%%m4.MultipartStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + %gqfp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp128) ; %method.value:%%m4.MemoryStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + %gqfp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + %gqfp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + %gqfp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + %gqfp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + %gqfp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + %gqfp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp134) ; %method.value:%%m2.NodeResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + %gqfp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp135) ; %method.value:%%m2.NodeResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + %gqfp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + %gqfp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp137) ; %method.value:%%m2.NodeResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + %gqfp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp138) ; %method.value:%%m2.NodeResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + %gqfp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + %gqfp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp140) ; %method.value:%%m2.NodeResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + %gqfp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + %gqfp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + %gqfp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + %gqfp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + %gqfp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp145) ; %method.value:%%m4.MemoryFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + %gqfp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp146) ; %method.value:%%m4.MemoryFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + %gqfp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp147) ; %method.value:%%m3.LiteHeaders.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + %gqfp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp148) ; %method.value:%%m3.LiteHeaders.has.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + %gqfp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + %gqfp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp150) ; %method.value:%%m3.LiteHeaders.forEach.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + %gqfp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp151) ; %method.value:%%Error.toString.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + %gqfp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp152) ; %method.value:%%m5.CtxResCore.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + %gqfp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gqfp153) ; %method.value:%%m5.CtxResCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + br label %gq.kept +gq.kept: + %failure_code_2 = call i32 @scr_exit_code_hint_get() + ret i32 %failure_code_2 +lclean: + %rej = call zeroext i1 @scr_report_unhandled_rejections() + br i1 %rej, label %lrej, label %lrok +lrej: + %gr.frees = call zeroext i1 @scr_exit_frees() + br i1 %gr.frees, label %gr.release, label %gr.kept +gr.release: + %gr1 = load ptr, ptr @sc_g_m4_EMPTY_U8 + call void @scr_bytes_release(ptr %gr1) ; EMPTY_U8 + %gr10 = load ptr, ptr @sc_g_m5_EMPTY_S + call void @scr_arr_release(ptr %gr10) ; EMPTY_S + %gr11 = load ptr, ptr @sc_g_m5_EMPTY_N + call void @scr_arr_release(ptr %gr11) ; EMPTY_N + %gr12 = load ptr, ptr @sc_g_m5_Ctx + call void @scr_classobj_release_v(ptr %gr12) ; Ctx + %gr13 = load ptr, ptr @sc_g_m5_ReqView + call void @scr_classobj_release_v(ptr %gr13) ; ReqView + %gr14 = load ptr, ptr @sc_g_m5_CtxRes + call void @scr_classobj_release_v(ptr %gr14) ; CtxRes + %gr15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + call void @sc_release__x25_m4_MemoryStorage(ptr %gr15) ; MP_SHARED_MEM + %gr16 = load ptr, ptr @sc_g_m7_TYPES + call void @sc_rrelease_r0(ptr %gr16) ; TYPES + %gr17 = load ptr, ptr @sc_g_m10_DAYS + call void @scr_str_release(ptr %gr17) ; DAYS + %gr18 = load ptr, ptr @sc_g_m10_MONTHS + call void @scr_str_release(ptr %gr18) ; MONTHS + %gr19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC + call void @scr_str_release(ptr %gr19) ; IMMUTABLE_CC + %gr20 = load ptr, ptr @sc_g_m14_RECORDS + call void @scr_arr_release(ptr %gr20) ; RECORDS + %gr37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + call void @sc_rc_release_dyn(ptr %gr37) ; App.prototype + %gr39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + call void @sc_rc_release_dyn(ptr %gr39) ; CtxCore.prototype + %gr41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + call void @sc_rc_release_dyn(ptr %gr41) ; AssetSource.prototype + %gr43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + call void @sc_rc_release_dyn(ptr %gr43) ; EmbeddedAssets.prototype + %gr45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets + call void @sc_rc_release_dyn(ptr %gr45) ; BakedAssets.prototype + %gr47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + call void @sc_rc_release_dyn(ptr %gr47) ; GenDispatch.prototype + %gr49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + call void @sc_rc_release_dyn(ptr %gr49) ; GenFetch.prototype + %gr51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + call void @sc_rc_release_dyn(ptr %gr51) ; UpgradeDispatch.prototype + %gr53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + call void @sc_rc_release_dyn(ptr %gr53) ; LiteRequest.prototype + %gr55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + call void @sc_rc_release_dyn(ptr %gr55) ; ResponseSink.prototype + %gr57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + call void @sc_rc_release_dyn(ptr %gr57) ; FetchResponseSink.prototype + %gr59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + call void @sc_rc_release_dyn(ptr %gr59) ; ReqViewCore.prototype + %gr61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + call void @sc_rc_release_dyn(ptr %gr61) ; StaticServer.prototype + %gr63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + call void @sc_rc_release_dyn(ptr %gr63) ; MultipartParser.prototype + %gr65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + call void @sc_rc_release_dyn(ptr %gr65) ; LiteResponse.prototype + %gr67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + call void @sc_rc_release_dyn(ptr %gr67) ; MultipartFileSink.prototype + %gr69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + call void @sc_rc_release_dyn(ptr %gr69) ; MultipartStorage.prototype + %gr71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + call void @sc_rc_release_dyn(ptr %gr71) ; MemoryStorage.prototype + %gr73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + call void @sc_rc_release_dyn(ptr %gr73) ; NodeResponseSink.prototype + %gr75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + call void @sc_rc_release_dyn(ptr %gr75) ; MemoryFileSink.prototype + %gr77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + call void @sc_rc_release_dyn(ptr %gr77) ; LiteHeaders.prototype + %gr79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + call void @sc_rc_release_dyn(ptr %gr79) ; CtxResCore.prototype + %grfp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + call void @scr_box_release(ptr %grfp0) ; %m5.defaultNotFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + %grfp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + call void @scr_box_release(ptr %grfp1) ; %method.value:%%m5.App.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + %grfp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + call void @scr_box_release(ptr %grfp2) ; %method.value:%%m5.App.post.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + %grfp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + call void @scr_box_release(ptr %grfp3) ; %method.value:%%m5.App.put.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + %grfp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + call void @scr_box_release(ptr %grfp4) ; %method.value:%%m5.App.delete.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + %grfp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + call void @scr_box_release(ptr %grfp5) ; %method.value:%%m5.App.patch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + %grfp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + call void @scr_box_release(ptr %grfp6) ; %method.value:%%m5.App.head.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + %grfp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + call void @scr_box_release(ptr %grfp7) ; %method.value:%%m5.App.options.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + %grfp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + call void @scr_box_release(ptr %grfp8) ; %method.value:%%m5.App.all.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + %grfp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + call void @scr_box_release(ptr %grfp9) ; %method.value:%%m5.App.on.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + %grfp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + call void @scr_box_release(ptr %grfp10) ; %method.value:%%m5.App.use.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + %grfp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + call void @scr_box_release(ptr %grfp11) ; %method.value:%%m5.App.notFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + %grfp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + call void @scr_box_release(ptr %grfp12) ; %method.value:%%m5.App.onError.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + %grfp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + call void @scr_box_release(ptr %grfp13) ; %method.value:%%m5.App.route.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + %grfp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %grfp14) ; %method.value:%%m5.App.withDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + %grfp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %grfp15) ; %method.value:%%m5.App.withFetchDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + %grfp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + call void @scr_box_release(ptr %grfp16) ; %method.value:%%m5.App.withUpgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + %grfp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + call void @scr_box_release(ptr %grfp17) ; %method.value:%%m5.App.upgradeHandler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + %grfp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + call void @scr_box_release(ptr %grfp18) ; %method.value:%%m5.App.handler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + %grfp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + call void @scr_box_release(ptr %grfp19) ; %method.value:%%m5.App.fetchBridge.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + %grfp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + call void @scr_box_release(ptr %grfp20) ; %method.value:%%m5.App.serve.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + %grfp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + call void @scr_box_release(ptr %grfp21) ; %method.value:%%m5.App.serveFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + %grfp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + call void @scr_box_release(ptr %grfp22) ; %method.value:%%m5.App._regFn.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + %grfp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + call void @scr_box_release(ptr %grfp23) ; %method.value:%%m5.App._add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + %grfp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + call void @scr_box_release(ptr %grfp24) ; %method.value:%%m5.App.fetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + %grfp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + call void @scr_box_release(ptr %grfp25) ; %method.value:%%m5.App.fetchShim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + %grfp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + call void @scr_box_release(ptr %grfp26) ; %method.value:%%m5.App._dispatchPrim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + %grfp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %grfp27) ; %method.value:%%m5.App._dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + %grfp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %grfp28) ; %method.value:%%m5.CtxCore.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + %grfp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + call void @scr_box_release(ptr %grfp29) ; %method.value:%%m5.CtxCore.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + %grfp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %grfp30) ; %method.value:%%m5.CtxCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + %grfp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + call void @scr_box_release(ptr %grfp31) ; %method.value:%%m5.CtxCore.status.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + %grfp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + call void @scr_box_release(ptr %grfp32) ; %method.value:%%m5.CtxCore.set.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + %grfp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + call void @scr_box_release(ptr %grfp33) ; %method.value:%%m5.CtxCore.json.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + %grfp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + call void @scr_box_release(ptr %grfp34) ; %method.value:%%m5.CtxCore.html.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + %grfp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + call void @scr_box_release(ptr %grfp35) ; %method.value:%%m5.CtxCore.bytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + %grfp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + call void @scr_box_release(ptr %grfp36) ; %method.value:%%m5.CtxCore._send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + %grfp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + call void @scr_box_release(ptr %grfp37) ; %method.value:%%m6.AssetSource.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + %grfp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + call void @scr_box_release(ptr %grfp38) ; %method.value:%%m9.EmbeddedAssets.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + %grfp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + call void @scr_box_release(ptr %grfp39) ; %method.value:%%m9.EmbeddedAssets.add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + %grfp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + call void @scr_box_release(ptr %grfp40) ; %method.value:%%m9.EmbeddedAssets.load.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + %grfp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %grfp41) ; %method.value:%%m0.GenDispatch.dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + %grfp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + call void @scr_box_release(ptr %grfp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + %grfp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + call void @scr_box_release(ptr %grfp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + %grfp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + call void @scr_box_release(ptr %grfp44) ; %method.value:%%m3.LiteRequest.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + %grfp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + call void @scr_box_release(ptr %grfp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + %grfp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + call void @scr_box_release(ptr %grfp46) ; %method.value:%%m3.LiteRequest.request.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + %grfp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %grfp47) ; %method.value:%%m2.ResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + %grfp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %grfp48) ; %method.value:%%m2.ResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + %grfp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %grfp49) ; %method.value:%%m2.ResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + %grfp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %grfp50) ; %method.value:%%m2.ResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + %grfp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %grfp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + %grfp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %grfp52) ; %method.value:%%m2.ResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + %grfp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %grfp53) ; %method.value:%%m2.ResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + %grfp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %grfp54) ; %method.value:%%m2.ResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + %grfp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %grfp55) ; %method.value:%%m2.ResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + %grfp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %grfp56) ; %method.value:%%m2.ResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + %grfp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %grfp57) ; %method.value:%%m2.ResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + %grfp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %grfp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + %grfp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %grfp59) ; %method.value:%%m2.ResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + %grfp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %grfp60) ; %method.value:%%m2.ResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + %grfp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %grfp61) ; %method.value:%%m2.ResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + %grfp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %grfp62) ; %method.value:%%m2.ResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + %grfp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %grfp63) ; %method.value:%%m2.ResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + %grfp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %grfp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + %grfp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %grfp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + %grfp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %grfp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + %grfp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %grfp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + %grfp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %grfp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + %grfp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %grfp69) ; %method.value:%%m2.FetchResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + %grfp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %grfp70) ; %method.value:%%m2.FetchResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + %grfp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %grfp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + %grfp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %grfp72) ; %method.value:%%m2.FetchResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + %grfp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %grfp73) ; %method.value:%%m2.FetchResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + %grfp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %grfp74) ; %method.value:%%m2.FetchResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + %grfp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %grfp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + %grfp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %grfp76) ; %method.value:%%m2.FetchResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + %grfp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %grfp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + %grfp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %grfp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + %grfp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %grfp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + %grfp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + call void @scr_box_release(ptr %grfp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + %grfp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + call void @scr_box_release(ptr %grfp81) ; %method.value:%%m5.ReqViewCore.body.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + %grfp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + call void @scr_box_release(ptr %grfp82) ; %method.value:%%m5.ReqViewCore.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + %grfp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + call void @scr_box_release(ptr %grfp83) ; %method.value:%%m5.ReqViewCore.rawReq.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + %grfp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + call void @scr_box_release(ptr %grfp84) ; %method.value:%%m5.ReqViewCore._setWeb.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + %grfp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + call void @scr_box_release(ptr %grfp85) ; %method.value:%%m5.ReqViewCore.param.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + %grfp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + call void @scr_box_release(ptr %grfp86) ; %method.value:%%m5.ReqViewCore._seedPm.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + %grfp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + call void @scr_box_release(ptr %grfp87) ; %method.value:%%m5.ReqViewCore._pmNow.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + %grfp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + call void @scr_box_release(ptr %grfp88) ; %method.value:%%m5.ReqViewCore.query.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + %grfp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + call void @scr_box_release(ptr %grfp89) ; %method.value:%%m5.ReqViewCore.queryAll.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + %grfp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + call void @scr_box_release(ptr %grfp90) ; %method.value:%%m5.ReqViewCore.queries.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + %grfp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %grfp91) ; %method.value:%%m5.ReqViewCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + %grfp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + call void @scr_box_release(ptr %grfp92) ; %method.value:%%m5.ReqViewCore._setBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + %grfp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + call void @scr_box_release(ptr %grfp93) ; %method.value:%%m5.ReqViewCore.files.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + %grfp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + call void @scr_box_release(ptr %grfp94) ; %method.value:%%m5.ReqViewCore.field.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + %grfp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + call void @scr_box_release(ptr %grfp95) ; %method.value:%%m5.ReqViewCore.fields.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + %grfp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + call void @scr_box_release(ptr %grfp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + %grfp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + call void @scr_box_release(ptr %grfp97) ; %method.value:%%m5.ReqViewCore._parsed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + %grfp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + call void @scr_box_release(ptr %grfp98) ; %method.value:%%m11.StaticServer.isApi.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + %grfp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + call void @scr_box_release(ptr %grfp99) ; %method.value:%%m11.StaticServer.handle.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + %grfp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + call void @scr_box_release(ptr %grfp100) ; %method.value:%%m11.StaticServer.send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + %grfp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + call void @scr_box_release(ptr %grfp101) ; %method.value:%%m11.StaticServer.pick.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + %grfp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + call void @scr_box_release(ptr %grfp102) ; %method.value:%%m4.MultipartParser.feed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + %grfp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + call void @scr_box_release(ptr %grfp103) ; %method.value:%%m4.MultipartParser.finish.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + %grfp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + call void @scr_box_release(ptr %grfp104) ; %method.value:%%m4.MultipartParser._malformed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + %grfp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + call void @scr_box_release(ptr %grfp105) ; %method.value:%%m4.MultipartParser._limit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + %grfp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + call void @scr_box_release(ptr %grfp106) ; %method.value:%%m4.MultipartParser._abortPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + %grfp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + call void @scr_box_release(ptr %grfp107) ; %method.value:%%m4.MultipartParser._startPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + %grfp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + call void @scr_box_release(ptr %grfp108) ; %method.value:%%m4.MultipartParser._emit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + %grfp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + call void @scr_box_release(ptr %grfp109) ; %method.value:%%m4.MultipartParser._endPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + %grfp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %grfp110) ; %method.value:%%m3.LiteResponse.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + %grfp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %grfp111) ; %method.value:%%m3.LiteResponse.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + %grfp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %grfp112) ; %method.value:%%m3.LiteResponse.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + %grfp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %grfp113) ; %method.value:%%m3.LiteResponse.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + %grfp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %grfp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + %grfp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %grfp115) ; %method.value:%%m3.LiteResponse.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + %grfp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + call void @scr_box_release(ptr %grfp116) ; %method.value:%%m3.LiteResponse.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + %grfp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %grfp117) ; %method.value:%%m3.LiteResponse.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + %grfp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %grfp118) ; %method.value:%%m3.LiteResponse.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + %grfp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %grfp119) ; %method.value:%%m3.LiteResponse.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + %grfp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %grfp120) ; %method.value:%%m3.LiteResponse.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + %grfp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %grfp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + %grfp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %grfp122) ; %method.value:%%m3.LiteResponse.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + %grfp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %grfp123) ; %method.value:%%m4.MultipartFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + %grfp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + call void @scr_box_release(ptr %grfp124) ; %method.value:%%m4.MultipartFileSink.end.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + %grfp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + call void @scr_box_release(ptr %grfp125) ; %method.value:%%m4.MultipartFileSink.abort.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + %grfp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %grfp126) ; %method.value:%%m4.MultipartFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + %grfp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %grfp127) ; %method.value:%%m4.MultipartStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + %grfp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %grfp128) ; %method.value:%%m4.MemoryStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + %grfp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %grfp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + %grfp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %grfp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + %grfp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %grfp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + %grfp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %grfp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + %grfp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %grfp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + %grfp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %grfp134) ; %method.value:%%m2.NodeResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + %grfp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %grfp135) ; %method.value:%%m2.NodeResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + %grfp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %grfp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + %grfp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %grfp137) ; %method.value:%%m2.NodeResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + %grfp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %grfp138) ; %method.value:%%m2.NodeResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + %grfp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %grfp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + %grfp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %grfp140) ; %method.value:%%m2.NodeResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + %grfp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %grfp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + %grfp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %grfp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + %grfp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %grfp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + %grfp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %grfp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + %grfp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %grfp145) ; %method.value:%%m4.MemoryFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + %grfp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %grfp146) ; %method.value:%%m4.MemoryFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + %grfp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + call void @scr_box_release(ptr %grfp147) ; %method.value:%%m3.LiteHeaders.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + %grfp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + call void @scr_box_release(ptr %grfp148) ; %method.value:%%m3.LiteHeaders.has.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + %grfp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + call void @scr_box_release(ptr %grfp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + %grfp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + call void @scr_box_release(ptr %grfp150) ; %method.value:%%m3.LiteHeaders.forEach.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + %grfp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + call void @scr_box_release(ptr %grfp151) ; %method.value:%%Error.toString.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + %grfp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %grfp152) ; %method.value:%%m5.CtxResCore.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + %grfp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %grfp153) ; %method.value:%%m5.CtxResCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + br label %gr.kept +gr.kept: + %failure_code_4 = call i32 @scr_exit_code_hint_get() + ret i32 %failure_code_4 +lrok: + %g.frees = call zeroext i1 @scr_exit_frees() + br i1 %g.frees, label %g.release, label %g.kept +g.release: + %g1 = load ptr, ptr @sc_g_m4_EMPTY_U8 + call void @scr_bytes_release(ptr %g1) ; EMPTY_U8 + %g10 = load ptr, ptr @sc_g_m5_EMPTY_S + call void @scr_arr_release(ptr %g10) ; EMPTY_S + %g11 = load ptr, ptr @sc_g_m5_EMPTY_N + call void @scr_arr_release(ptr %g11) ; EMPTY_N + %g12 = load ptr, ptr @sc_g_m5_Ctx + call void @scr_classobj_release_v(ptr %g12) ; Ctx + %g13 = load ptr, ptr @sc_g_m5_ReqView + call void @scr_classobj_release_v(ptr %g13) ; ReqView + %g14 = load ptr, ptr @sc_g_m5_CtxRes + call void @scr_classobj_release_v(ptr %g14) ; CtxRes + %g15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM + call void @sc_release__x25_m4_MemoryStorage(ptr %g15) ; MP_SHARED_MEM + %g16 = load ptr, ptr @sc_g_m7_TYPES + call void @sc_rrelease_r0(ptr %g16) ; TYPES + %g17 = load ptr, ptr @sc_g_m10_DAYS + call void @scr_str_release(ptr %g17) ; DAYS + %g18 = load ptr, ptr @sc_g_m10_MONTHS + call void @scr_str_release(ptr %g18) ; MONTHS + %g19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC + call void @scr_str_release(ptr %g19) ; IMMUTABLE_CC + %g20 = load ptr, ptr @sc_g_m14_RECORDS + call void @scr_arr_release(ptr %g20) ; RECORDS + %g37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App + call void @sc_rc_release_dyn(ptr %g37) ; App.prototype + %g39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore + call void @sc_rc_release_dyn(ptr %g39) ; CtxCore.prototype + %g41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource + call void @sc_rc_release_dyn(ptr %g41) ; AssetSource.prototype + %g43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets + call void @sc_rc_release_dyn(ptr %g43) ; EmbeddedAssets.prototype + %g45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets + call void @sc_rc_release_dyn(ptr %g45) ; BakedAssets.prototype + %g47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch + call void @sc_rc_release_dyn(ptr %g47) ; GenDispatch.prototype + %g49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch + call void @sc_rc_release_dyn(ptr %g49) ; GenFetch.prototype + %g51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch + call void @sc_rc_release_dyn(ptr %g51) ; UpgradeDispatch.prototype + %g53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest + call void @sc_rc_release_dyn(ptr %g53) ; LiteRequest.prototype + %g55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink + call void @sc_rc_release_dyn(ptr %g55) ; ResponseSink.prototype + %g57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink + call void @sc_rc_release_dyn(ptr %g57) ; FetchResponseSink.prototype + %g59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore + call void @sc_rc_release_dyn(ptr %g59) ; ReqViewCore.prototype + %g61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer + call void @sc_rc_release_dyn(ptr %g61) ; StaticServer.prototype + %g63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser + call void @sc_rc_release_dyn(ptr %g63) ; MultipartParser.prototype + %g65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse + call void @sc_rc_release_dyn(ptr %g65) ; LiteResponse.prototype + %g67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink + call void @sc_rc_release_dyn(ptr %g67) ; MultipartFileSink.prototype + %g69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage + call void @sc_rc_release_dyn(ptr %g69) ; MultipartStorage.prototype + %g71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage + call void @sc_rc_release_dyn(ptr %g71) ; MemoryStorage.prototype + %g73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink + call void @sc_rc_release_dyn(ptr %g73) ; NodeResponseSink.prototype + %g75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink + call void @sc_rc_release_dyn(ptr %g75) ; MemoryFileSink.prototype + %g77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders + call void @sc_rc_release_dyn(ptr %g77) ; LiteHeaders.prototype + %g79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore + call void @sc_rc_release_dyn(ptr %g79) ; CtxResCore.prototype + %gfp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + call void @scr_box_release(ptr %gfp0) ; %m5.defaultNotFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3) + %gfp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + call void @scr_box_release(ptr %gfp1) ; %method.value:%%m5.App.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3) + %gfp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + call void @scr_box_release(ptr %gfp2) ; %method.value:%%m5.App.post.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3) + %gfp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + call void @scr_box_release(ptr %gfp3) ; %method.value:%%m5.App.put.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3) + %gfp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + call void @scr_box_release(ptr %gfp4) ; %method.value:%%m5.App.delete.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3) + %gfp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + call void @scr_box_release(ptr %gfp5) ; %method.value:%%m5.App.patch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3) + %gfp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + call void @scr_box_release(ptr %gfp6) ; %method.value:%%m5.App.head.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3) + %gfp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + call void @scr_box_release(ptr %gfp7) ; %method.value:%%m5.App.options.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3) + %gfp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + call void @scr_box_release(ptr %gfp8) ; %method.value:%%m5.App.all.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3) + %gfp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + call void @scr_box_release(ptr %gfp9) ; %method.value:%%m5.App.on.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3) + %gfp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + call void @scr_box_release(ptr %gfp10) ; %method.value:%%m5.App.use.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3) + %gfp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + call void @scr_box_release(ptr %gfp11) ; %method.value:%%m5.App.notFound.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3) + %gfp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + call void @scr_box_release(ptr %gfp12) ; %method.value:%%m5.App.onError.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3) + %gfp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + call void @scr_box_release(ptr %gfp13) ; %method.value:%%m5.App.route.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3) + %gfp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gfp14) ; %method.value:%%m5.App.withDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3) + %gfp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gfp15) ; %method.value:%%m5.App.withFetchDispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3) + %gfp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + call void @scr_box_release(ptr %gfp16) ; %method.value:%%m5.App.withUpgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3) + %gfp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + call void @scr_box_release(ptr %gfp17) ; %method.value:%%m5.App.upgradeHandler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3) + %gfp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + call void @scr_box_release(ptr %gfp18) ; %method.value:%%m5.App.handler.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3) + %gfp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + call void @scr_box_release(ptr %gfp19) ; %method.value:%%m5.App.fetchBridge.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3) + %gfp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + call void @scr_box_release(ptr %gfp20) ; %method.value:%%m5.App.serve.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3) + %gfp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + call void @scr_box_release(ptr %gfp21) ; %method.value:%%m5.App.serveFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3) + %gfp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + call void @scr_box_release(ptr %gfp22) ; %method.value:%%m5.App._regFn.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3) + %gfp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + call void @scr_box_release(ptr %gfp23) ; %method.value:%%m5.App._add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3) + %gfp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + call void @scr_box_release(ptr %gfp24) ; %method.value:%%m5.App.fetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3) + %gfp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + call void @scr_box_release(ptr %gfp25) ; %method.value:%%m5.App.fetchShim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3) + %gfp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + call void @scr_box_release(ptr %gfp26) ; %method.value:%%m5.App._dispatchPrim.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3) + %gfp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gfp27) ; %method.value:%%m5.App._dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3) + %gfp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gfp28) ; %method.value:%%m5.CtxCore.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3) + %gfp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + call void @scr_box_release(ptr %gfp29) ; %method.value:%%m5.CtxCore.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3) + %gfp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gfp30) ; %method.value:%%m5.CtxCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3) + %gfp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + call void @scr_box_release(ptr %gfp31) ; %method.value:%%m5.CtxCore.status.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3) + %gfp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + call void @scr_box_release(ptr %gfp32) ; %method.value:%%m5.CtxCore.set.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3) + %gfp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + call void @scr_box_release(ptr %gfp33) ; %method.value:%%m5.CtxCore.json.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3) + %gfp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + call void @scr_box_release(ptr %gfp34) ; %method.value:%%m5.CtxCore.html.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3) + %gfp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + call void @scr_box_release(ptr %gfp35) ; %method.value:%%m5.CtxCore.bytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3) + %gfp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + call void @scr_box_release(ptr %gfp36) ; %method.value:%%m5.CtxCore._send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3) + %gfp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + call void @scr_box_release(ptr %gfp37) ; %method.value:%%m6.AssetSource.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3) + %gfp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + call void @scr_box_release(ptr %gfp38) ; %method.value:%%m9.EmbeddedAssets.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3) + %gfp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + call void @scr_box_release(ptr %gfp39) ; %method.value:%%m9.EmbeddedAssets.add.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3) + %gfp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + call void @scr_box_release(ptr %gfp40) ; %method.value:%%m9.EmbeddedAssets.load.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3) + %gfp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + call void @scr_box_release(ptr %gfp41) ; %method.value:%%m0.GenDispatch.dispatch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3) + %gfp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + call void @scr_box_release(ptr %gfp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3) + %gfp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + call void @scr_box_release(ptr %gfp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3) + %gfp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + call void @scr_box_release(ptr %gfp44) ; %method.value:%%m3.LiteRequest.text.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3) + %gfp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + call void @scr_box_release(ptr %gfp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3) + %gfp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + call void @scr_box_release(ptr %gfp46) ; %method.value:%%m3.LiteRequest.request.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3) + %gfp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gfp47) ; %method.value:%%m2.ResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3) + %gfp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gfp48) ; %method.value:%%m2.ResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3) + %gfp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gfp49) ; %method.value:%%m2.ResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3) + %gfp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gfp50) ; %method.value:%%m2.ResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3) + %gfp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gfp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3) + %gfp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gfp52) ; %method.value:%%m2.ResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3) + %gfp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gfp53) ; %method.value:%%m2.ResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3) + %gfp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gfp54) ; %method.value:%%m2.ResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3) + %gfp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gfp55) ; %method.value:%%m2.ResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3) + %gfp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gfp56) ; %method.value:%%m2.ResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3) + %gfp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gfp57) ; %method.value:%%m2.ResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3) + %gfp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gfp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3) + %gfp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gfp59) ; %method.value:%%m2.ResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3) + %gfp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gfp60) ; %method.value:%%m2.ResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3) + %gfp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gfp61) ; %method.value:%%m2.ResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3) + %gfp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gfp62) ; %method.value:%%m2.ResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3) + %gfp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gfp63) ; %method.value:%%m2.ResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3) + %gfp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gfp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3) + %gfp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gfp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3) + %gfp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gfp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3) + %gfp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gfp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3) + %gfp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gfp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3) + %gfp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gfp69) ; %method.value:%%m2.FetchResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3) + %gfp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gfp70) ; %method.value:%%m2.FetchResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3) + %gfp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gfp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3) + %gfp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gfp72) ; %method.value:%%m2.FetchResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3) + %gfp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gfp73) ; %method.value:%%m2.FetchResponseSink.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3) + %gfp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gfp74) ; %method.value:%%m2.FetchResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3) + %gfp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gfp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3) + %gfp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gfp76) ; %method.value:%%m2.FetchResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3) + %gfp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gfp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3) + %gfp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gfp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3) + %gfp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gfp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3) + %gfp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + call void @scr_box_release(ptr %gfp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3) + %gfp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + call void @scr_box_release(ptr %gfp81) ; %method.value:%%m5.ReqViewCore.body.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3) + %gfp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + call void @scr_box_release(ptr %gfp82) ; %method.value:%%m5.ReqViewCore.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3) + %gfp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + call void @scr_box_release(ptr %gfp83) ; %method.value:%%m5.ReqViewCore.rawReq.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3) + %gfp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + call void @scr_box_release(ptr %gfp84) ; %method.value:%%m5.ReqViewCore._setWeb.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3) + %gfp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + call void @scr_box_release(ptr %gfp85) ; %method.value:%%m5.ReqViewCore.param.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3) + %gfp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + call void @scr_box_release(ptr %gfp86) ; %method.value:%%m5.ReqViewCore._seedPm.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3) + %gfp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + call void @scr_box_release(ptr %gfp87) ; %method.value:%%m5.ReqViewCore._pmNow.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3) + %gfp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + call void @scr_box_release(ptr %gfp88) ; %method.value:%%m5.ReqViewCore.query.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3) + %gfp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + call void @scr_box_release(ptr %gfp89) ; %method.value:%%m5.ReqViewCore.queryAll.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3) + %gfp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + call void @scr_box_release(ptr %gfp90) ; %method.value:%%m5.ReqViewCore.queries.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3) + %gfp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gfp91) ; %method.value:%%m5.ReqViewCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3) + %gfp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + call void @scr_box_release(ptr %gfp92) ; %method.value:%%m5.ReqViewCore._setBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3) + %gfp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + call void @scr_box_release(ptr %gfp93) ; %method.value:%%m5.ReqViewCore.files.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3) + %gfp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + call void @scr_box_release(ptr %gfp94) ; %method.value:%%m5.ReqViewCore.field.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3) + %gfp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + call void @scr_box_release(ptr %gfp95) ; %method.value:%%m5.ReqViewCore.fields.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3) + %gfp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + call void @scr_box_release(ptr %gfp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3) + %gfp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + call void @scr_box_release(ptr %gfp97) ; %method.value:%%m5.ReqViewCore._parsed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3) + %gfp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + call void @scr_box_release(ptr %gfp98) ; %method.value:%%m11.StaticServer.isApi.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3) + %gfp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + call void @scr_box_release(ptr %gfp99) ; %method.value:%%m11.StaticServer.handle.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3) + %gfp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + call void @scr_box_release(ptr %gfp100) ; %method.value:%%m11.StaticServer.send.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3) + %gfp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + call void @scr_box_release(ptr %gfp101) ; %method.value:%%m11.StaticServer.pick.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3) + %gfp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + call void @scr_box_release(ptr %gfp102) ; %method.value:%%m4.MultipartParser.feed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3) + %gfp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + call void @scr_box_release(ptr %gfp103) ; %method.value:%%m4.MultipartParser.finish.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3) + %gfp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + call void @scr_box_release(ptr %gfp104) ; %method.value:%%m4.MultipartParser._malformed.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3) + %gfp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + call void @scr_box_release(ptr %gfp105) ; %method.value:%%m4.MultipartParser._limit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3) + %gfp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + call void @scr_box_release(ptr %gfp106) ; %method.value:%%m4.MultipartParser._abortPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3) + %gfp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + call void @scr_box_release(ptr %gfp107) ; %method.value:%%m4.MultipartParser._startPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3) + %gfp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + call void @scr_box_release(ptr %gfp108) ; %method.value:%%m4.MultipartParser._emit.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3) + %gfp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + call void @scr_box_release(ptr %gfp109) ; %method.value:%%m4.MultipartParser._endPart.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3) + %gfp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gfp110) ; %method.value:%%m3.LiteResponse.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3) + %gfp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gfp111) ; %method.value:%%m3.LiteResponse.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3) + %gfp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gfp112) ; %method.value:%%m3.LiteResponse.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3) + %gfp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gfp113) ; %method.value:%%m3.LiteResponse.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3) + %gfp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gfp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3) + %gfp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gfp115) ; %method.value:%%m3.LiteResponse.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3) + %gfp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + call void @scr_box_release(ptr %gfp116) ; %method.value:%%m3.LiteResponse.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3) + %gfp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gfp117) ; %method.value:%%m3.LiteResponse.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3) + %gfp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gfp118) ; %method.value:%%m3.LiteResponse.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3) + %gfp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + call void @scr_box_release(ptr %gfp119) ; %method.value:%%m3.LiteResponse.adopt.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3) + %gfp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gfp120) ; %method.value:%%m3.LiteResponse.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3) + %gfp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gfp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3) + %gfp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gfp122) ; %method.value:%%m3.LiteResponse.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3) + %gfp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gfp123) ; %method.value:%%m4.MultipartFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3) + %gfp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + call void @scr_box_release(ptr %gfp124) ; %method.value:%%m4.MultipartFileSink.end.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3) + %gfp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + call void @scr_box_release(ptr %gfp125) ; %method.value:%%m4.MultipartFileSink.abort.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3) + %gfp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %gfp126) ; %method.value:%%m4.MultipartFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3) + %gfp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %gfp127) ; %method.value:%%m4.MultipartStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3) + %gfp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + call void @scr_box_release(ptr %gfp128) ; %method.value:%%m4.MemoryStorage.begin.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3) + %gfp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + call void @scr_box_release(ptr %gfp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3) + %gfp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gfp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3) + %gfp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + call void @scr_box_release(ptr %gfp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3) + %gfp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + call void @scr_box_release(ptr %gfp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3) + %gfp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + call void @scr_box_release(ptr %gfp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3) + %gfp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + call void @scr_box_release(ptr %gfp134) ; %method.value:%%m2.NodeResponseSink.redirect.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3) + %gfp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gfp135) ; %method.value:%%m2.NodeResponseSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3) + %gfp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + call void @scr_box_release(ptr %gfp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3) + %gfp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + call void @scr_box_release(ptr %gfp137) ; %method.value:%%m2.NodeResponseSink.endStream.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3) + %gfp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + call void @scr_box_release(ptr %gfp138) ; %method.value:%%m2.NodeResponseSink.isSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3) + %gfp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + call void @scr_box_release(ptr %gfp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3) + %gfp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + call void @scr_box_release(ptr %gfp140) ; %method.value:%%m2.NodeResponseSink.destroy.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3) + %gfp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + call void @scr_box_release(ptr %gfp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3) + %gfp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + call void @scr_box_release(ptr %gfp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3) + %gfp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + call void @scr_box_release(ptr %gfp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3) + %gfp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gfp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3) + %gfp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + call void @scr_box_release(ptr %gfp145) ; %method.value:%%m4.MemoryFileSink.write.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3) + %gfp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + call void @scr_box_release(ptr %gfp146) ; %method.value:%%m4.MemoryFileSink.file.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3) + %gfp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + call void @scr_box_release(ptr %gfp147) ; %method.value:%%m3.LiteHeaders.get.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3) + %gfp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + call void @scr_box_release(ptr %gfp148) ; %method.value:%%m3.LiteHeaders.has.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3) + %gfp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + call void @scr_box_release(ptr %gfp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3) + %gfp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + call void @scr_box_release(ptr %gfp150) ; %method.value:%%m3.LiteHeaders.forEach.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3) + %gfp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + call void @scr_box_release(ptr %gfp151) ; %method.value:%%Error.toString.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3) + %gfp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + call void @scr_box_release(ptr %gfp152) ; %method.value:%%m5.CtxResCore.nodeRes.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3) + %gfp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + call void @scr_box_release(ptr %gfp153) ; %method.value:%%m5.CtxResCore.header.props + store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3) + br label %g.kept +g.kept: + %native_exit = call i32 @scr_exit_code_hint_get() + ret i32 %native_exit +} + +define internal ptr @sc_nretain_array(ptr %o) #0 { ; NULL-tolerant retain +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %live +live: + %r = call ptr @scr_arr_retain_v(ptr %o) + br label %done +done: + ret ptr %o +} + +define internal ptr @sc_nretain_string(ptr %o) #0 { ; NULL-tolerant retain +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %live +live: + %r = call ptr @sc_rc_retain_str(ptr %o) + br label %done +done: + ret ptr %o +} + +define internal void @sc_rc_release_dyn(ptr %o) #0 { ; scr_dyn_release fast path +entry: + %isnull = icmp eq ptr %o, null + br i1 %isnull, label %done, label %check +check: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %owned +owned: + %last = icmp eq i64 %rc, 1 + br i1 %last, label %slow, label %dec +slow: + call void @scr_dyn_release(ptr %o) cold ; the runtime release owns this case + br label %done +dec: + %n = sub i64 %rc, 1 + store i64 %n, ptr %o + %kp = getelementptr i8, ptr %o, i64 8 ; ScrDyn.kind + %kind = load i32, ptr %kp + switch i32 %kind, label %done [ i32 4, label %container i32 5, label %container i32 8, label %root i32 13, label %root i32 9, label %survivor i32 12, label %survivor ] +container: + %cbufp = getelementptr i8, ptr %o, i64 -4 + %cbuf = load i32, ptr %cbufp + %cqueued = icmp slt i32 %cbuf, 0 + br i1 %cqueued, label %done, label %survivor +survivor: + call void @scr_dyn_release_survivor(ptr %o) + br label %done +root: + %bufp = getelementptr i8, ptr %o, i64 -4 + %buf = load i32, ptr %bufp + %queued = icmp slt i32 %buf, 0 + br i1 %queued, label %done, label %enqueue +enqueue: + call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect + br label %done +done: + ret void +} + +define internal ptr @sc_rc_retain_dyn(ptr %o) #0 { ; scr_dyn_retain fast path +entry: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +define internal ptr @sc_rc_retain_str(ptr %o) #0 { ; scr_str_retain fast path +entry: + %rc = load i64, ptr %o + %imm = icmp eq i64 %rc, -1 + br i1 %imm, label %done, label %inc +inc: + %n = add i64 %rc, 1 + store i64 %n, ptr %o + br label %done +done: + ret ptr %o +} + +attributes #0 = { sanitize_address } + +!0 = !{!"scriptc native fields"} +!1 = !{!"field.2", !0, i64 0} +!2 = !{!1, !1, i64 0} +!3 = !{!"field.4", !0, i64 0} +!4 = !{!3, !3, i64 0} +!5 = !{!"field.6", !0, i64 0} +!6 = !{!5, !5, i64 0} +!7 = !{!"field.8", !0, i64 0} +!8 = !{!7, !7, i64 0} +!9 = !{!"field.10", !0, i64 0} +!10 = !{!9, !9, i64 0} +!11 = !{!"field.12", !0, i64 0} +!12 = !{!11, !11, i64 0} +!13 = !{!"field.14", !0, i64 0} +!14 = !{!13, !13, i64 0} +!15 = !{!"field.16", !0, i64 0} +!16 = !{!15, !15, i64 0} +!17 = !{!"field.18", !0, i64 0} +!18 = !{!17, !17, i64 0} +!19 = !{!"field.20", !0, i64 0} +!20 = !{!19, !19, i64 0} +!21 = !{!"field.22", !0, i64 0} +!22 = !{!21, !21, i64 0} +!23 = !{!"field.24", !0, i64 0} +!24 = !{!23, !23, i64 0} +!25 = !{!"field.26", !0, i64 0} +!26 = !{!25, !25, i64 0} +!27 = !{!"field.28", !0, i64 0} +!28 = !{!27, !27, i64 0} +!29 = !{!"field.30", !0, i64 0} +!30 = !{!29, !29, i64 0} +!31 = !{!"field.32", !0, i64 0} +!32 = !{!31, !31, i64 0} +!33 = !{!"field.34", !0, i64 0} +!34 = !{!33, !33, i64 0} +!35 = !{!"field.36", !0, i64 0} +!36 = !{!35, !35, i64 0} +!37 = !{!"field.38", !0, i64 0} +!38 = !{!37, !37, i64 0} +!39 = !{!"field.40", !0, i64 0} +!40 = !{!39, !39, i64 0} +!41 = !{!"field.42", !0, i64 0} +!42 = !{!41, !41, i64 0} +!43 = !{!"field.44", !0, i64 0} +!44 = !{!43, !43, i64 0} +!45 = !{!"field.46", !0, i64 0} +!46 = !{!45, !45, i64 0} +!47 = !{!"field.48", !0, i64 0} +!48 = !{!47, !47, i64 0} +!49 = !{!"field.50", !0, i64 0} +!50 = !{!49, !49, i64 0} +!51 = !{!"field.52", !0, i64 0} +!52 = !{!51, !51, i64 0} +!53 = !{!"field.54", !0, i64 0} +!54 = !{!53, !53, i64 0} +!55 = !{!"field.56", !0, i64 0} +!56 = !{!55, !55, i64 0} +!57 = !{!"field.58", !0, i64 0} +!58 = !{!57, !57, i64 0} +!59 = !{!"field.60", !0, i64 0} +!60 = !{!59, !59, i64 0} +!61 = !{!"field.62", !0, i64 0} +!62 = !{!61, !61, i64 0} +!63 = !{!"field.64", !0, i64 0} +!64 = !{!63, !63, i64 0} +!65 = !{!"field.66", !0, i64 0} +!66 = !{!65, !65, i64 0} +!67 = !{!"field.68", !0, i64 0} +!68 = !{!67, !67, i64 0} +!69 = !{!"field.70", !0, i64 0} +!70 = !{!69, !69, i64 0} +!71 = !{!"field.72", !0, i64 0} +!72 = !{!71, !71, i64 0} +!73 = !{!"field.74", !0, i64 0} +!74 = !{!73, !73, i64 0} +!75 = !{!"field.76", !0, i64 0} +!76 = !{!75, !75, i64 0} +!77 = !{!"field.78", !0, i64 0} +!78 = !{!77, !77, i64 0} +!79 = !{!"field.80", !0, i64 0} +!80 = !{!79, !79, i64 0} +!81 = !{!"field.82", !0, i64 0} +!82 = !{!81, !81, i64 0} +!83 = !{!"field.84", !0, i64 0} +!84 = !{!83, !83, i64 0} +!85 = !{!"field.86", !0, i64 0} +!86 = !{!85, !85, i64 0} +!87 = !{!"field.88", !0, i64 0} +!88 = !{!87, !87, i64 0} +!89 = !{!"field.90", !0, i64 0} +!90 = !{!89, !89, i64 0} +!91 = !{!"field.92", !0, i64 0} +!92 = !{!91, !91, i64 0} +!93 = !{!"field.94", !0, i64 0} +!94 = !{!93, !93, i64 0} +!95 = !{!"field.96", !0, i64 0} +!96 = !{!95, !95, i64 0} +!97 = !{!"field.98", !0, i64 0} +!98 = !{!97, !97, i64 0} +!99 = !{!"field.100", !0, i64 0} +!100 = !{!99, !99, i64 0} +!101 = !{!"field.102", !0, i64 0} +!102 = !{!101, !101, i64 0} +!103 = !{!"field.104", !0, i64 0} +!104 = !{!103, !103, i64 0} +!105 = !{!"field.106", !0, i64 0} +!106 = !{!105, !105, i64 0} +!107 = !{!"field.108", !0, i64 0} +!108 = !{!107, !107, i64 0} +!109 = !{!"field.110", !0, i64 0} +!110 = !{!109, !109, i64 0} +!111 = !{!"field.112", !0, i64 0} +!112 = !{!111, !111, i64 0} +!113 = !{!"field.114", !0, i64 0} +!114 = !{!113, !113, i64 0} +!115 = !{!"field.116", !0, i64 0} +!116 = !{!115, !115, i64 0} +!117 = !{!"field.118", !0, i64 0} +!118 = !{!117, !117, i64 0} +!119 = !{!"field.120", !0, i64 0} +!120 = !{!119, !119, i64 0} +!121 = !{!"field.122", !0, i64 0} +!122 = !{!121, !121, i64 0} +!123 = !{!"field.124", !0, i64 0} +!124 = !{!123, !123, i64 0} +!125 = !{!"field.126", !0, i64 0} +!126 = !{!125, !125, i64 0} +!127 = !{!"field.128", !0, i64 0} +!128 = !{!127, !127, i64 0} +!129 = !{!"field.130", !0, i64 0} +!130 = !{!129, !129, i64 0} +!131 = !{!"field.132", !0, i64 0} +!132 = !{!131, !131, i64 0} +!133 = !{!"field.134", !0, i64 0} +!134 = !{!133, !133, i64 0} +!135 = !{!"field.136", !0, i64 0} +!136 = !{!135, !135, i64 0} +!137 = !{!"field.138", !0, i64 0} +!138 = !{!137, !137, i64 0} +!139 = !{!"field.140", !0, i64 0} +!140 = !{!139, !139, i64 0} +!141 = !{!"field.142", !0, i64 0} +!142 = !{!141, !141, i64 0} +!143 = !{!"field.144", !0, i64 0} +!144 = !{!143, !143, i64 0} +!145 = !{!"field.146", !0, i64 0} +!146 = !{!145, !145, i64 0} +!147 = !{!"field.148", !0, i64 0} +!148 = !{!147, !147, i64 0} +!149 = !{!"field.150", !0, i64 0} +!150 = !{!149, !149, i64 0} +!151 = !{!"field.152", !0, i64 0} +!152 = !{!151, !151, i64 0} +!153 = !{!"field.154", !0, i64 0} +!154 = !{!153, !153, i64 0} +!155 = !{!"field.156", !0, i64 0} +!156 = !{!155, !155, i64 0} +!157 = !{!"field.158", !0, i64 0} +!158 = !{!157, !157, i64 0} +!159 = !{!"field.160", !0, i64 0} +!160 = !{!159, !159, i64 0} +!161 = !{!"field.162", !0, i64 0} +!162 = !{!161, !161, i64 0} +!163 = !{!"field.164", !0, i64 0} +!164 = !{!163, !163, i64 0} +!165 = !{!"field.166", !0, i64 0} +!166 = !{!165, !165, i64 0} +!167 = !{!"field.168", !0, i64 0} +!168 = !{!167, !167, i64 0} +!169 = !{!"field.170", !0, i64 0} +!170 = !{!169, !169, i64 0} +!171 = !{!"field.172", !0, i64 0} +!172 = !{!171, !171, i64 0} +!173 = !{!"field.174", !0, i64 0} +!174 = !{!173, !173, i64 0} +!175 = !{!"field.176", !0, i64 0} +!176 = !{!175, !175, i64 0} +!177 = !{!"field.178", !0, i64 0} +!178 = !{!177, !177, i64 0} +!179 = !{!"field.180", !0, i64 0} +!180 = !{!179, !179, i64 0} +!181 = !{!"field.182", !0, i64 0} +!182 = !{!181, !181, i64 0} +!183 = !{!"field.184", !0, i64 0} +!184 = !{!183, !183, i64 0} +!185 = !{!"field.186", !0, i64 0} +!186 = !{!185, !185, i64 0} +!187 = !{!"field.188", !0, i64 0} +!188 = !{!187, !187, i64 0} +!189 = !{!"field.190", !0, i64 0} +!190 = !{!189, !189, i64 0} +!191 = !{!"field.192", !0, i64 0} +!192 = !{!191, !191, i64 0} +!193 = !{!"field.194", !0, i64 0} +!194 = !{!193, !193, i64 0} +!195 = !{!"field.196", !0, i64 0} +!196 = !{!195, !195, i64 0} +!197 = !{!"field.198", !0, i64 0} +!198 = !{!197, !197, i64 0} +!199 = !{!"field.200", !0, i64 0} +!200 = !{!199, !199, i64 0} +!201 = !{!"field.202", !0, i64 0} +!202 = !{!201, !201, i64 0} +!203 = !{!"field.204", !0, i64 0} +!204 = !{!203, !203, i64 0} +!205 = !{!"field.206", !0, i64 0} +!206 = !{!205, !205, i64 0} +!207 = !{!"field.208", !0, i64 0} +!208 = !{!207, !207, i64 0} +!209 = !{!"field.210", !0, i64 0} +!210 = !{!209, !209, i64 0} +!211 = !{!"field.212", !0, i64 0} +!212 = !{!211, !211, i64 0} +!213 = !{!"field.214", !0, i64 0} +!214 = !{!213, !213, i64 0} \ No newline at end of file diff --git a/packages/auth/CHANGELOG.md b/packages/auth/CHANGELOG.md index 836b795..aef794d 100644 --- a/packages/auth/CHANGELOG.md +++ b/packages/auth/CHANGELOG.md @@ -1,5 +1,11 @@ # @chttp/auth +## 0.4.0 + +### Minor Changes + +- Move `@chttp/auth` and `@chttp/mcp` into the chttp monorepo from sigilco/cutils (where they shipped as 0.2.0). Both packages join the fixed versioning group and publish at chttp's shared version going forward. No source changes in the move — session/JWT/OAuth/CSRF/TOTP primitives and the JSON-RPC 2.0 MCP server land as-is, with gates wired into `scripts/scriptc-gate.sh` and docs pages added to the site nav. + ## 0.2.0 ### Minor Changes diff --git a/packages/auth/package.json b/packages/auth/package.json index 6d88dc7..97f13a5 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/auth", - "version": "0.3.0", + "version": "0.4.0", "description": "Session, password, JWT, OAuth2+PKCE, CSRF and TOTP primitives over node:crypto, authored inside the scriptc compilable subset", "license": "Apache-2.0", "repository": { diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md index 4d8c03a..8f13a50 100644 --- a/packages/html/CHANGELOG.md +++ b/packages/html/CHANGELOG.md @@ -1,5 +1,11 @@ # @chttp/html +## 0.4.0 + +### Minor Changes + +- Add `page(head, body)` full-document shell and `IsrPage` revalidate cache: the pages/SSG/ISR slice of issue #14. SSG is render-once-at-startup; ISR re-renders lazily after the TTL (blocking semantics, no background refresh). See `examples/pages`. + ## 0.3.0 ## 0.2.1 diff --git a/packages/html/package.json b/packages/html/package.json index c74d5c1..3405953 100644 --- a/packages/html/package.json +++ b/packages/html/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/html", - "version": "0.3.0", + "version": "0.4.0", "description": "Minimal HTML string rendering (escape, h, html tag) authored inside the scriptc compilable subset", "license": "Apache-2.0", "repository": { diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md index 38b7349..b2c891c 100644 --- a/packages/mcp/CHANGELOG.md +++ b/packages/mcp/CHANGELOG.md @@ -1,5 +1,20 @@ # @chttp/mcp +## 0.4.0 + +### Minor Changes + +- Move `@chttp/auth` and `@chttp/mcp` into the chttp monorepo from sigilco/cutils (where they shipped as 0.2.0). Both packages join the fixed versioning group and publish at chttp's shared version going forward. No source changes in the move — session/JWT/OAuth/CSRF/TOTP primitives and the JSON-RPC 2.0 MCP server land as-is, with gates wired into `scripts/scriptc-gate.sh` and docs pages added to the site nav. + +- Typed client on a new `./client` subpath (`@chttp/mcp/client`): `Client` plus `toolDef`/`resourceDef`/`promptDef` schema-first descriptors that register on the server via `server.toolDef`, three transports (`fetch`, `node:net`/`node:tls` HTTP/1.1+SSE for the ELF path, stdio), `callTool`/`call`/`listTools`/`readResource`/`getPrompt`, progress-notification handlers, and `JsonRpcError` passthrough. Ported from sigilco/cutils PR #19. + +### Patch Changes + +- Fix Standard Schema v1 type compatibility for the mcp+val pairing (sigilco/cutils#27): `StdProps.version` is now the literal `1`, each concrete schema class merges a `StdTyped` interface so `InferInput`/`InferOutput` resolve real types in `tool()` handlers, and `toJsonSchema`/`toOpenApiSchema` accept the `{"~standard": unknown}` structural minimum instead of requiring `VSchema`. In `@chttp/mcp`, response/listing records are built from `{}` open records or single full literals so expanding writes survive scriptc lowering of the packed dist. `pnpm smoke:pack` now packs `@chttp/mcp`, type-checks the pairing under tsc, and runs tools/list + tools/call through `Server.handleRequest` on the built ELF. + +- Updated dependencies: + - @chttp/router@0.4.0 + ## 0.2.0 ### Patch Changes diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 3f3584a..e260358 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/mcp", - "version": "0.3.0", + "version": "0.4.0", "description": "Model Context Protocol server (JSON-RPC 2.0) mounted as a chttp route, authored inside the scriptc compilable subset", "license": "Apache-2.0", "repository": { @@ -41,7 +41,7 @@ "valibot": "^1.5.0" }, "peerDependencies": { - "@chttp/router": ">=0.1.0" + "@chttp/router": "workspace:^" }, "engines": { "node": ">=22" diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index 3d2e025..df9a7da 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -1,5 +1,27 @@ # @chttp/router +## 0.4.0 + +### Minor Changes + +- feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream + +- feat(ctx): typed `c.res` response view on both surfaces — `.status`, `.header(name)`, `.headers` (plus `statusCode`/`nodeRes()` escape hatches for the Node surface). `use()` middleware now also wraps the notFound chain, and `c.req.url` reports the absolute URL on `app.fetch` (Hono parity for hono/logger's outbound `-->` line). + +- feat(router): lite Node fetch bridge (issue #89) — `app.fetchBridge()`/`app.serveFetch()` drive the fetch dispatch arm over `LiteRequest` (`WebReqView` over `IncomingMessage`) and `LiteResponse` (a `FetchResponseSink` writing straight to `ServerResponse`), skipping per-request undici `Request`/`Headers`/`Response` construction; `WebReqView.headers` narrows to the structural `WebHeadersView`. `c.req.raw` on the lite surface returns the `LiteRequest`; `lite.request()` materializes a real undici `Request` lazily for `fetch(c.req.raw)`-style consumers. Bench: `chttp-fetch-lite-node` runs at 86–101% of `chttp-node` vs the undici bridge's 50–56% (bench/RESULTS-v2.md). + +- fetch(app.fetch) passthrough contract: capture the Web Request into c.req.raw, adopt handler-returned Response objects (incl. streams), and stop eager body buffering on undeclared routes + +- Typed HTTP client at `@chttp/router/client`: `createClient(baseUrl)` + `get`/`post`/`put`/`patch`/`delete`/`request` over a minimal HTTP/1.1 transport on `node:net`/`node:tls` — no `fetch`, so the same source compiles into an app ELF. `ClientInput

` checks `params` keys against `ParamKey

` on Node.js (`.d.ts` surface only — compiled apps bind a `ClientCore` receiver and get the concrete signatures); response types are caller-declared per call. One request per connection (`Connection: close`), chunked responses decoded, no redirects/streaming in v1. + +### Patch Changes + +- fix(req): `c.req.header(name)` no longer crashes on absent headers in single-graph (vendored/program-code) scriptc builds — `_headers`/`_headersDistinct` are probed with `hasOwnProperty` before indexing instead of a bare record read that throws "record has no key". + +- empty-body responses send no content-type (Hono parity); default text/plain charset is UTF-8 + +- feat(ws): post-merge audit hardening for issue #13 — `allowOrigin` exact-match allowlist (403), `Sec-WebSocket-Key` base64/16-byte format check, peer close-reason UTF-8 validation (1007); `upgradeHandler()` catches a throwing dispatch and destroys the socket; `UpgradeFn` re-exported + ## 0.3.0 ### Minor Changes diff --git a/packages/router/package.json b/packages/router/package.json index 6359585..0e3b893 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/router", - "version": "0.3.0", + "version": "0.4.0", "description": "Minimal async-first HTTP router authored inside the scriptc compilable subset", "keywords": [ "aot", diff --git a/packages/static/CHANGELOG.md b/packages/static/CHANGELOG.md index 58d7582..6a01756 100644 --- a/packages/static/CHANGELOG.md +++ b/packages/static/CHANGELOG.md @@ -1,5 +1,14 @@ # @chttp/static +## 0.4.0 + +### Patch Changes + +- Add an end-to-end ELF smoke (serve + SPA + embedded) so runtime-only fences on older scriptc versions can't slip through + +- Updated dependencies: + - @chttp/router@0.4.0 + ## 0.3.0 ### Patch Changes diff --git a/packages/static/package.json b/packages/static/package.json index 40c55c3..1d144ff 100644 --- a/packages/static/package.json +++ b/packages/static/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/static", - "version": "0.3.0", + "version": "0.4.0", "description": "Static asset serving for chttp, authored inside the scriptc compilable subset", "license": "Apache-2.0", "repository": { diff --git a/packages/stream/CHANGELOG.md b/packages/stream/CHANGELOG.md index 754ec64..289e7cf 100644 --- a/packages/stream/CHANGELOG.md +++ b/packages/stream/CHANGELOG.md @@ -1,5 +1,16 @@ # @chttp/stream +## 0.4.0 + +### Minor Changes + +- feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream + +### Patch Changes + +- Updated dependencies: + - @chttp/router@0.4.0 + ## 0.3.0 ### Patch Changes diff --git a/packages/stream/package.json b/packages/stream/package.json index 77ee9d4..1cd36d0 100644 --- a/packages/stream/package.json +++ b/packages/stream/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/stream", - "version": "0.3.0", + "version": "0.4.0", "description": "Server-Sent Events and chunked text streaming for @chttp/router, authored inside the scriptc compilable subset", "license": "Apache-2.0", "repository": { diff --git a/packages/unplugin/CHANGELOG.md b/packages/unplugin/CHANGELOG.md index 82d69aa..1a5eba1 100644 --- a/packages/unplugin/CHANGELOG.md +++ b/packages/unplugin/CHANGELOG.md @@ -1,5 +1,19 @@ # @chttp/unplugin +## 0.4.0 + +### Minor Changes + +- feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream + +### Patch Changes + +- empty-body responses send no content-type (Hono parity); default text/plain charset is UTF-8 + +- Updated dependencies: + - @chttp/router@0.4.0 + - @chttp/val@0.4.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json index 2bb2257..531dc3a 100644 --- a/packages/unplugin/package.json +++ b/packages/unplugin/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/unplugin", - "version": "0.3.0", + "version": "0.4.0", "description": "Build-time route-lowering bundler plugin for chttp", "keywords": [ "aot", diff --git a/packages/val/CHANGELOG.md b/packages/val/CHANGELOG.md index 883f16d..272d5bf 100644 --- a/packages/val/CHANGELOG.md +++ b/packages/val/CHANGELOG.md @@ -1,5 +1,11 @@ # @chttp/val +## 0.4.0 + +### Patch Changes + +- Fix Standard Schema v1 type compatibility for the mcp+val pairing (sigilco/cutils#27): `StdProps.version` is now the literal `1`, each concrete schema class merges a `StdTyped` interface so `InferInput`/`InferOutput` resolve real types in `tool()` handlers, and `toJsonSchema`/`toOpenApiSchema` accept the `{"~standard": unknown}` structural minimum instead of requiring `VSchema`. In `@chttp/mcp`, response/listing records are built from `{}` open records or single full literals so expanding writes survive scriptc lowering of the packed dist. `pnpm smoke:pack` now packs `@chttp/mcp`, type-checks the pairing under tsc, and runs tools/list + tools/call through `Server.handleRequest` on the built ELF. + ## 0.3.0 ## 0.2.1 diff --git a/packages/val/package.json b/packages/val/package.json index a1b102d..3b1ff7c 100644 --- a/packages/val/package.json +++ b/packages/val/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/val", - "version": "0.3.0", + "version": "0.4.0", "description": "Minimal Standard Schema validation library authored inside the scriptc compilable subset", "license": "Apache-2.0", "repository": { diff --git a/packages/ws/CHANGELOG.md b/packages/ws/CHANGELOG.md index 1805c4d..cb949d3 100644 --- a/packages/ws/CHANGELOG.md +++ b/packages/ws/CHANGELOG.md @@ -1,5 +1,16 @@ # @chttp/ws +## 0.4.0 + +### Minor Changes + +- feat(ws): post-merge audit hardening for issue #13 — `allowOrigin` exact-match allowlist (403), `Sec-WebSocket-Key` base64/16-byte format check, peer close-reason UTF-8 validation (1007); `upgradeHandler()` catches a throwing dispatch and destroys the socket; `UpgradeFn` re-exported + +### Patch Changes + +- Updated dependencies: + - @chttp/router@0.4.0 + ## 0.3.0 ### Patch Changes diff --git a/packages/ws/package.json b/packages/ws/package.json index 3a7a11e..41f981a 100644 --- a/packages/ws/package.json +++ b/packages/ws/package.json @@ -1,6 +1,6 @@ { "name": "@chttp/ws", - "version": "0.3.0", + "version": "0.4.0", "description": "Minimal WebSocket router for @chttp/router, authored inside the scriptc compilable subset", "license": "Apache-2.0", "repository": {